Sensei – Distributed Elastic Realtime Searchable Database

8/7/2010 | Tags:, , , , | Escrito por: Dirceu Pauka Jr.

Sensei é uma base de dados distribuída feita para responder esse tipo de query:

SELECT f1,f2…fn FROM members
WHERE c1 AND c2 AND c3..
MATCH (fulltext query, e.g. “java engineer”)
GROUP BY fx,fy,fz…
ORDER BY fa,fb…
LIMIT offset,count

Quase todos outros projetos open source do Linkedin fazem parte do “Sensei” e provavelmente arquiteturas de projetos menos relacionados como “Project Voldemort“. Quem já ouviu falar do Zoie também vai gostar…

Ver site do projeto



Jisp – Implementação de Lisp em JavaScript

4/7/2010 | Tags:, | Escrito por: Dirceu Pauka Jr.

Lisp foi na época de sua criação um grande avanço nas linguagens de computador. Diversos recursos disponíveis nas linguagens recentes foram criados na Lisp.

Uma característica que acho interessante no Lisp é a forma de representação de um programa ser do mesmo tipo de estrutura que é utilizado para os dados. Hoje em dia, toda linguagem possui uma certa analogia na forma de sua escrita (representação do programa) e a estrutura de dados (dados).

Jisp é uma implementação de Lisp em JavaScript. Para quem curte JS, é absurdamente interessante.

Eu realizei que JavaScript é tão parecido com Lisp que poderia ser fácil escrever um Lisp baseado em JavaScript que utiliza o parser de JavaScript do navegador em vez de escrever meu próprio parser. Brian Morearty, criador do Jisp.

http://www.ducklet.com/jisp/



Under the Hood

30/6/2010 | Tags:, , , , | Escrito por: Dirceu Pauka Jr.

Recentemente entrou em produção a nova versão do BuzzVolume. Sob o capô o “noSQL” Cassandra substituindo o antigo MySQL + Memcached. Sem processamento na base de dados e com um data store que substitui o memcached diminuímos o tempo de absolutamente todas páginas para bem pouco.

Alguns componentes estão sendo feitos em Node.js – HTTP request no meio da aplicação por exemplo – Para começar, não fazemos mais, mas em um caso extremo, enquanto o Ruby (Sinatra+Thin) chora o Node.js consome toda banda e serve vários clientes ao mesmo tempo que baixa as páginas.



PubNub – JavaScript Push API para apps real-time

16/6/2010 | Tags:, , | Escrito por: Dirceu Pauka Jr.

PubNub é um serviço que facilita a criação de aplicativos que atualizam constantemente os dados. Além de ofecer infra-estrutura “na cloud” eles oferecem um “client” JavaScript que utiliza de todas capacidades possíveis para entregar os dados rapidamente e com menos overhead.

Se o usuário suportar, até Web Sockets será utilizado.

http://www.pubnub.com/



Web-Services as Governments

14/6/2010 | Tags:, | Escrito por: Dirceu Pauka Jr.

Ótima leitura comparando empresas como Apple, Twitter e Facebook a governos:

Apple decided to eliminate third party analytics between one release and the next. That doesn’t happen in an ecosystem. The right analogy is a government.

Facebook is a government. Facebook’s users are citizens, and Facebook’s applications developers are the private companies that drive much of the economy. Apple. Twitter, Myspace, Craigslist, Foursquare, Tumblr and every other large network of engaged users (including some services of Google) plays a similar role. We have always tacitly acknowledged this. We talk about these networks as communities, communities have governments.

http://www.unionsquareventures.com/2010/06/web-services-as-governments.php



Sistema de recomendação em Ruby

13/6/2010 | Tags:, , | Escrito por: Dirceu Pauka Jr.

Fazer recomendações com algoritmos de classificação automática (data mining, machine learning) vem deixando de ser algo acadêmico e complicado. Produtos como o Google Prediction API estão surgindo e ótimas “abstrações”[1] como essa[2] que pode ser usada para fazer recomendação de conteúdo para o usuário levando em conta o grafo social.

[1] Abstração é o processo ou resultado de generalização por redução do conteúdo da informação de um conceito ou fenómeno observável, normalmente para reter apenas a informação que é relevante para um propósito particular. Wikipedia. No caso, uma interface HTTP para recomendação baseada no grafo social é uma abstração bem legal :)
[2] http://blog.theagiledeveloper.com/implementing-user-recommendations-in-rails



Node-JS

13/6/2010 | Tags:, | Escrito por: Dirceu Pauka Jr.

Node.js é um framework server-side (server-side JavaScript) para produção de aplicativos web que precisam de comunicação de rede leve e alta concorrência. Chats e aplicativos em tempo real que fazem muitas requests ou mantêm a conexão aberta para carregar mais dados são exemplos de um bom uso para o poder do Node.js

Drinking the Node.js Kool-Aid



Tio – container server focused on publish/subscribe pattern

13/6/2010 | Tags: | Escrito por: Dirceu Pauka Jr.

Tio é um “banco de estruturas” parecido com o Redis. Criado pelo brasileiro Rodrigo Strauss esse banco de dados NoSQL vem a ser tão útil quanto Redis e outros “concorrentes”.

A descrição do projeto é “a container server (key/value, list, queue), focused on publish/subscribe pattern” e a página de comparação com o Redis é no mínimo, interessante:
http://code.google.com/p/tio/wiki/Comparisons.



O moletom do Facebook

7/6/2010 | Tags:, , | Escrito por: Dirceu Pauka Jr.

Quanto você pagaria em um moletom? Mais do que centenas de reais está fora da realidade da maioria das pessoas, e com certeza boas roupas podem ser compradas com muito menos capital. Quando o assunto é moda (ou qualquer outra coisa cara), o preço dos produtos é proporcional a unicidade da peça.

US$4,050 é a quantidade de dólares necessária para adquirir esse moletom do Facebook:
Exclusive Facebook Hoodie - XL

A macumba ali dentro é bem legal mas com esse preço não dá.



Twitter Anywhere 1.1

4/6/2010 | Tags:, , | Escrito por: Dirceu Pauka Jr.

O Twitter habilitou ontem o uso da versão 1.1 da @Anywhere, a plataforma para integração do Twitter em sites de terceiros. Essa versão trás implementada toda funções mostradas na Chirp e torna útil a página:
http://platform.twitter.com/js-api.html que continha muitos métodos não implementados.