Category Archives: MitGNU - Page 2

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

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?”’

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. =)

Mudancas…

  • novo mod­elo de obje­tos no universe
  • portei os obje­tos do ShakeIt para o novo mod­elo (eles nao seguiam mod­elo universe)
  • mudei a api do Linkaaa para um novo mod­elo uti­lizando o univese.object
  • fiz um sis­tem­inha de pegar todas as cidades e esta­dos do Brasil para o ShakeIt, quero colo­car isso como um ser­vice depois. =)
  • e o mesmo sis­tema esta’ pegando esti­los de musica eletron­ica tambem para o ShakeIt
  • mel­horei o desem­penho de cache das apis para Google Chart
  • melhorei/terminei (sta­ble) sis­tema de msgs do ShakeIt, tenho de alin­har agora com o Tiveron apenas
  • temos uni­verse supernova-rc2
  • come­cei a criar uma api para upro­file tratando agenda de con­tatos — tenho de ter­mi­nar um design para imple­men­tar de verdade

Quero dar um tempo e tratar mel­hor a solu­cao de fotos que fiz para o ShakeIt, talvez criar algo mais pratico do que um sis­tema de “albuns de fotos”. Ja’ que vai ser usado para quase tudo do site.

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! =)

Algumas coisas que fiz hoje…

Hoje ate’ que foi um dia legal.

ShakeIt

  • change­Lo­ca­tion — Agora podemos con­tro­lar loca­tion dos pro­files usando Ses­sion nor­mal, esta’ apli­cado nor­mal­mente na classe, gostei do resul­tado final.
  • search — Sis­tema de busca total­mente ok! [*] Ver Uprofile =)
  • event — recome­cei a escr­ever a class de even­tos e ja’ con­nectei ao OODB

Upro­file

  • search pro­file — Gra­cas ao ShakeIt, agora o search de pro­file gan­hou um ponto a mais em per­for­mace e API pronta para uso do search. Detalhe que ele busca em qual­quer infor­ma­cao basica do pro­file retor­nando assim os encon­tra­dos. Ah, pag­i­nacao esta’ ok tambem e no caso a App tem total liber­dade de escol­her o “limit” da “query”.

VCNews

  • Refiz grande parte da Engine…
  • Novas fea­tures:
    • Men­tion — get —  Retorna info de uma Mention
    • Men­tion — getAll­Pro­file — Retorna todos os men­tions pelo pro­file X
    • Men­tion — Last — Retorna o ultimo mention
  • Come­cei a escr­ever a “cat­e­go­riza­cao” dos posts.…

MitGNU — 2007 — OLD!


Scrum!!! Mario a esquerda, eu na direita.…

Tiveron escrevendo XHTML, CSS e JavaScript no Libretto! Esse tem poderes!

Pro­gra­mando Uni­verse 0.2 nessa epoca…

As primeiras ver­soes do Uni­verse vieram desse equipa­mento… Libretto 50ct rodando Debian Woody! Fer­ra­men­tas? EMACS! =) O Libretto ainda res­pira como cliente de talk e irc aqui comigo.

Eu e o Tiveron temos de fazer um mak­ing of da Mit­GNU logo logo… =)

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.

Uprofile (Fetus) — Friends

Com o novo Design do Upro­file (Fetus) tive de rescr­ever o sis­tema de ami­gos e com isso tive­mos alguns fixeds e new features:

  • nao tem que ter a “amizade” para enviar msgs
  • a class pro­file tem todo con­t­role das amizades
  • podemos colo­car um nick­name para cada amigos
  • podemos dar um block em ami­gos chatos impedindo msgs
  • podemos criar ano­ta­cao a respeito dos amigos

O que mais gostei foi real­mente ter o con­t­role das amizades na class Pro­file, varias ideias de fea­ture ja’ vieram a cabeca como:

  • noti­fi­ca­cao quando um amigo fica online
  • “sis­tema de recados”
  • avatares (para isso quero fazer o sis­tema de fotos)
  • confirmacao/autorizacao da amizade

Prati­ca­mente esses itens e out­ros ja’ estao na minha Todo list. =)

UProfile — Fetus version

Depois de ter “ter­mi­nado” (nunca ter­mino meu ToDo List) o UPro­file Black Hole, come­cei a pro­duzir o pack que iria chamar Child. Mas com o anda­mento do ShakeIt vi que tinha alguns “defeitos” no Child. Resolvi refazer o Design da engine. Dai saiu o Fetus.

A ver­sao Fetus tem exatas 2 sem­anas de vida como Black Hole. E vi que ja’ esta’ real­mente mel­hor que a Child. Com isso, resolvi mod­i­ficar o server de QA do Upro­file para ver­sao Fetus. Todos os testes foram OK. Bem, vamos colo­car a cara a tapa Fetus esta’ como ver­sao sta­ble do Upro­file desde hoje cedo. Tudos (ShakeIt e mais alguns sites de ter­ceiros) que estao uti­lizando o UPro­file ficaram mais rapido em busca, mudanca de infor­ma­coes do pro­file e cri­a­coes de “sessions”.

Fetus tem cerca de 80 lin­has a menos, usa o frame­work Uni­verse e e’ multi-threads.

ToDo — Upro­file

  • Painel de administracao
  • Criar sis­tema Logger
  • Criar uma solu­cao para “fotos”
  • Criar uma cen­tral de con­fig­u­ra­cao e fer­ra­men­tas para o User
  • Criar algo mais “cool” com opcoes de escolha do user