blog do Zé

13/7 de 2010

Brincando com HTML 5 e Canvas

Categoria: Dicas para Webmasters,Programação — jfonseca @ 11:58 pm

Buscando aprender mais sobre o HTML 5 e o componente Canvas, realizei um pequeno experimento com trajetórias balísticas.

O script é bastante simples. Após inicializar um canvas com 800×400 pixels, o Prototype dispara o evento dom:loaded. O handler deste evento prepara o canvas com um degradê inteiramente feito via Javascript, e liga o botão “Shoot” em um handler para desenhar no Canvas a trajetória balística de um projétil com a velocidade e o ângulo desejado.

Não há tempo real, portanto não inserí unidades. A velocidade seria m/s na vida real, porém não tendo referência poderiamos criar qualquer unidade. O movimento também recebeu ampliação de 2x no sentido horizontal, de modo a deixar mais harmônico com o canvas 800×400. A variável de proporção pode ser alterada apenas ajustando a largura e altura do canvas no código Javascript. Estas medidas poderiam ser lidas diretamente do canvas, sem serem hard coded no Javascript – fica aí como sugestão.


 

Effectrode: Compressor valvulado baseado na 6021

Categoria: Amplificadores Valvulados — jfonseca @ 10:57 pm

A Effectrode lançou 100 unidades deste compressor baseado em LDR(diodo sensível à luz – uma espécie de transistor cuja base é uma célula fotoelétrica).

Pedal Compressor Valvulado Effectrode

Como funciona a compressão por LED + LDR?
Quando o audio aumenta em intensidade, um LED emite luz na mesma proporção. Este LED é acoplado a um dispositivo LDR através de um tubo ou compartimento opaco, formando um pequeno túnel escuro onde apenas o LED e o LDR “conversam”. Quando o LDR é acionado pela maior luminosidade do LED, mais feedback negativo é devolvido para um dos triodos da 6021. Temos, assim, compressão do sinal. Este componente tem o nome de vactrol, optoacoplador, optoisolador, entre outros.

Este artigo demonstra como fabricar um vactrol em casa.
Confira como este compoenente é interessante e bastante simples de construir.

O dispositivo ativo é um duplo triodo 6021, com base 8DG, também conhecida por “sub miniatura”. As válvulas-miniatura são as que conhecemos por “9 pinos”, como as 12AX7 (e família) no pré ou EL84 na potência.

Já as válvulas de base 8DG possuem 8 pinos e tem, no máximo, 3.5 cm de altura. São cerca de 40% menores, em volume, que as 12AX7. Os pinos são flexíveis, normalmente vão soldados à placa de circuito impresso ou ao soquete especial. Estas válvulas eram utilizadas em armamentos, mísseis e coisa do tipo. Portanto aquelas de fabricação no meio do século passado foram todas produzidas sob especificações militares. No entanto, após 50 ou 60 anos de armazenagem e exposição, não é fácil achar lotes de 6021 NOS em perfeita condição.

Datasheet do duplo triodo 6021

Afinal, e o Effectrode?

Aparentemente este pedal foi uma boa desculpa para falar de eletrônica em especial esta pequena, e versátil, válvula!

Sobre o pedal, tenho a dizer que só existem 100 peças e custa em torno de U$ 360 no exterior.

Confira samples, fotos e mais informações no site oficial, clicando aqui.


 

12/7 de 2010

Ballmer confirma tablet “matador de iPads” da Microsoft

Categoria: Noticias de Tecnologia — jfonseca @ 4:23 pm

Ainda esta ano, a Microsoft lançará tablet-PC’s para concorrer com os iPads da Apple. Segundo esta reportagem da PCMag, a Apple teria mostrado o caminho.

Sendo apenas um anúncio, apenas podemos especular sobre o custo e funcionalidades dos tablets baseados em Windows 7. No entanto, a matéria ressalta que ainda é impossível saber sequer a base de preço.

Leia mais via tradutor Google ou acesse a matéria original em Inglês


 

Sybase: SQL Server no Linux em 1998

Categoria: Programação,Velharia — jfonseca @ 2:54 pm

O Sybase SQL Server foi um RDBMS robusto e muito utilizado por empresas à partir da segunda metade dos anos 1980. O produto foi atualizado e hoje leva o nome Adaptive Server

Parte do código-fonte deste RDBMS foi desenvolvido em parceria com a Microsoft. Na segunda metade dos anos 1990, as empresas romperam o contrato de cooperação e seguiram rumos independentes. Dizem os boatos que a Microsoft apenas aderiu à Sybase para obter inteligência na área de bancos de dados empresariais, produto que faltava em sua linha Enterprise.

O código herdado pela Microsoft neste acordo sofreu algumas poucas mudanças e o Sybase foi rebatizado e lançado como MS SQL Server.

De fato, em 1998/99, um “truque” que eu empregava consistia em utilizar drivers Sybase para conectar sistemas UNIX a bancos MS-SQL Server! Nesta época, sistemas Linux não possuiam drivers nativos para MS-SQL. Alguns analistas me perguntavam como isso era possível, e eu explicava o fato do código fonte dos dois sistemas serem praticamente idênticos.

O Sybase era, na minha concepção, um MS SQL-Server pra UNIX e assim o utilizei durante um bom tempo para desenvolver soluções compatíveis com SQL Server – no Linux. Na era pré-virtualização isso tinha gande valor prático.

Hoje a Sybase tem 4000 funcionários e receita de mais de U$ 1 bilhão anuais. O Sybase SQL Server foi desenvolvido e expandido para tornar-se um sistema completo de inteligência nos negócios, tomada de decisões, data warehouse e outras aplicações de bancos de dados.


 

Buscando uma implementação JDO

Categoria: Java,Programação — jfonseca @ 9:38 am

Ao iniciar um novo projeto, é preciso determinar qual será a estratégia para implementação de persistência de dados. Esta decisão é crucial, pois ditará a qualificação e pré-requisitos dos desenvolvedores que o gerente deverá contratar. O sistema escolhido também terá grande influência sobre a produtividade da equipe, o custo total do projeto e, já na parte técnica, esta escolha trará muitas outras consequências que podem determinar o sucesso ou fracasso de um produto de software.

Caso a empresa tenha investido milhões de Reais em licenças de um certo sistema de bancos de dados, caberia perguntar se o driver do framework está sendo mantido contra falhas de segurança, bugs e possuindo todas as atualizações devidas. O framework de persistência está em desenvolvimento ativo? Há suficiente oferta de profissionais especializados neste framework no mercado?

JDO
Eis que, para um determinado sistema ainda no estágio de planejamento, minha escolha foi o JDO para implementar a camada de persistência de objetos.

Sempre trabalhei com Hibernate, no entanto tenho notado maior empenho da Sun(agora Oracle) em favorecer padrões independentes de terceiros. Não tenho qualquer crítica à JBoss, pelo contrário, nunca tive qualquer problema com o Hibernate e continuo fã deste ORM.

Como citado acima, esta escolha terá consequências remotas, tanto na manutenção do sistema quanto no desenvolvimento de versões futuras. Assim, acredito que, neste momento, o JDO é mais seguro em termos de “adoção institucional” pela Oracle, digamos assim.

O grande medo de qualquer gerente de projeto é inserir um COBOL no meio do sistema, um framework ou linguagem que, daqui a 5 ou 10 anos, só será compreendido por uma elite de programadores de alto custo.

Google App Engine
Um fator decisivo na escolha do JDO ao invés de Hibernate ou JPA foi a possibilidade de executar o aplicativo finalizado no Google App Engine.

Gerentes experientes no Brasil e no exterior concordam: atualmente não há melhor relação de custo/benefício que o Google App Engine em termos de computação sob demanda.

Um dos prerequisitos colocados pelo meu cliente é que o sistema deva poder executar transparentemente, ou com poucas modificações, no Google App Engine. Portanto mais um fator à favor do JDO.

Implementações JDO
Tendo escolhido JDO como API de abstração de dados, passo a procurar uma implementação deste padrão que propicie persistência via RDBMS. A implementação da Apache JDO é apenas demonstrativa, e neste momento suporta apenas arquivos comuns como fontes de dados. Não possui, portanto, suporte a RDBMS.

DataNucleus AccessPlatform 2.0
DataNucleus AccessPlatform 2.0Apesar do nome comercial, a implementação DataNucleus adota a licença Apache 2.0, livre de quaisquer amarras legais e autorizada para uso comercial. A implementação aparenta ser bem completa, incluindo suporte para incontáveis fontes de dados, entre arquivos, RDBMS, XML e outros.

Como já era esperado, a lista de dependências do AccessPlatform é imensa. Trata-se de um sistema completo, e complexo, de relação objeto-relacional(ORM). Como este tipo de aplicativo costuma ser empregado em estações de trabalho ou servidores com capacidade de sobra, a lista de pre-requisitos não é um problema. No entanto, se precisar uma solução para dispositivos móveis ou smartphones, esqueça o AccessPlatform.

Datastores
Nesta lista você encontra todas as fontes de dados que o AccessPlatform é capaz de utilizar. Vale ressaltar que o sistema suporta Google BigTable(do Google App Engine) e MongoDB – um sistema de banco de dados “noSQL”, ambos fortes candidatos a adoção em novas gerações de apps para WWW.

Instalação
Primeiramente, é preciso baixar uma versão do AccessPlatform. A versão 2.1 encontra-se em desenvolvimento na data deste post, portanto baixaremos a última versão 2.0 disponível.

Baixe Aqui – Este endereço possui link atualizado para o SourceForge.

Caso leia este post algum tempo depois, verifique a situação de versões posteriores, visto que a 2.1 estava praticamente pronta para lançamento nesta data.

O seguinte endereço possui diversos links para iniciantes, além de explicação do processo de desenvolvimento utilizando o JDO.

Basicamente, o processo de trabalho se resume a dois itens fundamentais:

1) Determinar que classes você irá armazenar permanentemente. Isto é trivial, basicamente é a parte do sistema que reflete o modelo de dados.
2) Utilizar o JDO para obter objetos do banco de dados, modificar objetos, salvá-los novamente, sempre através de um PersistenceManager fornecido pela implementação JDO(que é o “trabalho bruto” do AccessPlatform)

Cada ítem, é claro, possui detalhes técnicos. Como buscar objetos(utilizando JDOQL, a linguagem de consulta do JDO), como armazenar objetos, e por aí vai.

Sendo uma implementação 100% de acordo com o padrão JDO, a documentação da Oracle do JDO é válida para o AccessPlatform. Assim, não faltam fontes para estudo desta tecnologia online. O único problema é que a maior parte do material está em Inglês, e isso pode limitar o acesso de alguns.

Links
Como usar a JDO com o Google App Engine – Em Português
Iniciando com JDO – Oracle
Iniciando com JDO – DataNucleus, desenvolvedora do AccessPlatform
JDO definido na Wikipedia
Página principal do JDO na Oracle


 

11/7 de 2010

Combine vários JARs em um só usando NetBeans

Categoria: Java — jfonseca @ 1:03 pm

Este artigo dá uma dica interessante de como combinar vários JARs em um só utilizando o NetBeans. (A tradução automática é um pouco sofrível, melhor se ler o original. )


 

Microsoft tenta patentear “virada de página virtual”

Categoria: Noticias de Tecnologia — jfonseca @ 1:01 pm

Acredite se puder, um processo de patente da Microsoft tem como finalidade reservar para sí o direito sobre “a virada de página virtual”.

O texto da patente descreve o objeto da patente como sendo “um gesto na tela indica que o usuário deseja virar a página do livro e uma animação indica que a pagina foi avançada”.

Praticamente todos os leitores virtuais são enquadrados nesta patente, caso seja aprovada.


 

The C Book – Livro de linguagem C aberto, grátis para todos

Categoria: Programação,Revistas / Livros — jfonseca @ 12:05 am

A edição não cobre o padrão C99, portanto a editora Addison Wesley decidiu abrir mão dos direitos autorais.

Acesse aqui


 

10/7 de 2010

Senha de root do iPhone 3GS

Categoria: UNIX — jfonseca @ 9:18 am

Para quem precisar, a senha de root do iPhone 3GS é alpine


 

8/7 de 2010

Links do Z.Vex Nano Amp

Categoria: Amplificadores Valvulados — jfonseca @ 9:43 pm

Há algum tempo conversava com o Achiles sobre o Nano Amp. Um pequeno e notável amp valvulado que cabe até na palma da mão. Nunca havia feito um post sobre ele, apesar do material estar na WWW há um bom tempo.

A página do fabricante tem fotos adicionais.

Esta discussão no AX84 traz mais detalhes sobre o Nano.

Uma e outra foto de uma construção handmade.

Há muitos reviews e opiniões sobre o mesmo pela WWW, a maior parte em Inglês, mas há também algumas discussões sobre aqui no Brasil.


  « Pagina AnteriorProxima Pagina »