ASP e MS Access em um Windows Server 2008 64bits

Quem conhece um pouco destas tecnologias vai achar um pouco non sense, mas o destino nos coloca toda hora um abacaxi destes na mão. Quase joguei a toalha algumas vezes e voltei dias para casa uma grande sensação de incapacidade, mas enfim venci esse duelo cruel contra as gambiarras da Microsoft e seu exército de programadores disciplinados no mais eficiente extreme-go-horse.

Mas como isso foi parar comigo?
Desde que eu voltei para o meu trabalho meu gerente me disse: “voce tem que marcar um gol por dia. Cole no cliente e pergunte tudo o que ele precisa e vá resolvendo.”

Assim fiz todos os dias desde que eu voltei. Num arroubo infantil de pró atividade, me dispus a migrar tudo de um servidor velhinho que está com os dias contados. Achei que estava sendo malandro pois a minha página estava com o desempenho bem ruim e assim eu ia colocar ela num super servidor. Ninguém se opôs e por isso achei estranho, mas depois que comecei a mapear o trabalho vi que tinhamos uns 5 sistemas legados como este em questão, mais uma dezena de usuários com compartilhamento de pastas aleatórios dentro do server entre outras barbaridades contra as boas práticas. Encarei como dever cívico e fui em frente resolvendo aos poucos.

O sistema
O tal sistema é um daqueles antigos e foi desenvolvido em uma época que o Voyage quadradinho era o sonho de qualquer adolescente e o Opala e Santana eram os carrões da moda. Seu visual acompanha a moda da época, fundo coloridão, gifs animadas como o top de linha da web em meados da década de 90. Assim nasceu ele, modesto com ASP e MS Access bem simples como banco de dados mas que funciona então ninguém relou a mão até hoje.

Achei que ia ser moleza, afinal era só copiar os arquivos, habilitar e instalar o suporte das linguagens no IIS7 mas eu não contava com o pacote de maldades da Microsoft que estava guardado para mim.

Primeiras surpresas: ausência de erros e acertos.
Depois de passar uma manhã procurando como ativar o suporte a ASP antigo (dot net é modinha) e o ODBC do Access, a página não funcionava nem dava erro, o que é o pior dos mundos. Neste dia, consegui com muito custo achar uma opção bem escondida para mostrar os erros do ASP, o bastante para me mostrar que embora a configuração do ODBC estivesse identica ao servidor antigo o ASP não lia nada do banco de dados e dava erros que não constavam no google.

Primeiras Pistas
Minha sorte começou a mudar quando em alguns fóruns eu vi gente falando que o ODBC de 64bits não poderia ser acessado/entendido pelo ASP então eu teria que rodar o Odbcad32.exe que é o de 32bits para configurar. O difícil é que os dois programas são identicos, então não dá pra saber se voce está fazendo no ODBC errado. Na dúvida, sempre chamei pelo run do windows. Mesmo assim as mensagens eram desencontradas e agora pelo menos eu tinha um erro, o meu ODBC não conseguia acessar o Access.

Esse pessoal de Seattle é tão irônico e ardiloso nas suas pegadinhas que o programa de  de 32 bits está dentro de C:/Windows/Wow64 mas acessa os drivers/dlls de 32 do C:\Windows\system32\. Essa é uma solução tão traquinas que só um saci para ter tal iniciativa.

Remendando as latrinas da Microsoft
Depois de muito tempo resolvi reinstalar os drivers do MS Access, e foi a decisão acertada, porque da primeira vez instalei os drivers de 64 bits, achando que o windows server 2008 de 64bits para o MS Access vai usar a versão 64, mas não, o Windows 64 usa um driver de 32 bits, se usar o de 64 dá erro (minha pergunta: para que serve então e deixa lá pra download então?).

Tem algums packs diferentes que podem ser instalados, o mais completo é um tal de Jet (Joint Engine Technology) que acessa o Access mas vi em alguns fóruns que isso NÃO ia resolver. O pack que resolveu a minha vida foi esse:
2007 Office System Driver: Data Connectivity Components

Então a cadeia de resolução foi esta:

  1. Habilitar o ASP legado;
  2. Instalar os drivers de 32 bits MESMO sendo o sistema 64bits;
  3. Rodar o odbcad32.exe do “C:\Windows\SysWOW64”
  4. Habilitar as permissões de usuário do server para os diretórios e para o ODBC (chato pra caramba). Para habilitar a escrita de diretório, basta ir na pasta pelo windows explorer e com o botao direito em permissões dar poderes ao usuário do IIS. Dica, clique aqui
  5. No meu caso eu manipulo o Access (mdb) via web e aí tive que habilitar a leitura para este tipo de arquivo, pode ser pelo web.config ou interface do IIS;
  6. Para conferir, o INI deve estar mais ou menos assim:
    [ODBC 32 bit Data Sources]
    testeDB=Driver do Microsoft Access (*.mdb) (32 bit)
    [rumb]
    Driver32=C:\Windows\system32\odbcjt32.dll

Espero que este relato ajude alguma pobre alma sem suporte.

Aparente erro do path do Maven e JBoss no Windows 7 64

Depois de 11 anos de estimados serviços, fui agraciado com uma máquina zerinho aqui no trabalho, tudo lindo e maravilhoso até descobrir que eu não conseguia compilar o projeto pelo Maven.

A cortina de fumaça: variáveis de ambiente
Lendo o log do maven aparecia o erro no command.com, e logo abaixo o caminho (path) do deploy sempre vinha errado, como por exemplo C:\server\deploy ao invés de C:\jboss\server\deploy. Nosso erro foi concentrar nesta parte, mas o Igor decobriu que  para colocar o path caso haja espaço em “Program Files” temos que usar o caractere de escape “^ “.

Insistimos nessa abordagem achando que o problema era com as variáveis de ambiente, porém mesmo com as modificações, mudança de usuário que executa o cmd.exe nada fazia efeito. Ficou mais estranho ainda quando resolvi colocar o path completo hardcoded e o erro persistiu.

O erro real
O Marcos Müller e o Igor Bragança depois viram o seguinte: o maven 1.0.2 chama o command.com só que no windows 7 64 ele não existe mais! Aí a solução foi a seguinte: copiar o cmd.exe do c:\windows\system32 para c:\windows e renomear para command.com

Reflexão
A solução ser estranha não é nossa culpa. Tudo leva a crer que a Microsoft desenvolveu o seu sistema usando Extreme Go Horse (XGH) que é a metodologia mais ágil de todas mas aí soluções como esta se tornan inevitáveis.

Andrei Tarkovsky: Esculpir o tempo

Antes de tudo, “Esculpir o Tempo” é um manifesto e uma aula sobre a não alienação do trabalho artístico e da grande responsabilidade de quem produz imagens. Foi escrito por um Tarkovsky doente no exilio e talvez por isso assuma esse caráter transparente, verdadeiro e extremamente sincero em suas colocações, como devem ser as palavras de um homem que sabe que vai morrer.

“O meu mais fervoroso desejo sempre foi o de conseguir me expressar nos meus filmes, de dizer tudo com absoluta sinceridade, sem impor aos outros o meu ponto de vista. No entanto, se a visão do mundo transmitida pelo filme puder ser reconhecida por outras pessoas como parte integrante de si próprias, como algo a que nada, até agora, conseguira dar expressão, que maior estímulo para o meu trabalho eu poderia desejar? Este livro amadureceu durante todo o período em que minhas atividades profissionais estiveram suspensas… Seu principal objetivo é ajudar-me a descobrir os rumos da minha trajetória em meio ao emaranhado de possibilidades contidas nesta nova e extraordinária forma de arte – em essência, ainda tão pouco explorada – para que nela eu possa encontrar a mim mesmo, com plenitude e independência.”

Andrei Tarkovsky, Nostalghia, 1983

Símbolos: o cachorro e a casa da infância. Sonho ou nostalgia para um russo exilado?

Por todas as referências e colocações, este livro deveria ser estudado no 1º período nos cursos de Belas Artes e seria especialmente útil para os que se decidem por seguir em ilustração, cinema e animação. O enredo do livro se parece muito com as aulas com centenas de exemplos de Análise da Imagem do Rui de Oliveira, adicionado de uma narrativa extremamente sincera e sentimental de quem sente uma enorme responsabilidade frente ao caráter educador e formador da imagem.

tarkovsky

Stalker, a busca do paraíso: castigo ou premiação? Como em Richard Wagner, a água presente como elemento primordial.

Um dos pontos que mais me chamou a atenção foram os dilemas e conflitos do cinema enquanto atividade (a Engenharia de Software e o design também) estão interessadas em um resultado previsível (não a inovação), em um processo e cronogramas com incio, meio e fim.

Numa época onde todos se tratam como possíveis clientes e fornecedores com perspectivas de negócios e lucros, gosto mais ainda do estilo direto na lata e sem muita diplomacia pós-moderna como os desse trecho:

“O que hoje passa por arte é, na sua maior parte, mentira pois é uma falácia supor que o método pode tornar-se o significado e o objectivo da arte. Não obstante, a maior parte dos artistas contemporâneos passa o seu tempo em exibições auto complacentes de método.”

Fora estes dilemas mais abertos, igualmente interessantes são visões sobre a literatura e sua relação com o cinema, a mise en cene, e teatro, defendendo com toda a experiência de quem produziu Stalker, Solaris e Andrei Rublev uma linguagem própria para o cinema.

Quem um dia já tentou desenhar ou escrever e toma isso como parte de si, vai se encantar com este livro, uma ode de amor ao trabalho e ao conhecimento e destacar numa tal página uma frase como: “com a ajuda do homem que o criador vem a conhecer a si próprio”.

Esculpir o tempo

ESCULPIR O TEMPO
Autor: Andrei Tarkovski
Editora: Martins Fontes

Catálogo online de modelos de movimentos mecanicos

O Kinematic Models for Design Digital Library (KMODDL) é uma incrível fonte de informação para aqueles que adoram mecanismos e querem aprender mais sobre o assunto. O site é um imenso catálogo de movimentos, seus inventores, explicações, curiosidades e data de confecção. Há também outras partes somente de tutoriais e multimedia para ensino e aprendizado de cinética, geometria e teorias de mecanismos. Seus recursos incluem: modelos, tutoriais, simulações, referencias, biografias e arquivos para reproduções em 3D.

ungleichförmig-periodische_Bewegungsübertrongung

Coisas assim já eram feitas no final do do século XVIII… Esse modelo particularmente é de 1861.

Como disse o Dug North, uma mina de ouro para engenheiros, mecânicos, inventores e entusiastas de robótica e autômatos. Confesso com tristeza que em 2 anos em que cursei projeto de produto nenhum professor nos mostrou algo parecido.

Via:
http://blog.dugnorth.com/2006_08_01_archive.html

Aplicativo gratuito para gerar engrenagens

No final do ano passado estava construindo um cenário que começava unido, depois se dividia em 3 módulos e no final da peça se juntava novamente em uma configuração diferente da inicial. Até ai tudo simples com medidas “DIN” e rodas, mas no gran finale esse cenário deveria ser um barco voador (girando uma roda e batendo asas). Aí entrei com catracas, alavancas, molas, movimentos reciprocos descentralizados ok, mas e as engrenagens?

gearGeneratorbyMatthias

Bom, no calor da batalha e do galpão do Celso, tive que desenhar e cortar uns modelos de engrenagens em MDF e compensado, pensei substituir por polias com cordas de sisal ou mesmo corrente de bicicleta, mas achei esse site e pedi para cortar na CNC router. Ficou perfeito de primeira e funcionou muito bem.

A interface é bem intuitiva e fácil de identificar os parâmetros, acesse o site aqui:
http://woodgears.ca/gear_cutting/template.html

Como usar uma versão de PHP diferente para cada site no IIS

Para quem nunca passou por isso deve pensar: para que usar uma versão antiga do PHP? Passa tudo para a versão mais recente. Mas a solução pode não ser simples assim. Este servidor tem várias aplicações importantes para os usuários, mas como algumas foram escritas há um bom tempo, a versão mais nova do PHP não compila eles direito, tem tags e funções extintas, que dão excessão ou mensagens de alerta o tempo todo.

A solução tem que ser esta mesmo: instalar várias versões do PHP. Isso pode ser feito na unha, mas felizmente uma boa alma desenvolveu o PHP Manager for IIS. Esse programa cria um atalho dentro de cada pasta na adminstração do IIS, e com uma interface gráfica te permite escolher a versão e as extensões habilitadas para cada diretório.

Printscreen

Printscreen

Isso pode ser útil para testes também porque as vezes o servidor não vai estar na mesma configuração que o seu localhost.

Referência:
http://phpmanager.codeplex.com/

Como mudar a porta do Apache no XAMPP

Volta e meia eu vinha tendo problemas com relação a porta 80 usada como default pelo Apache em conflito com o Skype, IIS ou outro aplicativo qualquer, mas sempre resolvia da maneira mais preguiçosa, desligando o programa e deixando ele escolher outra porta ou não depois.

A solução é bem simples e basta mudar a porta em um “txt”. Localize o httpd.confque deve estar no diretório “X:\xampp\apache\conf”. Localize a linha que contém:

# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 0.0.0.0:80
#Listen [::]:80
Listen 80

O default é 80, mude para outro número qualquer, como 1880.

Depois na hora de acessar o endereço, só se de conta que você vai ter que digitar: http://localhost:1880

Tipos de engrenagens e catálogo online

Esse link foi enviado para a lista da ReprapBR pelo Alain Mouette e é bastante útil na hora de comprar engrenagens porque é ilustrativo quanto a tradução e ilustração dos tipos de movimento e engrenagens.

tipos de engrenagens

Eu já comprei na SDP-SI e foram super corretos no atendimento.

Link direto:
http://www.sdp-si.com/eStore/CoverPg/Gears.htm

Marionetes robóticas: a animatrônica de Gustav Hoegen

O título do post parece com os nomes pomposos das aulas do Rui de Oliveira, mas basta ver o “show reel” dos trabalhos de cinema deste Gustav Hoegen que são de ficar babando.

Uma perfeita “gebrauchkunst”. Esses trabalhos envolvem beleza plástica, noção de anatomia, escultura, desenho, eletrônica e mecânica unidos, conhecimento técnico e artístico em alto grau.

É reconfortante saber que existe vida fora do 3D, e é irônico que eu uma das cenas dessa compilação podemos ver um boneco incrível desse com um fundo de chromakey, e não o contrário, ou tudo no mais cafona 3D.

Aqui no IMDB tem uma lista das coisas que ele fez.

Via:
Automata blog do qual sou seguidor