Mai 12 2009

Como não compilar o Android.

Boa noite,

Como você deve ter percebido, eu estive um pouco sumido nos últimos dias. Não, eu não estou mal e nem aconteceu nada comigo. Estive os 2 últimos dias tentando compilar o Android para X86 e roda-lo em uma máquina virtual. Procurei muito pela internet, achei várias informações, algumas que me foram uteis e outras não. Neste post, não vou falar sobre como Compilar o Android, pois eu ainda não consegui fazer o mesmo funcionar como eu queria mas vou colocar links que acredito que serão interessantes para ajudar no seu desenvolvimento com o Android e traduzir uns passos básicos para os que não tem um inglês tão aperfeiçoado.

Primeiro, gostaria de avisar que " Building under Windows is not currently supported." Ou seja, compilar no windows não é suportado atualmente.

Ubuntu Linux (32-bit x86):

* Pacotes necessários:
o Git 1.5.4 ou mais novo e o GNU Privacy Guard.
o JDK 5.0, update 12 ou mais novo. Java 6 não é suportado, devido a incompatibilidades com o @Override
o flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl.

Para instalar os mesmos digite o seguinte:
$ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

* Você provavelmente vai querer Valgrind, uma ferramenta que ajuda a achar leaks de memoria, stack corrompido, indices fora dos arrays, overflows, entre outros.
Para instala-lo:
$ sudo apt-get install valgrind
* Usuarios do Intrepid (8.10) precisaram uma nova versão da libreadline :
$ sudo apt-get install lib32readline5-dev

Caso você tenha interesse em saber mais continue lendo...
Read more »

Mai 09 2009

Criando seu Proprio Tiny-URL.

Boa noite a todos,

Ontem pela madrugada estava pensando no Twitter e que ele reduz urls grandes automaticamente para um sistema escolhidos por eles. Então, estava a pensar em como fazer o meu próprio sistema criação de urls pequenas (tiny url) e pesquisei um pouco no Google. Achei várias referências que utilizei como base para elaboração do meu e os links das mesmas você poderá encontrar no final deste post.

Primeiramente você deve criar uma tabela em seu banco de dados com as seguintes características:

# CREATE TABLE IF NOT EXISTS `urls` (
# `uid` int(11) NOT NULL auto_increment,
# `url` text default NULL,
# `unique_chars` varchar(25) BINARY NOT NULL,
# PRIMARY KEY (`uid`),
# UNIQUE KEY `unique_chars` (`unique_chars`)
# );

Este código foi pego do Abhise no seu post "Create your own tinyurl with php and mySQL" que foi minha maior referência, da mesma peguei várias funções mas realizei algumas alterações para melhor eficiência e também tradução para você. Como no código acima foi adicionado o 'BINARY' para o unique reconhecer diferença entre AAAA e aaaa, por exemplo.

O Abhise diz para criarmos tais e tais arquivos, eu particularmente, criei um arquivo de funções onde adicionei as diversas funções utilizadas e simplesmente chamei as mesmas nos seus respectivos arquivos.

---- Para ler o artigo inteiro acesse o link abaixo.
Read more »

Mai 07 2009

Rank Sort, Programação Concorrente.

Olá,

A umas duas semanas atrás tive que fazer uma prova de Programação Concorrente (INE5410), onde eu devia implementar um RankSort com Pascal FC. Nesse problema existe um Vetor que deve ser ordenado por N processos. Bom a implementação do mesmo não é muito complexa para as pessoas que tem noção de semáforos. Após o professor Mazzuco corrigir a prova ele nos disponibilizou uma resolução. Irei disponibilizar a mesma pois não tenho a minha solução em mãos, mas ambas as soluções são MUITO parecidas. Adicionei na solução do professor umas mensagens que os processos enviam para o console para termos uma noção melhor do que está acontecendo.

- Solução para RankSort em Pascal FC com processos concorrentes.
- Editor para Pascal Fc (Infelizmente não achei o mesmo para linux que funcione decentemente, caso você tenha alguma recomendação não hesite em me informar.)

Qualquer duvida ou problema comente,
Matheus

Mai 06 2009

Twittando.

Boa noite,

Hoje resolvi criar um twitter para mim, então se você quizer pode me seguir. O mesmo não é só professional, então vão existir vários tipos de posts. (Ele é, pessoal/professional/etc). Você pode acessa-lo aqui. Também pode verificar minhas ultimas "twittadas" no menu ao lado.

Até mais,
Matheus

Mai 06 2009

Quick Flickr Widget, WordPress.

Boa tarde,

Hoje pela tarde estava a estudar e nos interva-los dos estudos estava dando uma olhada nos plugins para o wordpress. Achei um interessante. O Quick-flickr-widget. Um widget para exibir fotos do flickr no seu site. Você pode configura-lo de diversas maneiras, para pegar as ultimas fotos, para utilizar tags, para pegar fotos random. Está ultima, eu não me simpatizei muito, já que ela utiliza de um feed disponivel pelo flickr com suas ultimas atualizações. Fiquei um tempo pensando sobre como melhorar este recurso e tive uma idéia ao me lembrar de outro widget. Eu poderia pegar todas as tags, embaralhar as mesmas e escolher uma aleatoriamente e utilizar esta tag como parametro para uma consulta randomica. Fazendo um random de TAG e em seguida das fotos que possuiam a tag.

Após algumas pesquisas na API do flickr e em outros widgets descobri como poderia pegar as tags. Criei uma função que retornava uma tag aleatoria para o usuario X.

Implementei na mão isso dentro do código do quick flickr widget porém ainda não estava satisfeito, queria compartilhar isso com outros usuarios que também não gostavam da randomização do widget. Então estudei um pouco o codigo do quick flickr widget e fiz algumas modificações, adicionei uma nova checkbox para selecionar se deseja ou não a randomização por tag, adicionei um if e algumas outras linhas necessarias para salvar/pegar está nova opção e pronto.

Testei meio que por cima, as combinações de opções, ativar e desativar e está funcionando. Entrei em contato com o autor para ver se ele tem interesse de disponibilizar essas funções no widget dele. Bom, mesmo que ele não queira, você pode baixar o widget com as modificações aqui.

Então é isso. Quick-Flickr-Widget com randomização por tags.

Até mais,
Matheus Bratfisch

PS: Deixei a versão do mesmo como 1.2.7.2 provisoriamente, já que eu realizei as atualizações em duas etapas adicionei o .2 na versão atual do widget. Provavelmente se o autor for utilizar essa mudança a versão será outra.

Mai 06 2009

Lista encadeada, Estrutura de dados.

Saudações,

Para não perder o costume, irei postar outro exercicio resolvido em uma aula. Dessa vez o exercicio é o seguinte:
- Implemenetar o sistema de contabilidade de um mafioso. (outros detalhes continue lendo o post)

O enunciado do mesmo se encontra no "read the rest of this entry" para não deixar o post muito extenso devido ao longo enunciado.

A resolução do mesmo você pode baixar aqui.

Read more »

Mai 05 2009

Tabela de “conversão” – 2 – Organização de Computadores (INE5411)

Opa,

Então, como já falei em algum post anterior, estou cursando Organização de Computadores e estou elaborando uma tabela de conversão do livro em ingles para o portugues. Este post adiciona outras "lectures" definidas pelo professor Luiz C. V. Santos e para os que simplesmente desejam uma tabela de conversão, ela está mais completa abaixo.

PS: Para visualizar as lectures anteriores veja este post. (As lissões disponiveis são até a Prova 2 do professor.)

Para ver as novas atualizações continue lendo, não quero socar a página principal de números e coisas sem sentido para muitos.

Abraço,
Matheus

Read more »

Mai 01 2009

Windows XP, Atualizações.

Ai galera,

Viajei para a casa dos meus pais em Blumenau - SC. Vim na casa de um amigo que é usuario do ruindow$. Ele havia formatado o computador e não estava conseguindo fazer as atualizações por causa do maldito WGA (Windowns Genuine Advantage). Comecei a mecher no mesmo, fiz as atualizações que estavam disponiveis pelo site do windows update, até o momento que ele pedia pra fazer o download do WGA. Então fiz o seguinte, acessei o menu Painel de controle - Atualizações Automaticas. E configurei para apenas me notificar de notificações disponiveis. Assim depois de um tempo ele me notificou, uma lista de atualizações com a parada de genuine disponivel para deselação. Selecionei todas as atualizações menos essa. Ele perguntou se queria que ele não me lembrasse, eu escolhi para que ele não me lembrasse e vua-la. Baixando todas as atualizações sem o WGA. Em passos agora:

- Faça todas as atualizações disponiveis no site do windows update até chegar a WGA.
- Quando chegar na mesma, acesse o menu Painel de controle - Atualizações automaticas
- Configure o mesmo para notificar atualizações disponiveis
- Aqui ele notificou uma atualização, unica que não era o WGA primeiramente.
- Faça a mesma.
- Espere ele notificar novamente
- Utiliza a instalacao PERSONALIZADA (NUNCA a expressa)
- Selecione todas as atualizações menos a Windows Genuine Advantage.
- Faça as mesmas e pronto

Por hoje é isso, ah, como estou na casa dos meus pais provavelmente não postarei com frequencia, até domingo/segunda.

Abraços,
Matheus

PS: Não sou a favor da pirataria, use isso com responsabilidade. O problema é seu e do meu amigo caso reclamem de pirataria e não meu. Cautela, e software livre é bem melhor. ;)

PS2: Isso provavelmente não é ilegal, já que só utilizamos as proprias opções que o windows te fornece para não instalar o wga. Mas ter o windows pirata não é algo legal.

PS3: O Ubuntu está ai para isso. Linux - For human beings.

PS4: Documentario recomendado: Freedom Downtime. (Sobre o Kevin Mitnick)