Você está vendo os artigos na categoria “Artigo”

O primo esquecido na construção de software

Por: em 09/11/09 na(s) categoria(s): Artigo


Há algum tempo eu procuro por um teste real de JavaScript que não seja rodar milhares de loops e algoritmos para provar qual browser é o mais rápido. Um teste bem simples foi navegar por uma página com uso intenso de JavaScript usando um netbook. E usei o Internet Explorer, Firefox e Chrome. O teste, nada científico mas fácil de reproduzir, é simplesmente usar a “ferramenta”.

No Firefox e o Chrome, a página rodou sem soluços. Com o IE, virou um show de slides. Portanto, convido vocês a fazerem testes com máquinas antigas ou modernas com menos capacidade de processamento. O argumento ingênuo “se é livre, é melhor” não se aplica. Estamos falando de construção de software que parece ter sido esquecida no meio uma guerra por atenção e egos.

Exemplo que temos em casa é o Drupal. O Meio Bit sofre as bençãos e mazelas do mesmo. É muito fácil criar módulos para a plataforma para quem se dedica a isso, mas não há, exatamente, uma preocupação com performance fora do núcleo. Depende de cada um escolher, usar e testar e não é o nosso foco brigar com a plataforma de publicação, mas garanto a vocês que já perdemos noites com ela. E seria o mesmo com provavelmente qualquer outra, já que temos customização praticamente no blog inteiro.

O Foco Esquecido e as Balas de Prata

Isso faz lembrar de um princípio que parece esquecido nos tempos de linguagens interpretadas como Python, PHP, Ruby e JavaScript entre outras: código bem escrito ainda é essencial. A facilidade de escrever e fazer tudo funcionar o mais rápido possível fizeram com que uma grande quantidade de programadores simplesmente não liguem mais com código eficiente. E são aplaudidos pela gerência porque cumprem os prazos impostos.

O problema está em acreditar nas tecnologias milagrosas, as balas de prata e receitas prontas que resolverão todos os problemas. A linguagem C é rápida porque existem programadores que há usam há mais de 30 anos e ainda é uma das prediletas do meio científico. Código ruim, escrito em Assembly é apenas código ruim.

A saída fácil para problemas de performance é colocar mais e mais hardware. Os fabricantes agradecem, mas lembre-se que já digitamos muito texto e planilhas, já editamos muitas imagens com máquinas mais modestas que um smartphone dos mais baratos.

Há uma forma de melhorar e minha sugestão é começar com um livro que pode mudar sua visão de como estamos mal hoje em dia. Code Complete, Segunda Edição. É um manual de boas práticas de construção de software.

A diferença entre o profissional e o amador é que o primeiro sabe o motivo do que está fazendo. É uma questão de opção qual deles você quer ser.

O que a internet teria a comemorar daqui a 40 anos?


Há quinze anos atrás, tive o meu primeiro contato com a internê: o PC pioneiro em casa era um 486 e o fax/modem dele rastejava a 2400 bits por segundo (ou ~0,3KiB/s). Uma velocidade até respeitável, considerando que, àquela época, a interface gráfica do BBS era puro texto.

Sinceramente, eu não sabia o que havia de tão especial naquele texto todo subindo no Windows 3.1 ou nos barulhos esquisitos de telefone vindos daquele PC, até porque eu não sabia distingüir aquele bocado de texto, do BBS, dos trabalhos de meu pai em programação (Cobol e Fortran). Pareciam a mesmíssima coisa, até eu ser apresentado a um shareware do Wolfenstein 3D.

Laguna_WolfensteinA_31out2009

Para mim, um moleque fascinado com o Atari e o Master System (Super Nintendo e Mega Drive só na locadora), aquilo era coisa de outro mundo, afinal o PC apenas se resumia à Paciência e Campo Minado, dois joguinhos que nunca me interessaram e pouco se distingüiam do que eu era acostumado a jogar até então.

Àquela época eu nunca havia visto um jogo tridimensional e, ainda por cima, “transportado” por outro meio diferente que não fossem os inúmeros disquetes emprestados.

Depois do Wolf3D, vieram outros sharewares, não só de jogos, mas de outros programas, sempre com a mesma expectativa: tinhamos que esperar mais de uma hora para que um arquivo com 1,39 MiB (geralmente comprimido em ARJ) chegasse ao destino, um HD com “fartos” 220MB, e funcionasse, claro.

Laguna_LivermoreFax_31out2009

Quantas vezes o download não chegava a falhar lá pelos 99%? E em quantas o modem simplesmente “caía”, o telefone tocava e o que atendíamos era um chiado horrível? Foram tantas as emoções, bixo…

Hoje, os downloads não são tão emocionantes, principalmente para quem tem uma boa conexão de acesso à internê: você simplesmente procura o conteúdo que quer no Google (ou outra ferramenta de busca), encontra os arquivos desejados numa bonita página de downloads, ora num servidor próprio, ora num Rapidshare da vida, e, dependendo do tamanho do arquivo, não dá tempo nem de tomar um banho venezuelaño, pois o arquivo solicitado já está em seu HD, pronto para o uso, seja ele qual for.

E tudo isso começou em 29 de outubro de 1969, com o estabelecimento dos dois primeiros nós do que hoje conhecemos como a internê, essa enorme teia, essa enorme rede global de computadores interconectados:

Laguna_Net4Birthday_31out2009

Naquele dia, um computador, do curso de Engenharia e Ciência Aplicada da Universidade de Los Angeles, foi programado para acessar, remotamente, um dos computadores do Stanford Research Institute, na cidade de Menlo Park.

Para tanto, o sistema tinha que enviar uma simples mensagem codificada, através de um modem com o tamanho próximo a um gabinete full-ATX, ao modem idêntico instalado no destino: a mensagem era “login”, mas a ligação caiu depois das duas primeiras letras e o acesso remoto não foi possível logo na primeira tentativa.

Laguna_fibrasoticas_31out2009

Lógico que, a partir da segunda e bem sucedida tentativa naquele mesmo dia, aquela primitiva rede de computadores, pertencente à ARPAnet, conseguiu enviar mais do que uma simples palavra codificada, afinal, se tal rede não pudesse fazer mais do que isso, não seríamos hoje mais de 1 bilhão de internautas no mundo, acessando 1 trilhão de páginas virtuais.

E tal popularidade da internê se deu graças à outros marcos, também dignos de serem comemorados ao longo desses 40 anos, colocados pelo Cony Sturm, do FayerWayer:

  • O estabelecimento do correio eletrônico, o e-mail, como uma das primeiras funções de comunicação da internê, no início da década de setenta;
  • O desenvolvimento do TCP/IP e sua posterior adoção em 1983 como protocolo padrão da ARPAnet;
  • A Wide World Web, que apareceu por volta de 1989 e seria a rede interconectada de documentos, do tipo hipertexto, que vemos hoje através dos browsers;
  • A popularização dos browsers no meio dos anos noventas, com os navegadores pioneiros Mosaic, Netscape e Internet Explorer;
  • Doom, um FPS tridimensional de enorme sucesso em downloads de sua versão shareware, possuía partidas multiplayer em rede local, recurso que evoluiria, mais tarde, para os MMOGs atuais;
  • O comércio e o modelo de negócios online trazidos com a Amazon (1995) e o eBay (1996);
  • O protocolo Wireless, em 1997;
  • Em 1998, o ainda mero mortal Google prometeu desbancar outras ferramentas de busca e cumpriu tal promessa até hoje, continuando a ser Deus líder em tal setor;
  • A “bolha das pontocom”, uma enorme crise que a internê enfrentou em 2000, com a falência, o estouro de diversas empresas online;
  • A enciclopédia colaborativa Wikipédia, online desde 2001;
  • MySpace (2002) e Facebook (2004), redes sociais pioneiras, que originaram coisas como o Orkut e o Twitter;
  • O YouTube, que desde 2005 vem aceitando vídeos, alguns “sem-noção”, das pessoas que tentam produzir o próprio conteúdo na chamada Web 2.0, onde o internauta passa de mero espectador à fonte de diversas informações, como muitos fotógrafos no Flickr;
  • Ano passado, 2008, a China se torna o país que possui mais internautas, mesmo com a dura censura chinesa;
  • E, para finalizar a enorme lista de marcos importantes na internê, temos o cloud computing, um conjunto de diversos serviços que possibilitam o armazenamento e o compartilhamento de arquivos na internê, uma nuvem que poderia disponibilizar tais documentos em qualquer lugar, desde que o usuário tenha uma boa conexão de acesso à rede, clube do qual ainda não faço parte.

Agora eu lhes pergunto, caros leitores do MeioBit, que novidades teríamos na internê quando ela completar os 80 anos?

  • Será que teremos algo como a Matrix, sem ser um fracasso como o Second Life?
  • A internê transmitirá ao vivo e em 3D a chegada dos terráqueos em Marte?
  • Poderemos nos teletransportar de um país a outro por e-mail?

Façam suas apostas, pois o futuro é dela, a internet. Ou não, caso o mundo acabe logo em 2012.

[Fontes: Mashable, PC World, FayerWayer, Yahoo!, ABC News e Telegraph.]

Windows 7 Chegou – E com brindes

Por: em 23/10/09 na(s) categoria(s): Artigo, Destaque, Indústria, Software


Coquetel da HP no dia 21

Vocês sabem que blogueiro de barriga vazia não posta. E para isso, começaram a nos alimentar com um coquetel oferecido pela HP no Museu de História Natural de New York. Depois do break, um pouco do que aconteceu nos últimos 2 dias.

P1000180 P1000183
Bebidas porque ninguém é de ferro, depois de tantas horas de voo.

P1000189 P1000207
Acredita que os caras tinham pão de queijo Forno de Minas? Pronuncie bem gringo: Pan de Queijso

P1000195Uma das poucas fotos em que eu apareço. Imagens feitas com uma Panasonic FZ35, para o pessoal ligado em fotografia. As donzelas são Daniela e Britt, amigas da Port Novelli. O mamífero da direita… não tenho idéia.

Lançamento

P1000223
Além de uma festa bem feita, com uma apresentação BSODless (sem telas azuis ou crashes, para os não iniciados) hoje foi o grande dia da Microsoft para a área de usuários finais. O lançamento mais importante da empresa em 10 anos.

P1000227 O Ballmer anda muito calmo. Ele nem chutou, pulou ou berrou.

O Windows 7 (ou Sorry4Vista) é um sistema operacional diferente em vários aspectos pois foi construído em cima da avalanche de erros do Vista. Interessante ver executivos admitindo isso abertamente. E um dos maiores erros? Não ter integrado os parceiros cedo no processo.

 P1000249

Quem trabalha com desenvolvimento de software já deve ter ouvido falar de SCRUM e eXtreme Programming, práticas ágeis que trazem os interessados e usam o feedback dessas pessoas em tempo real. A Microsoft mudou a forma de se construir o Windows e com isso, o Seven chega com drivers amadurecidos, um calcanhar de aquiles do Vista.

Outra coisa que eles fizeram foi manter os requisitos originais do Vista e fazer um SO escalável, ou seja, o mesmo código que roda em um netbook com Atom também roda games numa daquelas maravilhosas máquinas da Alienware.

E logo depois da apresentação, um showroom com mais bebida e comida.

P1000284

P1000261

P1000265

Vocês devem estar morrendo de curiosidade quantos aos brindes, certo?

Dentro da sacola veio um cartaz, quebra-cabeça, Windows 7 Signature Edition 32 e 64 bits, uma camisa, livrinho com as novidades voltadas para os consumidores. Quando chegamos na sede da Porter Novelli, empresa de PR da Microsoft, um mimo nos esperava: um HP Mini 110-1050NR com o Windows 7 Ultimate. Um pequeno #fail foi fornecer a cópia de backup em DVD e o pequenino não ter um drive de DVD externo por perto. (eu sei, barriga cheia total)

P1000307

Ainda tenho mais material para postar, mas por enquanto é só.

Windows 7 Launch Live Stream

Por: em 22/10/09 na(s) categoria(s): Artigo


Acompanhe agora o lançamento mundial em 200 países do Windows 7. Steve Ballmer está fazendo o discurso inicial sobre o trabalho de 3000 profissionais da equipe windows e os mais de 80 mil beta testers.

 

GFermi1: nVidia contra-ataca as Radeon HD 5k, na geração DX11!


Ao final deste mês, também lembrado pelo Dia das Crianças, ocorrerá o tão aguardado lançamento do Windows 7 e a ATi+AMD não deixará tal oportunidade em branco, porque, até lá, colocará no mercado ao menos duas novas linhas de placas de vídeo, com processadores gráficos da família Radeon HD 5k, plenamente compatíveis com os recursos do quinto modelo de shaders do Direct 3D, trazidos com o DirectX 11, componente nativo do Windows 7.

Lógico que a rival camaleão, a nVidia, não deixaria nada barato essa história de ver a maior concorrente (a Intel pode até ser líder no setor gráfico integrado, mas podemos desconsiderar as pobres GMAs, já que elas não são GPUs dedicadas) festejando o pioneirismo no pleno uso do DX11, com um custo benefício tão invejável.

nVidia chora no Dia das Crianças

Durante a GPU Technology Conference 2009, que coincidiu com o lançamento das primeiras placas DX11 (Radeon HD 5870 e 5850) no mercado, a dona das GeForces tratou de ao menos ofuscar o merecido brilho das novas Radeon, anunciando o sucessor dos processadores Gráficos Tesla X e que integra a décima-primeira família de GPUs GeForce: a linha high-end GeForce GF100.

Os processadores Gráficos Fermi 100 não se tratam apenas de uma terceira versão (aka GT300) da arquitetura Tesla (a primeira versão foi utilizada nas GeForce 8 e 9; enquanto a segunda, nas GeForce GTX) e sim de uma nova arquitetura que sucederá a Tesla, chamada Fermi. E justamente por se tratar de uma nova arquitetura, a nVidia ainda não mostrou nenhuma placa funcional com a nova GPU, o que indica que há a possibilidade de a família GeForce 11 não sair toda este ano, talvez só a linha high-end. Isso se tal linha sair mesmo este ano.

nVidia Tesla & Fermi Architeture Comparisons

O que não mais sairá dos designers da nVidia serão novos chipsets para placas-mãe AMD e Intel. Já era até esperado, mas a decisão agora parece definitiva, assim como a de investir mais no GPGPU, já que, para a empresa do camaleão, o DX11 não determina o sucesso, em vendas, de uma placa de vídeo com processador gráfico dedicado, se dando ao luxo de, por exemplo, colocar o Tessellation (DX10.1) via software na GeForce GF100, enquanto nas GPUs da ATi+AMD, tal recurso existe diretamente no hardware desde as Radeon HD 3k.

Traduzindo: enquanto a ATi+AMD segue colhendo os lucros com as novas crianças já andando no mercado e que oferecem praticamente o dobro de desempenho gráfico alcançado pelas Radeon HD 4k (a AMD preferiu investir no custo benefício para os jogadores, maiores usuários de suas GPUs), a nVidia pretende seguir pelo ramo da supercomputação, abrindo um nicho que praticamente só tem ela e, talvez, a Intel.

Não tenho números exatos, mas pessoalmente creio que a maior parte dos consumidores que pagam caro por um processador gráfico dedicado o fazem para jogar com diversos efeitos gráficos simultâneos ativados. Um desses efeitos é a simulação de física no ambiente de jogo, proporcionado pela engine proprietária PhysX (Ageia, somente nVidia), que pode derrubar um pouco o desempenho gráfico e não à toa alguns entusiastas utilizavam uma configuração incomum onde uma Radeon é reservada para renderizar os gráficos; e uma GeForce, para os cálculos da engine de física.

Microsoft DirectX 11

Mas caro tio Laguna, o meu computador não serve apenas para jogar, eu também assisto e até produzo uns vídeos educativos em alta definição…

Sem problema, a Adobe, por exemplo, está a desenvolver um player cujo streaming em Flash é (de)codificado utilizando Direct Compute (DX11) ao invés de apenas usar unidades especializadas presentes em algumas GPUs, como os UVD/AVIVO nas Radeon, o PureVideo nas GeForce e o Clear Video das GMA (Intel). Tais unidades de fluxo gráfico especializado possuem implementações diversas, o que dificultava a vida dos desenvolvedores de players/encoders, já que antes do DX11 eles precisavam desenvolver uma versão específica que fosse compatível com cada uma delas.

E falando em características especiais, o grande inconveniente em utilizar as GPUs para substituir o “processamento central tradicional” é ter de refazer as ferramentas, adaptando os aplicativos praticamente do zero. Por isso, mesmo tendo um nível de desempenho muito superior aos processadores centrais, os processadores gráficos são raramente utilizados para renderizar efeitos especiais cinematográficos ou mesmo longos filmes em computação gráfica.

Seja como for, a nVidia está a fazer um movimento bastante arriscado, pois, apesar de haver esforços dos desenvolvedores de jogos e outras aplicações para utilizar o gigantesco poder de cálculos que as atuais GPUs das linhas high-end possuem, a dona das GeForces praticamente só produz processadores gráficos e as novas Radeon já estão no mercado. Entretanto, a AMD não é famosa apenas pelos processadores gráficos Radeon.

Radeon HD 5k Performance Comparisons

Conclusão: particularmente acho bom que a nVidia cumpra mesmo a promessa de bater as Radeon HD 5k e isso não apenas no desempenho, pois o alto custo das placas com GeForce GTX poderia se refletir nas GeForce GF100. E não creio que adiantará muito renomear as placas antigas para substituir as linhas low e mid-end com as antigas GPUs mid e high-end, já que o suporte ao DirectX11 nativo das novas Radeons é um diferencial e tanto se bem aproveitado pelos desenvolvedores de jogos.

Seja como for, infelizmente ficarei de fora dessa festa da ATi+AMD no momento, porque a minha placa de vídeo já bem veterana (Sapphire Radeon HD 3850) ainda me serve muito bem, mesmo sendo quase cinco vezes menos potente que a Radeon HD 5850 (e exatamente cinco vezes menos que a 5870). Mas, caso eu tivesse dinheiro, eu teria que viajar ao Paraguai para “importabandear” uma nova, já que não quero pagar o recente aumento do imposto.

Alguém mais fará o mesmo ou já possui planos de adquirir alguma dessas novas belezinhas do DirectX 11?

Mídia Física – Que seja eterna enquanto dure (pouco)

Por: em 12/10/09 na(s) categoria(s): Artigo


A vida não é um conto de fadas. Mesmo instituições como o Casamento não são o que  a propaganda vende. “Felizes para sempre” não existe. Você sabia que 50% dos casamentos acaba em divórcio e a outra metade, em MORTE?

Por isso sempre fiquei com pé atrás ao ouvir promessas de vendedores, mas algumas conseguem decepcionar mesmo os mais adeptos do ceticismo racional. A durabilidade das mídias físicas, por exemplo.

Neste artigo do Akihabara News o autor descreve como achou um cartão de memória CF, durante uma expedição a um parque nacional no Japão. O cartão estava enlameado, exposto ao Sol (e consequentemente chuva, vento, tempestade, Gojira, etc) desde 2003, mas após uma limpeza funcionou perfeitamente. Seis anos sob as intempéries (sem quis escrever intempéries) e ainda funcionava, impressionante, não?

Não deveria. Tenho livros de antes da 2a Guerra Mundial que “funcionam” perfeitamente. Há tábuas de argila com quase 5000 anos de idade que ainda “funcionam”. Hoje em dia a promessa “felizes para sempre” do armazenamento de dados é tão Eterna quando o casamento do Fábio Junior com a Patrícia de Sabrit.

Os CDs quando lançados tinham vida estimada em 100 anos. Todos acharam o máximo (exceto os sumérios e egípcios) mas nem isso foi cumprido. Tenho DVDs aqui que já ressecaram e soltaram a camada de dados. Fui obrigado a ripar meu Caçada ao Outubro Vermelho, o disco apresenta rachaduras no anel interno. Outros, no caso de CD-Rs simplesmente não funcionam mais, apesar de nenhum risco ou arranhão ser visível.

Dada a quantidade de dados geradas por um geek anualmente, backups em DVDs ou mesmo BluRays estão fora de questão, mesmo não levando em conta a fragilidade. A solução mais prática embora cara talvez seja guardar sua memória digital em meio físico, como HDs usando RAID para garantir integridade dos dados.

Como uma guerra nuclear é uma possibilidade menos provável hoje em dia um pulso eleotrmagnético pode ser desconsiderado como risco, mas ainda há o problema de roubo e dano por incêndio, por exemplo. Onde colocar o backup do backup?

A Nuvem pode ser uma alternativa, mas ainda sou conservador demais para vê-la como solução principal. Estamos muito dependentes da solução de segurança mais fraca conhecida pelo Homem, a senha. Não adianta ter níveis de criptografia altíssimos se algum idiota monta um script em Python, roda durante alguns meses um ataque de força bruta e descobre que minha senha é “vendramini”. (5s de engenharia social também servem, nesse caso)

Eu entendo a Nuvem como um excelente backup do backup, para armazenar conteúdo digital criptografado. O Amazon S3 – Simple Storage Service está se saindo uma alternativa usada por praticamente todo mundo. Oferecem redundância, facilidade de acesso, armazenamento pesado, etc, tudo por US$0,15 por GB/mês.

Uma alternativa interessante para quem não quer pagar só pelo armazenamento é utilizar serviços como o Dreamhost ou o Bluehost para hospedar sites E de quebra subir seus arquivos criptografados de backup. Vira uma Nuvem de Pobre, eficiente o bastante para ser considerada até por mim.

Estamos lidando com nossas memórias, que nunca foram tão frágeis. Ou paramos, pensamos e planejamos ou corremos o risco de descobrir um belo dia que perdemos tudo, e nossas lembranças estão perdidas para sempre, como lágrimas na chuva. E sim, já usei essa referência, não seja um implicante.