segunda-feira, 9 de novembro de 2009

Seniortec

Nos dias 23 e 24 de outubro ocorreu o 1o. Seniortec, congresso para desenvolvedores da Senior Sistemas S/A. Foi um evento para mais de 300 profissionais, entre desenvolvedores, pessoal de qualidade e convidados (líderes, gerentes, diretores, etc…).

Tive a honra de ser convidado para, junto com o Roque (companheiro de trabalho aqui na Senior), darmos uma palestra sobre SOA & Workflow.

Fui muito legal para nós.. e acho que a platéia também gostou. Seguem algumas fotos do evento.

Foto 1: Começando a palestra.

image

Foto 2: Mostrando o “Magic SOA” e o “Workflow Perfect” :-)

image

Foto 3: Roque virando o balde de Lego, aliás, o repositório de serviços.

image

Foto 4: Roque montando um sistema, juntando os Legos, ops, os serviços. E eu falando alguma besteira… :-)

image

Foto 5: Pronto, já falei uma boa parte, agora estou só assistindo

image

Foto 6: Todo o pessoal que estava assistindo

image

terça-feira, 18 de agosto de 2009

Paixões

Se você acompanha este blog há um tempo, sabe que comecei a programar para iPhone há alguns meses. Como nunca tinha utilizado um Mac, fui correr atrás de informações, tutoriais, etc… Passei na banca e vi uma revista chamada Mac+. Humm.. iPhone na capa, falando sobre programação para ele, análises de programas, tutoriais for dummies como eu, etc.. vou levar. :-)

Cheguei em casa e fui lê-la. A revista é ótima, mas tem uma coisa ali que me incomodou muito: frases do tipo: “Isto funciona, não é como aquele sistema feito por aquela empresa de Redmond”, ou “O pessoal da MS vem tentando copiar isto faz tempo”, etc, etc..

Pra quê isto? Não bastaria falar o que o Mac OS X tem de bom, sem precisar xingar a MS? Veja bem, não estou defendo a MS, estou criticando o comportamento “apaixonado” de certos meios de comunicação.

O Mac OS é fantástico! A facilidade de uso e ergonomia são realmente impressionantes. Mas o Windows XP é um excelente sistema operacional, sim! Ele tem seus defeitos, mas, no geral, funciona muito bem! Basta ver a quantidade absurda de hardware que ele é compatível, a quantidade de programas disponíveis, trava pouquíssimo, etc…

O Linux também tem suas qualidades. Usei Linux no meu notebook direto, por seis meses e não tive problema algum.. Muito pelo contrário, a máquina ficou ótima. Mas, por motivos profissionais, tive que voltar ao Windows. Acabei instalando o Windows Seven RC. Não tenho do que reclamar dele. Performance praticamente igual ao XP, com um visual do Vista, melhorado. :-)

Eu entendo que cada um deles tem as suas qualidades e seus defeitos. E todos eles podem co-existir, até na mesma máquina, por que não?

O mesmo raciocínio vale para as linguagens de programação. Há muitos anos atrás havia uma briga forte entre Delphi x Visual Basic. Mais recentemente, temos Java x .Net, ou Eclipse x Netbeans, etc... Eu programo em Java direto e acho ótimo. Mas estou lendo e aprendendo .Net e ali também tem muita coisa boa! Coisas que não existem nem perto em Java. “Ah, mas só funciona no Windows! É mais um produto proprietário da empresa-maligna-Microsoft!”, dizem os mais xiitas por Java. E daí que só funciona no Windows? Se eu precisar fazer alguma coisa que só vá ser executada em Windows mesmo e for fácil fazer em .Net, por que não utilizá-la?

Sem contar que nunca se sabe como será o dia de amanhã… Vai que aparece alguma oportunidade boa em .Net? Ou em Objective C (Mac Os e iPhone)? Ou Linux? Ou, ou, ou…?

Enfim, sou contra qualquer “radicalismo profissional”. Acho que existem várias linguagens e Sistemas Operacionais e procuro aprender e utilizar o máximo que consigo.  Acho que um bom profissional deve utilizar a ferramenta certa para resolver o problema da forma mais eficiente possível, sem paixões. Claro que existe o gosto pessoal, suas preferências. Mas sempre devemos manter a mente aberta para não fechar os olhos para o mundo.

Deixe estas paixões avassaladoras para as outras coisas da vida, como seu amor, seus filhos, família, hobby, etc.. Estas coisas sim valem a pena serem vividas apaixonadamente.

segunda-feira, 17 de agosto de 2009

Mensagem Beta

Instalei o Windows Live Writer aqui na minha máquina (aliás, instalei o Windows 7 RC aqui, estou achando muito bom, estável, rápido, mas isto é assunto para outro post) e este post aqui é o meu primeiro com esta ferramenta.. Então, se ficar meio estranho, a culpa é do Live Writer, não é minha :-)

Mas o editor é bacana. Já buscou o estilo que utilizo automaticamente (fontes, cores, formatação) e com isto a edição do texto fica bem fiel ao que vai ser publicado.

Também publica imagens automaticamente, como esta tela abaixo:

BlogPost3

Vou continuar utilizando ele, para ter uma melhor avaliação. Depois eu conto para vocês com mais detalhes.

terça-feira, 11 de agosto de 2009

Triste realidade


Isto é uma obra de ficção e qualquer semelhança com a realidade é mera coincidência. Sei.. conta outra...

Dirigir e mandar SMS ao mesmo tempo

segunda-feira, 10 de agosto de 2009

Metendo a mão II - a missão

Há um tempo atrás, falei sobre o netbook Acer Aspire One aqui. O linux padrão dele é uma versão customizada do Fedora 8 (Werewolf), feita pela própria Acer. É bacana, vem com o Open Office 2.x, o Firefox 2, alguns jogos, messenger, etc...

Mas ela é meio pobre visualmente, não tem nada pronto para se fazer um update dos programas, baixar e instalar novos programas (não dá para adicionar nada no desktop e não tem menu Iniciar), etc.. Ou seja: basicamente é o que vem junto e fim de papo. Você só pode adicionar os teus arquivos de dados ali (documentos, fotos, músicas, etc...).

Com um "jeitinho", dá para habilitar um menu, que libera acesso a outras funções e, principalmente, ao terminal! :-) Mas, de qualquer forma, muito enrolado.

Neste final de semana eu baixei e instalei o Ubuntu Netbook Remix 9.04. Fantástico! Parece que troquei de máquina! A interface dele é muito boa, vem completo, com Firefox 3, OpenOffice 3, Pidgin Messenger, Evolution Mail, Jogos, etc..


Você pode conferir o vídeo de demonstração dele aqui.

E além disto, tem tudo o que o irmão mais velho tem: configurações completas da máquina, terminal, gerenciador de pacotes.. Enfim, outro mundo, vida nova para a máquina.

Altamente recomendado!

domingo, 2 de agosto de 2009

Cúmulo da preguiça

Bom, tinha que fazer uma coisa para testar a minha Arduino + Ethernet. A primeira coisa que me veio à mente foi fazer uma automação das luzes aqui da minha casa. Tá.. é o cúmulo da preguiça comandar todas as luzes sentadão no sofá, mas que é legal, é!

Mãos à obra, então! Primeiro o trabalho, depois o descanso. Para começar, o protótipo vai comandar apenas 4 leds, ligados nos pinos 2, 3, 4 e 5 da placa. Depois, com todo o software funcionando, é só colocar um acoplador ótico, ligado a um DIAC/TRIAC para controlar as luzes de verdade...

O programa vai atender aos seguintes comandos:
  • Status: Retorna o status das lâmpadas (quais estão acesas e quais estão apagadas)
  • Acender lâmpada
  • Apagar lâmpada
Deve ser acessível via browser (interface web). A comunicação com a placa é toda via TCP/IP. Antes de fazer a parte web, fiz um cliente nativo para windows, em delphi, para fazer e testar a parte de comunicação com a Arduino.


Quando este cliente funcionou ok, fiz uma interface web beeeem simples (visual bonito pra site não é meu forte.. e é só um protótipo, por enquanto):

Esta página é enviada para um servlet, que abre uma conexão TCP/IP com a Arduino e envia os comandos correspondentes aos radio-buttons da página (acende e apaga as luzes conforme o preenchido na página).

E aí está.. Dá para acessar esta página direto pelo iPod Touch, sentadão no sofá. E comandar todas as luzes da casa quando o hardware final estiver pronto, com o controle de potência. Por enquanto, dá para acender ou apagar 4 leds remotamente :-)

Mas toda a parte do software está pronta. Se tiver tempo, faço um vídeo disto funcionando e posto aqui.

Brincando com eletrônica


Pois é.. como falei ali no meu perfil, gosto muito de eletrônica.. e a junção de eletrônica com programação é muito bacana, dá para fazer umas coisas muito legais. Neste final de semana (chuvoso, por sinal.. mais um susto aqui pra região) acabei mexendo com minha placa arduino.

Resumidamente, a Arduino é uma placa open-source (o projeto do circuito da placa e o boot dela são totalmente free), baseada no PIC Atmega e programada em Java! Isto mesmo: Java! Ela não executa Java, ela executa Assembly nativo do processador, mas quem faz o trabalho sujo de converter Java para Assembly é a IDE.

A placa possui 13 saídas, sendo 5 PWM e 6 entradas analógicas, com conversor A/D, ou digitais.
Além da placa básica, existem vários módulos que podem ser acoplados a ela, como Ethernet (TCP/IP), Bluetooth, GPS, Saída de áudio, sensores de temperatura, luminosidade, etc..

Fantástica. Muito boa. Funciona de primeira. Foi só espetar a placa (que é conectada via USB), configurar os drivers e sair utilizando a IDE. A IDE é baseada na Processing, que eu já havia comentado aqui. Fizeram uma extensão para programação das placas Arduino.

Você escreve o programa, faz o upload pra placa e sai rodando. Uma vez na placa, não precisa mais do PC.

É um brinquedinho legal.

domingo, 26 de julho de 2009

Fórmula da Lei de Murphy

Segundo a Companhia de Gás Inglesa, eles descobriram a fórmula matemática da Lei de Murphy!! Se quiser dar uma olhada, o endereço é este: http://andrew.triumf.ca/cgi-bin/murphy.html.

Finalmente descobriram a fórmula da cagada! :-)

Fonte: OVelho

Soa como música aos meus ouvidos


Falando um pouco de música agora: Se você gosta de Jethro Tull, Led Zeppelin, Rush, Deep Purple e outros desta turma, não pode deixar de visitar o site da banda Vlad V: http://www.vladv.com.br. No site, você encontra para download completo vários álbuns da banda. Se você não conhece, recomendo fortemente os álbuns "Vol IV" e "Viagens acústicas".

Banda aqui da região, extremamente competente e recomendada.

sábado, 25 de julho de 2009

Me lembrou o Senna

Estava assistindo ao treino da Fórmula-1 hoje de manhã e vi o acidente do Massa ao vivo. Na hora me lembrei do acidente do Senna. Ainda bem que não foi tão grave. Mas foi uma infelicidade muito grande, uma série de pequenos acidentes que têm que acontecer na hora exata para dar tão errado...

Por falar em Senna, eu também estava assistindo à corrida na qual o Senna morreu. Naquele domingo à noite eu embarquei para SP, para um curso (época dos Developer Days da MS). O hotel no qual eu estava hospedado ficava no caminho do "cortejo" do carro de bombeiros que passou com o caixão do Senna até o velório. Nunca fui muito fã do Senna. Era um grande piloto, sem dúvida, mas eu sempre fui mais o Piquet (o pai, não o filho), mas a comoção popular era algo realmente impressionante. Uma tristeza geral. Impossível ficar indiferente àquela sensação.

Claro que sempre tem umas situações pitorescas. O principal assunto na cidade era a morte/enterro do Senna. Lembro que uma noite eu peguei um táxi do curso para o hotel que eu estava. O táxi era uma Elba, a gás. Gás mesmo, de cozinha! O Butijão estava no porta-malas. O taxista era um cara alto, bermudão, toalha de rosto na mão para enxugar o suor... Imagine a cena... E ele era daqueles que dirigia como um louco, xingava todo mundo (xingava mesmo, não era light, tipo "pamonha! anta!", ele atacava a progenitora e/ou a sexualidade dos outros motoristas). Para tentar quebrar um pouco a série de palavrões junto com as barbaridades de trânsito que ele fazia, começamos a falar sobre o Senna. Daí então ele soltou esta pérola (vou transcrever literalmente o que me lembro que ele disse, então me desculpem o linguajar):

- Ontem a noite eu estava vendo o Jornal Nacional. Porra, a Globo é foda. Mostraram um monte de cenas com ele, ele com a bandeira comemorando, no pódio.. e botaram aquela música dele (tan-tan-tan! tan-tan-tan!) só com um piano, bem triste. Cara, chorei pra caralho!

Me segurei para não rir. Imaginei aquele cara, sentado no sofá, vendo TV sozinho e chorando... O conteúdo da história até pode ser triste, mas a imagem daquele doido do trânsito chorando, vendo TV, realmente é meio fora da casinha..

Tomara que o Massa fique bom logo e volte às pistas. Boa sorte!

segunda-feira, 20 de julho de 2009

40 anos e contando...


Há exatos 40 anos o homem (supostamente ou não) pisava na Lua. Há quem acredite e há que esteja totalmente descrente sobre este fato... Mas, de qualquer forma, é uma data histórica para a humanidade. E amanhã (21/07), fazem exatos 4o anos que eu nasci (Eeeeee!). Um passo minúsculo para a humanidade mas enorme para mim. :-)

terça-feira, 14 de julho de 2009

LiveCD do Android

Com o anúncio do Chrome OS e sua chegada prevista para o final do ano, a Google já disponibilizou um LiveCD com o Android. Assim já dá para ir sentindo como vai ser o novo operacional.. Ou mesmo para matar a curiosidade de ver o Android sendo executado. É só baixar o ISO e gravar um CD ou copiá-lo para um pen-drive e dar o boot na máquina por ele.

segunda-feira, 13 de julho de 2009

Why so serious?

Por quê tudo tem que ser tão complicado? Por quê fazer um processo (ou um fluxo) é tão complexo? Em 1o. lugar, parece que o BPEL não foi desenvolvido levando-se em consideração que um ser humano poderia tentar escrever um processo nele... Do BPMN para ele tem um abismo. Se as ferramentas fossem evoluídas o suficiente para gerar um BPEL a partir do BPMN até que seria aceitável, mas nem isto funciona direito.

Existem até discussões antigas em fóruns, sobre as diferenças entre as linguagens (já começando por uma ser estruturada (BPEL) e outra não - só isto já complica um monte a geração de fontes, pois transformar uma não-estruturada em uma estruturada automaticamente não é tarefa nada fácil).

Não é fácil fazer um processo.. tem que conhecer BPMN (a linguagem em si é simples, mas utilizá-la da forma correta é que não é tão fácil quanto parece), BPEL (fazer ele direto, no braço, é coisa para poucos), webservices, xml e, se tiver iteração humana, provavelmente vai ter que conhecer HTML, Javascript e/ou algum framework para desenvolvimento de páginas web... E por aí vai...

terça-feira, 23 de junho de 2009

twittando e andando

Tá, tá... acabei criando minha conta no Twitter também.. não sei bem pra quê, nem qual uso vou dar para ela direito.. Vamos ver o que posto lá. Talvez, por ser mais ágil que um blog, eu acabe postando mais lá (até porque aqui tá difícil manter o ritmo, né? :-)).

Para quem quiser acompanhar, a minha conta é http://www.twitter.com/cgrahl.

Falou!

domingo, 31 de maio de 2009

Google apresenta o seu novo (futuro) serviço

A Google apresentou o Google Waves. É até difícil descrever o que ele é. É um misto de e-mail, chat, blog, wiki, ferramenta social, compartilhamento de arquivos e (Ufa!) ferramenta de colaboração.

Totalmente feito utilizando o Google Web Toolkit, o que me fez rever os meus conceitos sobre esta ferramenta.

Achei absolutamente fantástico. Impressionante. Ah, e foi feito na filial australiana da Google pelo mesmo pessoal que fez o Google Maps. A equipe é boa. :-)

A Google disponibilizou um vídeo com a apresentação sobre o Waves que foi feita no evento Google I/O 2009 (para desenvolvedores). Você pode conferir o vídeo aqui. O vídeo é relativamente extenso (1:20 hrs) mas vale a pena.

O site do Waves é este: http://wave.google.com

Agora é esperar o lançamento oficial. Vai fazer muuuito sucesso, sem a menor dúvida.




segunda-feira, 27 de abril de 2009

Ambiente para aprendizado de programação

Passeando pela internet, acabei me deparando com o processing.org. Muito bacana. Trata-se de um ambiente de programação open-source, totalmente feito em Java, logo, é multiplataforma. 

Ele é mais focado para o desenvolvimento visual (fazer desenhos, imagens, etc...), mas serve muito bem para aprender/praticar programação. Um programa simples, que desenha uma linha na tela, baseado na posição do mouse, fica assim:

     void setup() {
        size(400, 400);
        stroke(255);
        background(192, 64, 0);
      }

      void draw() {
        line(150, 25, mouseX, mouseY);
      }

O ambiente é bem fácil de utilizar, muito bem documentado, possui alguns livros publicados sobre ele e é totalmente extensível.

Vale a pena dar uma olhada. 



segunda-feira, 20 de abril de 2009

Oracle compra SUN

Bom, você já deve ter lido isto em algum lugar, afinal, foi noticiado em tudo quanto é canto.. Mas, caso você tenha estado por fora das notícias neste pseudo-feriadão, saiba que a Oracle comprou a SUN por 7.4 Bilhões de dólares. A SUN quase foi comprada pela IBM há uns dias, mas a big blue deu pra trás na última hora.

E o que esta aquisição muda no mundo? Eu tenho as minhas opiniões, totalmente baseadas em achismo. Vou voltar aqui daqui há um tempo para ver como fui com as minhas previsões. :-)

  • Java: Acho que não vai mudar nada, ao menos por um bom tempo (coisa de anos). Ela já é uma linguagem aberta, o JCP já é um processo estabelecido e acho que qualquer movimento no sentido de "privatizar" o Java vai ser extremamente negativo para a imagem da Oracle. Acho que ela não vai querer queimar a imagem por causa disto.
  • MySQL: Não sei o que vai acontecer com ele. Talvez saia algum "Oracle Community Edition" da vida, que na verdade é o MySQL renomeado...
  • Solaris: Acho que uma grande parte do interesse da Oracle esteja aqui. Servidor parrudo, sintonizado com o hardware da SUN, se for mexido para ficar bem integrado ao banco de dados da Oracle, podem formar uma bela dupla.
  • Hardware SUN: Também acho que não vai mudar muita coisa. Talvez mude a marca do HW para Oracle mesmo, ao invés de manter a da SUN. Não acredito que a Oracle vai sair matando no hardware. Historicamente, a Oracle é parceira de hardware (vende o seu banco de dados casado com) dos servidores IBM, HP e Dell. Bater de frente com estes três grandes nomes, para tentar forçar o seu hardware, pode acabar dando prejuízo...
  • Glassfish, Netbeans, etc.. Seguem a mesma lógica do Java. Não deve mudar nada. Pelo contrário, talvez este programas da Sun acabem tomando o lugar de alguns produtos da Oracle, como o Netbeans substituir o JDeveloper, por exemplo.
Era isto. Vamos ver como me saí.. E você, alguma opinião a respeito da compra da Oracle?

sábado, 18 de abril de 2009

Explicando o pooling


Você sabe o que é pooling? O desenho acima explica... :-)

quinta-feira, 16 de abril de 2009

Heim?

Olha só esta notícia que saiu no Slashdot:

"A team of researchers at the University of Southampton, UK, has received funding from the UK's Engineering and Physical Sciences Research Council to learn whether otoacoustic emissions (OAE), the ear-generated sounds that emanate from within the spiral-shaped cochlea in the inner ear, can be used as a viable biometric technology like fingerprints and IRIS recognition. According to a report in New Scientist, someday instead of asking for passwords or pin numbers, a call center or bank would simply use a device on their telephone to produce a brief series of clicks in the recipient's ear to confirm the person is who they say they are."


Ou seja: Para validar a sua identidade, eles vão enviar uns "clicks" para seu ouvido e ver como eles ecoam lá dentro, visto que cada cavidade auricular é diferente da outra...

Até imagino a cena:

Atendente de telemarketing:
- Só um minuto, senhor, que vou estar validando a sua identidade.
click, click, click
- Muito obrigado por aguardar, senhor. Em que posso ajudá-lo?

Que coisa mais bizarra... :-)

terça-feira, 14 de abril de 2009

Google libera nova versão do SDK do Android

A Google disponibilizou hoje uma nova versão "preview" do SDK do Android. Muitas novidades vem por aí. A lista é extensa e pode ser conferida abaixo:

User interface refinements

  • System-wide:
    • Refinement of all core UI elements
    • Animated window transitions (off by default)
    • Accelerometer-based application rotations
  • UI polish for:
    • In-call experience
    • Contacts, Call log, and Favorites
    • SMS & MMS
    • Browser
    • Gmail
    • Calendar
    • Email
    • Camera & Gallery
    • Application management

Performance improvements

  • Faster Camera start-up and image capture
  • Much faster acquisition of GPS location (powered by SUPL AGPS)
  • Smoother page scrolling in Browser
  • Speedier GMail conversation list scrolling

New features

  • On-screen soft keyboard
    • Works in both portrait and landscape orientation
    • Support for user installation of 3rd party keyboards
    • User dictionary for custom words
  • Home screen
    • Widgets
      • Bundled home screen widgets include: analog clock, calendar, music player, picture frame, and search
    • Live folders
  • Camera & Gallery
    • Video recording
    • Video playback (MPEG-4 & 3GP formats)
  • Bluetooth 
    • Stereo Bluetooth support (A2DP and AVCRP profiles)
    • Auto-pairing
    • Improved handsfree experience
  • Browser
    • Updated with latest Webkit browser & Squirrelfish Javascript engines
    • Copy 'n paste in browser
    • Search within a page
    • User-selectable text-encoding
    • UI changes include:
      • Unified Go and Search box
      • Tabbed bookmarks/history/most-visited screen
  • Contacts
    • Shows user picture for Favorites
    • Specific date/time stamp for events in call log
    • One-touch access to a contact card from call log event
  • System
    • New Linux kernel (version 2.6.27)
    • SD card filesystem auto-checking and repair
    • SIM Application Toolkit 1.0
  • Google applications
    • View Google Talk friends' status in Contacts, SMS, MMS, GMail, and Email applications
    • Batch actions such as archive, delete, and label on Gmail messages
    • Upload videos to Youtube
    • Upload photos on Picasa

New APIs and developer tools

  • UI framework
    • Framework for easier background/UI thread interaction
    • New SlidingDrawer widget
    • Horizontal ScrollView widget
  • Home Screen framework
    • APIs for creating secure home screen widgets
    • APIs for populating live folders with custom content
  • Media framework
    • Raw audio recording and playback APIs
    • Interactive MIDI playback engine
    • Video recording APIs for developers (3GP format)
    • Video and photo sharing Intents
    • Media search Intent
  • Input Method framework
    • Text prediction engine
    • Ability to provide downloadable IMEs to users
  • Speech recognition framework
    • Support for using speech recognition libraries via Intent
  • Misc API additions
    • LocationManager - Applications can get location change updates via Intent
    • WebView - Touch start/end/move/cancel DOM event support
    • SensorManager - redesigned sensor APIs
    • GLSurfaceView - convenience framework for creating OpenGL applications
    • Broadcast Intent for app update install succeeded - for smoother app upgrade experience
  • Developer tools
    • Support for multiple versions of Android in a single SDK installation
    • Improved JUnit support in ADT
    • Easier application performance profiling
A briga com o iPhone vai ser boa.. mas a Google vai ter que correr atrás...

domingo, 12 de abril de 2009

Humor


Um cartoon para fechar o feriadão...


sábado, 11 de abril de 2009

Admirável mundo novo

Voltei. Ou melhor, estou voltando.. meio devagar ainda. Depois de tudo que ocorreu por aqui, fiquei meio sem inspiração para escrever por estes meses todos. Agora estou voltando ao normal...

Neste meio tempo, acabei me envolvendo com outras tecnologias: Mac OS X, XBuilder, iPhone, iPod Touch.. Como diz o título do post: Admirável mundo novo!! Realmente fantástico! O iPod Touch é um dos gadgets mais legais que já vi na vida. A interface de toque dele é muito boa. Tenho um Motorola A1200 que também é touch screen, mas não chega nem perto em usabilidade, sensibilidade e beleza...

Vou voltar a falar mais sobre o desenvolvimento de aplicativos para iPhone em mais detalhes em futuros posts...