Archive for the ‘rails’ tag
samaritani.com

Mais um mês, mais um projecto caseiro que começa a sair da gaveta.
A ideia é simples: vais a um site e crias etiquetas que podes colar nos teus pertences. Se/quando um dos ditos pertences se tresmalhar, quem o encontrar tem na etiqueta um URL a que pode aceder e enviar-te uma mensagem, anónima ou não. Não se pode garantir que recebes de volta o que perdeste, mas vamos ter fé na honestidade das pessoas.
Aplicável a livros, CDs, DVDs, máquinas fotográficas, telemóveis, etc… Basicamente a qualquer coisa que possa sair de casa e não tenha pernas para voltar.
Ainda tenho alguns detalhes a resolver, alguns técnicos, outros nem por isso, mas espero ter este projecto cá fora dentro de relativamente pouco tempo.
Quanto ao nome do serviço, tentei arranjar um que de alguma forma pudesse incutir nas pessoas um sentimento positivo, de modo a tomarem a melhor opção.
A ideia surgiu-me depois de ter perdido num avião uma máquina fotográfica com fotografias das núpcias. Podia ser que mesmo com o cromo colado não a recebesse de volta, mas podia deixar no site uma mensagem a dizer “dou 50 euros pelo cartão de memória que a máquina tem” a quem a encontrasse.
O projecto é feito em Ruby On Rails e tecnicamente é banal. Tentei implementar o mecanismo de criação das etiquetas em HTML+CSS puro, mas ainda não consegui acertar com as dimensões do papel que comprei para testar (um pack de papel A4 para etiquetas do Staples). Estou a ver que vou ter que fazer a criação em PDF.
Tudo isto pode ser uma grande parvoíce, mas que se lixe. Vale e pena tentar. Não perco o meu tempo livre a ver a bola pelo que tenho que o ocupar com alguma coisa…
Uma vez mais, agradecem-se comentários, flames e informações sobre o paradeiro de uma certa Pentax Optio E35 perdida num avião da American Airlines em Outubro do ano passado…
Stickies.app Sync – Teaser III
Mais uma semana de trabalho, mais um fim de semana que por mim podia ser novamente de 3 dias, e mais um post a explicar o estado do meu projecto (ainda sem nome definitivo).
As novidades:
- Sincronização das notas entre o agente local e o servidor já está a funcionar. Ainda não a 100% nem nada que se pareça, mas já tenho os mecanismos base a funcionar e a partir daqui é só afinar a sincronização nos 2 sentidos, e com mais do que um computador. Esta é a parte complicada mas que nos próximos dias espero ter resolvida.
-
A sincronização preserva as coordenadas e o estado da janela de cada Sticky, mas ainda não estou a fazer nada com essa informação. Mostro essa informação ao lado de cada nota na págin web, e para já é só. As notas novas são colocadas na coordenada 0,0 (canto inferior esquerdo no Cocoa), e na sincronização entre 2 computadores não estou a escalar os valores. É possível que as notas sejam colocadas fora do ecran quando se sincroniza com um computador com menor resolução de ecran. Not my problem, yet…
- A falta de nome também é para resolver. Tenho na mesa algumas ideias mas nenhuma que me satisfaça completamente. Vou ter que atirar a moeda ao ar…
- Estou a usar uma framework (o Rails) que encoraja e torna simples a criação de testes funcionais, para os ignorar completamente. Sei que não devia, mas uma coisa de cada vez…
- Preciso de fazer o deplyment da app em Rails, algo em que estou absolutamente verde. Tenho q ler esse capítulo do livro rapidamente.
E deixo-vos aqui um screenshot com o resultado da adição de uma nota pelo interface web e posterior sincronização.
Amanhã há mais…
Stickies.app Sync – Teaser II
Segundo teaser para o meu último projecto.
O trabalho tem avançado a um excelente ritmo, e só é pena estes fins de semana de 3 dias só sejam uma vez por ano (e às vezes nem isso). Tenho aprendido uma alarvidade de coisas novas, seja em Cocoa ou em Rails, e os momentos “eureka” são uns a seguir aos outros. Pequenos “eurekas” pessoais, mas “eurekas” mesmo assim…
O que foi feito então? A aplicação para Mac já tem 90% das funcionalidades que considero fulcrais: pega na base de dados do Stickies, faz a publicação para um URL, recebe a resposta em XML que depois de processada é utilizada para reconstruir a base de dados do Stickies. Já estou a executar o bloco de sincronização periodicamente e faço o relauch ao Stickies para o refrescar (não arranjei forma de o obrigar a actualizar-se). Devo ter memory leaks a dar com um pau que estes anos todos de PHP tornaram-me muito preguiçoso nos meus mallocs e frees. Queria integrar o Sparkle na versão inicial, dado que prevejo muitos updates durante as primeiras semanas.
Quanto ao serviço web, grande avanço este fim de semana. Estava a zero ontem de manhã e hoje tenho um site feito em Rails com grande parte da lógica feita. Melhor que ter o site feito, é que estou a perceber bem a mecânica do Rails. Melhor ainda, é que é um gozo enorme. Valeu a pena ter andado a ler Rails for PHP Programmers aos poucos nas últimas semanas.
Hoje não há tempo para mais, mas fica um screenshot do site a correr aqui no meu computador.
No próximo post espero já ter um link para download de um pequeno DMG e outro link para o pequeno site… Ainda não tem nome, mas estou também a tratar disso.
Acho que seria interessante um log do desenvolvimento das duas coisas, mas para já acho que vou manter este formato semanal. Quando tiver a versão inicial concluída faço um post com todos os detalhes que ninguém quer saber…
Vou dando notícias…
Stickies.app

Já tinha tentado aprender Cocoa umas quantas vezes mas por falta de utilidade nunca avancei da fase do tutorial. Quando me voltava a dar vontade lá tinha que começar a aprendizagem do zero ou quase.
Desta vez está a ser diferente, a começar pelo uso que pretendo dar aos meus conhecimentos. Uma ideia de uma aplicação que não sendo revolucionária, pode ser útil. Pelo menos, está a servir para de uma assentada aprender 2 tecnologias de que sou um grande curioso: Cocoa/Objective C e Ruby on Rails.
A ideia em si é básica: um programa e serviço web para sincronizar as Stickies, a app de Post-Its que vem com o OS X. Sincronizar entre vários computadores e fornecer um interface web de onde se podem consultar e manipular as notas.
Desde já aviso que também uso o Evernote, mas falta-lhe a simplicidade dos Stickies. Uso o Stickies para notas a curto-prazo, relegando para o Evernote o armazenamento de notas a longo prazo.
A base de dados do Stickies não usa Core Data (um sqlite disfarçado que seria trivial abrir), mas num formato serializado do Cocoa que me deu algumas dores de cabeça a descobrir como as ler, mas que já está desvendado. Já consigo acrescentar/remover notas e gravar no mesmo formato sem problemas de maior. Já tenho o programa a correr num ícone na barra de menu, com uma janela de preferências, a habitual janela de About e o sempre mui útil “Quit”. Ainda não sincroniza, mas depois do trabalho deste fim de semana prolongado já não estou muito longe de o fazer com um simples serviço de “eco” para não complicar.
Para o lado servidor, ainda estou a zero mas tenho andado a ler nas calmas o “Rails for PHP Programmers” que me foi oferecido pelo meu amigo Sérgio. Na prática nunca viu o livro: como ele já não se encontrava na Codebits para receber o prémio pelo seu excelente “Nagalhães”, fui eu quem subiu ao palco para o receber e tive que escolher do então já pequeno monte de prémios 2 livros. Já havia muito pouca coisa e escolhi 2 de Rails. Para a próxima tens que ficar mais abaixo na tabela para teres mais escolha, ok?
Já andei a brincar com o Django (e gostei) mas este livro tem sido um mimo e apetece-me por em prática o que tenho aprendido.
E como temos a abeirar-se mais um fim de semana prolongado, de hoje a 8 dias espero ter para mostrar mais que uma simples foto…

