Distribuindo aplicações em pacotes .deb
É muito comum ver pessoas — em fóruns e listas de discussão — perguntando como fazer para gerar instaladores para suas aplicações. Mesmo no mundo Java, o que não falta são opções.
Se você acompanha este blog, é bem provável que você o esteja lendo agora com o Firefox rodando em um sistema GNU/Linux. E, se você está lendo este texto com o IE no Windows, só está fazendo isso porque é obrigado. Afinal, quem — em sã consciência — usa Windows/IE?
Enfim… o que muita gente ainda não percebeu é que esse procedimento de gerar instaladores é, de certa forma, uma “reinvenção da roda”, pelo menos quando se deseja instalar algo em um sistema GNU/Linux. Vamos supor que eu deseje distribuir uma aplicação minha em sistemas Debian. Por que eu iria querer gerar um instalador se eu posso fazer uso do sistema nativo de gerenciamento de pacotes, que, por sinal, é extremamente poderoso? (ler mais…)
Tags: ant, build, deb, debian, distribuição, gant, gnome, instalador, linux, pacotes, script, ubuntuObexFTP front-end na boca do povo!
Já fazem quase dois meses desde a primeira release do ObexFTP front-end. Hoje, não sei por qual motivo, resolvi dar uma checada no Google para ter uma idéia melhor sobre como esse projeto está ajudando a galera por aí.
Mesmo sabendo que trata-se de uma solução simples, eu fiquei realmente impressionado com a boa receptividade que o ObexFTP front-end está tendo junto aos usuários. Isso mesmo, aos usuários; não a desenvolvedores nem nada do tipo. Confesso que faltou pouco para lágrimas verterem rosto abaixo… ah, tá bom, não foi tudo isso. Mas, de qualquer forma, fiquei muito contente em saber que essa aplicação está sendo útil para outras pessoas. (ler mais…)
Tags: aplicação, celulares, comunicação, frontend, java, linux, obexftp, projeto, software livre, swingThe Power of Schmooze
Wow, agora eu sei o que são esses tais de memes (embora já tenha participado de vários deles sem saber o que eram)! A cada dia que passa eu fico mais de cara com as coisas que essa galera dona de blogs inventa…*
Recebi do Elcio (do fechaTag) uma indicação ao The Power of Schmooze Award. Pelo que eu entendi, é como se fosse uma forma de parabenizar aqueles que contribuem em blogs alheios com comentários, trackbacks e tudo mais, fomentando a troca de conhecimento.
Seguindo as regras, indicarei a seguir cinco blogs cujos mantenedores estão sempre contribuindo nesse sentido:
- ImproveIT, de Vinícios Teles e companhia
- Motor Curiosidade, de Marcos Pereira
- SourceCraft, de Thiago Silva
- Cotidiano em Wonderland, de Rafael Fiume
- Urubatan weblog, de.. erhm.. Urubatan
Mesmo só tendo indicado cinco blogs, certamente existem vários outros que contribuem e que realmente agregam valor a nossa comunidade. Parabéns para nós!
* sim, evitei dizer blogueir… doughhhhh!
Tags: blogs, comunidade, memeQuem disse que só serve para XP?
Tem coisa pior do que chegar para escovar os dentes e se deparar com um tubo de pasta aberto e entupido? Complicado… uma solução seria abrir o tubo na tesoura, mas certamente este não é um jeito muito eficiente. Precisamos arranjar uma forma de combater as causas, não os efeitos. A solução? Clique na imagem ao lado e veja por si só.
A minha surpresa é que o Post-it continua colado lá há uma semana e, pelo menos até então, não precisei mais pisar no tubo para conseguir tirar a pasta. Por isso, fica a dica: compre um pacote de Post-it… você nunca sabe quando precisará dele. ![]()
Blog Day 2007
Blogueiro (odeio esse nome) tem cada mania doida, não? É interessante… alguém lá longe coloca um post qualquer e o negócio vai se alastrando como uma praga. No caso, é esse lance de Blog Day 2007. E, se isso chegou até aqui, bom, podemos dizer que o negócio foi brutal!
Hoje, enquanto acompanhava o Infoblogs, vi que o Marcos Pereira indicou este blog na lista dos que ele costuma acompanhar. Fiquei bastante contente, não exatamente pela “indicação formal” em si, pois já imaginava que ele era um dos meus nove leitores regulares (quem seriam os outros oito?). Fiquei feliz sim por saber que um cara como ele — que gosta do que faz e sabe o que faz — tenha indicado este blog como um de seus favoritos.
Meus blogs prediletos são…
Motor Curiosidade: Não estou retribuindo por camaradagem, mas é que os assuntos que o Marcos Pereira costuma abordar em seu blog são muito relevantes. Também acompanhava seu antigo blog, e confesso que mesmo quando ele ficou meses sem escrever nada, eu sempre ia lá para ter certeza de que meu leitor RSS não estava me enganando.
SourceCraft: É um blog fodástico, mantido pelo Thiago Silva. Conheci o blog dele quando ele deixou um comentário aqui pela primeira vez (cada comentário que ele faz aqui costuma me deixar ocupado uma semana lendo artigos pela internet!). Enfim, depois que “achei” o blog dele, não consegui mais deixar de acompanhar. Aprendi muita coisa legal com ele e não pretendo deixar de fazê-lo tão cedo.
Superfície Reflexiva: É um blog com um pouco de tudo, mantido pelo Ronaldo Ferraz. Lá podemos encontrar dicas de filmes e livros, informações sobre gadgets e tecnologia e, claro, muito código. Ele é o cara por trás (!) do excelente tutorial Rails para sua diversão e lucro. Ele também ministrou algumas excelentes palestras recentemente.
OnSmalltalk: Smalltalk está se tornando meu ambiente de desenvolvimento preferido. Os frameworks são sensacionais, o ambiente é extremamente simples e poderoso, a comunidade é composta por diversos gurus cujas idéias resultam numa transcendência cósmica dos limites impostos pelo inimaginável…
Por isso, considero este blog — que é mantido por Ramon Leon — uma excelente fonte de informações sobre Smalltalk, útil principalmente para aqueles que estão dando os primeiros passos nesse ambiente.
Eu podia tá matando: Eu, como um bom admirador de posts non-sense com boa dose de humor, não poderia deixar de listar o Eu podia tá matando aqui. Não sei exatamente se é isso que os autores deste blog querem causar em seus leitores, mas é assim que eu vejo o blog deles. Se isso é um problema? Muito pelo contrário! Curto bastante e estou sempre passando por lá.
A ordem dos blogs nessa lista não indica que eu prefiro o primeiro ao último; todos eles são excelentes!
Tags: blog day, memeSeaside na prática: autenticação de usuários
Foi complicado, mas consegui subir mais um degrau no meu aprendizado do Seaside. Depois de gastar algumas horas com pesquisas e experimentações, eis que finalmente consegui desenvolver uma aplicaçãozinha de Login no Seaside. Ela não é nada sofisticada, é verdade, mas aprendi muita coisa durante o desenvolvimento desta aplicação. A aplicação está disponível para download caso você tenha interesse em dar uma olhada. Os procedimentos necessários para carregar o código na sua imagem Squeak são mostrados na screencast que acompanha o arquivo.
Estarei comentando aqui algumas coisas que aprendi durante o desenvolvimento dessa aplicação. (ler mais…)
Tags: autenticação, componentes, continuation, login, magritte, seaside, smalltalk, squeak, webMagritte: como se virar sem documentação
Há um (bom) tempo atrás, eu havia tentado aprender a utilizar o Magritte, um framework Smalltalk para meta-descrição de objetos, que fornece recursos como geração automática de views, relatórios, validação etc.
Eu cheguei até a prometer um post sobre o assunto só que, para minha infelicidade, eu não tinha conseguido fazer o bicho funcionar de jeito nenhum. Talvez isso tenha acontecido por eu não ser assim tão esperto; no entanto, creio que o fator de maior impedimento neste caso foi a falta de documentação.
Mesmo ficando chateado por não ter conseguido aprender nada a respeito do Magritte, acabei desistindo. E continuou assim até que, graças à excelente palestra do Ronaldo Ferraz (com realização da eGenial), recebi a dose de empolgol que precisava para voltar a brincar com o Squeak/Seaside aqui em casa. Então, lembrando dessa minha promessa furada, resolvi tentar, pela segunda vez, fazer o Magritte funcionar.
Se consegui desta vez? Digamos que sim.
Estarei escrevendo aqui algumas coisas que aprendi durante esse processo de auto-flagelação aprendizado, e que são importantes para quem está interessado em começar a utilizar o Magritte. (ler mais…)
JavaEE + Wicket: o que eu estava esperando?
Já faz algum tempo que o framework Wicket agora se chama Apache Wicket. Esse processo todo de “graduação” do projeto Wicket para um projeto top level Apache demorou, mas o Wicket agora ocupa lugar de destaque junto a outros projetos importantes (como o Tapestry, Turbine, Struts, entre outros).
Já havia lido um pouco a respeito do Wicket por aí e confesso ter achado muito bom, principalmente comparado com algumas nojeiras que somos forçados a usar por aí. Mas, mesmo assim, eu nunca havia tentado criar um projeto qualquer para testar o Wicket.
Por esse motivo, essa semana eu montei uma aplicaçãozinha bem simples para tentar entender como o framework funciona. Adivinha o que fiz? Isso mesmo, um guestbook (meu hello world “web” favorito!). (ler mais…)
Tags: ejb, integração, java, javaee, maven, programação, wicketEm tempos de Mega Sena acumulada…
Há alguns minutos atrás eu acabei me deparando com um desafio bastante interessante proposto por Rodrigo Sol. O desafio em questão pede a criação do menor programa possível — em qualquer linguagem — para gerar um jogo da Mega Sena. Hehe, impressionante o poder de uma loteria acumulada sobre as pessoas!
Seguem as regras do desafio nas palavras do próprio Rodrigo:
Escrever em qualquer linguagem de programação um programa que realize 100.000 sorteios de um numero entre 1 e 60 e mostre na tela os 6 mais freqüentes.
Ganha quem fizer o programa com o menor numero de linhas possíveis, lembrando que a linha considerada é a linha da unidade léxica da linguagem, portanto a seguinte linha em Java seria considerada duas: int i =0; sysout(i);
Como estou aprendendo Groovy, não podia deixar esta oportunidade passar. E, de fato, não deixei!
Veja, abaixo, um programa em Groovy que soluciona o “problema” proposto:
Os programas postados até então foram de, no mínimo, três linhas. Então podemos dizer que o Groovy — pelo menos no escopo do problema proposto — não deve nada a outras linguagens que a galerinha gosta de chamar de “ágeis”!
Aliás, será que esse programa aqui poderia ser escrito em menos linhas?
UPDATE
Minha consciência estava ficando pesada. Por isso, segue a versão Squeak/Smalltalk:
-
| s |
-
s := ((OrderedCollection withAll: ((1 to: 100000) collect: [:each | 60 atRandom])) groupBy: [:each | each] having: [:each | true]) asSortedCollection: [:a :b | b size < a size].
-
1 to: 6 do: [:each | Transcript show: ((s at: each) at: 1); cr]
![]()
Normalizando mp3 com Groovy
Eu utilizo aqui um programinha chamado mp3gain para normalizar o volume das músicas no meu iPod. Bom, é um programa sensacional… o problema é que ele só permite o ajuste de arquivos que estejam em uma mesma pasta, dificultando um pouco quando o ripper organiza os arquivos MP3 em sub-pastas. São em casos como este que o Groovy nos dá a solução! (pelo menos para quem não a menor noção de Shell script, como eu).
Primeiro, certifique-se de que você tenha o Groovy e o mp3gain instalados na sua máquina. Então, crie o script e dê permissão de execução:
Pronto. Agora é só rodar o script para que ele revire a estrutura do diretório corrente e normalize os arquivos MP3 encontrados pelo caminho:
$ ./Normalize.groovyTags: groovy, mp3, mp3gain, normalização, volume

