Archive

Archive for the ‘wackyideas’ Category

Seu cérebro como produto : prepare sua vitrine

February 8th, 2010 No comments

Atualmente, vivemos uma fase de transição um pouco complexa, nebulosa e indefinida. Provavelmente já houveram fases semelhantes em outras épocas, uma vez que tudo no mundo é cíclico.

Não somos mais a geração Coca-Cola, não somos a geração das grandes guerras (apesar das guerras ainda existirem, em menor escala, mas não em menor número de vítimas), não somos a geração de coisa alguma.

Nada assustadoramente grande e importante aconteceu em nossa geração. Aliás, eu nem faço parte da geração atual, já que não sou adolescente há um bom tempo, mas prefiro simplesmente ignorar esse fato.

Minha geração (infância nos anos 80 e adolescência nos anos 90) não teve nada de extremamente importante acontecendo globalmente enquanto se desenvolvia.

O resultado é que atualmente somos um bando de quase tiozinhos com saudades de modas e cultura tosca dos anos 80. Sim, sinal de decadência, mas fazer o quê ? A idade chega e quanto a isso não há nada a ser feito.

Porém, é importante notar que, por mais que a criação não possa ser atribuído a nossa geração, fomos nós, os adolescentes dos anos 90, que começamos a realmente utilizar computadores e fazer do uso dos mesmos uma mania presente em nosso dia-a-dia, assim como a TV (infelizmente) ainda é presente atualmente na vida de nossos pais.

A geração seguinte, os nascidos nos anos 90 e vivendo sua adolescência atualmente, já nasceram em um mundo onde o uso de computadores e a Internet era algo completamente normal. Sim, é estranho imaginar isso, mas existiu um tempo em que se utilizava computadores desconectados da Internet.

Reconheço, uma grande parte das possibilidades atuais não existiam sem a Internet e a principal vantagem, a possibilidade do alcance do que você produz ser global, não era sequer imaginada.

Resumindo, era um tempo chato para os padrões atuais e quem utilizava computadores nessa época (e, obviamente, anteriormente a essa época) realmente podia ser chamado de “nerd”.

Apesar de ser uma época desconectada, foi necessária, visto que durante a mesma grande parte das tecnologias existentes atualmente foi inventada. Hoje em dia, qualquer um é rotulado de “nerd”, já que o termo está na moda.

Naquela época, no entanto, somente quem realmente gostava da coisa o fazia, visto que era necessário ter muita imaginação para sentar em frente a uma telinha ilhada, desconectada, por horas e horas, conversando somente com a máquina e não com outras pessoas.

Confesso que, atualmente, apesar de obviamente saber que existe utilidade em computadores desconectados, os mesmos perdem praticamente 90% de sua utilidade caso estejam sem acesso a Internet. E estou comentando somente o uso doméstico que fazemos dos mesmos.

Profissionalmente falando, na área em que trabalho, a falta do acesso Internet só serve para aumentar a integração dos funcionários na degustação do líquido sagrado nosso de cada dia, o santificado café.

Sou um ser estranho, visto que iniciei nesse mundo de tecnologias acompanhando o surgimento comercial da Internet e o início do uso massificado do acesso a mesma, e estou entrando em uma era em que o não acesso a Internet significa, na prática, não ter chance alguma de algum tipo de sucesso profissional.

Atualmente, não somente os profissionais da área de tecnologia, mas qualquer tipo de profissional, sem o louvado acesso a Internet, no mínimo, não consegue executar suas funções profissionais de forma correta, independente da complexidade do mesmo.

A perda do acesso, atualmente, é obviamente muito mais sentida e indesejada do que a perda da televisão o era em gerações passadas. A TV, por mais que tenhamos tentado reverter esse quadro, sempre foi um meio muito mais de entretenimento do que de cultura.

A Internet, por outro lado, apesar de ter todo o entretenimento e a baboseira necessária para quem os procura, oferece uma gama extremamente mais extensa de material cultural para os que estiverem realmente interessados.

Um reflexo disso é que uma quantidade extremamente grande de ocupações e até mesmo de profissões foram criadas nos últimos anos. Profissões essas que nem mesmo eram sequer imaginadas como possíveis há poucos anos.

Utilizamos a Internet para nos divertir, para estudar, para trabalhar, para namorar e, provavelmente, qualquer outra atividade humana que você possa imaginar possui uma forma de ser reproduzida na Internet. No mínimo, ao menos pode ser facilitada.

Isso nos leva ao fato de que, já há alguns anos, e isso tem se intensificado ainda mais com a Internet e as tecnologias que dela se utilizam, o trabalho humano passou a ser essencialmente intelectual.

Obviamente, sempre existiu trabalho intelectual e sempre existiu o trabalho braçal. Também obviamente, isso não significa o fim completo do trabalho braçal, mas sim um foco cada vez menor no mesmo, somente o estritamente necessário, e um maior foco no conteúdo produzido através do uso do intelecto.

O que me leva ao assunto principal desse post (sim, eu utilizo idéias introdutórias muito maiores do que o ponto principal, me processe) : em um futuro próximo, nossa principal ferramenta de trabalho será o cérebro.

Para algumas profissões, como a que exerço, por exemplo, isso já é uma realidade e, na verdade, o tem sido basicamente desde sua invenção. O fato é que um número muito maior de profissões baseadas no pensar e no intelecto foram e continuarão a ser criadas.

Sendo o cérebro nossa principal ferramenta de trabalho, não seria comum que, dentro de algum tempo, venhamos a notar uma maior necessidade de substâncias que possam estimular o cérebro, da mesma forma que, nas épocas do trabalho baseado na força física, nos era útil ter ferramentas para melhorar nosso desempenho físico ?

Veja bem, não estou me referindo a drogas ilegais. As mesmas sempre existiram e provavelmente sempre existirão. A forma e a apresentação mudarão, mas as mesmas sempre estarão lá, disponíveis para quem quiser se destruir.

Me refiro a formas não prejudiciais a saúde de estimular o pensamento e o trabalho cerebral. Formas legais, sem que tenhamos que nos render a perigosas soluções milagrosas ilegais e seus conhecidos efeitos colaterais.

Ter a mente livre de preocupações, bem como ter uma boa dose de inspiração são pontos que, em minha opinião, são essenciais para que o trabalhador intelectual possa produzir e desempenhar bem suas funções.

O raciocínio lógico exige concentração, um certo desligamento do mundo real, uma imersão no problema e uma volta a realidade com soluções e respostas que resolvam problemas reais. É quase que um estado de transe.

Desenvolvedores de software provavelmente já conhecem bem esse estado. Mesmo eu, que não lido com desenvolvimento diretamente em meu dia-a-dia, sinto frequentemente que me encontro nesse estado fora da realidade.

Caso não queiramos rumar em direção ao buraco sem fundo da depressão, precisamos não somente da motivação financeira materializada na figura de nosso salário pago, mas também de inspiração para produzirmos.

Da mesma forma que um escritor precisa se inspirar para escrever seus textos ou um pintor precisa de inspiração para desenvolver suas obras, o profissional intelectual precisa de inspiração para conseguir produzir, dada a quantidade assustadora de informações com as quais o mesmo lida diariamente no cumprimento de suas funções.

Conhecendo bem nossos governantes e a sociedade retrógrada e empacadora do progresso em que vivemos, obviamente substâncias inspiradoras, caso venham a um dia existir (e não vejo o motivo para que não venham a existir), demorariam pequenas eras para serem aprovadas como soluções legais para problemas reais.

Dito isso, pergunto : o futuro nos reserva uma nova droga, mesmo que temporária, a qual nos preencheria com a inspiração necessária para que possamos continuar a produzir em uma sociedade totalmente baseada na informação ?

Alimento para o pensamento. Deixem suas opiniões nos comentários e, por favor, respeitem o português. Ele não somente fornecer seu pães.


Idéias malucas e suas aplicações práticas úteis

October 1st, 2006 No comments

Dia desses estava eu contente lendo o Planet Debian e me deparei com uma série de artigos entitulados “Wacky ideas“, onde o autor, o desenvolvedor Debian Simon Richter, tornava públicas algumas de suas idéias, mas todas com alguma plausibilidade de aplicação real.

Me interessei especialmente pela idéia número 4, chamada pelo autor de “using symbol versioning information in dpkg-shlibdeps“, ou, abrasileirando, “utilizando informações de versionamento de símbolos no dpkg-shlibdeps”. Com a leitura da idéia básica percebi que tratava-se de algo realmente interessante e poderia ajudar versões novas de softwares empacotados serem instaladas em versõe antigas do Debian sem precisar de backport algum, mas queria confirmar minha suspeita.

Enviei um e-mail ao autor do post, perguntando se o mesmo tinha mais alguma informação sobre o assunto ou alguma referência sobre o mesmo para me indicar. Ele respondeu e deu uma explicação rápida sobre o assunto, em inglês, mas vou traduzí-la abaixo e espero não fazer feio :

Olá,

Você perguntou sobre a idéia “utilizando informações de versionamento de símbolos no dpkg-sh libdeps”.

Bom, eu acho que você já está familiar com o gerenciamento atual, que é obter uma lista de bibliotecas referenciadas de objetos em um pacote executando-se objdump no mesmo, extraíndo as entradas NEEDED e procurando nos arquivos shlibs que estão instalados (e também aqueles do pacote atual).

Até agora, se você referencia libc.so.6, o mecanismo shlibs procura por uma entrada na forma

“libc 6 …”

e insere a parte “…” na variável “shlibs:Depends” para o pacote.

Versões de símbolos por sua vez permitem que uma biblioteca declare que existem diversas versões de um símbolo e qualquer coisa que se lige contra o mesmo especifique a qual versão se referem. Normalmente, essas versões são obtidas no contexto de toda a biblioteca. Por exemplo, a glibc possui versões para releases maiores (major) e menores (minor) (GLIBC_2_0, GLIBC_2_1 e assim por diante). Caso um símbolo não mude, você não precisa mudar a informação de versionamento também quando lançando uma nova versão de um pacote. Na verdade, a maioria dos símbolos possuem uma versão bastante antiga anexada aos mesmos.

Todos os binários que foram ligados contra a glibc desde a introdução de versões de símbolos possuem uma lista de quais símbolos são necessários (isso é basicamente um atalho para que o ligador (linker) possa decidir procurar nas versões dos símbolos para saber se todos os símbolos necessários estão presentes) de cada biblioteca.

Agora, o que o formorer está implementando é uma maneira de especificar, por exemplo

GLIBC_2_0: libc 6 libc6 (>= 2.0.0)
GLIBC_2_1: libc 6 libc6 (>= 2.1.0)

e assim por diante. Esse formato é compatível com as ferramentas atuais (essas entradas são então ignoradas). Nós geramos uma lista de dependências que precisamos para mesclar para a mais estrita. Caso um binário dependa dos símbolos GLIBC_2_0 e GLIBC_2_1, o resultado seria “libc6 (>= 2.1.0)”, que é uma versão bem antiga. Os binários serão executados normalmente, uma vez que eles não precisam de nada novo, portanto, a especificação de dependência está correta.

O resultado final é que binários compilados dessa forma não precisarão ser backportados, uma vez que eles já podem ser instalados sem problemas em releases mais antigos.

Caso você tenha mais perguntas, pergunte.

Simon

Entenderam a idéia ? Se isso realmente funcionar, esqueça o trabalho que sempre temos ao precisar recompilar pacotes mais novos em um release antigo somente para que as versões corretas sejam substituídas corretamente em “shlibs:Depends“.

Como ele exemplificou, o caso da glibc é clássico. Eu mesmo já cansei de me deparar com casos em que eu precisava de uma versão mais nova de um software já empacotada na unstable e só não consegui simplesmente pegar o pacote da unstable e simplesmente instalá-lo na stable porque as informações de dependência estavam infladas, visto que o pacote havia sido gerado em um ambiente de compilação unstable.
Com o sistema de shlibs realmente indo a fundo e cavando exatamente qual versão de cada símbolo é necessária, as chances de podermos utilizar pacotes Debian feitos para um release (entenda-se distribuição, nesse caso) mais novo em um release mais antigo são bastante altas.

Isso iria diminuir muito o trabalho do pessoal do backports.org, por exemplo, e facilitar a vida de muitos administradores de sistema. Ah ! E sabe o formorer que ele citou ? É mais um desenvolvedor Debian, Alexander Wirt, que, segundo ele, já está trabalhando em uma reescrita do dpkg-shlibdeps que vai trazer essa nova funcionalidade ao utilitário.

Ok, isso seria um bom banho de água fria diretamente na cabeça daqueles que dizem que o Debian não inova. Talvez não tenhamos as versões mais novas de todos os softwares sempre (mas mesmo isso é questionável), mas mudanças profundas e realmente úteis como essas são uma prova de que o Debian está interessado em fazer as coisas da forma correta e não criar retalhos.