Universe

2010-02-09

ShakeIt

  • scripts uti­lizando o novo mod­elo (supernova)
  • obje­tos tambem uti­lizando novo modelo

Upro­file

  • scripts usando supernova
  • obje­tos usando supernova
  • API nova OK

Tenho algu­mas ideias novas para o Upro­file e  quero imple­men­tar ao longo de amanha. Mel­ho­rar o sis­temas de msgs e como a API fala com o web-service.

Tags: , ,

Wednesday, February 10th, 2010 .plan, MitGNU, ShakeIt, Universe, Uprofile No Comments

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/12/07

Work­sta­tions

  • viper — nova work­sta­tion
  • dei um update na darth­vader e earl para a ver­sao 8.0 — FreeBSD Press Release

Para mim, o mel­hor ambi­ente para desen­volver e’ usando BSD (FreeBSD). Ate’ hoje nao achei algo melhor.

Uni­verse

  • dog­tag agora aceita lis­tas de var­ios tipos de obje­tos para criar a tag

SF

Server

  • cre­ate
  • get
  • makeKey — metodo para criar uma chave unica para o server
  • login
  • lock’s stuff — agora o sf tem meto­dos para dar um lock­down em um server, impedindo de ele gravar mais dados
  • check meth­ods — name/lock

App

  • login
  • get
  • cre­ate
  • makeKey — outra chave unica para cada app
  • check meth­ods — name/active

File

  • change
  • cre­ate
  • delete
  • get
  • getAll
  • time­stamp — trans­forma date­time em timestamp

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

Monday, December 7th, 2009 .plan, BSD No Comments

2009/12/03

Uni­verse

  • novos meto­dos de tratar sql injection

SF

  • Achei um modo mais ele­gante e mel­ho­rado de fazer o SF, vou aplicar. Come­cei ja’ a fazer a mudanca.
  • SF com tag rc1 ja’.

Tags: , , , , ,

Friday, December 4th, 2009 Stuff No Comments

2009/11/25

SF

  • app scripts
    • check name
    • login
    • get
    • cre­ate
  • app bridge
    • login
  • IO scripts
    • cre­ate
    • delete
    • read
  • file scripts
    • cre­ate
    • delete
    • get
    • getAll
    • makePath

ShakeIt

  • usando SF’s API
  • usando SI’s API

UPA

Colo­quei parte do meu .plan no Brain­storm do UPA (uploaddearquivos.com.br) para novas modificacoes.

Tags: ,

Thursday, November 26th, 2009 .plan, SF, SI, ShakeIt No Comments

2009/11/22

ShakeIt

  • cor­recao de um bug no mod­ulo footer
  • mod­ulo login usando dogtag
  • key do SI ger­ada e cadastrada
  • key do SF ger­ada e cadastrada
  • removi todos xmls que faziam con­fig do shakeit app
  • drive para mysql esta’ dinam­ico agora
  • pag­ina de busca agora com o count de resultados
  • xml de retorno da busca rap­ida limitado
  • idade retor­nando na busca
  • refur­ma­cao do Bridge para super­nova
    • check­Ad­min
    • Pro­file
      • cre­ate
      • login
      • change
      • search
    • State
      • get
      • cre­ate
      • getAll
    • Style
      • get
      • cre­ate
      • getAll
    • City
      • get
      • cre­ate
      • getAll
    • Event
      • get
      • cre­ate
      • getAll
    • Coun­try
      • get
      • change
      • cre­ate
      • getAll
    • Pages
      • Pro­file
        • show
      • Search
        • load
        • pro­file
        • spot­light
      • Index
        • load
      • User
        • box
      • Reg­is­ter
        • Signup
  • mudan­cas dos objects para o mod­elo super­nova
    • artist
    • event
    • style
    • coun­try

  • mod­i­fi­ca­coes em scripts para servir o novo mod­elo super­nova de objects
    • coun­try
      • get
      • getAll
      • cre­ate
      • change
    • state
      • get
      • getAll
      • cre­ate
    • city
      • get
      • getAll
      • cre­ate
    • event
      • get
      • getAll
      • cre­ate

Upro­file

  • busca de pro­files retor­nando resul­tado total 100% ok
  • novo metodo para retornar quan­tos anos o pro­file tem (ja’ certo para leap year)

Fun

svn com­mit 747

Tags: , , , , , , , ,

Sunday, November 22nd, 2009 .plan No Comments

2009/11/21

  • shakeit — mod­ulo de flash, estado, cidade e footer usando dogtag
  • upro­file — sis­tema de busca retorna agora total de encontrados
  • shakeit — rea­jus­ta­mento dos mod­u­los e meto­dos para mel­hor organizacao
  • uni­verse — fechamento da rc1 do dogtag
  • svn — com­mit numero 666!

Tags: , , , , , , ,

Sunday, November 22nd, 2009 .plan No Comments

WM e outros

Awe­some

Voltei a usar o AWESOME, sem duvi­das, o mel­hor de todos win­dow man­agers que exis­tem por ai. Bem talvez perca para o meu em alguns pon­tos =) (sim, ja’ fiz um win­dow man­ager do zero). Depois de certa cam­panha para eu parar de usar o Win­dow­maker (Tiveron esta’ lendo isso? Feliz?), voltei ao incrivel Awesome.

O que faz dele incrivel:

  • Very sta­ble, fast and small code­base and footprint;
  • First win­dow man­ager using asyn­chro­nous XCB library instead of the old syn­chro­nous Xlib: make awe­some less sub­ject to latency than many win­dow managers;
  • Very well doc­u­mented source code and API;
  • No mouse needed: every­thing can be per­formed with keyboard;
  • Real mul­ti­head sup­port (XRandR, Xin­erama or Zaphod mode) with per screen desk­tops (tags);
  • Imple­ment many Freedesk­top stan­dards: EWMHXDG Base Direc­toryXEm­bedDesk­top Noti­fi­ca­tionSys­tem Tray;
  • Doesn’t dis­tin­guish between lay­ers: there is no float­ing or tiled layer;
  • Use tags instead of work­spaces: allow to place clients on sev­eral tags, and dis­play sev­eral tags at the same time;
  • A lot of Lua exten­sions to add fea­tures: dynamic tag­ging, wid­get feed­ing, tabs, layouts …;
  • D-Bus support;

Com ele tenho total con­t­role de tudo no meu Desk­top ape­nas usando o teclado. Bem outro ponto legal e’ que pratico o meu Lua.

Aterm

Tambem acabei voltando a usar o Aterm. Sem­pre gostei muito do Aterm, mas sem­pre acabava usando o Xterm ja’ que sem­pre encon­tro ele em qual­quer lugar.

Meu .Xde­faults para Aterm:

aterm*transparent:true
aterm*shading:40
aterm*foreground:Gray
aterm*scrollBar:false
aterm*saveLines:32767
aterm*font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1

Resul­tado do .Xde­faults esta’ no screen shot la’ em cima… =)

SI

Agora temos um recurso muito legal para quem ira’ uti­lizar a nuvem SI para deixar ima­gens padroes da sua app/site.

Si.sprite(['image1','image2','image3'])

Podemos criar um Sprite dinam­ico! Tenho de estu­dar alguns meto­dos para aproveitar ainda mais os espa­cos em branco deix­ado pela jun­cao das ima­gens e colo­car atribuicao de preferir sprite hor­i­zon­tal ou vertical.

Work­sta­tion

Novo lay­out da minha workstation:

  • colo­quei o Libretto 50ct de volta ao tra­balho rodando uma BNC para me deixar o max­imo pos­sivel online no #mit­gnu (freenode)
  • walker (eeepc900) rodando o pid­gin, skype, irssi e um cliente syn­ergy para ter um con­t­role facilitado
  • darth­vader rodando syn­ergy server e Universe
  • earl rodando var­ios ser­vices para minha rede local como Uni­verse, UDB, stg dos meus pro­je­tos, post­gresql, bit­tor­rent e get­stream (script meu para ripar radios online)
  • bajinger rodando sync server de meus documentos
  • sarabi servindo mysql

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

Wednesday, November 18th, 2009 .plan, MitGNU, SI, Universe 1 Comment

Universe — Supernova [0]

Mudan­cas:

  • Bridge.Load - refor­mu­la­cao dos com­po­nentes (app,html,urlopen,xml)
  • Objects.Main — novos meto­dos e mudan­cas no init
  • Objects.xml — objeto para gerar xml
  • Objects.io — objecto para manip­u­lar IO
  • nao existe mais o acesso IO via universe.File (old stuff!!!)
  • String2Image foi total­mente deix­ado de lado, logo mais vai virar um ser­vice com API
  • Apps.Google.Chart — atu­al­izado para novo mod­elo de objetos
  • SI operando 100%
  • ShakeIt operando 100%
  • VCNews operando 100%
  • myU­ni­verse operando 100%

E’ isso. Exis­tem novas mudan­cas que estao em “teste”. Super­nova ainda e’ con­sid­er­ada unsta­ble por causa dessas mudan­cas que estao por vir (nao falei delas ainda). Porem gan­hamos, e muito, em facil­i­dade de desen­volver com os novos objec­tos. Exem­plo e’ que OCGI[0] agora vai ser reduzido e muito, ja’ que vamos ter ele­men­tos pron­tos direto da Universe.

Futuro (bem) proximo:

  • UDB escrevendo em disco (imple­men­ta­cao ok, quero mel­ho­rar a per­for­mace antes de soltar)
  • Pro­to­colo Uni­verse nao esta’ total­mente ok ainda e falta um nome legal
  • API para SI

Quero ver se ate’ o final da sem­ana esteja tudo ok.=)

[0] = ”‘OCGI tem que ter um novo nome… Alguem tem alguma ideia?”’

Tags: , , ,

Wednesday, November 11th, 2009 .plan, Universe 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