Text

Jul 10, 2011
@ 10:52 pm
Permalink
3 notes

Realidades Alternativas

Matrix , 13 Andar , Neuromancer ,  Inception , Gamer, Todas essas obras de ficção estão centradas no mesmo tema , a expansão da realidade através do meio digital.

Esse tema esteve sempre presente em minha vida , e hoje após assistir 13 andar , cheguei a conclusão que é isso que eu quero melhorar no mundo , a primeira vez que utilizei algoritmos genéticos fiquei espantado pela possibilidade de se simular tão facilmente gerações e gerações de seres com o objetivo de se resolver determinados problemas , mais recentemente comentei com uns amigos a idéia de gerar “autômatos” não eletrônicos , que fossem capaz de resolver certos problemas através de métodos baseados nas leis do mundo real.

Hoje juntei os pensamentos e cheguei a conclusão do que eu realmente busco. Eu busco criar formas de resolver problemas reais através de realidades alternativas, no Guia dos mochileiros da galáxia ratos (que possuem um péssimo setor jurídico ao ponto de deixar uma auto-estrada destruir seu sistema mais importante) criam o planeta terra pra descobrir a pergunta para a resposta fundamental , no neuromancer pessoas de conhecimentos valiosos são para sempre armazenados em meio digital para solucionar problemas no futuro e por ai vai…

A utilização de realidades alternativas para resolução de problemas como ao simular um mundo semelhante ao nosso em sua totalidade mas que podemos acelerar ou desacelerar pode permitir descobrir mais rapidamente soluções para doenças , estudar as melhores formas de se responder a desastres , novos produtos para empresas e por ai vai , podemos mudar nessa realidade alternativa virtual variáveis que não podemos no mundo real , permitindo se criar novas coisas e ter novas visões sobre coisas ou problemas já existentes que surgiriam através da interação do mundo mundo simulado e que poderíamos extrair para o nosso mundo.

As possibilidades são incontáveis e o poder de melhorar (ou piorar) o mundo dessa tecnologia é inimaginável  ,  sendo assim , diante de tão magica possibilidade resolvi que vou me dedicar fortemente a isso , a expandir e tornar mais próximo da realidade esse cenário que citei agora a pouco.

Vou começar a pesquisar mais sobre esse assunto , ler papers e afins , enfim correr em busca desse objetivo quem sabe em 40 anos não consigo algo próximo disso rs.

Que comecem os jogos.


Text

Mar 19, 2011
@ 4:39 am
Permalink
5 notes

One Point O

Fazia tempo que eu não via um filme que fosse tão bom como “One point O” a.k.a. “Paranoia 1.0”.

A ultima vez que vi algo tão foda foi “Serial Experiments Lain”  outra série que DEVE ser assistida.

O Filme conta a história de um programador que recebe um pacote marrom vazio , diversos acontecimentos em seu prédio o deixam confuso e ele não consegue trabalhar porque aparentemente seu computador foi infectado.

E infelizmente isso é tudo que é possivel dizer sem informar nenhum spoiler é o tipo de filme que não deve ser assistido se você não estiver afim de botar seu cerebro para trabalhar , esse filme vai te angustiar , vai te sufocar e vai te fazer pensar em N coisas ao mesmo tempo.

É o tipo de filme que te levará a um nivel de confusão extremo e quando você achar que entendeu , assistirá novamente e verá mais N detalhes que mudarão boa parte do que você achou ter entendido.

Um ótimo filme , com um ótimo final e que irá te transportar para o mundo dele , onde o que valem são as regras deles.

Excelente Filme.


Text

Jan 29, 2011
@ 12:16 pm
Permalink

Dica: Dividir um diretorio em vários sub-diretorios

Estava prescisando dividir uma pasta com milhares de arquivos em varias subpastas para tal você pode usar o comando abaixo que divide em varias subpastas de 0 a 100. [comando só para linux]

ls | awk 'BEGIN { x=0;while( x<101){ print "mkdir "x; x=x+1 }  } {x=x+1; print "mv \""$0 "\" \"" x%100"/"$0"\""}' |sh

Text

Jan 18, 2011
@ 6:40 am
Permalink

2011 Resolutions

1 - Criar 2 sistemas usando : Cassandra , MongoDB , CouchDB and Redis.
2 - Otimizar cada um desses sistemas.
3 - criar sistemas com: Erlang , Lisp,Go , Io , C Cuda , ASM , Python,C , .NET and Java
4 - Publicar esses sistemas no github.
5 - Estudar Algoritmos a fundo.
6 - Fazer uma Tatuagem.
7 - Continuar melhorando minha forma física
8 - Continuar Comendo direito
9 - Ler 28 livros e publicar review no blog.
10 - Colaborar com o Core de 2 linguagens
11 - Colaborar com 2 projetos que uso.
12 - Ir a 2 conferências.
13 - Criar projeto que envolva minha região.
14 - Criar E-Zine.


Text

Jan 11, 2011
@ 11:42 pm
Permalink
4 notes

Rodando o CUDA via C Extension no ruby no MacOS X

Recentemente tive a idéia de rodar o CUDA de dentro do ruby para poder criar varias coisas legais e quem sabe desafogar a CPU nas aplicações ruby em um futuro próximo , achei então o projeto sgc-ruby-cuda no github do “xman” , clonei o repositório git e rodei , porem sem sucesso.

Após modificar um pouco o projeto para conseguir passar parâmetros pro extconf , continuava sem conseguir rodar quando então decidi igualar meu ambiente ao dele com uma pequena diferença , decidi usar o compilador da própria Nvidia já que me pareceu ser o certo a se fazer usando o GCC 4.5 para compilação do resto do código.

Depois de apanhar bastante para compilar na mão já que o extconf não deu certo , consegui segue relato de como ;)

Ficou meu ambiente:

NVidia CUDA completo instalado e funcionando (tudo que tem direito no site da nvidia)

$ nvcc —version

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2010 NVIDIA Corporation
Built on Thu_Nov_11_15:26:50_PST_2010
Cuda compilation tools, release 3.2, V0.2.1221

Pasta das libs do cuda: /usr/local/cuda/lib

Ruby v. 1.9.2 (testei a 1.8.7 e faltam algumas definições logo não dá pra usar) na pasta ~/.rvm/rubies/ruby-1.9.2-p136

GCC 4.5 (compilado via ports , a versão 4.2 da Apple não foi compatível) na pasta /opt/local/bin

[aqui eu fiz um link do G++ e do GCC compilado via port para corrigir seus nomes já que após compilados eles se chamam gcc-md-4.5 ae fiz o link pra deixar o nome correto na pasta pro nvcc achar =)]

Após estar com o ambiente devidamente configurado , clone o repositório:

git clone git://github.com/regismesquita/sgc-ruby-cuda.git sgc-ruby-cuda

Vá para a pasta sgc-ruby-cuda/lib/cuda/driver

agora você ira executar a linha abaixo substituindo os endereços do gcc e do ruby pelos de suas instalações
( Correções e Simplificações são sempre bem vindas afinal descobri a maneira abaixo , na base da porrada tentando compilar por algumas horas logo com certeza existe uma maneira mais limpa e rápida )

$ nvcc -I. -I/usr/local/cuda/lib -I~/.rvm/rubies/ruby-1.9.2-p136/include/ruby-1.9.1/ruby/ -I. -Xcompiler “-I. -I. -I/usr/local/cuda/lib -I~/.rvm/rubies/ruby-1.9.2-p136/include/ruby-1.9.1/ruby/ -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -g -Os -pipe -fno-common -DENABLE_DTRACE -fno-common -pipe -fno-common -B~/.rvm/rubies/ruby-1.9.2-p136/include/ruby-1.9.1/ruby/ -Wall ” rubycu.o -c rubycu.cu —include-path ~/.rvm/rubies/ruby-1.9.2-p136/include/ruby-1.9.1/ruby/ —compiler-bindir=/opt/local/bin —machine 64

$ nvcc -Xcompiler “-pipe -bundle -L. -L/Users/regismesquita/.rvm/rubies/ruby-1.9.2-p136/include/ruby-1.9.1/ruby/ -L/usr/local/cuda/lib -L. -lruby -lcuda -lpthread -ldl -flat_namespace -undefined dynamic_lookup ” rubycu.o -o rubycu.bundle —machine 64

Aqui voce ira acessar a versão 1.9.2 do ruby ,logo se você não fez um link ou usou a rvm , nesse momento ao invés de digitar simplesmente ruby você terá que digitar todo o path do executável do ruby 1.9.2

$ ruby -e “require ‘irb’;IRB.start($1)”

[Esse comando acima é equivalente ao irb, porem o irb do 1.9.2 não entrou na minha searchpath logo fui na unha porque era mais rápido]

e agora só dar o require passando o fullpath da sua lib no meu caso:

ruby-1.9.2-p136 :003 > require ‘/Users/regismesquita/Desktop/Gits/sgc-ruby-cuda/lib/cuda/driver/rubycu’
=> true

e pronto! voce já esta utilizando o CUDA =) só ler a documentação do projeto e começar a brincar.

Exemplo:

DEVID = ENV[‘DEVID’].to_i
d = CUDevice.get(DEVID)
CUDeviceAttribute.constants.each do |symbol|
k = CUDeviceAttribute.const_get(symbol)
v = d.get_attribute(k)
puts ” « symbol.to_s « ’ : ’ « v.to_s
end


# “This was a triumph! I’m making a note here: “HUGE SUCCESS!!”“


Video

Jan 10, 2011
@ 3:03 pm
Permalink

Great Ads Work from intel


Photo

Jan 10, 2011
@ 12:35 pm
Permalink

Essa é a melhor dica que posso dar para meu irmão físico.

Essa é a melhor dica que posso dar para meu irmão físico.


Photo

Jan 6, 2011
@ 12:34 am
Permalink
1,170 notes

thedailywhat:

Late Links:
Bikini Wednesday: Avril Lavigne and Elisabetta Canalis.
Pretty In Print: Olivia Wilde in Max; Blake Lively in Cosmopolitan Australia; Cheryl Cole in Elle UK; Emmy Rossum in Esquire; Nicole Scherzinger in FHM.
Get To Know A Hottie: Cassandra Marie Walker.
International Beauty of the Day: Anna Sedokova.
WTF: Underwear With A Built-In Penis.
The Future Is Now: Porn Face Her. (via.)
Single Serving Site of the Night: Porn for the Blind. (thanks taycia!)
Dlisted: Undreeeeess My Bod.
Filmdrunk: Mickey Rourke Removing Front Teeth to Play Gay Rugby Player.
Flavorwire: 10 Music Videos That Glamorize Drug Use. (NSFW)
Copyranter: The most safe for work porn theater ads ever.
Clutch: Meet The Man With A Snooki Tattoo.
Holy Taco:
SuperBooyah: The 10 Best Fast Food Burgers Of All Time.
Late List: 57 Whipped Cream Bikinis for National Whipped Cream Day.
[hcisws / gas.]

thedailywhat:

Late Links:

Bikini Wednesday: Avril Lavigne and Elisabetta Canalis.

Pretty In Print: Olivia Wilde in Max; Blake Lively in Cosmopolitan Australia; Cheryl Cole in Elle UK; Emmy Rossum in Esquire; Nicole Scherzinger in FHM.

  • Holy Taco:
  • SuperBooyah: The 10 Best Fast Food Burgers Of All Time.

[hcisws / gas.]

(via thedailywhat)


Text

Jan 2, 2011
@ 12:08 am
Permalink

OSDev No mac

Dicas de algumas brincadeiras com OSDev no mac:

1- Você não precisa baixar nenhum compilador , o nasm já vem com o xcode , pode digitar nasm no terminal que ele está lá =)

2- Após compilar seu programa , faça o DD para /dev/disk1 (ou numeração do seu device) e logo depois abra o disco com “fdisk -e /dev/disk1 (ou num….)” e de um “flag 1” (flag de inicialização na partição 1) e depois um “quit” (o exit sai sem salvar).

3- Antes de tirar o device , dê um diskutility eject /dev/disk1 (ou numeração do seu device)

aprendi esses 3 detalhes acima na paulada quando fazia OSDev usando um pendrive USB como midia ;) Espero que ajude quem passar pelo mesmo que eu!


Chat

Dec 24, 2010
@ 7:59 pm
Permalink

Sonhos

Regid David says: Todos dizem que devemos seguir nossos sonhos ... mas e se eu morar na elm street?

Dee Montenegro says: aí vc segue os sonhos que achar na padaria E OLHE LÁ

Regid David says: lol