Postagens

Phil Collins, 2 Amigos e o Grande Mar da Vida

Imagem
 Nos anos 1990, eu tive 2 amigos, que me foram muito companheiros, e eu os via mesmo como bons e leais amigos. E nas diversas aventuras que juntos tivemos, essa música marcava as noites de sexta e sábado, quando nos reuníamos no saudoso Bar da Toribe, em Vilar dos Teles. O bar ficava bem em frente à, então recém inaugurada praça, bem de frente ao Fórum Municipal. Mesmo se eu morasse longe, como quando morei em outra cidade, sempre dava um jeito e aparecia por lá. O Genilson, que foi outro grande bom amigo que a vida me trouxe, e que permaneceu, viveu parte deste tempo. Ele conhece muito dessas aventuras. Infelizmente, nos altos e baixos das ondas deste grande mar da vida, um deles se afastou para sempre, eu acho, por coisas falsas e infundadas, de um ponto de vista distorcido e egoísta, de alguém que me era próximo e fez isso para me afetar.  E o outro, se foi por causa de religião. Desde que me tornei Umbandista, alguns dos "amigos" que eu achava que tinha, e que haviam se t...

Vamos Falar de Biologia? - Vídeo Corte

Imagem
 Eu amo o Richard! Até que enfim alguém que fala a verdade sem rodeios. Vegano de verdade, nem algodão pode usar, segundo essa lógica ai! É absurdo como realmente são seletivos dentro de sua própria pauta. Gerações inteiras perdidas em ideologias sem qualquer sentido ou fundamento. Seria vergonhoso se não fosse tão trágico.

Faz backup, cópia ou usa Git?

Imagem
  Fosse no tempo antes do controle de versão de verdade, por 4 vezes na era recente, eu teria perdido boa parte do trabalho. Isso graças a um membro de uma das equipes das quais faço parte. A pessoa não sabe usar as ferramentas e não tem a humildade de perguntar como se faz, já que não consegue aprender buscando  pela Internet. Antes dos controladores de versão, a gente fazia backups regulares do projeto todo e de arquivos específicos, dependendo das alterações. Isso, claro, gerava muitos problemas. Principalmente depois de um tempo, quando não se lembrava mais o porquê de tal cópia. Era bem comum apagar trechos de códigos importantes. Alguns editores ajudavam, fazendo cópias automáticas, mas assim mesmo, as perdas eram parte da rotina. Daí conheci primeiro o  CVS e cheguei a trabalhar com ele em alguns projetos. Parecia muito bom! Mas tinha seus problemas. Quando eu já conhecia o CVS a ponto de não gostar mais dele, conheci o SVN, que prometeu mais do que entregou, eu ac...

Como resolver 99% dos defeitos de mouse sem fio de qualquer fabricante

Imagem
O mouse parece estranho? Meio que falha quando é movido? A seta fica tremula e parece que vai cair da tela? O clique pega mais não pega? Parece que quando clica da uma falhada? A seta tem atraso em relação movimento do dispositivo na não? A solução é trocar as pilhas. 99% dos defeitos de mouse sem fio é causado por baixo nível de energia. O bom é tentar usar pilhas de melhor qualidade ou, se possível, baterias recarregáveis. Nos outros 1% dos casos, vale verificar se o receptor está conectado corretamente. Devido ao baixo preço deste tipo de equipamento, consertar fica praticamente fora de cogitação e ai o jeito é trocar o dispositivo.

Distribuições Linux que já usei

Imagem
1) Conectiva 2 - 1996/7 Porta de entrada. Foi bem difícil. Apesar das facilidades eu não entendia nada. Não tinha driver de modem e nem de placa de rede, mas o vídeo funcionava em 800x600. 2) Caldera Linux - 1997 Pior ainda! Não tinha suporte nenhum ao meu hardware. 3) Redhat - 1998 Consegui evoluir em algo. Tive modem e placa de rede funcionando e modem funcionava até cair a ligação. Depois só reiniciando para voltar. 4) SuSe Linux - 1999 Tinha um buraco negro de espaço em disco. Me fez criar ranço com o sistema de pacotes RPM. 5) Slackware - 1999-2000 Ai sim! Foi aqui que realmente comecei a sair do Windows. Antes a partição do Linux tinha até 20% do disco. Daqui em diante ficou com 80%. A maquina teve boa performance e funcionou tudo! Deu trabalho para configurar, mas eu aprendi muita coisa. Viva o pkgtool. 6) Gentoo - 2003 Esse que trouxe a grande evolução no uso. Ter que montar tudo na mão foi realmente muito bom! 2 dias para in...

Rais e os testes dos assets

Imagem
As vezes acontece de um deploy falhar. Não é o esperado. Mas acontece. Dia destes, aconteceu comigo, mas por causa dos assets. Mais precisamente um código javascript. Não é que estava errado ou gerando falhas, mas o código em si não era compatível com o Uglifier, compilador de JS usado por padrão no Rails. O que aconteceu foi que a sintaxe usada funcionava de boa no navegador e em desenvolvimento não dava o erro. Mas em produção dava erro na hora de compilar os assets. E o pior é que não havia o indicativo de onde dava o erro no stack trace. Rodei, então, a tarefa rake assets:precompile em desenvolvimento e, também não deu erro. Mas o erro estava lá em produção. Umas googladas depois, descobri que o Uglifier não "entende" algumas especificações mais recentes do Javascript e era sugerido evitar algumas destas sintaxes. Algo como este código: function baba(param1: 'value'){   // some code } A expressão param1: 'value' não é válida para o Uglifi...

Ruby on Rails Flash messages e Bootstrap

Imagem
E chega aquele momento em que você percebe que os nomes do níveis de flash messages do Rails não batem 100% com as classes alert-* do Twitter Bootstrap. A solução é criar um help para fazer um de-para das classes, adicionando o seguinte método ao seu application_helper.rb: def flash_class(level)     case level         when 'notice' then "alert alert-info"         when 'success' then "alert alert-success"         when 'error' then "alert alert-error"         when 'alert' then "alert alert-error"     end end E no local no template onde devem ser exibidas as mensagens, adicionamos um pequeno loop pelos níveis de mensagem que existirem: <% flash.each do |key, value| %>       <div class="<%= flash_class(key) %>">             <%= value %>       </div> <% end %> basta usar norm...

Spring e Rspec - Conflito quase Certo

Imagem
Você está lá todo feliz e contente codificando. Tudo vai bem até que, sem motivo aparente, seus testes automatizados começam a terminar em erros. Classes não alteradas e métodos que funcionavam, agora com erros inexplicáveis tomam a cena do momento. Depois de muito pesquisar e testar, eis que me lembro do spring. O Spring é um pré carregador de aplicações que visa dar boa performance ao desenvolvimento. Iniciar um servidor Rails com ele fica bem rápido. Mas como ele pré carrega o código, inevitavelmente, caímos naquele problema de cache que tanto nos incomoda nos navegadores.  Ai não tem jeito. Quando estiver executando uma bateria de testes, se um comportamento estranho aparecer, antes de ficar louco tentando mil soluções, pare o spring antes.

Meu Primeiro PC

Imagem
Foi um Frankstein 386 SX 33 com 1MB de Ram. O HD era um Seagate de 20MB e dava pra fazer uma festa com essa máquina. A placa de vídeo era uma Cirrus Logic VGA e o monitor era um VGA bem padrão. E tinha também uma plaquinha som que nem lembro mais qual era. A máquina era mesmo um Frankstein, montado com partes de várias outras máquinas, acabei usando uma caixa de madeira como gabinete. Isso foi temporário, mas eu precisava da máquina funcionando. Foi com ela que desenvolvi meu primeiro programa. Isso foi lá no fim do ano de 1994. Pouco tempo depois, um cliente trocou o gabinete de sua máquina por um mais moderno e seu antigo acabou sobrando. Foi então que o Frank saiu da caixa. Nesse tempo eu usava DOS 6.22 com Windows 3.1. Primeiro, fiz um programa comercial em CA Clipper 5. Era um sistema para uma loja de artigos eletrônicos. Ainda em 1994 iniciei um outro programa para um rede de lojas de vestuário. Este era em Visual Basic com banco de dados Access. Foi um projeto bem s...

A Profecia da Crise

A Profecia da Crise Seu João morava numa cidadezinha do interior e vendia cachorro quente. Todos os dias ele vendia, pelo menos, 100 unidades de seu delicioso e muito bem preparado hotdog. As salsichas e o pão, assim como os demais ingredientes, eram comprados de produtores locais, o que fomentava os negócios na região. Certo dia, seu Filho Juca, que morava Capital veio visitar o pai. Ao ver, na casa de seu querido pai, o estoque de 100 Paes, salsichas e demais ingredientes para o dia seguinte, indagou ao empreendedor: - Pai, não seria melhor comprar menos produtos para prolongar seus recursos? - Continuando: - A crise que assola o país não esta dando trégua e vários comerciantes estão falindo! Como era apenas um homem do interior e, considerando-se desinformado em relação ao seu filho, estudado e cheio dos conhecimentos da Capital, seu João resolveu seguir os conselhos de seu filho Juca. Aconteceu que ele cortou pela...

Meu primeiro e-mail

O primeiro e-mail a gente nunca esquece! Eu não esqueço. E tive o primeiro e-mail na BBS e na Internet! O da Internet foi uma emoção! Era tudo novidade! Navegador, cliente de e-mail, HTTP e tudo mais! Rodava nesse tempo Windows 3.1 num 386 DX 40 com possantes 4 MB de RAM! Tinha um HD Western Digital de 80 MB, com uma placa de vídeo Trident TVGA 8900 ISA 16 Bits! Eu tinha uma ótima máquina! E já tinha o desejado Fax/Modem! Enviar Fax eu nunca fiz em máquina minha. Interessava mesmo era a conexão remota. Era comum os amigos ligarem um para o outro e conectar para jogar o "online" que tinha naquele tempo. Joguei muito Quake e Duke Nuken assim. E sempre que podia conectava numa BBS. Usei várias! Uma das primeiras que usei foi a Painet e Matrix. mas também usei muito Infolink, Mandic e outras. Começou nesse tempo a vender revistas com CD-ROM que tinha com kit de acesso gratis por 30 dias. Se formou um verdadeiro "mercado negro" de CD-ROMs de kit de acesso, senhas e...

Jquery Image Upload Preview

Pequeno código para fazer upload com pré-visualização de imagem. Código completo disponível no CodePen:  https://codepen.io/fernandokosh/pen/wyKjRR HTML: <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <body>   <form id="form1" runat="server">     <input type='file' id="file-input" />     <div id='img_contain'>       <img id="image-preview" align='middle'src="http://www.clker.com/cliparts/c/W/h/n/P/W/generic-image-file-icon-hi.png" alt="your image" title=''/>     </div>   </form> </body> CSS: body{   background-color:#add8e6; } #img_contain{   border:1px solid grey;   margin-top:10px;   width:520px; } #file-input{   margin-left:7px;   padding:10px;   background-color:gray; } #image-preview{   height:320px;   width:auto;   display:block;   m...

SALVE O BITCOIN! Diga não à criminalização do Bitcoin no Brasil.

Imagem
Em tramitação no Congresso Nacional, o Projeto de Lei 2303/2015 inicialmente buscou trazer regulamentação para o uso das Moedas Digitais, ou Criptomoedas, como conhecidas popularmente. De autoria do Deputado Aureo (SD/RJ) e sob relatoria do Deputado Expedito Netto (PSD/RO), o texto original redigido no ano de 2015 buscou incluir as moedas virtuais e programas de milhagem aéreas na definição de "arranjos de pagamento" da Lei 12.865/2013, para que fiquem sob a supervisão do Banco Central do Brasil. Mobilize-se conosco e ajude a causa! É rápido e requer apenas um clique. Acesse: https://www.change.org/p/salve-o-bitcoin-diga-n%C3%A3o-%C3%A0-criminaliza%C3%A7%C3%A3o-do-bitcoin-no-brasil/nftexp/nafta_fb_no_share_image/control/21771560?utm_content=nafta_fb_no_share_image%3Acontrol&recruiter=21771560&utm_source=share_petition&utm_medium=facebook&utm_campaign=autopublish&utm_term=psf_combo_share_message.combo_new_control_progress_110217winners

Neutralidade da rede: saiba o que é e como isso irá afetar você.

A Comissão Federal de Comunicações dos Estados Unidos extinguiu o princípio de neutralidade da rede no país, saiba no que essa medida que SOMENTE beneficia grandes empresas de telecomunicações, irá afetar sua vida. http://revistagalileu.globo.com/Tecnologia/noticia/2017/12/neutralidade-da-rede-saiba-o-que-e-e-como-isso-influencia-internet.html

Perdi o domínio

Ralei para conseguir um certo nome de domínio. Esperei anos para tê-lo. Ai finalmente consegui. Fiquei muito feliz! Em êxtase, melhor dizendo. Só que ai chegou a época de renovar e, eis que foi esquecido. Ignorado. Este e outro domínio muito importante para mim, foram perdidos. Nunca mais deixo isso sob responsabilidade de ninguém!

Somos Deuses neste planeta

Não existem pessoas más. Existem pessoas doentes e confusas. Não existem pessoas burras. Existem pessoas preguiçosas e desinsteressadas. Não existem dificuldades. Existem oportunidades de auto superação. Somos Deuses neste planeta. Explique ao chipanze o que é um avião, mostre seu peso e peça ele para explicar como aquilo pode voar e fará com que ele invente o conceito da religião.

Campo username e campo senha no mesmo script

Este foi um pedido no mínimo estranho: Uma pessoa me procurou e me perguntou se era possível ter o campo username e campo senha no mesmo script. Claro que não entendi de primeira o que a pessoa queria de verdade. Mas após um breve período de explicações, entendi que o que a pessoa queria de fato era ter o login e a senha no mesmo campo, separados por virgula ou qualquer outro sinal. Quando perguntei o motivo de não usar 2 campos, a resposta foi que "o formulário ficaria feio com 2 campos. Bizarra a ideia de ter que treinar o usuário em função de uma interface. Ainda mais nos tempos de hoje, onde usabilidade é tudo! Mas beleza! O cliente mandou, nós fazemos. Não é assim, Devs? Tarefa concluída e publicada com sucesso. E não deu outra: Depois de devidamente implementado e publicado o formulário e, sem ter um cadastro concluído sequer, a pessoa me procurou optando por ter os 2 campos. Um designer de UX experiente faz falta. E muita!

Pausando processos no Linux

Uma dica rápida. Estava executando um rsync e precisei parar. Com o comando CTRL+Z no bash, o programa executado entra em pausa, liberando o terminal. Para retornar ao programa, use o comando fg. Ou bg, se deseja colocar o programa em segundo plano. fg sempre o trará para execução em primeiro plano, ocupando novamente o terminal.

Atualizando Ubuntu 10.04 LTS para 11.04 LTS

No post  Atualizando Ubuntu 8.04 LTS para 10.04 LTS , de 19 de dezembro de 2010, atualizei um servidor rodando Ubuntu 8.04 para 10.04. Hoje preciso atualizar um rodando o sistema 10.04 para 11.04. Quero ver se os mesmos passos servem para esta atualização e se terei problemas maiores. Antes de iniciar Me tornei superusuário logo de uma vez. Muito cuidado executando todos os comandos diretamente com a entidade root : kosh@ns1:~$ sudo -i Verifiquei a distribuição instalada: root@ns1:~#  lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description:    Ubuntu 10.04.3 LTS Release:        10.04 Codename:       lucid Passos para atualizar 1) Como era uma operaçãos endo executada por SSH, utilizei uma sessão do screen, utilizando o byobu, uma inerface muito bacana para o screen. Para instalá-lo, caso ainda não o tenha em seu sistema, execute:  $ apt-get install byobu Então, inicie o...

Qualquer linguagem faz qualquer coisa?

Acho que o que dita a tecnologia a ser usada é a tarefa, mas qualquer linguagem faz qualquer programa. A questão é o que gera o melhor alguma coisa que importa naquele momento. Se o que se precisa é de velocidade, um framework traz essa velocidade. Se for performance o caso, um framework pode ser um problema por carregar toda uma gama de funções e bibliotecas que não necessariamente são usadas. Para aplicações web de baixo orçamento e demanda, tenho usado com sucesso Ruby on Rails 5 com MongoDB e Lavarel com MySQL ou MariaDB, sempre me mantendo o mais próximo possível do KISS. Acho que qualquer tecnologia serve para qualquer empresa. Com os filtros certos, chega-se a melhor opção.