MitGNU

2010/01/29

Sem inter­net

Estou a alguns dias sem me conec­tar a inter­net, e fazia tempo que nao era tao pro­du­tivo como esses dias o tempo per­dido com pes­soas em jabber/xmpp/gtalk e irc e’ muito grande. Sem falar que elas atra­pal­ham a con­cen­tra­cao, suas per­gun­tas sobre questoes de pro­gra­macao e uni­verso unix me tiram total­mente do que estou fazendo, adoro resolver prob­le­mas, todo prob­lema tem de ser visto, sem­pre. E’ com eles que voce con­segue real­mente aplicar o seu con­hec­i­mento e gan­har mais. E os seus links ao youtube e noti­cias sao um chama­riz a parar de desen­volver. Com isso estou pen­sando seri­amente em deixar para la’ IMs/irc. Vou fazer um teste sobre isso, talvez ficar sem IMs/irc por uma sem­ana ou 15 dias. E e’ com isso que vejo que o sim­ples email e’ muito bom, quando tenho real­mente tempo entro e uti­lizo alguns min­u­tos para respon­der per­gun­tas de ami­gos ou entao para escr­ever para a lista mitgnu =)

Mit­GNU

Com algu­mas mudan­cas que acon­te­ce­ram nesse final de ano, venho me con­cen­trando 100% a Mit­GNU agora, empresa que sou co-founder e vejo que tem grande futuro. O que temos de qual­i­dade de pes­soal e’ muito forte. Mas nem tudo e’ ale­gria. Tive­mos um “atraso”(?) com o ShakeIt. Nao con­sidero atraso. Bem…

ShakeIt

O pro­jeto ShakeIt nasceu de uma grande ideia do nosso CEO Rafael “HULK” Almeida. Nao irei falar o que e’ o pro­jeto ShakeIt, mas que erramos em dar um dead­line para ele. No caso o co-founder Thi­ago Tiveron escol­heu a data por ser uma data legal, 10/01/10 (100110). Fui de acordo. Pode­ri­amos lan­car com certeza uma ver­sao beta do pro­jeto para um uso e pesquisa do que pode­ri­amos estar com duvi­das sobre o plano de negocio.

Achei super legal a ideia do Tiveron de colo­car um dead­line e cor­rer atras de uma ver­sao usavel ate’ aquele ponto. Ver­dade o meu empenho na tec­nolo­gia que o ShakeIt vai usar foi aumen­tado diver­sas vezes. Ainda mais quando fiz um count­down para (as) minha(s) work­sta­tion. Toda vez que meu olho batia no canto da tela via o tempo pas­sar real­mente. Era por varias vezes motivo de jus­ti­ficar a minha ambi­cao por nao cair no sono e cod­i­ficar nesse tempo que para meu ponto de vista e’ um certo des­perdi­cio. Resul­tado come­cei a “aproveitar” mel­hor meu tempo. Come­cei a dormir exatas 4 horas por dia no max­imo. Quando me acos­tumei con­segui fazer mel­hor, dormir ape­nas na manha, sim dormia das 07:00am ate’ 10/10:30am, e em alguns dias. Escolhi eles sabado, segunda e quarta. Demorei cerca que quase 10 dias para me acos­tu­mar. Mas deu certo. Nao posso falar que era 100% pro­du­tivo como cos­tumo ser, mas se for colo­car na ponta do lapis (? colo­car na planilha) eu tive entre 75% a 95% do aproveita­mento, isso de acordo com minha/o/o planilha/trac/redmine. Com isso tive mais horas de desen­volvi­mento e ded­i­ca­cao a novas tec­nolo­gias que cri­amos na MitGNU.

E voltando a ideia do Tiveron, per­feita. So’ tem um prob­lema, eu. Tenho um grande prob­lema em falar que algo esta’ pronto, quando esta’ pronto? Quando esta’ per­feito? Nao quero algo bom, quero algo per­feito que me orgulhe de ter cri­ado e orgulho em usar e fazer com que os out­ros usem. Pas­sava dias inteiros mel­ho­rando algo que muitos falavam que estava per­feito. Mas sem­pre tem um X para mel­ho­rar. Errei nisso. Nao sou uma pes­soa de dead­lines. Sou uma pes­soa que adota a ver­sao de “estara’ pronto quando ficar pronto”. Por isso nao con­sidero um atraso nosso ao ShakeIt nao ter uma ver­sao beta para todos no dia do dead­line. Com esse pequeno “atraso” aproveitei e melhorei/refiz var­ios obje­tivos no ShakeIt nesses dias sem internet.

  • tem­plates usando dog­tag e nao mais OCGI
  • tudo esta’ em modulos
  • apliquei recurso de con­coren­cia no ShakeIt (ver universe)
  • algo­riti­mos usando novo “metodo” de threads e distribuicao
  • pages usando templates-dogtag

Uni­verse

Ajustei varias questoes no Uni­verse, primeiro de tudo refiz o mod­ulo de dis­tribuicao de proces­sa­mento. Agora podemos dis­tribuir os proces­sos em diver­sas maquinas de um modo facil. Tudo usando a mesma lib que criei em 2007. Todo processo de mel­ho­ra­mento de codigo e aplicar novos recur­sos foram no Python. Mas quero em um futuro prox­imo colo­car a mao na lib denovo.

Outro ponto bacana foi mel­ho­rar o core do Uni­verse. Agora temos um novo recurso de quando aquele modulo/objeto nao foi local­izado ou gerou um erro, nosso core procura a ultima ver­sao que aquele processo estava “certo” e refaz o proces­sa­mento usando aquele codigo. Nao estou muito certo se ira’ ser util real­mente, mas no caso imag­ino um sis­tema sendo atu­al­izado em varias maquinas, quero que cada maquina (ponto de proces­sa­mento) tenha uma copia do aplica­tivo, assim quando um processo gerar um erro, essa demanda ira’ pas­sar para a maquina a frente dela, ate’ chegar em uma maquina que o resul­tado seja pos­i­tivo, dai sim retor­nando a quem quis o processo e cam­in­har dai para frente nor­mal­mente. Nao tenho nome para esse recurso. Mas se for bem imple­men­tado, daqui a algum tempo nao teri­amos mais nos pre­ocu­par em atu­alizar tudo de uma vez ou ter as quedas de sis­tema sem usar slave. Deixarei esse recurso como unsta­ble e nao ira’ para o core da pre-stable. Quero lan­car uma nova sta­ble quanto antes para me focar mais em out­ros produtos.

  • nova ver­sao pre-stable
  • dog­tags total­mente em uso, irei tirar o OCGI quando todos os pro­du­tos estiverem usando dogtag
  • leitor de feed de word­press (WPReader)

SF

Estou bas­tante con­tente com a evolu­cao do SF. Temos var­ios novos recur­sos como download-key con­fig­u­rando a veloci­dade. Essa key per­mite que ape­nas o numero de pes­soas pos­sam usar aquela chave e quan­tos mb/s poderam abaixar. Quero mel­ho­rar o sis­tema de log do SF.

Alem de mel­ho­rar o sis­tema de log do SF, que­ria criar um recurso de quando subir um arquivo para o stor­age um sis­tema de “alerta”/msg qual­quer no twit­ter, quero aplicar isso jus­ta­mente para o UPA. Assim o pes­soal que tiver cadas­tro no UPA podera’ “espal­har” seus arquivos com maior facilidade.

VCNews

Estive revendo o back­end do VCNews, quero colo­car ele para frente. Temos var­ios recur­sos do pro­jeto final ja’. Teri­amos de ter­mi­nar o processo de app e front-end. Que estao prati­ca­mente a 0% do desenvolvimento.

Tags: , , , , , , ,

Friday, January 29th, 2010 .plan, MitGNU, SF, ShakeIt, Universe, VCNews, WPReader No Comments

2009/11/20

  • mel­horei con­t­role de sen­has do Uprofile
  • cadas­tro ShakeIt usando Upro­file working
  • mudan­cas de meto­dos do Bridge do ShakeIt para mel­hor orga­ni­za­cao e manutencao
  • shakeit total­mente usando uni­verse ver­sao supernova
  • nova OCGI, se chama (por enquanto) objects.tag, mas acho que vou chamar de DogTag

O desem­penho da ver­sao Super­nova e’ muito bom!!! Alem das lis­tas de Obje­tos estar bem maior, facil­i­tando o uso para desen­volver rapidamente.

Espero amanha fechar uma ver­sao estavel da Dot­Tag e quem sabe apre­sen­tar o novo pro­duto MitGNU… =)

Tags: , , , , , , , , , ,

Saturday, November 21st, 2009 .plan No Comments

MitGNU SI

Yeap. Voltei com o SI. SI nada mais e’ do que uma fer­ra­menta para fazer stor­age de ima­gens de um modo facil e rapido.


Antes o sis­tema tinha recur­sos de sep­a­ra­cao por albuns, cat­e­go­rias e tags. Hoje ele bem mais sim­ples, deixando assim esses recur­sos para a apli­ca­cao que ira’ uti­lizar ele desen­volver e aplicar con­forme o necessario.

Os recur­sos da ver­sao 1.0:

  • um novo sis­tema de stor­age foi desen­volvido, assim podemos ter ate’ 2^48 ou 281474976710656 arquivos por dia
  • cada app tem acesso unico as suas imagens
  • api rest simples
  • mod­i­fique a imagem antes de rece­ber… resize, trans­form e rotate

E’ isso. Irei por­tar agora o ShakeIt para uti­lizar o SI. =)

Tags: , , , ,

Friday, November 6th, 2009 .plan, SI No Comments

myUniverse…

O que seria myUniverse?

Nada mais do que alguns soft­wares que penso que vao mel­ho­rar minha vida, exemplos:

  • Agenda de contato
  • Album de fotos (Flickr — Client)
  • Cole­coes (banco de dados OO de rap­ida manipulacao)
  • Notes

Quero aproveitar o poder do Uni­verse e fazer esses soft­wares rodando tudo em um local ape­nas. A primeira fase vai ser total­mente web. A segunda fase penso em fazer um client em TK/GTK/QT ou tex­tApp. Algo que con­siga usar sem um navegador.

E com esse novo desafio come­cei a desen­volver o que seria um Notes que eu usaria. Bem eu uso o Tomboy (wikipedia) com isso devo pegar a ideia basica de fazer Notes um certo wiki pes­soal de sim­ples manipulacao.

O que ja’ tenho feito dele:

  • Note
    • Title
    • Text
    • Cat­e­gories
      • Name
      • Desc
      • Group
    • Note­book
      • Name
      • Desc

Rodando no ter­mi­nal para ver­i­ficar o que estou fazendo, ja’ tenho o basico do Notes pronto. =)

TODO…

  • Mel­ho­rar Uprofile’s API.
    • Fazer meto­dos de uso mais sim­ples para myU­ni­verse o que temos agora esta’ de bom uso mas sinto que pode mel­ho­rar muito, ainda mais com um sis­tema de ape­nas um Profile-Client.
  • Criar client web para o Notes
  • Flickr’s API
    • Trans­for­mar a API do Flickr para o Uni­verse. Ja’ que pro­du­tos da Mit­GNU e myU­ni­verse irao usar Flickr, tenho de adi­antar isso quanto antes.

Tags: , , ,

Sunday, June 7th, 2009 .plan, myUniverse No Comments

ShakeIt — Novo modelo

Depois de muito tempo sem colo­car a mao no ShakeIt, vamos voltar para ati­var ele. E com esse tempo que teve o Uni­verse teve varias mod­i­fi­ca­coes, grande parte delas na Engine mesmo, para aten­der mel­hor o pro­jeto Upro­file e agora Rents. Com isso o ShakeIt (rc1) ficou velho e fora de forma.

Com essas mudan­cas tive­mos grandes mel­ho­ras em per­fo­mace, tanto quanto acesso a banco de dados quanto na OCGI, escrita de Tem­plates e Pages e ganho de APIs (Upro­file a mais ino­vadora delas).

Voltando para ShakeIt surgiu novas facil­i­dades de criar o sis­tema, con­t­role de Ses­sion e Users dire­ta­mente no Upro­file. Nao ter­e­mos de con­tro­lar nem sal­var infor­ma­coes de users no nosso banco. Todas as infor­ma­coes que quer­e­mos guardar e uti­lizar vao ficar em um outro banco. Uti­lizando a API do Upro­file tiramos o custo do servidor-Shakeit e jog­amos no servidor-Uprofile.

Com esse corte de custo vamos poder criar mais tools e/ou ser­vices neste servi­dor sem perder performace.

Bem vamos pen­sar agora em o que uti­lizar infor­ma­coes para fes­tas e even­tos. Primeira missao.

Tags: , , , , , , , ,

Sunday, May 10th, 2009 .plan, ShakeIt No Comments