Tag Archives: api

VCNews’ engine & apache rewrite

Today I cre­ated some new fea­tures in VCNews’ engine.

  • Upro­file sync. Now every sin­gle twit­ter and facebook’s pro­file will auto sign up with Uprofile’s account.
  • Word­Press reader
  • Yahoo! news reader
  • con­sole “panel” con­trol. I don’t like to view logs using web browser or ssh shell at “far away” servers, with this con­sole app I can apply all regexp/grep rules than I want or, bet­ter, view logs at my local Emacs. OK this is not an Engine’s stuff, but I’d cre­ate some API to that works. Mmm, yeah… It’s runs using Upro­file authentication.

Apache Rewrite

Just a few things to remember.

Reg­u­lar Expres­sion Syntax

  • ^ start of string
  • $ end of string
  • . any sin­gle character
  • (a|b) a or b
  • (…) group sec­tion
  • [xyz] item in range (x or y or z)
  • [^xyz] not in range (not x or y or z)
  • x? 0 or one of x
  • x* 0 or more of x
  • x+ 0 or more of x
  • x{3} exactly 3 of x
  • x{3,} 3 or more of x
  • x{3,6} between 3 and 6 of x
  • !(pat­tern) apply rule when URL does not match pattern

Changes…

Depois de algum tempo pen­sando vi que o mel­hor a fazer e’ mudar. Pois vamos la’:

O que entra:

dog­tags

A nova engine para gerar HTML usando obje­tos. Mais rap­ida, sim­ples e de menor tamanho. Sim­ples­mente faz tudo o que a OCGI fazia so’ que melhor.

UDB

O nosso drive se tornou algo real­mente usavel. Com os testes que real­izei esses dias eu vejo que esta’ mel­hor que o padrao antigo. UDB agora fica como padrao para “IO” em Post­greSQL e MySQL.

VCNews

O VCNews e’ um pro­jeto para ter um certo con­t­role nas midias dig­i­tais. A Engine esta’ com­pleta para o Twit­ter e Meme (Yahoo!). Falta alguns out­ros mod­u­los que ja’ estao em linha de pro­d­u­cao como Yahoo! News, Google Search e Flickr. Face­book e Orkut entram na lista porem nao sei se e’ de grande val­i­dade a entrada do Orkut. Face­book eu gosto e tem muito recurso. Ja’ o Orkut acho um pedaco de soft­ware que nao deu certo nunca, me des­culpem Orkuteiros. Mas desde sem­pre aquilo foi lento e sem uso pratico.

Com sua Engine pronta, digo que a sua API tambem esta’ pronta para o Uni­verse! Podemos usar o Twit­ter e o Meme dire­ta­mente do VCNews.

PyQt4

Agora podemos ter a saida em PyQt4. As UI sao ger­adas pelo pyuic. As saidas, threads e oper­a­coes ficam no Universe.

O que sai:

OCGI

Sim­ples­mente nao faz mais sentindo ter ele quando o sta­ble e o usavel com os novos padroes (HTML5 e cia). Depois de alguns anos vejo que a manu­ten­cao da engine OCGI nao faz sentindo. O uso de obje­tos para pro­duzir o front-end e’ otimo, porem a manu­ten­cao dos padroes usa­dos e’ muito maior nessa solucao.

DB

O drive que usava­mos para MySQL esta’ sim­ples­mente usando muito recurso para oper­a­coes grandes.

API Twit­ter

Ja’ que o VCNews entrou e esta’ sta­ble, nao vejo o porque deixar essa API na plataforma. Nao vamos dar manu­ten­cao direta nela. E quando tiver vai sair como sta­ble primeiro para a VCNews’ Engine. Logo nao e’ mais necessaria.

==

E tambem… Aban­donei o Jabber/XMPP/Gtalk. Nao vejo mais o porque usar. Nao me ajuda em nada, ape­nas atra­balha e per­tuba o desen­volvi­mento. Pre­firo o IRC. Quem ainda usa pode me achar na rede FreeN­ode, canal #mit­gnu ou pro­cure por umge­her. Para quem nao usa, mande email mesmo que respon­derei assim que conseguir.

JSCrambler

Ainda em beta, mas ofer­ece uma boa com­pres­sao alem de fazer a “grande mag­ica” (obfus­ca­tion) no JS. Estao para lan­car uma API tambem. Muito bacana.

http://www.jscrambler.com/

Universe + YQL

Dei uma olhada no YQL da Yahoo! para colo­car como um recurso do Uni­verse. Ja’ exis­tia uma API em Python para esse recurso, porem nao gostei da solu­cao e colo­quei fiz uma do zero para nosso Uni­verse. Gostei mais da solu­cao que fiz porque temos padroes na saida, entao li a doc­u­men­ta­cao inteira do Meme (primeiro da minha lista) e fiz esque­mas e obje­tos para a saida de cada resul­tado pos­sivel. Tor­nando o tra­balho de manip­u­la­cao dos dados mais facil do que ape­nas um parser de XML. Tambem fiz uma boa saida para nao uti­lizar todo o lim­ite ofer­e­cido pela YQL foi o drive direto em UDB ou XML. Antes de finalizar o mod­ulo quero colo­car um cache uti­lizando a saida do drive. Deixar o mais rapido pos­sivel a con­sulta e diminuir o uso de HTTP no server.

Tambem tenho de colo­car o Oauth para fun­cionar neste cara. Vi que a solu­cao python-yql usa o mod­ulo python-oauth, como ja’ temos um mod­ulo no Uni­verse, vou ver o que posso fazer com o nosso e porque nao, se tiver fal­tando recurso, mel­ho­rar ele.

Resumo:

  • acesso rapido e facil da YQL usando um Obj
  • retorno sim­ples de todos os resul­ta­dos pos­siveis do Meme

Para quem tem acesso: universe.Apps.Yahoo.YQL

Universe + Yahoo + feedparser

Mmm… Faz um tempo que nao dou um upgrade no Universe:

  • Y! search, colo­quei a api deles para fun­cionar no Universe
  • feed­parser, tambem esta’ disponivel nos Parses.lib

Twitter API

Depois de um bom tempo sem mudar a API do Twit­ter, tive­mos de fazer algu­mas mod­i­fi­ca­coes nela. Vamos la’…

  • saiu de dominio ape­nas da Engine VCnews e veio para base do Universe
  • gan­hou manip­u­la­coes via reg­u­lar expres­sions do conteudo
  • pos­sui ja’ um drive para escr­ever em sqlite, mysql e xml (como vem do twit­ter) para nao abusar do twitter
  • temos obje­tos: Sta­tus, Men­tions, User em sta­ble e List em unstable
  • authen­ti­ca­tion ok

O que achei bacana e’ reaproveitar a saida em difer­entes adapters. Ja’ que podemos manip­u­lar dire­ta­mente na saida dos meto­dos, podemos aplicar diver­sos esta­dos e lay­outs para a mesma “con­sulta”. Pelo o que testei con­seguimos cair em ate’ 5% o con­sumo de recurso.

Universe — URLs — Linkaaa.com


Acabei de trazer mais uma fea­ture para Uni­verse, agora com o ser­vico Linkaaa temos mini urls.  =) Ah… O ser­vico do Isgd con­tinua nas apis tambem… Usem Linkaaa.com! =)

Uprofile — Profile’s Session (Fetus)

Coisas que modifiquei:

  • cri­a­cao de novo metodo para checkar se existe o Ses­sion indicado
  • ajustes da API para novos os metodos
  • ajustes na API para tratar o novo Session’s service
  • mudanca da classe para uma sub-class do Profile

Bem a grande mudanca foi ter acesso aos Ses­sions ape­nas via o Pro­file, assim nao temos mais aque­les “erros de encon­tro” em cima de ses­sions com share entre apps.

Quero ter­mi­nar logo uma ver­sao nova sta­ble da Fetus para lib­erar para API em PHP, talvez alguem ai queira usar Upro­file em sis­temas PHP. =) E tenho varias ideias de pro­je­tos para usar o Upro­file. No caso, ape­nas dar um con­t­role via web para ele ja’ vira uma “super-agenda” de con­tatos. Ja’ que nao temos lim­i­ta­coes do que guardar no Uprofile.

Universe — Google’s Chart 0.2

Novos recur­sos:

  • Suporte a cores
  • Suporte a legendas

Exem­plo ger­ado pela Universe.App:

Ainda tenho de fazer scripts para gerar out­ros tipos de grafico e facil­i­tar o uso da App. Hoje temos de saber cada mod­elo que o Google ofer­ece de cor. =/ O prob­lema que cada tipo de grafico tem um com­por­ta­mento difer­ente na sua chamada. Pre­tendo fazer isso o mais rapido possivel. =)

Universe com Google’s Chart

Agora o Uni­verse conta com objeto do Google’s Chart!

Essa primeira ver­sao (0.1 — acabei de fazer) dessa Uni­verseApp mas ja’ retorna o chart dese­jado. Essa nova Uni­verseApp vai ser muito uti­lizado pelo VCNews, por isso mais uma Task dele feita.

Mel­ho­rias (To do)

  • Criar Uni­vers­eScripts para cada tipo de grafico.
  • Adi­cionar o recurso de cores.
  • Adi­cionar o recurso de legendas.