14 de abril de 2011

Nova bicicleta

A última bicicleta que tinha tido foi há imenso tempo. Foi provavelmente a mesma bicicleta com que aprendi a andar, quando era puto, e que com o tempo e desuso foi enferrujando e lá está no que era o estábulo da minha casa na "terra" (no Painho, perto das Caldas da Rainha). Sempre foi uma actividade de que gostei bastante e infelizmente estive muito tempo sem andar de bicicleta regularmente. Ia alugando uma bicicleta e dando umas voltas de vez em quando, mas não é a mesma coisa. Há uns meses decidi-me a comprar uma bicicleta e lá o fiz. Voltar a andar de bicicleta foi espectacular. Entre passeios na ciclovia de Cais-do-Sodré/Belém com amigos no fim-de-semana, e idas solitárias ao Terreiro do Paço de vez em quando, só não andei de bicicleta em semanas em que o tempo estava mau demais para isso (e mesmo assim cheguei a apanhar uma molha numa vez que arriscámos a ciclovia num dia pouco acolhedor).

Há uns Domingos atrás fui com um amigo meu dar um pulo pelo FabriCamp Lx1, no Pavilhão dos Conhecimentos no Parque das Nações. Como o Parque das Nações é um sítio fixe para se andar de bicicleta, cada um de nós levou a sua para depois darmos uma volta. Depois de um pouco de passeio fomos ao Vasco da Gama, deixámos as bicicletas no parquezinho próprio que há para bicicletas em frente à entrada que dá para a estátua ferrugenta, e fomos jantar descansados. Quando chegámos, nenhuma das nossas bicicletas estava lá. A minha corrente estava cortada no chão e a corrente (mais grossa, com código, que estava também presa à minha bicicleta) do meu amigo nem vê-la.

Durante o FabriCamp as bicicletas ficaram duas horas presas individualmente a um caixote do lixo no meio do nada, onde poucas pessoas passam. Uma hora no sítio próprio para bicicletas num local com seguranças e pessoas constantemente a passar e são roubadas. Quando fomos para fazer queixa a uma das seguranças do Vasco da Gama: "Ah, isso não é nada connosco. O melhor é irem fazer queixa à polícia para eles depois verem o vídeo de vigilância e podem ter a sorte de a câmara ter apanhado os ladrões". Um ponto engraçado desta situação é que estávamos mais preocupados com as bicicletas nas duas horas que elas estiveram presas ao caixote do lixo do que no tempo que elas estiveram presas no parque de bicicletas.

Há aqui muita coisa que me deixa indignado. Primeiro de tudo há as bestas que roubaram as bicicletas. Segundo há os seguranças do centro comercial onde fui gastar dinheiro que não só não protegeram os interesses dos seus clientes, como também nada se importaram com o sucedido. Terceiro há a minha estupidez em não me aperceber do quão mau o sítio era na realidade para deixar uma bicicleta relativamente nova.

Há que dizer que tanto eu como o meu amigo fomos levados por um falso sentido de segurança. O sítio parecia adequadamente perto do Vasco da Gama para deixarmos as bicicletas. Assumimos que haveria alguma segurança no movimento constante de pessoas, que ninguém ia roubar bicicletas abertamente num sítio por onde está constantemente a passar gente. Assumimos que haveriam seguranças a passear por aquela zona. Se não tivéssemos assumido isto tudo e determinado que era um lugar perigoso para deixar as bicicletas, tínhamos ido embora para casa em vez de jantar no Vasco da Gama e ainda tínhamos as nossas bicicletas.

Em retrospectiva é óbvio porque é que uma hora ali no sítio próprio para bicicletas em frente ao Vasco da Gama foi mais perigoso para as bicicletas do que duas horas num sítio onde não passa ninguém, presas a um caixote do lixo frágil. Em ambos os sítios onde deixámos as bicicletas apenas as protegemos contra o gajo que vê uma bicicleta, pega nela e leva-a consigo. Para levar as bicicletas era preciso conseguir cortar as correntes e o transeunte que se depara com as bicicletas por acaso não anda com um alicate de corte no bolso para estas situações. Por outro lado, haver um sítio fixo onde as pessoas se sentem seguras para deixar as bicicletas delas, sem seguranças, abre portas a que pessoas mal intencionadas e melhor equipadas passem por lá com um alicate de corte, analisem se há alguma bicicleta que valha a pena roubar (mal protegida/relativamente boa), e pronto... Alguém fica sem bicicleta. Aparentemente isto é algo que acontece todas as semanas, segundo os polícias.

Acho que é uma falha enorme do Vasco da Gama providenciar aquele sítio onde se pode simplesmente ir roubar bicicletas. Em vez de estarem a oferecer aos seus clientes um sitio seguro onde deixar as bicicletas, estão a dar-lhes um falso sentido de segurança e a fazer com que mais bicicletas sejam roubadas, perdendo clientes. Eu, por exemplo, já sei que não vou jantar no Vasco da Gama depois de ir andar de bicicleta no Parque das Nações. Questiono-me porque é que não há um segurança ao pé do parque de bicicletas. Questiono-me porque é que as rondas da polícia não passam por lá com frequência o suficiente para desincentivar ladrões. Questiono-me porque é que, não havendo recursos humanos para impedir o roubo, não se tira aquele parque dali para não haver pessoas a deixar lá bicicletas que podem ser roubadas.

E assim, cerca de dois meses depois de a comprar, fiquei sem a minha bicicleta nova. Restam-me duas opções: baixar os braços e desistir de ter uma bicicleta, ou não deixar que um grupo de anormais me roube o prazer readquirido de andar de bicicleta. A escolha parece bastante simples, vou comprar uma bicicleta para substituir a que perdi e desta vez vou também comprar material para a prender que não só dê protecção contra o transeunte ocasional mas que também ofereça alguma segurança contra alicates de corte de tamanhos não industriais. E também vou ter bastante mais cuidado onde deixo a bicicleta e assegurar-me que o que assumo de segurança parece mais sólido.

O pior de tudo é que ainda há um outro grupo de idiotas que nada faz de concreto para impedir estas situações. Talvez o número de clientes que lá vai porque tem o parque para as bicicletas ainda compense financeiramente relativamente ao número de clientes que perdem porque permitiram que lhes roubassem as bicicletas. Eu acho inaceitável e por isso podem contar que não gastarei mais do meu dinheiro no Centro Comercial do Vasco da Gama enquanto este tipo de negligência existir.

Quase que sinto que fui directamente lesado pela administração do Vasco da Gama e que os devia responsabilizar legalmente pelo sucedido (talvez processando-os?). Vou tentar averiguar com pessoas mais conhecedoras da lei se teria hipótese ou se estas corporações são protegidas contra este tipo de negligência grosseira e danosa.

3 de abril de 2011

Hibernar o Computador de Trabalho

Lá na Outsystems onde trabalho atribuíram-me um computador pessoal. Tal como eu, muitos dos engenheiros informáticos lá no cantinho da Engenharia usam um monstro da Dell para o seu trabalho diário. Nos cantinhos mais de marketing e vendas e do outro lado do edifício nos serviços (consultoria) a maioria tem computadores portáteis.

Nós trabalhamos com uma data de ferramentas, muitas delas pesadas (o Visual Studio, por exemplo) e de manhã costumava demorar bastante tempo a ligar o computador e ligar os programas todos. Por isso até há pouco tempo atrás o que eu fazia era deixar o computador ligado quando saía para que quando voltasse já tivesse o estaminé todo montado para poder começar a trabalhar sem grande demora. Tal como eu, bastantes dos meus colegas têm o hábito de deixar o computador ligado a noite toda para que quando chegam possam começar imediatamente a trabalhar.

O problema disto é que os computadores estão ligados a semana toda (24*7 = 168 horas) em vez de estarem ligados apenas as horas de trabalho (40 + 5 (almoço) = 45). Em vez de estarem ligados ~30% do tempo (45/168 ~ 0.27), os computadores estão ligados 100% do tempo. Suspeito que isto é sintomático não só na Outsystems mas que também aconteça em muitas outras empresas que trabalhem com computadores.

Para os trabalhadores é uma decisão aparentemente fácil de tomar: deixar os computadores ligados é relativamente simples e não lhes custa nada já que é a empresa quem paga a conta de electricidade. A questão é que custa: o desperdício energético não afecta só a conta de electricidade da empresa, afecta-nos a todos porque a energia é retirada dos recursos finitos do planeta que partilhamos. Quanto menos desperdiçarmos, melhor para todos.

Mas a solução para o dilema é simples. Há muito tempo que existe a possibilidade de hibernar um computador. Se em vez de deixar os computadores ligados quando saímos do emprego os hibernássemos poderíamos ter o melhor dos dois mundos: um espaço de trabalho preparado e igual ao que tínhamos no dia anterior e poupava-se energia.

Mas para isto haviam dois impedimentos. Sinceramente eu sempre tive a ideia de hibernar o meu computador, mas a opção para o fazer não aparecia no menu de desligar o computador. Além disso algumas pessoas deixam o computador ligado para que lhe possam aceder remotamente (através da VPN), caso seja necessário por alguma razão. Nem sempre precisam de aceder remotamente aos computadores, mas não podem sempre prever quando o vão querer fazer, por isso para jogar pelo seguro vão deixando os computadores ligados.

Em conversa com uma amiga minha descobri que afinal até dá para hibernar desktops com Windows (não me aparecia a opção, portanto imaginei que o windows para desktops não viesse com isso ou qualquer coisa parva do género). Seguindo as instruções neste site (principalmente a parte de desactivar o sonho híbrido), lá consegui que a opção aparecesse, configurei o windows para hibernar quando carregasse no botão da energia e assim tenho uma maneira rápida de hibernar o computador antes de ir para casa.

Mas a minha ideia era mais do que apenas eu hibernar o meu computador. A minha ideia era convencer toda a gente lá do cantinho de I&D (Investigação e Desenvolvimento) da Outsystems a fazer o mesmo com os computadores deles. Para isso precisava de oferecer uma solução para a questão do acesso remoto. Relembro que estando o computador desligado não é possível aceder remotamente ao computador e assim trabalhar quando se está em casa. Não é necessariamente uma coisa má, mas há pessoas que (por alguma razão ou por outra) gostam de ter essa hipótese em aberto. Era necessário então arranjar uma solução realista para essa questão antes de tentar convencer as pessoas a desligar o computador delas quando não estão a trabalhar.

Foi então que me lembrei de já ter ouvido falar em WakeOnLAN, um protocolo que permite dizer a computadores específicos para se ligarem através de um pacote especial enviado na rede. Claro que é preciso activar a funcionalidade na BIOS, mas estando disponível e uma vez feito, fica a hipótese de acordar o computador a partir de outro disponível. Para ter uma solução viável, restava então arranjar forma de usar este protocolo para acordar os computadores que precisassem de acesso remoto.

Quando procurei pelo termo não encontrei imediatamente nenhum programa grande que fizesse isso. Mas encontrei dois pedaços de código em Java e C# que produziam o pacote necessário e o mandavam para a rede. A minha ideia original era criar um eSpace (uma aplicação web na terminologia da Agile Platform) e colocá-lo num dos nossos servidores internos para as pessoas terem uma interface sempre acessível e relativamente fácil de usar para acordarem o computador delas. Depois de umas conversas com alguém que gere a nossa infraestrutura e depois de alguns testes, descobrimos que os pacotes que são difundidos neste protocolo não passam pela firewall. As máquinas da infraestrutura estão numa sub-rede, as máquinas do departamento de I&D estão noutra, e o sistema de encaminhamento de pacotes não permite o encaminhamento dos pacotes de difusão entre redes. Como as pessoas que tratam da gestão da rede não estavam muito disponíveis para resolver este empecilho atempadamente, pus-me a engendrar outra solução.

Claro que o ideal era ter uma máquina na infraestrutura (preferencialmente uma máquina virtual) que por acaso estivesse sempre ligada e tivesse uma interface de rede na rede da I&D, daí a solução do eSpace num dos nossos servidores ser tão apelativa, já que não implicaria haver mais energia a ser gasta por causa desta funcionalidade. Mas isso não foi possível e então tive de me resignar a usar uma máquina de desenvolvimento que temos lá no nosso cantinho da manutenção. Essa máquina tem um CentOS e pouca RAM pelo que não é adequada para ter uma instalação da Agile Platform, o que implica que a minha solução final teve de ser de mais baixo nível.

Com o código Java que referenciei anteriormente como base criei uma classe Java com um objecto remoto (usando a tecnologia Remote Method Invocation do Java) que recebe pedidos para acordar um endereço de MAC especifico e que lança o "pacote mágico" para a rede. Como o acesso a este servidorzinho é feito através de ligações TCP/IP normais (e não através de endereços de difusão), passa bem pela firewall para dentro da rede da I&D e assim dá para alguém na VPN acordar o seu computador. Na prática tenho um Cavalo de Tróia na rede a quem qualquer um pode pedir para enviar pacotes que a firewall não deixa passar.

Armado com o conhecimento de como configurar os computadores para hibernar e com uma ferramenta capaz de acordar os computadores hibernados enviei um mail a toda a gente da engenharia da Outsystems divulgando a informação e argumentando que não faz sentido deixar os computadores ligados quando têm outras maneiras de obter o mesmo resultado. A reacção foi boa, parece-me: entre pessoas que não se tinham dado ao trabalho para ver como hibernar o computador e outros que consideraram boa ideia já há menos computadores ligados durante a noite e fim de semana na Outsystems. Com isto no mínimo consegui remover qualquer desculpa que as alguém possa ter para deixar o computador ligado.

Tanta coisa só para ter um departamento de engenharia de uma empresa pequenina a desligar mais meia dúzia de computadores quando as pessoas não estão a trabalhar. Com tantas empresas maiores a fazer coisas piores, porque é que havia de me dar a tanto trabalho para um ganho tão pequeno? É precisamente por ser algo pequeno e relativamente fácil de fazer que vale a pena fazer. Por ser pequeno, pode ser feito noutros sítios, em muitos outros sítios.

Não há muito tempo atrás ouvi falar pela primeira vez na cauda longa da distribuição de lucros da Amazon. A ideia é que na Amazon há alguns produtos (Kindle, por exemplo) que vendem muito. E depois há muitos produtos que vendem pouco. Há um pedaço bastante grande dos lucros da Amazon que vem desta quantidade enorme de produtos que vende pouco.

As contribuições para o melhor estar do ambiente seguem o mesmo raciocínio: o impacto de termos muitas pessoas a fazerem coisinhas aparentemente pequenas é certamente muito maior no panorama geral do que intuitivamente parece. Portanto quando se perguntarem se vale a pena fazer algo mesmo que o ganho energético ou ambiental seja pequeno, pensem também em divulgar o que fizeram e lembrem-se do princípio da cauda longa, porque vale a pena. Especialmente se partilharem para que outros possam fazer o mesmo.