quarta-feira, 30 de janeiro de 2008

Microsoft SQL Server 2005 Express Edition + 100 Posts

Acabei de ver que estou completando 100 posts de vida... :D ...não imaginava que eu chegaria a tanto já que não gosto muito de escrever, apesar que uma das intenções do blog é isso mesmo, me forçar a escrever, e para tanto, ler mais.


O motivo desse post é que nos útimos 2 dias estive "malinando" com o MS SQL Server 2005 Express Edition (devido a um projeto que estou trabalhando), que para quem não conhece é o Banco de Dados da Microsoft na versão grátis, obviamente essa versão tem algumas restrições.



Depois de baixar e instalar o MS SQL Server Express Edition achei estranho, pois, ao procurar o "Server Manager" ou coisa parecida, não achei. Foi aí que depois de rodar um pouco na Net descobri que é necessário baixar o "Microsoft SQL Server Management Studio Express", também conhecido como "SSMSE" pra que assim seja possível manipular bancos de dados/schemas de forma visual.

Resumindo, pelo que entendi eles fizeram igual aos outro bancos free, separaram o gerenciamente visual do server-core (se é que podemos dizer assim).

Bom, não me aprofundei muito, mas já deu pra ter uma idéia das alterações. Fica então a dica pra você não se perder. ;)


flw!

segunda-feira, 28 de janeiro de 2008

Ótima dica para iniciantes: Ubuntu + Rails

Acabei de ver esse post, e achei sensacional.

Acabei por decidir compartilhar com vocês!

(http://tudoquequerosaber.com/?p=67)

Abraço!

domingo, 20 de janeiro de 2008

Agora SIMMMM! ATI Radeon Xpress 200m - Compaq V2000 - Linux Ubuntu

Aê... :D

Hoje ao abrir meu Google Reader tive uma surpresa muito agradável, vi que a ATI tinha acabado de lançar dia 18/01/2008 a versão 8.452.1 do driver para placas de vídeo.


Bom, não contei conversa, fui direto ao site e constatei na "release notes" que a versão Xpress 200 estava na lista das agraciadas com a nova versão.

Daí, fiquei emplogado pra ver o resultado e comecei a ver o que precisava para deixar a belezura do driver e do Compiz-fusion funcionando.

De cara, atualizei meu Ubuntu (já que tinha várias atualizações pendentes).

Depois fui no famoso Alberto Milone pra ver se ele já havia atualizado o Envy, mas depois de baixar e instalar constatei que ainda não estava, ele só disponibilizada até a versão 7.12.


Continuando a cantiga de grilo, baixei o driver direto da ATI e segui os passos que estavam no Wiki, que por sinal já estavam atualizados com a nova versão (os caras são rápidos, :P ainda bem!!).

E tchaRam! Fucionou! ôba! Hhuhhh! Yeah!




Ahh... essas imagens não são do meu desktop não viu.. é só pra demonstrar... :D

Tratei apenas de instalar o Emerald Theme Manager e o "Compiz configuration settings manager" para ter acesso às diversas configurações do Compiz... :D

Wowwww... agora tô feliz... =D

HAhh. quem quiser dar uma olhada em umas demonstrações do Compiz-fusion é só ir no Youtube e conferir.

Hahh.. outra coisa, pra quem não acompanhou essa saga até chegar aqui, dá uma lida nesse post.

Bem, pra não peder mais tempo, deixa eu ir brincar com ele agora...

vlw!

Forçar uma SCROLLBAR subir no Adobe Flex !

Marinheiro de primeira viagem é dose.

Ainda fazendo o projeto do Flickr PhotoAlbum com Adobe Flex, precisei mover a scrollbar da aplicação Flex para cima, forçando ela a subir sempre que fosse alterado a página a ser visualizada.

Depois de me bater um pouco para resolver esse problema bastante simples (para os mais experientes, é claro!) , consegui resolvê-lo assim:

Application.application.verticalScrollPosition = 0;

Hahh, a demora da resolução do problema aconteceu devido a minha ignorância de tentar mover a barra do componente em questão (um TileList) e não da aplicação. =P

Ahhh!!!.. e lembrem-se, documentação é tudo.

fica então a dica...

flw!

Algoritmo genérico de paginação!

Esses últimos dias estive dando continuidade ao projeto Flickr PhotoAlbum para testá-lo junto a um cliente. Depois de ter feito a base para o design, comecei a fazer o "motor" da coisa. Daí, como não poderia deixar de ser, precisei fazer um algoritmo de paginação. Dei uma procurada na net mas não encontrei nada de interessante. Então resolvi colocar a mão na massa.

No meu caso o algoritmo deveria buscar em um Vetor/Array 10 fotos de cada vez e mostrá-la em uma determinada página. A idéia é mais ou menos o seguinte: Se for selecionada a página 2 deve-se mostrar as fotos da posição 10 à 19 do vetor. Assim temos a seguinte situação.

Posições do Vetor/Array: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
Página 1 (as 10 primeiras fotos): 0 1 2 3 4 5 6 7 8 9
Página 2 (as próximas 10 fotos): 10 11 12 13 14 15 16 17 18 19


E assim por diante...

Quando comecei a fazer o algorítimo tive a MEGA SORTE de um colega aparecer aqui em casa e me passar uma dica muito boa, foi aí que revolvi compartilhar com vocês.

Ele mesmo já tinha feito tal algorítimo e depois de quebrar a cabeça e ter refatorado o código diversas vezes chegou a uma solução genéria bem legal...

A idéia é mais ou menos a seguinte:

Teremos uma variável para as páginas (algo como "paginaAtual") inciando a contagem em "0"(Zero), ou seja, para a página 1 (Um) o valor será "o"(Zero), para a página "2" (dois) o valor será 1 (Um), e assim por diante.

Feito isso, teremos uma variável (ou uma constante, já que o valor provavelmente não seja alterado) para a quantidade de elementos mostrado na página (algo como "qtdElementosPagina"), no meu caso essa variável terá o valor "10" (Dez), já que preciso mostrar "10" (Dez) fotos de cada vez.

Pronto, agora é só calcular. Se preciso da primeira página (intervalo de 0 a 9) farei o seguinte cálculo:

primeiroElemento = (paginaAtual * qtdElementosPagina)
que dá isso ===> primeiroElemento = 0 * 10 = 0

ultimoElemento = (paginaAtual * qtdElementosPagina) + (qtdElementosPagina - 1 )
que dá isso ===>>
ultimoElemento = (0 * 10) + (10 - 1) = 9

Resultando em:

primeiroElemento= 0
ultimoElemento = 9

Assim, o algoritmo resume-se a passar a página desejada e a quantidade de elementos da página para se obter o intervalo que se precisa. Só lembrando que a página desejada deve sempre ser ela menos um, ou seja, se preciso da página 5, passarei o valor 4 para a variável "paginaAtual".

Bom, obviamente essa é apenas uma das milhares formas de fazer paginação, mas já é um bom começo pra quem vai desenvolver algo nesse sentido.

é isso...

Abraço!

quinta-feira, 17 de janeiro de 2008

Problemas no upload com Rails e Flex ?!?!

Alguns dias atrás tive dificuldades em colocar pra funcionar no Railsplayground uma aplicação teste desenvolvida com Rails e Flex.

O problema basicamente era que ao ser feito o upload através do Flex, o mesmo dava um erro quando tentava criar uma pasta do lado do servidor para armazenar o arquivo.

Depois de muito pesquisar e testar acabei resolvendo de uma forma até simples.

A princípio, eu estava informando o caminho do Rails baseado na pasta public, pois havia feito uns testes aqui pelo Windows e tudo ocorria normalmente, mas, o correto (ou pelo menos o que funcionou aqui) é indicar o caminho completo da aplicação, ou seja, o caminho absoluto, algo como: "/home/usuario/porjeto_rails/public/upload", acho também que se for informado utilizando a variável "RAILS_ROOT" vai funcionar, mas isso não testei ainda.

Hah, não se deve esquecer que todas as pastas do projeto devem estar com permissão "755" (algo como "sudo chmod -R 755 /home/usuario/projeto_rails") para que tudo ocorra normalmente.

bom, fica a dica pra quem está passando por algum problema parecido.

ahh.. e o link para que você possa testar o sofware...

Vlw!

Abraço!

--------------------------

Update: Sou um animalzinho mesmo... É óbvio que tem que usar a variável RAILS_ROOT, eu é que estou ficando doido...

--------------------------

Update: Disponibilizei o código no github.

quarta-feira, 16 de janeiro de 2008

Começando do ZERO novamente! :D

Fala povo!!! :D

Esse final de semana (Sábado/Domingo - 12/13) resolvi zerar meu notebook novamente... :D Hehehe! Não, não vou tirar o Linux não... O detalhe da formatação foram dois:

1) O tamanho das partições que eu tinha deixado não ficou legal, eu tinha deixado mais para o linux, deixando assim o Windows com pouco espaço. Acabei esquecendo que tenhos ainda muitos projetos em andamento desenvolvidos em Delphi/Windows, ou seja, precisava de mais espaço.

2) Depois de rodar a net procurando prós e contras do Kubuntu / Ubuntu resolvi experimentar o Ubuntu mesmo, pois como já havia visto um comentário em um blog (que não me lembro agora), o camarada falava o seguinte... "O Ubuntu é projeto principal da Canonical, ou seja, Kubuntu, Xubuntu, Edubuntu, Gobuntu... qq coisa buntu... :D é esforço extra da empresa" ... resumindo, o investimento maior é no Ubuntu, e tudo vai rodar mais "redondamente" nele.

Depois disso, acabei vendo um colega aqui do trabalho instalando o Ubuntu no seu Notebook e Voilá... tudo funcionando redondo (inclusive o Compiz).

Então depois dessas análises malucas resolvi encarar uma ZERADA novamente. Pois bem, depois de particionar novamente e intalar o Windows, chegou a hora de instalar o Ubuntu, e...... e aí meu amigo, a paulada foi grande, não sei o que aconteceu mais logo após intalar, ao tentar entrar no Ubuntu a tela ficava preta e nada... Pensei até que fosse o bendito "/etc/usplash.conf" que não estava com a resolução correta, e realmente não estava, mas, mesmo depois dessa alteração continuava a danada da tela preta.

Pressionando "Ctrl + Alt + F1", verifiquei no terminal umas mensagens, dentre elas:

"Starting up...
Loading, please wait...
kinit: name_to_

dev_t(/dev/disk/by-uuid/c7c2ccbc-18c3-4137-9cb2-f5cc7220f73) = sda7(8,7)
kinit: trying to resume from /dev/disk/by-uuid/c7c2ccbc-18c3-4137-9cb2-f5cc7220f73
kinit: no resume image, doing normal boot..."

Ou algo parecido...

Então, mais uma andança na net e vi que não fui só eu que estava com problemas, parece que esse é um bug da versão Gutsy Gibbon, não sei ao certo, mas muitos estão tendo problemas parecidos, e a maioria não conseguiu indetificar o que foi, pra resumir, o que resolveu meu problema "parcialmente", já que ainda apresenta a mensagem mas agora carrega o sistema, foi esse link, que ensina a "recriar" uns arquivos de inicialização, tais como: "fstab", "grub" e "initramfs".

Bom, agora é configurar tudo novamente e aprender um pouco mais sobre o Ubuntu/Gnome.


Ahh.. pelo menos consegui deixar no visual que gosto, barra superior e dock (usando o gDesklets)!!! :D



Vlw!

sábado, 12 de janeiro de 2008

1o Encontro do Grupo Ruby de Paulo Afonso - BA!

Posso dizer que o Primeito Encontro do Grupo Ruby de Paulo Afonso - BA foi um sucesso!

Acabei esquecendo de postar aqui um convite para o nosso primeiro encontro, mas é que foi tudo tão em cima da hora que realmente esqueci.

O evento aconteceu durante essa semana que se passou (07 a 11 de Janeiro de 2008) das 19:30h às 22:00h e tivemos a sorte de contar com o apoio da Faculdade Sete de Setembro - FASETE (na pessoa de Gilberto Sérgio Gomes de Oliveira, Diretor Administrativo), que cedeu o um dos laboratórios de Informática para o nosso encontro.

Apesar da simplicidade do evento, notei que todos os participantes estavam muito interessados e isso me deu forças para passar os 5 dias "palestrando".

A idéia desse primeiro encontro foi mostrar aos colegas como está o mundo Ruby on Rails atualmente, visto que todos são apenas curiosos sobre o assunto.

A agenda foi a seguinte:

Dia 1 - SVN (Conceitos e uso com Tortoise SVN)
Dia 2 - Mundo Ruby on Rails (Um apanhado geral sobre as tecnologias)
Dia 3 - Ruby a Linguagem
Dia 4 - Rails o Framework
Dia 5 - TDD e Selenium IDE

Bem é isso, abaixo algumas fotos do último dia.







Aproveito para agradecer mais uma vez a participação de todos que compareceram!
(Thiago Varjão, Wellington Wanderley, Camila Gonzaga, Igor Oliveira e Marcus Vinícius)

Para quem não pôde comparecer marcaremos outros encontros, não se preocupem... :D

Abraço a todos!

Flw!

DICA: Criando um projeto Rails 2.0 com MySQL no Windows - UPDATE

Dando uma ênfase ao post (DICA: Criando um projeto Rails 2.0 com MySQL no Windows) resolvi postar também o update com a solução do problema sepradamente.

>> UPDATE 12/01


Se ao tentar executar o comando "rake db:create:all" acontecer o erro abaixo:

=================================
(in C:/testando)
rake aborted!
syntax error on line 22, col 2: ` host: localhost'

(See full trace by running task with --trace)
=================================



Verifique se o mesmo é causado pela falta de um espaço entre no nome "password" e o password propriamente dito, no arquivo de configuração do banco de dados "database.yml", ou seja, ao invés disso: "password:123" deixe-o assim: "password: 123", resumindo acrescente um espaço depois do dois pontos ":", veja figura abaixo.





Esse errinho básico foi descoberto no nosso "1o Encontro do grupo Ruby de Paulo Afonso", por mim e pelo amigo Igor Oliveira, depois de muito se bater é claro! :D Hah.. só lembrando que isso tudo no Windows... =/

É isso aí...

Abraço a todos!

Yakuake no Windows, é possível?

Fala Povo!!! :D

Desde que comecei a usar o Kubuntu, notei a necessidade de sempre estar com o terminal aberto. Notei também a necessidade de acessá-lo rapidamente, foi aí que me indicaram o Yakuake, que, nada mais é que um emulador de terminal que desce do topo da tela (estilo o jogo Quake), tudo isso pressionando F12, simples assim! :D


Bom, resolvi postar sobre o assunto devido duas coisas.

Primeiro, essa danadinho é tão prático que não sei como isso não vem padrão nos sistemas atuais.

Segundo, ele é tão viciante que ao utilizar o windows novamente teclei diversas vezes F12 esperando o terminal aparecer... :D É... o Negócio vicia mesmo! :)

Procurando uma solução para isso (pois não existe Yakuake para o Windows), encontrei duas matérias (1 , 2) que comentavam sobre o assunto.

Daí surgiu (graças a Deus) uma solução. :D

Como pode-se observar nas matérias, o procedimento é bem simples, bastando apenas instalar o AutoHotKey e configurá-lo para abrir o prompt adicionando a seguinte linha no arquivo de configuração do aplicativo.

"$F12::Run cmd"

Pronto! O mundo está a salvo novamente.. :D

Fica então a dica para emular o Yakuake no Windows... =P

Até a próxima!

Flw!

Escutando Third Day...

UPDATE 19/01/2008

Além do Yakuake, existem também outros emuladores de terminal, veja esse Link.
Um outro também conhecido é o Yeahconsole.

sexta-feira, 11 de janeiro de 2008

É bem isso mesmo... =/

Pra descontrair...



Fonte: Duke Chargista

DICA: Criando um projeto Rails 2.0 com MySQL no Windows

Essa semana tive uma experiência com o Rails 2.0 (que ainda não havia testado), mais exatamente o Rails 2.0.2. Bom, o detalhe é que nessa versão o banco de dados padrão agora é o SQLite3 e não mais o MySQL. Devido a isso fiquei confuso por alguns momentos, mas logo descobri do que se tratava.

Para aqueles, assim como eu, que estão se passando ao desenvolver um projeto Rails 2.0 com MySQL, fica então essa dica estilo cookbook :D


Ok, os passos seguintes foram feitos no Windows, pois no Linux não tive problemas (acho que devido a conexão ser via SOCKET), o único detalhe que observei na instalação Linux é que é preciso configurar a variável PATH para o Rails, mas com essa dica e essa aqui vocês desenrolam.

Vamos lá!

1- Baixar e instalar o Ruby (http://rubyforge.org/projects/rubyinstaller/)

1.1- Baixar e instalar o MySQL e o MySQL GUI Tools

MySQL
http://dev.mysql.com/downloads/mysql/5.0.html#win32


>> UPDATE 12/01

Se ao tentar executar o comando "rake db:create:all" acontecer o erro abaixo:

=================================
(in C:/testando)
rake aborted!
syntax error on line 22, col 2: ` host: localhost'

(See full trace by running task with --trace)
=================================



Verifique se o mesmo é causado pela falta de um espaço entre no nome "password" e o password propriamente dito, no arquivo de configuração do banco de dados "database.yml", ou seja, ao invés disso: "password:123" deixe-o assim: "password: 123", resumindo acrescente um espaço depois do dois pontos ":", veja figura abaixo.





Esse errinho básico foi descoberto no nosso "1o Encontro do grupo Ruby de Paulo Afonso", por mim e pelo amigo Igor Oliveira, depois de muito se bater é claro! :D Hah.. só lembrando que isso tudo no Windows... =/

flw!

terça-feira, 8 de janeiro de 2008

Google Agenda, Show de bola!!!

É.... malinando esses dias atrás de uma agenda virtual que me interessasse, dei de cara com a Agenda do Google, e mais de cara ainda vi que ela tem uma funcionalidade excepcional devido a uma coisa muito importante (pelo menos pra mim).


O Google Agenda tem suporte a SMS (TIM por exemplo) para a notificação dos compromissos, e isso é divino, basta marcar seus compromissos na Agenda e esperar ser notificado X minutos antes, além também de poder ser notificado via email, etc.

Bom, é apenas uma sugestão, mas cá pra nós... estou adorando essa brincadeira... ;) E o melhor de tudo isso... Não pagamos nada, é tudo free!!!

E viva a tecnologia.. \o/

sábado, 5 de janeiro de 2008

Kubuntu com Ati Radeon Xpress 200M! Ixe! Será que vai?

Antes de mais nada Feliz Ano Novo a todos!!!

É... parece que estou sobrevivendo. :D

Agora depois de 1 semana e meia com o Kubuntu posso contar algumas das minhas aventuras com ele. :)

Bem, essa semana que passou tive uma experiência muito intensa com o sistema, querendo ou não tenho que ver ela com bons olhos pois aprendi bastante. A história é mais ou menos a seguinte...

Ao instalar o Kubuntu, fiquei doido pra fazer funcionar o famoso Compiz-Fusion. Bom, daí começou a minha aventura, pois, a princípio, o Kubuntu não instala os drivers da Ati, devido eles serem proprietários, e é até de se compreender pois no windows não seria diferente, mas, agora na versão 7.10 existe a possibilidade de ativar o driver direto pela opção de "Drivers Restritos", como mostrado na figura abaixo.


Bem, depois de ativar a opção de drivers restritos, já é possível usufruir dos recursos de 3D da placa, que funciona sem problema algum. O detalhe é que com esse programa não é possível rodar o Compiz-Fusion, pois para funcionar ele precisa que uns "detalhes" funcionem, resumindo, podemos dizer que o compiz-fusion só funciona com o XGL ou o AIGLX , e quando rodado sobre o XGL vai se perder performance, pois o XGL roda sobre o OpenGL tornando-se mais uma camada para ser interpretada pela máquina, ou seja, o ideal é rodar o compiz-fusion através do AIGLX que está embutido direto no driver da placa de vídeo, no meu caso uma Ati.

Bom, mas como nem tudo são flores, o driver da Ati ainda está sendo desenvolvido, estando atualmente numa versão denominada 7.12. Apesar do drama todo é possível instá-lo de diversas formas, uma delas (a menos dolorosa) é através do projeto Envy de Alberto Milone. Através dele fica fácil instalar o driver, pois o mesmo se encarrega de baixá-lo direto do site da Ati e fazer todos os procedimentos, inclusive configurar o arquivo "xorg.conf".

Mas, como nada vem de graça, srrsrsrr, no meu caso não funcionou, a configuração do "xorg.conf" deu pau e eu tive que restaurar o backup do arquivo e desinstalar o Envy.

Me restou então instalar "na mão grande". =/

Baixei o driver mais novo direto da Ati (terríveis 46Mb), e segui o passo a passo do wiki do site.

Depois de tudo feito, tchan, tchan, tchan!!!! Funcionou!!!! :D , mas com um pequeno detalhe, ficou com a resolução de 1024x768 e não 1280x768 (como deveria ficar). :(

A princípio parece uma coisa simples, imaginei que pelo xorg.conf resolveria mas nada feito, fiz buscas e mais buscas na Net, encontrei pessoas com o mesmo problema, e então desisti da brincadeira, acabei desintalando o driver e ativando novamente o do repositório. :(

Bom, vou esperar sair uma próxima versão pra ver se resolvem esse detalhe.

Hahh... Se alguém souber uma solução fique à vontade para me falar.. =P

flw!

UPDATE 20/01/2008


Agora foi.. :D olhem isso.