Mostrando postagens com marcador Projetos. Mostrar todas as postagens
Mostrando postagens com marcador Projetos. Mostrar todas as postagens

quinta-feira, 22 de julho de 2010

Autenticação Speedy Business no Windows (EXE)

Bom dia, o futuro chegou...

Fiz uma versão em arquivo executável para Windows do autenticador para o Speedy Business para Windows, espero que gostem, pois ela é bem simples, só executar o EXE, ele vai criar um arquivo Speedy.txt e alterar os dados de login e senha, e escolher um site para ele acessar para testar...
Postei como projeto no sourceforge pois não estava a fim de mandar para os hosts grátis e nem usar a cota da minha hospedagem...
Autenticador Speedy Business em Python

Agora é só criar uma tarefa agendada no Windows e rodar, é possível que para executar o programa o Windows peça para baixar essas DLL's do Microsoft Visual C++ 2008 Redistributable Package (vcredist_x86.exe)...

terça-feira, 27 de abril de 2010

Projeto - Form Filler

Este é um simples projeto que desenvolvi com o intuito de preencher formulários automaticamente.
Ele usa o sistema do Greasemonkey do Firefox. Acesse-o aqui...

Ele simplesmente permite armazenar na hash do link as informações a serem preenchidas nos formulários.

A sintaxe é está LinkDestino#GSFFFA-------Dominio-------DadosCodificados em BinHex

Os DadosCodificados são o nome do campo Name=Valor ou o id #Id=Valor

O separador de múltiplos valores é --*--


Exemplo (retire as quebras de linhas e eventuais espaços:
http://www.tj.sp.gov.br/#GSFFFA-------www.tj.sp.gov.br-------63746c30305f436f6e74656e74506c616365486f6c646572436f6
e746575646f5f756350657371756973615261706964615f74787
44e756d65726f5065737175697361646f5f746578743d31323336

Espero que gostem...

quinta-feira, 15 de abril de 2010

Projetos em Aberto

Após a lista de projetos inacabados, segue a lista de projetos em aberto, que um dia eu farei.
- Programa gerador de guias DARF, GARE, FEDTJ
O FEDTJ já tem gerador, mas precisa de uma interface mais amigável
Os demais é fácil o gerador, só falta a interface

- Programa de cálculos judiciais
É simples fazer isso, mas to sem tempo, e eu queria um sistema que calculasse de diversas formas permitindo que o usuário escolha a forma de cálculo mais adequada, visto que há diferença entre os diversos programas de cálculo que existem, e tem de ser simples para o usuário utilizar.
Tempo me falta e paciência.

- Programa gerador de petições iniciais
Principalmente trabalhista, se você verificar as ações trabalhista em geral são sempre as mesmas coisas, se o programa for bem feito ele mesmo calcula os direitos do empregado, e fornece um guia para o cadastramento
eletrônico, e quem sabe um dia, gere um xml para o cadastro eletrônico, quando o sistema deles permitir.
Isso é extremamente complexo de se fazer, mas é possível com tempo.

- Integração total do meu sistema do escritório, com o sistema de prestação de contas, com o sistema do carnê-leão.
Com isso, em tese, toda entrada no escritório, seria automaticamente registrada em todos os demais sistemas.

- Editor do Carnê-Leão On-line
Precisava organizar um sistema de segurança do meu programa, mas ainda não tive tempo de gerar o mesmo.

- Chat on-line via Ajax para o escritório
Como a implementação do GTalk não foi bem sucedida no escritório, vou tentar implementar um chat via Ajax no mesmo, mas acho melhor eu criar um sistema de tarefas, o segredo vai ser como fazer a inclusão das tarefas de forma simples e rápida.
O chat tem si é muito simples de fazer, só me falta tempo.

quarta-feira, 14 de abril de 2010

Projetos Inacabados

No aprendizado de programação, você pode deixar vários projetos inacabados, que não foram terminados por diversos motivos, a vantagem de ter um portifólio de projetos inacabados é que eles demonstram a sua capacidade de inovar, mesmo que o projeto não tenha sido concluído, pois demonstra sua habilidade em trabalhar com panoramas diferentes,ainda mais se você não tem conhecimentos avançadas de programação, servem como uma ótima fonte de aprendizado, pois permitem que você descubra novas formas de realizar tarefas específicas, e também coisas novas que você nunca pensou em fazer, ou sabia que era possível.
Segue aqui a lista de projetos inacabados meus:
- Jogo de Truco On-line em VB5
Numa época em que jogar truco virou mania na escola, eu tentei fazer uma versão on-line do jogo, na época eu nem tinha conhecimento de como fazer a conexão entre os computadores, meu conhecimento de TCP/IP era limitado, mas o jogo já tinha o misturador de cartas, já que eu não sabia randomizar um array no VB, e tinha parte da lógica do jogo funcionando. Só faltou a parte de conexão que funcionava precariamente.

- Programa de Organização de Livros
Era um programa que tinha por objetivo cadastrar todos os livros do escritório, era praticamente funcional, mas usava demais o DAO do Access, e depois que eu descobri o SQL, nunca mais utilizei isso, foi o primeiro programa de uso útil que eu fiz, mas que nunca foi utilizado.

- Rascunho do Programa de controle de Processos Judiciais
Esse rascunho só tinha Javascript praticamente, era a seção que permitia incluir mais de um cliente e parte, e permitia cadastrar o cliente novo por completo na mesma tela, um caos de javascript.

- Rascunho de um programa de Catalogo de CDs e DVDs
Um rascunho bem simples, praticamente só tinha o desenho dos bancos de dados, e um programa feito em cima de outro.

- Programa de transmissão de dados via som.
Esse é um dos mais interessantes que fiz, mas fiz em VisualBasic, por isso não deu muito certo. Mas a idéia era interessante, e o programa chegou a ser capaz de transmitir 2 unidades de informação diferentes.
A idéia era usar a placa de som para transmitir dados entre computadores, usando um cabo P2-P2, até funcionava usando o microfone, mas precisava de uma especificação mais avançada, os dados eram transmitidos por tons em frequencias diferentes, o programa em VB era capaz de identificar a frequencia do som e dizer se era A ou B, a detecção de frequencia era precária, mas funcionava.
O projeto não deu certo principalmente porque surgiram os pendrives, mas a idéia era totalmente viável, só não sei a velocidade de transmissão do sistema.

Depois eu falo de mais outros projetos inacabados que eu tenha me esquecido...

sábado, 19 de setembro de 2009

Projeto: Extreme File Compression

Esse projeto permite comprimir arquivos de qualquer tamanho para arquivos de menos de 1KiB.
Impossível? É claro que não, mas também não espere que a decompressão demore menos de uns 10 milênios...

Como?
Acredito que você saiba o que é um algoritimo de file hashing, simplificado é algo como tirar um resumo (hash) de um arquivo X, aquele arquivo X só pode ter aquele resumo W, mas um resumo W pode ser o resumo de vários arquivos X Y Z.
Então, podemos dizer que é possível reconstruir um arquivo X, simplesmente sabendo seu hash W.
É claro que esse processo pode demorar muito tempo, pois temos que rodar por brute-force (força bruta), todas as combinações possíveis, e corremos o risco de achar diversos falsos positivos.
Também armazenamos no arquivo comprimido, o tamanho do arquivo X, assim evitamos correr por todos os tamanhos possíveis de arquivos até chegar ao destino.
Como resolver então?
Tenho duas idéias de como resolver esse problema:
A - Executar o Hashing de todos os arquivos possíveis desde 0 até chegarmos ao arquivo desejado, contando quantas vezes o hash do arquivo foi repetido, a descompressão se daria da mesma forma, até encontrar o arquivo desejado. - O tempo da compressão neste caso é igual ao tempo da descompressão, muitos anos mesmo.
B - Usar vários algoritmos de hasing diferentes sobre o arquivo desejado, a fim de evitar a ocorrência de falsos positivos, assim, somente o arquivo X, teria os hashs A, B, C, D, E, F, G, H, I, J, K, L, M e assim por diante. - Neste caso o tempo de compressão pode demorar apenas 1 hora, dependendo da quantidade de hashs usados... Há apenas um pequeno risco de haverem falsos positivos, mas nesse caso depende da matemática pura e simples....
Exemplo
Aqui um exemplo do que é brute-force, vamos exemplificar que nosso arquivo em 5 digitos, e por serem digitos ele é composto apenas de número, vamos procurar o CRC32 a3bff1c0, então vamos:
  1. 00000 - 4adc54f5
  2. 00001 - 3ddb6463
  3. 00002 - a4d235d9
  4. 00003 - d3d5054f
  5. 00004 - 4db190ec
  6. 00005 - 3ab6a07a
  7. 00006 - a3bff1c0 - achamos o arquivo contém 00006
Viva!!! Descomprimimos o arquivo, sorte a nossa que ele era o 7º da fila....
Mas no mundo real pode ser na trilionésima tentativa, ou um número que nem sei escrever por extenso.
No exemplo acima o arquivo comprimido poderia ter esse conteúdo:
EFC-#-5-CRC32-a3bff1c0-1
Não parece muito eficiente né, mas imagine um DVD de 4.7GB, no arquivo a seguir:

EFC-bin-4700000000-CRC32-d113d346-7872298821547701824
53 bytes contra 4700000000 bytes, um arquivo de 88.679.245 de vezes menor.
Quem sabe um HD de 2TiB:

EFC-bin-2199023255552-CRC32-1afd250-27819858736306.....296621735144842438121298
Mesma coisa, cortei o último item que é o repetições senão o blog não ia exibir, mas faz de conta que o file ficou com 1KiB, um arquivo 2.147.483.648 de vezes menor!!!!

Conclusão
O meu algoritmo de compressão é extremamente eficiente, mas não é eficaz, pois o tempo necessário para a descompressão é exageradamente grande, talvez com a computação quantica ele se torne viável.
Uma última vantagem dele, é que ele pode ser rodado em paralelo sem qualquer perda de eficiência, cada CPU pode rodar um range de arquivos...

quarta-feira, 16 de setembro de 2009

Projeto: Invisibilidade

Este é uma idéia de como poderia ser um sistema de invisibilidade, com funcionamento diferente daquele que tem um projetor em uma roupa, eis que aquele só funciona de um ângulo exato, o meu funciona em qualquer direção...

Montagem

A idéia é baseada naqueles abajour de fibra ótica, imagine que aquilo foi reduzido para, digamos, 1/10 de milimetro, e que a quantidade de filamentos seja de aproximadamente 20.000 filamentos de fibra ótica cobrindo uma área de 140º quadrados...
Embaixo desse dispositivo que vamos chamar de abajour, no lugar de uma lâmpada de uma única cor, teremos na ponta de cada filamento, um gerador de luz LED, que produzirá todas as cores disponíveis, com um nível de contraste altíssimo...
Além, do LED em cada ponta dos filamentos, teremos também nele um sensor de luz, que captará o retorno das fibras... E a ponta dos filamentos deve conter um filtro polarizador de luz, só permitindo a entrada de luz perpendicular à direção da fibra...
A montagem seria realizada sobre um material sólido ou flexível, claro que no caso do sólido é mais simples que no caso do flexível...
Seriam colocados lado a lado sobre o material, permitindo a ocorrência de sobreposição de filamentos, permitindo que no lugar de termos uma série de VVVVVV, tenhamos vários XXXXXX, aumentando assim a densidade por cm²...
Após seria despejado algum fluído que tornasse a posição dos filamentos fixa, tipo um silicone ou algo do tipo, para evitar que eles apontem para um lado diferente com o movimento...
No caso do material ser flexivel, cada abajour teria de ter uma espécie de GPS ativo, para saber sua exata localização em relação aos demais... No caso de usar um material sólido, as medições de posicionamento só seriam necessárias na fabricação....
É importante que todo o material seja da cor preta, e que caso seja iluminado com um fundo preto, não haja reflexos da luz... O material tem de funcionar como um buraco negro se não estiver ativo...
E o material tem de ser coberto como dupla face, assim, caso não haja um filamento distante oposto, usa-se o filamento próximo...

Funcionamento
O funcionamento do sistema é simples...
Cada filamento de fibra ótica recebe a luz perpendicular e transmite ao gerador do filamento que esta apontando na exata direção oposta da luz de entrada, ou seja, é como se a luz passasse direto pelo objeto, ou melhor dizendo é como se ele não estivesse lá...
É claro que se o material for flexivel, como uma capa, o sistema GPS teria de calcular qual filamento está na ponta oposta do outro, teria de ser um sistema bem eficiente e rápido...
A pior parte seria a rede necessária para transportar as informações de uma ponta a outra, só para ter uma idéia, se cada abajour medir 1mm, e isso é bem grande, para esconder um cubo de 1cm³, com uma gama de cores CMYK (32 bits), e uma taxa de quadro de apenas 15 fps, a rede de dados tranportaria algo em torno de 5.3 gigagabits por segundo (ou 686 megabytes/s)...
É claro que se o material for sólido, poderiamos em tese usar uma rede totalmente ótica, sem a presenta de geradores LED, mas isso demandaria um processo de montagem preciso, pois cada filamento deveria ser posicionado no ângulo oposto exato de sua outra ponta...
Mas voltando à rede de dados, os 5.3gbits são apenas para um cubo de 1cm³, para objetos maiores a quantidade de dados é bem maior, e com uma taxa de 30fps é o dobro ainda, lembrando que eu calculei um abajour de 1mm, que é de certa forma grande demais, e acabaria gerando uma imagem pixelada já que os 20.000 filamentos apontam cada um para uma direção diferente...
Em processamento nem ouso calcular, mas cada roteador ou seja lá o que for usado tem de ter sua própria CPU, se não o delay e a quantidade de dados vai para as alturas...

Falhas
Um dos problemas do projeto é a necessidade de gerar a luz LED, mesmo sendo uma opção econômica e pequena o bastante, a luz LED se tentar imitar uma fonte poderosa de luz como o sol ou refletores de luz, pode não ter força o suficiente, e acabar gerando uma sombra...
E mesmo que tivesse potência o bastante, o calor gerado acabaria por facilitar sua localização...
Também há o fato da energia, para alimentar tantas lampadas, seria necessário uma usina de energia...
Outro detalhe é o excesso de sinal de rádio nos casos dos modelos flexiveis, que exigiriam um sistema de GPS pessoal...

Estimativas
Acredito que com um abajour de 1/10 de milimetro, seja possível obter uma invisibilidade de 96% sob a luz solar, e 99% a noite, a uma distância de 30cm, mais que isso a pessoa ouve sua respiração...

Custo
O custo de uma capa de corpo inteiro, incluindo a arma, ficaria na faixa de uns 100 bilhões de doláres...

Uso
Isso é simples, em caso de situações com reféns, em missões de reconhecimento, espionagem, sabotagem entre outras coisas interessantes, :P...

Exemplo Gráfico
==== ( :P ) ========
Luz    Você Luz gerada

E este é meu projeto de invisibilidade, caso tenha interesse favor entrar em contato... :P - Quero meus royalities...

quinta-feira, 3 de setembro de 2009

Positronic Brain Project

Warning: I'm don't know if someone already had this idea, i couldn't find it on google, maybe i fail to find the right keywords for this.
Studying the anatomy of a neuron you can realize that, it's just a cell that receives signals throught its many dendrites, receiving each from another neuron, and the neuron outputs signals throught its axon, that may lead to many others neurons... But it may be reversed in some cases, but overall it's that...
Then, we have some rules, a neuron only retransmit a signal received when it reaches some pre-assigned level of power, and the output is always the same... And it has to wait a few time to transmit again...
So it's relatively simple the operation of one... Not really, but let's believe that it is.... :P

The positronic brain will not have any positron as it could result in a dangerous thing, as positron + eletron aniquilate each other...
The idea is to build something like an transistor, but shaped like a neuron, with a small processing center, with a few single rules programmed, and a lot of input and output cables covered with carbon nanotubes, or something smaller....
Each cable would be randomly connected to another, let's call it neuronit (neuron + bit) or neuronites...
The size of a neuronite really matters, as the smaller it is, the more fits in a small space, like a head...
The size of cables may vary a lot, but each neuronite needs at least a thousand of those, as some may just fail to find a connection.... The end of the cable need to be magnetic, to connect automaticly to the axon that is a cable that it's not fully shielded with carbon nanotubes...

After building a bunch of neuronites, you just drop them over an recipient, and drop some kind of eletrical shielded fluid, and them start it...
Starting teaching....
This kind of assembly process assures that your positronic brain is unique, as you can't tell which connections had success, and which hadn't....
The only failure in this project is that not every brain will work properly as it can have lesser connections resulting in lower IQ...
My calculations says that it will take at least 25 years to build an operational model, as well to develop the technology that will allow the build of neuronites small enough to build self-aware robots... I'm just not sure about energy consumption, as it would require a small nuclear reactor, but it will not care in the future as it we find out how to generate energy like plants do, carbonic dioxid is free in the air....

quarta-feira, 2 de setembro de 2009

Carnê Leão e DPI

Estou vendo a possibilidade de alterar o código fonte do Carnê Leão da Receita Federal para que o programa se torne DPI Aware, assim ele poderia ficar grande mesmo em telas pequenas...
O jar é unpackable, mas o source se for o source, é case sensitive, preciso de um linux box pra descompactar o jar....
Só espero que seja possível, ainda preciso aprender a sintaxe do Java.
Ou a Receita poderia corrigir esse problema... Se não, eu lanço aqui a versão DPI Aware, e o guia para fazer você mesmo, para evitar malwares....

sábado, 15 de agosto de 2009

Códigos em PHP

Olá, criei uma conta no site do phpbrasil (www.phpbrasil.com) e postei alguns scripts meus lá:
São dois scripts simples, mas de grande ajuda...
Também tenho 2 projetos no SourceForge:
Talvez eu coloque os projetos de um no outro, ou não sei ainda...

sexta-feira, 14 de agosto de 2009

Idéias de Profissão

Estava pensando em ter uma segunda profissão, mas para fazer algo que ninguém ainda faz. Segue aqui a lista de coisas que você poderia fazer caso não tenha opções:
Curso de como encontrar coisas na internet: (SEFU - Search Engine Finder Ultimatum) Nesse curso você ensinaria aos alunos a como pensar como uma ferramenta de busca, ensinar os fundamentos que regem o sistema, ensinando-os a processar o que procuram e filtrar as palavras chave corretas, aumentando assim a eficácia de suas pesquisas, e ajudando a diminuir o número de perguntas idiotas, cujas respostas já existem em algum lugar.
Curso de Leitura de Tela: (FSRE - FullScreen Reader Expert) Nesse curso você ensina aos alunos a ler a tela, as pessoas tem o costume de só ver o que precisam, e ir embora, mas se elas lessem toda a tela, encontrariam diversas coisas que podem ou não ser úteis, mas que sem ler, nem saberiam que existem.
Curso de Pensar fora da caixa: (TOBE - Think Out of Box Expert) Nesse curso você ensinaria às vítimas como pensar de um jeito diferente, tentando pensar como outra pessoa, alguém que seja mais idiota ou descabida de inteligência como a dela, ou mais preguiçosa, melhorando assim o uso de diversos sistemas e procedimentos.
Curso de Reconhecimento de Sites/E-mails Falsos: (PDT - Phishing Detection Techniques) Esse curso é realmente útil, você tem de ensinar aos alunos que dinheiro não cai do céu, que você não recebe heranças de parentes desconhecidos, que a Policia Federal não quer a sua cabeça (exceto se você estiver em algo ilegal mesmo), que o banco precisa urgentemente confirmar seus dados, que um parente seu foi sequestrado, que encaminhar uma mensagem vai salvar sua vida, ou a de uma criança na Africa, é um curso simples, que apenas tenta derrubar os estigmas que as pessoas não perderam da época em que eram crianças e acreditavam em Papai Noel (e ainda tem adulto que acredita)...

Depois eu penso em outras oportunidades, mas se estiverem interessados entrem em contato, mas eu cobro US$ 100.000,00 a hora por pessoa, e eu cobro também o tempo que você leva para fazer as lições em casa. :P

terça-feira, 9 de junho de 2009

Me Against Caixas Eletrônicos

Ave!!! Fui depositar uns cheques num caixa eletrônico, não preciso dizer qual banco pois todos são iguais, mas desiguais onde deveriam ser iguais...

As vezes eu digito no modo automático, quer dizer, não vejo o que escrevo, e isso as vezes causa um desalinhamento mental que resulta em um resultado imprevisto... E como eu estou no automático eu já apertei "Entra", o problema é que para corrigir o desastre, só me resta uma opção causar um desastre maior com o poderoso botão "Anular", que além de cancelar tudo que eu fiz antes, tem a mania de demorar 5s para liberar a tela novamente...

Uma interface razoável deveria permitir uma correção mais abrangente do que o campo atual, e mais, ao anular a operação, permita um retorno mais rápido...

Eu, que poderia depositar em menos de 10s, levo em média 2 minutos... uhuhuhaeae...
Isso eu, uma pessoa normal deve levar uns 3 minutos senão mais...
Isso significa que, no tempo comercial do banco, um caixa eletrônico pode receber apenas 120 depósitos, uma eficiência ridícula, considerando que em alguns bancos há apenas 3 caixas eletrônicos, que em muitas vezes fazem outras coisas....

Porque as pessoas tem de pagar boleto bancário no caixa eletrônico? E ainda mais no único que faz depósito e que está funcionando para tal? Porque???????

Por mim, os bancos deveriam padronizar o sistema dos caixas eletrônicos, mas padronizar com um sistema decente, e rápido, e simples de usar, e inteligente o bastante para permitir voltar a operação, e que façam de tudo, e com o animus completendi, e não um animus failandi...

O maior problema dos caixas eletrônicos é justamente esse, o sistema força a pessoa a falhar, e força a pessoa a usar um raciocínio que a maioria delas não tem, que é o conceito clique, clique, clique, fim... As pessoas não tem esse projeto ainda...
O mais ridículo é encontrar caixas com teclado de telefone e teclado de calculadora, lado a lado, dentro do banco mesmo...

Não vou reclamar mais se não isso não acaba mais...