Wednesday, July 14th, 2010 | Author: zedmaster

Na matéria de escultura, a professora solicitou que fosse construindo três cubos.
- Um cubo simples
- Um aberto com as fotos do aluno
- Um cubo fechado com as fotos do aluno

Como eu estava estudando o Arduino, resolvi fazer os cubos utilizando leds verdes e leds RGB.

Vejam o resultado da brincadeira:





Category: Arduino, Pessoal  | Tags: , ,  | Leave a Comment
Wednesday, July 14th, 2010 | Author: zedmaster


Em todos os anúncios para programador PHP encontro:

Precisa-se de programador que saiba PHP e:

- Banco de dados MySQL, Oracle, PostgreSQL, etc…
- Saiba FLEX, JAVA, C# (diferencial Kringol)
- Saiba HTML, JavaScript, AJAX, …
- Aptidão para webdesign, Corel, Pagemaker, Photoshop …

Afinal, é para PHP ou para um super faz tudo?

Tantas exigências, que no mínimo, deve-se tratar de uma empresa terceirizada da NASA.

Mas será que a gerência desta empresa esta preparada para um profissional com estas qualificações?

Gerentes que não tem o menor conhecimento técnico geralmente ficam encarregados de entrevistar os programadores.
O procedimento é o mesmo, verificam se as siglas do currículo estão de acordo com a descrição do cargo, e pronto, o programador já esta contratado. Claro que o a pretensão salarial baixa sempre é bem vinda para critérios de desempate.

Quando a vitima, digo, o programador inicia suas atividades na empresa, ele ao menos pensa que vai encontrar um ambiente de desenvolvimento, algum tipo de documentação inicial, para ajuda-lo a entender as regras de negócios da empresa.

Mas a realidade não é assim. É comum encontrar sistemas “Macarrõnicos” com metodologia POG (Programação Orientada a Gambiarra) .

< Dramatização >

As melhores empresas para se trabalhar utilizam metodologias POG, vejam os benefícios:

Todos códigos são desenvolvidos no ambiente de produção, e ainda com o cliente testando ao mesmo tempo. Assim evita-se perda de tempo com copias redundantes do código e equipamentos de backup.

Todos os programadores acessando os mesmos arquivos ao mesmo tempo. Nada melhor do que bloquear o acesso do arquivo para ter certeza que ninguém vai alterar o código.

Padrões de backup sempre são avançados:

pagina_principal.php
pagina_principal.bkp.php
pagina_principal2.php
pagina_principal___ontem.php
pagina_principal_Joazinho.php

Os comentários são a base do sistema, sempre poucos e explicativos
// XUNXO do chefe para poder funcionar esta parte (Não mexa)

if(1==1)
{
    $variavel = 1;
}else{
    $variavel = 0;
}

Teste?
A sim, sempre tem o cliente para testar dois dias antes de entregar o sistema. Fazemos assim porque temos certeza que o sistema sempre estará funcionando.

Escopo, script de teste?
Perda de tempo, o cliente já sabe o que ele quer. Ele lembra perfeitamente do que ele pediu ao longo dos 6 meses de desenvolvimento.
Qualquer problema esta na documentação, aqueles 500 e-mails da caixa postal de cada programador. Basta juntar todos usando EQL (E-mail Query Language) e logo esta tudo indexado.

Segurança?
Sim, temos as senhas seguras, a quais sempre passamos por POST nos input hidden dos formulários. Mas com firewall instalando antes do servidor estamos super seguros. Nunca atualizamos o servidor, a mais de 7 anos, pois nunca deu problema. Outro motivo de nunca atualizar, é para não ter perigo de quebrar a compatibilidade com PHP3.

< /Dramatização >

Infelizmente esta é uma realidade que vem me assustando ao longo dos anos, ao trabalhar com programação.
Quando acho que vou encontrar uma empresa que ao menos use um ambiente de desenvolvimento e versionamento, fico decepcionado.
Os códigos não me assustam mais, já superei alguns traumas:
- if(1==1)
- if(1==2)
- sleep(60) (acredite, você não vai querer saber o motivo)
- do{ POG de 3000 linhas com identação de mais de 40 if elses + paçoca de HTML + JS + CSS e milhares de consultas a banco} while(150000);
- dar um show tables; e vir uma listagem de 56 mil tabelas (é criado uma tabela para cada acesso ao sistema ao invés de um registro em uma tabela)
- chefe ter ‘xilique’ que o HTML não abre no Front Page , e quase te mandar embora quando você fala a palavra CSS e tableless

O que mais me assusta é a incapacidade da gerencia de permitir que você melhore o ambiente de trabalho, implementando metodologias de desenvolvimento.

< Dramatização >

Quer ser mandado embora de uma empresa que utilize de metodologias POG?

Simples, siga meus conselhos:
- Comece a falar que GIT é legal e melhor que SVN, se possível mande por e-mail par ao chefe todas as reportagens que explicam tecnicamente porque GIT é bom.
- Instale um servidor de desenvolvimento, caso lhe digam que não tem máquina, ofereça o seu desktop, enquanto isso você pode trabalhar em algum note da empresa, até comprarem outro desktop para você.
- Peça ajuda por e-mail, quando tiver dúvidas sobre as regras de negócios, dizendo que você esta com dificuldades de entender o que a sequencia de 40 if else tem que fazer.
- Utilize metodologias de Refatoração, se possível tente implementar Testes Unitários e OO.
- Instale o Redmine integrado com o GIT, e comece a organizar suas tarefas e a documentar as coisas.
- Utilize XDebug para entender melhor sobre o que esta acontecendo com o macarrão, digo código, e manda um e-mail para o chefe mostrando sua benfeitoria.

Caso você não seja demitido, e sofra apenas uma intervenção leve, infelizmente sua empresa tem chances de implementar alguma metodologia Ágil. Sinto muito.

< /Dramatização >

Os gerentes quase sempre cometem um erro básico, contratam o programador sem perceber se ele vai se adequar a sua metodologia de trabalho, ou seja , a falta dela.
Outro erro comum, é não explicar como será o ambiente de trabalho. E o pior, não consultar a equipe para ver se o novo candidato tem o perfil que se adeque a equipe.
Não tem regras para estes fatores, tem apenas bom senso, e é isto que esta faltando.

Eles não entendem que não tem como regredir.
Depois que você tem contato com frameworks, MVC, OO, GIT, Redmine, XDebug, Padrões de Projetos, Teste Unitário e metodologias Ágeis, não tem como voltar atrás.
Fica quase impossível trabalhar em um ambiente que não aplique ao menos parte destes conhecimentos. Ou que sejam resistentes a mudanças e quebra de paradigmas.

Perdi a minha oportunidade de ir para o FISL 11. Fui demitido por ter instalado um servidor de desenvolvimento com GIT + Redmine e utilizar XDebug para entender um código abençoado.
Segundo a gerência, eu estava perdendo tempo instalando “coisinhas” ao invés de estar lendo o código abençoado e adivinhando as regras de negócio da empresa (isso tendo apenas 2 semanas de empresa).
Nenhuma das solicitações de ajuda por e-mail foram respondidas. Segundo a gerência, sendo eu um programador PHP, apenas vendo o código abençoado, já deveria entender todas as regras de negócios da empresa. Assim como qualquer bom POGramador faria.

Desculpem o desabafo, mas perder o FISL 11 por tentar melhorar as condições de trabalho da empresa, me deixou muito chateado.

Category: PHP, Pessoal  | Tags: , , ,  | 4 Comments
Wednesday, June 23rd, 2010 | Author: zedmaster

Estava lembrando de alguns professores da faculdade que diziam que Linux não é usado em sistemas críticos, que apenas empresas amadoras que usam.
Então, lendo a introdução da Linux Magazine de Nº 67, deparo com esta introdução:


10,8 bilhões de dólares! Esse é custo atualizado para reescrever a kernel do Linux do zero. Há cerca de dez anos, a IBM anunciava um investimento de 1 bilhão de dólares no Linux. Agora, com mais de 18 anos de existência, o Linux se tornou o fundamento da Internet sendo o sistema operacional mais utilizado em servidores, em computação de alto desempenho e em sistemas embarcados. Está presente em uma série de serviços considerados essenciais hoje em dia, mantendo as operações das bolsas de valores de Nova Yorque, Tokyo, Frankfurt, e Londres, da bolsa mercantil de Chocago, da Nasdaq e até da Bovespa.
É o Linux que garante o funcionamento do sistema aéreo dos EUA e da Alemanha, bem como os sistemas de entretenimento dentro dos aviões da Boeing, da Airbus e da Embraer. Google, Amazon, Facebook, Yahoo, Twitter, MySpace, LinkedIn, são alguns dos principais serviços globais de Internet que ficam online 24h por dia graças ao Linux.
Carrefour, Grupo Pão de Açucar, Extra, Casas Bahia, Ponto Frio, C&A, Lojas Rener, Lojas Pernambucanas, Lojas Marisa – entre centenas de outros varejistas – rodam seus servidores e pontos de vendas em sistemas Linux.

Vale lembrar que a Petrobrás conseguiu reduzir em um ano a análise de dados de prospecção no Pré-Sal graças aos seus sistemas Linux em cluster.
O Linux é a base de um mercado multibilionário e detém atualmente a posição de dominância enquanto tecnologia. E a mudança da computação pessoal do PC para os dispositivos móveis deverá sepultar o último bastião em que o Linux ainda não é o sistema dominante.

E Linus Torvalds, seu criador, que poderia ter sido o próximo Bill Gates, nos deu o sistema gratuitamente, para o bem da humanidade.

(Rafael Peregrino da Silva – Linux Magazine Nº 67)

Fico pensando se vale apena fazer um curso de informática, que custa em torno de R$ 800,00 por mês, para ficar recebendo capacitação em sistemas Windows dentre outras plataformas proprietárias.

Com R$ 800,00 por mês da para fazer:

- Um curso de Linux (suporte)
- Programação em linguagens usadas pelo Linux (C, C++, PHP, Python etc)
- Comprar vários Livros
- Fazer várias certificações

Graduação?

Sim é importante, mas se for para aprender alguma sistemas que não sejam baseados em Linux, melhor fazer direito, medicina, matemática, qualquer outra área qual o Linux possa ser útil.

Saturday, June 12th, 2010 | Author: zedmaster

Sempre gostei de eletrônica, mas nunca tive a oportunidade de fazer um curso na área.
Pesquisando na Internet procurando alguma coisa sobre o assunto, me deparo com o Arduino.

O Arduino é uma plataforma de prototipagem eletrônica open-source que se baseia em hardware e software flexíveis e fáceis de usar. É destinado a artistas, designers, hobbistas e qualquer pessoa interessada em criar objetos ou ambientes interativos.

Gostando já da definição do Arduino e de sua plataforma livre, resolvi emprestar uma placa de um amigo meu para iniciar as experiências.

Adquirindo um material básico para eletrônica (protoboard, leds, resistores, multímetro, etc), resolvi a experimentar a fazer um exemplo do site.

O projeto é fazer uma seqüencia de 6 LEDS piscarem em um loop infinito.

Material:
- 6 LEDs
- 6 Resistores 220 ohms
- Protoboard
- Fios


Como fazer

- Ligar um fio do GND 5V na protoboard
- Colocar a ponta menor do LED junto a trilha de 5V
- Ligar as saídas de 2 a 7 na protoboard
- Colocar os resistores de 220 ohms entre o fio das saídas e os LEDs

11062010446

11062010447

Programa

Utilizando o programa para fazer upload para a placa, digite o código:

int timer = 1000;                   // Quanto maior, mais devagar.
int pins[] = { 2, 3, 4, 5, 6, 7 }; // vetor com o número dos pinos
int num_pins = 6;                  // quantidade de LEDs (tamanho do vetor)

void setup()
{
  int i;

  for (i = 0; i < num_pins; i++)   // elementos do vetor vão de 0 a num_pins - 1
    pinMode(pins[i], OUTPUT);      // configurar cada pino como saída
}

void loop()
{
  int i;

  for (i = 0; i < num_pins; i++) { // varrer cada pino...
    digitalWrite(pins[i], HIGH);   // ligando-o,
    delay(timer);                  // pausando-o,
    digitalWrite(pins[i], LOW);    // e desligando-o.
  }
  for (i = num_pins - 1; i >= 0; i--) {
    digitalWrite(pins[i], HIGH);
    delay(timer);
    digitalWrite(pins[i], LOW);
  }
}




Fonte

http://www.arduino.cc/playground/Portugues/LearningLoop

Category: Pessoal  | Tags: , , ,  | Leave a Comment
Thursday, May 27th, 2010 | Author: zedmaster

Impossibilitado financeiramente para comprar uma mesa de luz pronta, tive que usar de criatividade para montar uma caseira que quebrasse o galho.

Materiais:

- 1 Gaveta velha
- 1 Vidro fosco +- 8mm
- 1 Bucal para foco
- 1 Fio de condutor de eletricidade e uma tomada
- 1 Lampada fluorescente
01

02

1) fixe o bucal com o fio condutor.
03

2) Anexe o vidro no fundo da gaveta
04

3) Coloque a lâmpada.

05

Dicas:

- Faça saidas de ar, pois mesmo sendo lâmpada fria ela esquenta do mesmo jeito.
- Coloque mais de uma se possível.

Category: Desenho  | Tags:  | Leave a Comment
Monday, March 08th, 2010 | Author: zedmaster

Estava eu irritado com o barulho da minha fonte C3TECH, quando resolvo pesquisar os preços das fontes ZALMAN.
São fontes ótimas de primeira linha, mas a mais barata custa em torno de R$ 350,00 qual valor estava muito fora do meu orçamento.
Pesquisei no Google alguma solução e não encontrei nada, nesse mar de MERD…. de informação que ele se tornou.

Então resolvo abrir a fonte para ver se limpando o cooler o barulho diminui (tentativa desesperada).
Claro não resolve nada.
Mas resolvo medir a minha fonte e vejo que o cooler tem 120mm x 25mm a mesma medida dos coolers silenciosos de gabinete da ZALMAN que custão em torno de R$ 25,00.

Então resolvi tentar substituir o cooler da fonte pelo da ZALMAN.

Seguem os passos:

Abri a fonte e coloquei o cooler no lugar do antigo.
fonte_01

Como a alimentação viria da placa mãe, entortei um pouco a grade para passar o conector para fora da fonte.
fonte_02
fonte_03

Como havia uma pequena diferença no formado do cooler, tive que entortar um pouco a grade da fonte um pouco para fora.
fonte_04

Não recomendo a fazer isso, pois vale mais a pena comprar uma fonte da ZALMAN.
Se fizer isso, faça por conta e risco.

Category: Informática  | Tags: , , ,  | Leave a Comment