Crab Log

Entries categorized as ‘Software’

Formulários no Google Docs

Junho 11, 2008 · Não Há Comentários

Uma funcionalidade nova no Google Docs parece ser bem útil:

Categorias: Software · Web

Smalltalk is dangerous. It is a drug.

Maio 30, 2008 · Não Há Comentários

“Smalltalk is dangerous. It is a drug. My advice to you would be don’t try it; it could ruin your life. Once you take the time to learn it (to REALLY learn it) you will see that there is nothing out there (yet) to touch it. Of course, like all drugs, how dangerous it is depends on your character. It may be that once you’ve got to this stage you’ll find it difficult (if not impossible) to “go back” to other languages and, if you are forced to, you might become an embittered character constantly muttering ascerbic comments under your breath. Who knows, you may even have to quit the software industry altogether because nothing else lives up to your new expectations.”

Andy Bower

Fonte: Seaside, ROR and retiring Java from the spotlight of web applications

Categorias: Smalltalk · Software · Tecnologia

Backup online

Abril 18, 2008 · Não Há Comentários

Comecei recentemente a usar o MozyHome para organizar meus backups. Os testes, por enquanto, estão satisfatórios.

Categorias: Software · Tecnologia

Dr. Geo II

Março 25, 2008 · Não Há Comentários

Há alguns anos, inspirado no programa Geometer Sketchpad (por sua vez inspirado no programa Cabri Géomètre) comecei a fazer um similar em Object Pascal (Delphi). Recentemente encontrei uma implementação open source muito boa em Squeak: o Dr Geo II, um programa para experimentação dinâmica com geometria. Brinquei um pouco com ele e gostei bastante (Clique na imagem abaixo para ampliá-la).

drgeoii.png

Links relacionados:

Categorias: Matemática · Smalltalk · Software

What to do if Squeak crashes or freezes

Fevereiro 13, 2008 · Não Há Comentários

Categorias: Knowledge Base · Smalltalk · Software · Tecnologia · post-citação

Dolphin Community Edition

Fevereiro 9, 2008 · Não Há Comentários

Instalei hoje o Dolphin Community Edition da

Quero investigar o MVP e as maravilhas que falam deste ambiente.

Categorias: Cotidiano · Smalltalk · Software · Tecnologia

Aprenda a usar o Mail , no Mac, para ler mensagens do Gmail e do Yahoo!

Fevereiro 9, 2008 · Não Há Comentários

Não é segredo para ninguém que, atualmente, os melhores provedores de email são gratuitos, patrocinados por grandes corporações web, como Google, Yahoo! e Microsoft.

Links relacionados:

Categorias: Knowledge Base · Mac · Software · Tecnologia · Tutorial · post-citação

Como gravar CD’s e DVD’s no Mac OSX

Fevereiro 7, 2008 · Não Há Comentários

Categorias: Knowledge Base · Mac · Software · Tecnologia · Tutorial · Vídeo · post-citação

Smalltalk Presenter First - Parte 1

Fevereiro 7, 2008 · Não Há Comentários

Lendo o artigo Big Complex, and tested? Just say “When” me animei a escrever código em Smalltalk para exercitar as idéias relativas ao método Presenter First e organização do código no estilo Model, View, Presenter. Iniciei um projeto simples para evitar me meter com complicações da interface gráfica com Morphs. A idéia é exibir um quadrado (um Morph) que vá mostrando as cores na sequência de cores red, green, blue, conforme se clica com o botão esquerdo do mouse (red button no jargão dos smalltalkers).

Começando com o Presenter primeiro

rgbsquarepresentercreation.png

O presenter mantém referências para model e view.

A classe RGBSquarePresenter conterá apenas a inicialização conforme abaixo:

rgbsquarepresenter-initializeevents1.png

O código acima expressa a user story até agora (quando o botão esquerdo for pressionado mudar a cor na interface do usuário para a próxima cor na sequência red green blue) , no estilo idiomático “say when”, decomposta em dois eventos:

  • Quando o botão esquerdo for pressionado mudar a cor no modelo para a próxima cor na sequência red green blue;
  • Quando a cor no modelo for alterada atualizar a cor na interface do usuário.

Nota: Os eventos nas user stories devem ser denominados com nomes de alto nível. No código na interface do usuário será feita a tradução dos eventos de baixo nível para os de alto nível: #redButtonPressed para #nextColor, como veremos adiante.

Podemos extrair os eventos e as interfaces necessários para a view e o model inspecionando initializeEvents.

Criando os testes do model primeiro

Dentro da filosofia test first vamos criar os testes para a classe do model:

presenterfirstmodeltestcase.png

testcoloraftercreation.png

testfirstnextcolorcall.png

testsecondnextcolorcall.png

testthirdnextcolorcall.png

Escrevendo o model para passar nos testes

O model para passar nos testes é o seguinte:

rgbsquaremodel.png

rgbsquaremodel-initialize.png

rgbsquaremodel-nextcolor.png

Nota: Omitiremos os accessors enquanto forem triviais.

Criando um trait para o idioma “say when”

Agora vamos instalar o sistema de eventos do idioma when: do:. Como na construção da interface do usuário usaremos herança da classe Morph não vamos poder usar o mesmo mecanismo para herdar os métodos necessários para os eventos. Usaremos então traits. Vamos definir o seguinte trait:

twhenidiom.png

twhenidiom-when-do.png

twhenidiom-fireevent.png

twhenidiom-events.png

Nota: O método revisit, que serve para colocação de comentários que podem ser revistados posteriormente, é baseado em Leaving Notes In Your Code do tutorial A Development Example for Squeak 3.9. Para descobrir onde foram colocadas chamadas para o método revisit basta usar a ferramenta Messages Names e obter os senders de revisit.

Nota: Para conhecer a tese sobre traits leia Traits — Composing Classes from Behavioral Building Blocks.

Usando o trait no model

Vamos incluir o trait criado no model (veja a segunda linha):

rgbsquaremodel-with-trait.png

Agora é necessário fazer override do glue method events, que é requerido:

rgbsquaremodel-events.png

Nota: O model, com o uso do trait, também está livre para usar herança em qualquer ponto da hierarquia de classes.

Encerramos a parte 1 aqui. Na parte 2 vamos tratar da interface gráfica do usuário.

Categorias: Smalltalk · Software · Tecnologia
Tagged: ,

Open Source Living

Fevereiro 3, 2008 · Não Há Comentários

  • Better Living Through Open Source: The Directory
    • A common question I hear when people want to make the jump to open source software as a standard — either to step away from Microsoft (NSDQ: MSFT) or from proprietary software as a whole — is this: “OK, what do I use now?” Sites like Open Source Living were built to answer that question.
  • http://www.osliving.com/
    • Welcome to Open Source Living, an archive of the Web’s best Open Source software, applications and references for a zero-cost / top quality digital experience.

Categorias: Software · Tecnologia