Off-topic: Blog não é governo

Porque você pode comentar em blog não te dá o direito de esculhambar o dono do blog, xingar está fora de cogitação. Aceita quem quer, eu não aceito.

Blog é uma propriedade privada mesmo que arrendada, como é o caso de quem hospeda no wordpress.com ou no blogspot. Aqui neste blog quem paga por sua manutenção e hospedagem sou eu, portanto sou o dono absoluto e senhor de quem vive ou morre… aqui.
Quer responder a um post que te causou indignação? Acione a justiça caso o artigo infrinja a lei com injúria, calúnia ou difamação. Ou seja mais eficiente, crie um outro artigo mostrando sua indignação e linkando o causador da sua revolta. Claro que o outro aceita o trackback se quiser, mas o link fica lá para a indexação pelo google.

Aqui não aceito xingamentos de qualquer forma e não venham com apelos democráticos que não sou governo.

Olhe esse post do Techbits de uma reclamação sobre o #CParty, um comentarista notadamente vestindo a carapuça da organização merece um pé-na-bunda de cara, aqui um comentário desse iria para o limbo na hora.

Eu deixo os comentários não moderados por questão de praticidade, como meu blog não tem nada de polêmico e dificilmente recebe esse tipo de comentário, prefiro deixar que todos postem seus comentários livremente. Neste daqui só tive que moderar um comentário até hoje. Já no outro blog que falo inclusive de política, já moderei vários.

Sempre que faço isso vem aquela lenga-lenga de pedir democracia, vá pedir paraa Cuba ou para a Coréia do Norte, aqui não é governo.

O Guilherme Chapiewski dia desses reclamou sobre o covarde que se esconde sob o anonimato para xingar na propriedade privada dos outros.

Eu permito comentários anônimos e aceito críticas numa boa, críticas são importantes para nos manter no chão e dar uma freiada no ego.

O Nick Ellis (Digital Drops) comentou naquele post do Fugita que isso seria um ato democrático. Desculpe amigo, democracia não tem nada a ver com blog e sim com governo, não vamos cair nessa armadilha esfarrapada desses idiotas que se aproveitam do caráter mutualista e compartilhador da blogosfera.

Bom, o recado está dado, espero que os colegas blogueiros também não caiam na ladainha do pedido de democracia. Moderação neles como quem pisa em barata.

Typically chemist’s shop can sale to you with discreet treatments for various health problems. There are numerous of safe online pharmacies that will deliver medications to your address. There are divers medicines for each afflictions. Learn more about “viagra manufacturer coupon“. Maybe “viagra discount coupons” is a highly complicated question. Matters, like “coupons for viagra“, are coupled numerous types of heartiness problems. If you need to take prescription medications, ask your dispenser to check your testosterone levels before. Sometimes the treatment options may include erectile disfunction remedies or a suction device that helps get an erection. Keep in mind web-site which is ready to sell erectile dysfunction drugs like Viagra without a recipe is fraudulent. When you purchase from an unknown web-site, you run the risk of getting counterfeit remedies.

Agora sou Tuangrer

Once upon a time…

Bem, algumas coisas não seguiram os rumos que gostaríamos e aconteceram várias mudanças importantes na minha vida nos últimos tempos.

Eu anuncio com todo prazer que agora sou um Tuangrer, membro da equipe de desenvolvimento do projeto Tuangr.

Outro anúncio importante é que não sou mais da Triadworks e estou deixando a SETUR-CE.

Saída da Setur-CE

Minha saída da SETUR não tem nada de especial, já faz basicamente 4 anos que estou indiretamente e diretamente ligado ao estado e acho que já basta. A única vantagem de trabalhar em órgão público no Brasil é que tudo é ligado a governo de alguma forma e você obtém um networking muito grande, mas é só isso. Minhas condolências a quem deseja fazer concurso público.

Saída da Triadworks

Legalmente ainda faço parte da Triadworks, tenho alguns ajustes legais e alguns projetos para terminar, mas a partir de março estou totalmente fora da empresa.

Aconteceram problemas internos dos quais prefiro omitir e que me fizeram reavaliar meus valores e principalmente meus objetivos na minha carreira. Desde janeiro quando tomei essa decisão eu pretendia criar uma pequena Startup e trabalhar em um produto (que vou dar uma parada por conta da entrada no Tuangr) e mais algumas idéias.

Na última semana recebi um convite do Luthiano para fazer parte do time de desenvolvimento do Tuangr, um projeto que sou Fan desde o início e na minha opinião o projeto brasileiro mais importante.

Resumindo a história toda, assim como o Rafael Carneiro, eu não faço mais parte da Triadworks. Devemos uma satisfação pública aos clientes da decisão e aqui está.

Espero que os que fiquem tenham bastante sucesso na empresa e podem contar com o que precisarem que contribuirei sempre que possível.

Tuangr Development Team

Hoje estou me concentrando para finalizar todos os projetos que estou no meio até o final desse mês e negando algumas coisas novas para me concentrar totalmente no Tuangr, vou entrar em um projeto que caiu como uma luva nas minhas ambições pessoais e profissionais.

Quem me conhece sabe que nos últimos tempos tenho me dedicado a tudo que envolve a WEB 2.0 como linguagens, frameworks, produtos e técnicas.

Vou dar uma parada nas consultorias, claro que seria burrice não aproveitar todo o “Know how” e materiais obtidos, mas no momento vou dar uma parada e negar algum trabalho que me consuma tempo e esforço na manufaturação de materiais sobre isso.

Colunista na Java Magazine

Como vocês perceberam, o Tuangr está mais envolvido com PHP e as únicas coisas que me manterão ligado à comunidade JAVA serão as palestras no CEJUG e a coluna na Java Magazine.

Inicialmente recebi uma proposta de escrever uma matéria na Java Magazine, escrevi e fui publicado. Agora recebi o convite de ser colunista e já estou escrevendo outras matérias. Como quero escrever sempre sobre assuntos inéditos na comunidade local em português, não sei se conseguirei manter a frequência mensal nos artigos, mas vou tentar.

Fora isso tenho um compromisso com a faculdade de ministrar alguns cursos em troca da matrícula e mensalidades. Voltei para a faculdade e espero continuar até me formar dessa vez porque quero destravar essa porta que vive sempre fechada.

Finalizando

Bem, não gosto de planejar minha vida a longo prazo e o futuro é sempre uma incógnita, mas no momento minha meta é ler daqui alguns meses: “Google oferece 2,8 bilhões pelo Tuangr, conselho avaliará a proposta”.

Typically chemist’s shop can sale to you with discreet treatments for various health problems. There are numerous of safe online pharmacies that will deliver medications to your address. There are divers medicines for each afflictions. Learn more about “viagra manufacturer coupon“. Maybe “viagra discount coupons” is a extremely complicated matter. Matters, like “coupons for viagra“, are connected numerous types of health problems. If you need to take recipe medications, ask your dispenser to check your testosterone levels before. Sometimes the treatment options may turn on erectile dysfunction remedies or a suction device that helps get an erection. Keep in mind web-site which is ready to sell erectile dysfunction drugs like Viagra without a prescription is fraudulent. When you purchase from an unknown web-site, you run the risk of getting counterfeit remedies.

Datas e Fuso horário no Javascript

As operações com datas no javascript sofrem da variação de fuso horário no qual a máquina cliente está configurada.

Certa oportunidade tive que consertar uma função que apresentava diferença entre datas e ninguém sabia o porque. Quando você instancia uma data, o retorno dela aparecerá assim:”Thu Feb 14 2008 08:41:27 GMT-0300 (Hora oficial do Brasil)”.

Observe que na data consta o GMT (Greenwich Mean Time) que indica em que fuso horário a data está configurada.

Vou demonstrar como evitar a diferença de tempo provocada por isso em operações com data. Para isso basta criar uma função que converta a data sempre para o fuso que se espera.

 var calcularFuso = function(data, offset) {

    var milisegundos_com_utc = data.getTime() + (data.getTimezoneOffset() * 60000);
    return new Date(milisegundos_com_utc + (3600000 * offset));

 }

Observe que na linha 3, invocamos o método getTime() que converte o momento local da data para um número representado pelos milisegundos desde 1º de Janeiro de 1970 (Unix Epoch). Obtemos o atual fuso horário que está configurado no browser pelo método getTimezoneOffset() da API de data no javascript e multiplicamos pelos milisegundos de tempo de uma hora. Somamos então os dois valores.

Porque uma hora? Porque esse é o tempo que representa cada fuso horário. Por default esse método retorna esse fuso horário em minutos, por isso a conversão em hora é necessária.

Para chegar nesse número 60000 você tem que lembrar que 1 segundo tem 1000 milisegundos e que 1 minuto tem 60 segundos, então convertendo minutos para milisegundos multiplicamos 60 * 1000 = 60000.

Nesse momento temos o UTC (Coordinated Universal Time) representado pela variável “utc” pela soma do momento local mais o fuso horário local em milisegundos.

Precisamos agora obter uma data a partir desse UTC somado com o fuso horário de destino, como por exemplo uma data expressa no fuso +5 transformado no fuso do Brasil (hora de Brasília) -3.

Observe que na linha 5 que obtemos um offset (representação do fuso) em hora e convertemos para milisegundos. Lembre-se aqui que 1 segundo tem 1000 milisegundos e que 1 hora tem 3600 segundos, portanto converter hora em milisegundo deve-se multiplicar 1000 * 3600 = 3600000.

Somamos esse resultado com o valor da variável “utc” e obtemos o momento para o fuso horável desejado, a partir daí criamos uma nova data com base no long apropriado e retornamos essa nova data.

Dessa forma conseguimos manter a integridade desejada na aplicação quando precisamos expressar a data no fuso horário correto.