Mudanças no MovableType são boas

May 25th, 2004 § 2 comments § permalink

Eu retornei à blogosfera em tempo de testemunhar os últimos espasmos da controvérsia sobre a mudança da licença do MovableType. Na época, eu decidi não comentar sobre o assunto imediatamente porque eu tinha certeza que a SixApart ouviria o mercado e faria novas mudanças na licença — como realmente aconteceu.

Embora eu use o MovableType, eu não me incomodei com as modificações introduzidas no esquema de licenciamento. Como o MovableType nunca foi completamente livre, eu nunca presumi que ele permaneceria assim. É claro, eu me sinto grato pela generosidade da SixApart em me permitir usar o produto que eles desenvolveram de graça por tanto tempo. Eu não planejo mudar para a versão 3.0, e mesmo assim a generosidade deles se estende a me permitir usar a versão 2.661 por quanto tempo eu precisar. Toda vez que eu fiz o download do MovableType, eu marquei a caixa que dizia: “Eu aceito os termos da licença”. A SixApart honrou sua parte no acordo, e eu honrarei a minha.

Dito isso, eu acho que as mudanças introduzidas são uma boa coisa. O MovableType é um excelente produto, mas estagnou um pouco nos últimos tempos. As últimas revisões não introduziram praticamente nenhuma característica nova nem corrigiram problemas antigos. A própria versão 3.0 tem pouca coisa nova — nada que justifique uma atualização da que eu uso, mesmo que eu me qualifique como usuário da versão grátis.

O fato de que as pessoas estão insatisfeitas com o MovableType significa que mais desenvolvimento ocorrerá na área. Como a ferramenta era livre o bastante, para usar os mesmos termos do Mark Pilgrim, havia pouco incentivo no sentido de desenvolver um competidor.

Quando o MovableType começou a estagnar, porém, competidores começaram a aparecer. O WordPress, o mais forte desses, é uma ferramenta muito boa. Inclusive, está bem à frente do MovableType em muitas áreas. Julgando pelo passo do desenvolvimento do mesmo, também, ele representa uma ameaça real à SixApart. Outros serviços e ferramentas interessantes estão começando a aparecer também e estou certo de que mais virão.

Qualquer coisa que sacuda o mercado e force pessoas a verem as coisas de outro ângulo beneficia os usuários. A SixApart pode ter dado aos programadores espalhados pelo mundo uma boa razão para mover o mercado adiante outra vez. E isso é bom para a SixApart também. Um mercado forte significa que eles terão mais trabalhos para atender as demandas de seus usuários, mas significa igualmente que eles terão mais usuários satisfeitos se o fizerem. E o que beneficia os usuários, beneficia a empresa.

Em resumo, eu gostei da direção que a SixApart escolheu. Talvez não pela razão que eles pensaram, mas ainda assim gostei. E vou gostar ainda mais se o mercado responder apropriadamente.

Séries de livros

May 24th, 2004 § 11 comments § permalink

Visitantes freqüentes desse blog sabem que eu sou um leitor inveterado. Eu leio tudo e qualquer coisa em que consigo colocar as mãos. Livros nunca são demais. Aliás, se você está querendo me presentear com alguma coisa, dê-me um livro.

Quando eu era mais jovem, eu costumava ler dois livros por dia. As bibliotecárias da escola onde eu estudava não acreditavam que eu podia ler tão rápido — mesmo que os livros, na época, não fosse tão grandes assim — e algumas vezes me proibiam de pegar mais livros por um tempo depois que eu devolvia os que estavam comigo. Minha paixão por leitura é uma das poucas coisas constantes em minha vida. Eu tenho, inclusive, que evitar entrar em livrarias para não gastar demais com eles.

É claro, eu tenho meus gêneros favoritos — no caso, ficção científica e fantasia. Eu cresci querendo ser um cientista, e sonhando acordado com lugares distantes em passados remotos, futuros longínquos e mundos imaginários. A vida eventualmente decretou que eu seguiria um caminho diferente, que eu ainda estou tentando descobrir.

De qualquer forma, esse é um texto picuinha de um amante de livros. Sinta-se à vontade para ignorá-lo. É só um texto que eu queria escrever há muito e que agora estou contente de ter, enfim, me livrado dele.

Eu vou falar sobre séries de livros. » Read the rest of this entry «

Lendo RSS

May 23rd, 2004 § 14 comments § permalink

Atualmente, eu leio 92 feeds RSS. Quando eu comecei a ler sites por meio desse formato, mais de dois anos atrás, minha lista de subscrições pulou dos dez sites que eu visitava diariamente para dúzias de sites que chegavam automaticamente no meu agregador; e isso, em um par de meses. Ler o conteúdo em um agregador me poupava tanto tempo que eu simplesmente adicionava qualquer blog interessante que eu encontrava às minhas subscrições sem me preocupar com quanto conteúdo eles introduziriam diariamente nas minhas leituras. Eu estava tão entusiasmado com a tecnologia, e havia tanta coisa interessante para ler, que eu queria mais.

Alguns meses depois, eu estava tentando me manter em dia com mais de 200 subscrições. Era tanto conteúdo que só para baixar as entradas escritas no dia anterior eram necessários uns cinco minutos em uma conexão de banda larga. Eu descobri logo que não conseguia seguir tanta informação. Eu estava gastando um bom tempo só correndo os olhos pelas entradas procurando decidir o que eu leria ou não. E mesmo assim a lista de conteúdo selecionado que eu ainda não havia lido crescia a cada dia. Todo fim de semana eu simplesmente limpava a lista e começava o processo outra vez, ignorando todos as entradas da semana anterior.

Logo eu comecei a remover algumas subscrições. Não porque o conteúdo das mesmas não era bom, mas porque eu não estava conseguindo seguir todas. Finalmente, reduzi a lista para menos do que 50 sites. Com esse número, eu era capaz de ler tudo o que eu queria e dar a atenção necessária às entradas que eu achava interessantes. O fato é que eu não gosto de simplesmente correr os olhos pelo conteúdo que leio, pulando as partes menos interessantes. A menos que eu descubra rapidamente que eu não preciso ler um texto todo para entender o que ele quer dizer, ou é simplesmente um texto sobre gatos, incidentes pequenos e coisas assim, eu prefiro ler cada palavra no mesmo. Assim, 50 subscrições eram mais do que suficientes para o tempo que eu dispunha diariamente para a tarefa.

Ao longo no ano seguinte, entretanto, minha lista começou a crescer novamente. De quando em quando, eu encontrava alguém cujo conteúdo era consistentemente interessante e significativo. Eu adicionava o site à minha lista, raciocinando que eu poderia seguir mais um site se gastasse mais uns poucos minutos por dia lendo as coisas extras. Isso foi 40 subscrições atrás.

Hoje, com 92 subscrições, eu não estou conseguindo seguir tudo novamente. É claro que eu não sou obrigado a ler todos esses sites. Mas eu gostaria de poder ler todos porque são interessantes e úteis.

Dois meses atrás, o Scoble mencionou que ele assina mais do que 1400 feeds RSS. Eu me pergunto se ele dorme. Se ele gasta apenas 10 segundos em cada subscrição, isso já totaliza quase quatro horas de leitura. O Galvez também mencionou recentemente que lê 400 sites via RSS. Ele eu sei que não dorme, mas mesmo assim é muita coisa.

Então, como vocês conseguem ler os feeds que assinam? Quais técnicas vocês usam para prevenir o fluxo excessivo de informação?

RSS é um tecnologia muito útil e tem me ajudado bastante profissionalmente já que eu sou capaz de me manter informado com o que acontece no mercado quase em tempo real. Mas é algo também que pode facilmente escapar ao controle. Seria interessante saber quantos subscrições em média as pessoas tem e como eles lidam com o assunto.

Se você quiser comentar sobre isso, sinta-se à vontade para fazê-lo aqui.

Cadafalso

May 20th, 2004 § Comments Off on Cadafalso § permalink

O Guaracy, com que eu já tive freqüentes, amigáveis e interessantes discussões sobre programação, tecnologia e afins aqui, está com um blog novo agora. O rapaz entende do assunto e as entradas no blog dele — que, por sinal tem um nome bem curioso — já mencionam vários tópicos legais, mencionando Ruby, Smalltalk, Lisp, Delphi e outros. Vale a pena dar um conferida.

Por onde anda o Dennis?

May 20th, 2004 § 1 comment § permalink

Essa blogosfera brasileira anda sofrendo ataques do Murphy. Primeiro eu, depois o Dennis.

O domínio dele expirou e, como infelizmente acontece nesses casos, alguns espertinhos (ladrões, para usar o termo correto), registraram o mesmo, procurando arrancar uma grana dele. Ele manda avisar que está de casa temporária no Blogspot, mas que volta logo — mais rápido do que eu, se tudo der certo. :-)

Layout

May 19th, 2004 § Comments Off on Layout § permalink

Por algum motivo que eu não entendi, o layout desse site está com problemas no Internet Explorer. Uma barra lateral apareceu do nada e alguns links se movem quando o mouse passa sobre os mesmos. Como isso não estava acontecendo antes, não tenho a menor idéia do que possa ser. Enquanto eu investigo a questão, por favor me desculpe o inconveniente.

Atualização: Fiz umas modificações baseadas nas sugestões de um leitor e o problema parece estar corigido. Qualquer coisa, me avisem.

Uma instalação do Debian: excelente, mas…

May 19th, 2004 § 6 comments § permalink

O servidor que hospeda esse site roda Debian. É a primeira vez que eu estou rodando um sistema com essa distribuição e apesar dos poucos dias de experiência posso dizer que ela é excelente. Embora eu já esteja usando o Linux por alguns anos — tanto no servidor quanto no desktop, e em vários cenários diferentes — eu sempre tive uma certa relutância em instalar o Debian. O motivo era que a reputação dessa distribuição de estabilidade só era superada pela sua fama de ser uma distribuição difícil de instalar. Depois de usar o Mandrake Linux por muito tempo (e nos últimos dez meses como desktop primário), eu não tinha muita vontade de instalar um sistema onde eu teria que esquecer as fáceis ferramentas de configuração para editar incontáveis arquivos texto.

Algumas semanas atrás, entretanto, antes que eu começasse a configurar esse servidor, um colega de trabalho instalou uma máquina Debian na empresa em que trabalhamos. Curioso para verificar se a reputação do Debian era verdadeira ou não, eu decidi ajudá-lo — ou antes, ver como ele faria o trabalho. Depois de seguir os procedimentos de instalação, eu estou convencido de que instalar o Debian em uma máquina limpa não é uma tarefa para os de coração fraco. A despeito do instalador que vem com a distribuição, um conhecimento íntimo de Linux pode ser necessário se alguma parte da instalação der problema. E depois de usar o instalador que vem com o Mandrake algumas vezes nos últimos anos, eu não posso dizer que fiquei impressionado.

As coisas mudaram quando eu vi o apt-get em ação. Como eu disse em uma entrada anterior, o apt-get é tão útil que eu me viciei instantaneamente no mesmo. E, depois de usar o Debian nesse servidor por algumas semanas, eu notei que os pacotes que a distribuição possui estão muito à frente dos equivalentes em outras distribuições em facilidade de configuração — embora, como mencionado mais à frente, tenham desvantagens em relação a outras distribuições também. E, o melhor de tudo: dependências e conflitos são resolvidos sem problemas. Tudo simplesmente funciona. » Read the rest of this entry «

Aplicações e configurações

May 17th, 2004 § 6 comments § permalink

Uma das coisas que sempre me incomoda em um sistema — seja nos que eu uso, seja nos que eu mesmo crio — é onde o mesmo guarda as configurações. Esse incômodo tem dois lados: primeiro, na questão de guardar essas configurações em backups, para o caso de perda de dados; segundo, na questão de compartilhamento de código.

O primeiro lado é de longe o que mais atrapalha e acontece em ambos os sistemas operacionais que eu uso freqüentemente: o Linux e o Windows. Provavelmente acontece me outros sistemas também, embora eu já tenha lido que o Mac OS lida com a questão de forma mais adequada.

No Linux, existem dois pontos principais onde uma aplicação pode guardar configurações, respectivamente os diretórios /etc e /home. O primeiro é normalmente usado para aplicações do sistema, já que ele é um diretório cujas permissões são mais restritas, sendo geralmente só acessíveis aos usuários de administração e programas que rodam como serviços. O segundo é usado para guardar as configurações dos próprios usuários e programas que eles eventualmente tenham instalado. Nos dois casos, é possível fazer um backup meramente salvando ambos os diretórios.

O problema acontece, então, quando aplicativos decidem guardar configurações em locais diferentes, geralmente por existirem em um estado intermediário de acesso, incapazes de acessar diretórios do sistema e não podendo guardar permissões por usuário, por serem de uso geral. É o caso, por exemplo, de aplicações Web. Essas aplicações tender a ser instaladas em locais compartilhados, onde os usuários interessados podem fazer as modificações necessárias sem comprometer o sistema.

A questão é que, nesses casos, como as aplicações não podem acessar os diretórios do sistema, elas acabam guardando suas configurações nos seus próprios diretórios de código ou dados. Pior, algumas misturam dados e códigos, dificultando a identificação do que precisa ser salvo ou não. O resultado é que cada aplicação adiciona um novo caminho que precisa ser salvo em backups — em alguns casos, um caminho que precisa ser filtrado para que o backup não tenha informações desnecessárias.

No Windows, sempre que eu preciso reinstalar o sistema, eu acabo perdendo informações de um aplicação ou outra que colocaram seus dados de configuração no seus próprios diretórios de instalação. Embora o Windows tem um diretório especificamente criado para tais dados, muitas aplicações o ignoram ou somente fazem um uso parcial do mesmo. E o próprio Windows guarda informações lá, como o registro, que pela sua natureza não podem ser simplesmente copiadas de um backup para o sistema sem necessidade de alteração em caso de falhas catastróficas.

Nesse aspecto, o Linux é melhor já que guarda a maior parte de suas informações em formatos de texto, que podem ser rapidamente alterados em um editor comum. Mas mesmo no Linux é possível esquecer de salvar algumas essas configurações e perder tempo na instalação de um novo sistema. MovableType, MoinMoin, SquirrelMail e outras aplicações Web que uso, todas tem seus arquivos de configurações sob os diretórios de código, forçando-me a lembrar de manter esses diretórios extras em backups. Pior ainda, ter a configuração em arquivos comuns misturados com o código causa um problema de segurança. Alguns aplicação são forçadas a usar truques para impedir que os arquivos de configuração sejam vistos externamente.

O segundo lado, o do compartilhamento de código, também é um que causa problemas. Aplicações Web, cujo código em geral roda diretamente no servidor, quando passam a ser mantidas por versão tendem a ter toda a estrutura replicado no mesmo, incluindo eventuais arquivos de configuração. Se os desenvolvedores não tomarem cuidado, criando filtros de exclusão ou coisa similar, esses arquivos ficam sendo modificados a cada check in no controle de versão à medida que os desenvolvedores fazem suas modificações. Quando um outro desenvolvedor faz o check out dos arquivos, ele corre o risco de sobrescrever suas próprias configurações e perder minutos de trabalho tentando restaurar suas configurações antigas.

Como usuário, não é minha obrigação ficar cuidando desses aspectos e eu acabo sempre me irritando tendo que configurar dezenas de aplicações que deveriam saber como seu comportar melhor. Como administrador de sistemas, a questão das aplicações que guardam suas configurações em locais despadronizados só aumenta o meu trabalho. Como desenvolvedor de sistemas, é minha obrigação guarantir que tanto usuários como administrador de sistemas tenham uma vida mais fácil no que concerne a essa questões. Desenvolvedores de sistema, então, deveriam prestar mais atenção onde suas aplicações guardam seus dados.

No Windows, para aplicações do sistema isso é praticamente impossível já que o próprio sistema não tem um local padrão único para esses dados, facilmente acessível a backups. No Linux, isso quer disser o diretório /etc para aplicações de sistema.

Aplicações comuns deveriam sempre guardar seus dados no diretório do usuário que as instalou. No Windows, é o diretório Documents And Settings, sob o disco do sistema, em versões mais novas do sistema operacional. No Linux, é o diretório /home, de preferências em diretórios escondidos. Felizmente, no Linux, a maioria das aplicações já sem comportam assim.

Para o terceiro tipo de aplicações, as que precisam guardar seus dados em diretórios com graus diversos de permissões, o ideal é permitir o reposicionamento do arquivo de configurações. Seja por variáveis de ambiente, links ou arquivo mestre que simplesmente indique ou inclua o caminho real da configuração, uma aplicação deve estar pronta para ler seus dados de qualquer lugar.

Recentemente, instalando aplicações Web em meu servidor, eu adotei a prática de criar um diretório padrão para guardar as aplicações. Nesse diretório, há um sub-diretório para cada aplicação, contendo todas suas configurações. Como o sistema é Linux, eu fui capaz de criar um link simbólico para esse diretório e seus arquivos nos locais onde as aplicações esperam seus dados. No Windows, eu provavelmente não conseguiria isso na maior parte dos casos.

É claro que nem sempre é possível fazer isto, mesmo no Linux. Mas mesmo usuários comuns poderiam se beneficiar de um esquema similar se as aplicações colaborassem para salvar seus dados em um local comum, fora de seus diretórios de código ou executáveis.

Para o problema do compartilhamento de configurações em um sistema de controle de versão, eu venho adotando uma prática diferente nos sistemas novos em que tenho trabalhado. O controle de versão guarda um modelo genérico da configuração e o arquivo de configuração, dependendo da linguagem, simplesmente inclui o arquivo de configuração real, que pode estar em outro lugar, ou é um mero link para o arquivo real. Em alguns casos mais rasos, o caminho de configuração da aplicação está em uma variável de ambiente. Isso tem evitado problemas de arquivos sobrescritos desnecessariamente. No caso de sistema que possuem plugins, o mesmo deveria prover uma API que estes possam usar para salvar suas respectivas configurações.

Se você é um desenvolvedor, seja qual a estratégia você for adotar, sempre compensa pensar um pouco nessas questões na hora de criar um novo sistema. Você se beneficiará e seus usuários agradecerão.

Você já mugiu hoje?

May 15th, 2004 § 2 comments § permalink

Eu já. Não, não é o que você está pensando: eu não fiquei insano no período em que estava fora da blogosfera. E se você pensa que estou doido porque mugi, imagina quando eu lhe disse que estou usando um treco com poderes de uma super vaca?

Mas é verdade! Nas últimas semanas eu venho usando regularmente o apt-get, o gerenciador de pacotes do Debian. E eu devo dizer que essa ferramenta comanda batatais. O apt-get é movido pelos poderes da super vaca e é a resposta para todos os seus problemas no Debian. Se você não acredita em mim, rode apt-get moo em um Debian a que você tenha acesso. Viu? Eu não estou louco.

Falando sério, eu estou usando o Debian neste servidor e estou gostando muito, principalmente devido ao apt-get. Quando eu fui chutado do meu provedor antigo, eu comecei a procurar um novo provedor onde eu pudesse ter acesso root. Eu estava pensando em obter um servidor dedicado com alguns amigos mas o plano não funcionou. Então eu descobri a Bytemark Hosting, que hospeda via user-mode Linux. Depois de uma pesquisada rápida, fechei um plano com eles. Agora eu tenho acesso a uma instalação Linux completa, com privilégios de root e sem os problemas de um servidor dedicado.

A Bytemark oferece quatro distros Linux para instalação, duas das quais eu já havia usado. Red Hat, que eu usei em casa algum tempo, e Gento, que eu usei no trabalho. Eu poderia ter escolhido uma delas, mas acabei me decidindo pelo Debian. Primeiro pela reputação de estabilidade e confiabilidade. Segundo, pela vontade de experimentar algo novo. Eu nunca havia administrado um servidor Linux completo sozinho e estava com um pouco de medo sobre a questão.

Para encurtar a história, o Debian se provou uma distribução muito fácil de se gerenciar — graças, em grande parte, ao seu sistema de pacotes, do qual o apt-get é o porteiro. Depois de dois anos usando RPMs para atualizar as distros Linux com as quais eu mexia (excetuando o breve uso do Gentoo), o apt-get é um maravilha. Eu estou completamente impressionado com o jeito com que ele gerencia os pacotes — e tudo automaticamente. Um comando é o que eu preciso para atualizar todo o sistema.

Um exemplo da facilidade que o apt-get concede pode ser visto na minha decisão de mudar o servidor de e-mail padrão da distribuição empacotada pela Bytemark. Essa distribução, que é instalada se você escolhe o Debian lá, vem com o exim por default. Eu queria usar o postfix. Quando tentei deinstalar o exim, fui informado que ele removeria outros pacotes que eu queria manter. Eu estava pensando no que fazer e então decidi simplesmente pedir ao apt-get para instalar o postfix. Para minha surpresa, ele identificou corretamente que o exim precisava ser removido e limpou o sistema de todos arquivos relacionados ao mesmo. Eu não sei se a instalação de pacotes pode ficar mais fácil que isso.

Eu mudei para o Linux como desktop primário cerca de dez meses atrás, depois de usá-lo intermitentemente por vários anos. Feita a mudança, nunca olhei para trás. Ainda uso o Windows esporadicamente para jogos e uma ou outra aplicação que só existe nele. Mas do tempo que eu passo na frente do computador, o Windows representa menos que um porcento. O apt-get é uma das coisas que confirmam a minha decisão de mudar. Há coisas produzidas pelo código aberto que nem todos os bilhões investidos no Windows puderam trazer. Isso mais do que compensa os problemas ocasionais que o código aberto me causa.

Backups

May 14th, 2004 § 3 comments § permalink

Leitores regulares desse blog, que acompanharam os problemas que ocorreram antes que o site saísse do ar, sabem que eu não tinha backups recentes do site, na época. Eu sei, eu sou um idiota. Bem, o fato é que eu acabei conseguindo backups depois, contendo todo o site até duas semanas antes do incidente. E também consegui um backup do banco, contendo as mesmas informações. Tudo pronto para recuperar os blogs assim que os problemas com a hospedagem fossem resolvidos, não? Errado. Como eu descobri ontem, os backups estavam corrompidos. Ironicamente, os backups de todos os outros sites que eu hospedava estão perfeitos. Somente os dos meus dois blogs se corromperam. Os dois backups em questão foram gerados por ferramentas disponíveis no antigo provedor. Murphy ataca novamente.

No backup do banco, só sobraram as cartegorias e os comentários. Entradas, trackbacks, todo o resto está arruinado. O backup do site, felizmente, contém todos os arquivos gerados pelo MovableType. Ele está corrompido também, mas em arquivos de e-mail e outros dos quais eu tenho cópias melhores.

O próximo passo agora é criar um programa para ler estes arquivos, extrair as informações, correlacioná-las e reconstituir o banco. Não é complicado, mas é trabalhoso. E algumas informações — como a data exata de uma entrada ou trackback — não estão disponíveis nesses arquivos. De qualquer forma, até que eu consiga fazer isso, as entradas anteriores não estarão disponíveis. Peço desculpas pelo inconveniente.

Moral da história: não confie em backups gerados por ferramentas e nunca deixe de testá-los e replicá-los em diversos locais. Alguns bytes corrompidos em um arquivo zipado e seus dados estão perdidos. Lição aprendida: meus backups agora estão replicados em três lugares, com cópias zipadas e também descompactadas.

Where am I?

You are currently viewing the archives for May, 2004 at Superfície Reflexiva.