Vladimir Melo: Certificados digitais apenas em Windows
4 de Dezembro de 2009, 0:00 - sem comentários aindaA minha empresa precisará adotar um certificado digital a partir de 1º de janeiro de 2009 para emitir notas fiscais.
Recebi do escritório de contabilidade uma lista de empresas que emitem os certificados e-CNPJ A1 e A3. Para instalar o certificado no computador, praticamente todas as empresas exigem que o sistema operacional seja Windows XP e o navegador seja IE 6 ou 7.
As imagens abaixo ilustram bem essas condições:
Conclusão: software livre não tem vez aqui. Por essa e outras, quem tem empresa tem que ter um Windows XP (nem Vista resolve) na máquina. Parece ser o único SO que existe para a maioria dos desenvolvedores.
Posted in VariedadesHugo Doria: Script para sorteio de amigo secreto
2 de Dezembro de 2009, 0:00 - sem comentários aindaAs festas chegaram e, com elas, os amigos secretos. Para facilitar a vida dos sorteios segue um pequeno script que fiz ano passado. O script pega um lista de pessoas, sorteia e envia um email para cada uma com o nome do seu amigo secreto. Ele evita que uma pessoa pegue a si mesmo, ou alguém deixe de ser sorteado:
#!/usr/bin/env python # -*- coding: utf-8 -*- # # Script para sorteio de amigo secreto # Hugo Doria from random import shuffle import os arquivo = open("amigos.txt","r") pessoas = arquivo.readlines() shuffle(pessoas) for par in zip(pessoas, pessoas[1:] + pessoas [:1]): envia = os.popen("/usr/bin/mail -s '[sorteio] Seu amigo secreto é ...'" + par[0].replace("\n","").split("-")[1], "w") envia.write("Seu amigo secreto é .... \n\n\n" + par[1].replace("\n","").split("-")[0]) envia.close() print par arquivo.close()
Para rodar o script você só precisa do python e de um arquivo chamado amigos.txt, com o nome das pessoas dentro no formato Nome - email.
Exemplo:
Fulana - meu@email.com.br
Sicrana - sicrana@hotmail.com
Beltrana - com-cam@tal.com.br
Flamarion Jorge: Palestra 2º FSLBH
28 de Novembro de 2009, 0:00 - sem comentários aindaBom, o FLSBH não é um evento grande ainda, mas já teve duas versões, e dessa eu tive a oportunidade participar e falar sobre como traduzir o GNOME.
Eu saí de Brasília, onde moro atualmente, viajei 750 KM de carro, pra poder chegar na minha terra natal e poder falar de uma coisa que eu gosto para os meus coterraneos, vai gostar assim lá longe heim hehe… É, de fato eu gosto muito do GNOME e de BH.
Eu creio que a palestra foi bem bacana, a sala estava com cerca de 15 pessoas, ninguém saiu no meio da palestra no horário normal, e mesmo depois de atrasar 10 minutos todos permaneceram.
Foi uma experiência legal, pois eu já queria ter falado disso em público desde o ano passado quando auxiliei o VladmirMelo em sua palestra num evento em Brasília ( que me esqueci do nome agora), e dessa vez quem pode me auxiliar e me ajudar foi do Djavan Fagundes.
Tenho que esperar agora um feedback da galera para ver onde eu falhei para em outra oportunidade poder fazer melhor.
Mas estou muito satisfeito.
Preciso disponibilizar a palestra no Wiki do GNOME BR também, mas a principio vou deixa-la disponível aqui, e é quase certo que no site do FSLBH vai estar disponivel também.
Obrigado a todos que participaram da palestra, e obrigado a organização do FSLBH pela oprtunidade de falar do GNOME onde KDE era o foco (O evento estava associado ao KDE-MG).
Se quiser baixar a palestra e me xingar ou elogiar pelo conteúdo é só clicar aqui:
Licio Fonseca: segundo festival de software livre em Belo Horizonte
17 de Novembro de 2009, 0:00 - sem comentários aindaVocê que é de BH e região tem um compromisso marcado com a gente(sempre quis dizer essa frase). No dia 28 de novembro, sábado, teremos o segundo festival de software aqui em Belo Horizonte.
Teremos palestras com diferentes temáticas desde filósoficas até mais tecnicas e install fest promovendo a exorcização do seu computador =)
Infelizmente surgiram alguns imprevistos e minha palestra sobre gnome vai ficar para a proxima oportunidade, mas a programação está bem diversificada e com palestrantes de qualidade.
O evento ocorrerá na UNA a partir das 8h da manhã e oficialmente deve ir até as 18h, mas como vocês devem imaginar, extraoficialmente deve ser extendido até o dia seguinte com o tradicional e milenar GULA.
Inscrições até o dia 27 no site www.fslbh.org .
Jonh Wendell: Rounded boxes in gtk
9 de Novembro de 2009, 0:00 - sem comentários aindaDear lazyweb,
Is there a GTK+ widget that draws a box with a rounded corner, just like those found in Gwibber? And that I could put my own stuff inside it?
Or it’s possible to do this easily?
I’m afraid not, so I will have to do it in HTML/WebKitGTK.
Vinicius Depizzol: Fórum GNOME at Foz do Iguaçu
9 de Novembro de 2009, 0:00 - sem comentários aindaThanks to the GNOME Foundation, for the second consecutive year I went to Fórum GNOME, in rainy Foz do Iguaçu. (also, for the second year I had problems landing there due to the rain!).
The event was together with Latinoware, the (biggest?) Latin American free software conference. Latinoware itself went a bit strange this year. Maybe there was something wrong with organisation, or it was just the rain. The rain was so strong in the last day that almost only half of the participants went to the conference.
For the Fórum GNOME, we got a booth during all the three days and a room for talks during the entire Friday. There were always questions about GNOME 3 by users in the booth, and we spent a great time talking about that and other things with people from all Latin America.
Most of the talks had a focus in the end-user — these were most of the participants in Latinoware. Licio started with his talk explaining how to join GNOME and the GNOME Love Project. Then we got Rodrigo Flores, talking about how to contribute with translation. Alessandro Binhara did a talk about something between Mono, Mono Brasil and Star Wars , which was followed by the GNOME Women talk by Izabel and Luciana. Lastly, I did a talk about user experience in GNOME and Tiago filled the room with his talk about theming and customization.
It was awesome to see many enthusiastic friends from GNOME, Ubuntu-BR, Fedora and KDE. Also, during the conference Everaldo and I discussed a lot about how to clean the user interface of some GNOME applications. We didn’t publish it anywhere yet. But we stopped to think how to do it properly. Like what happened with Hylke’s idea for the font dialog (a designer suggested something and was implemented very quickly by a developer), we agreed it would be nice to have a ArtRequests-like page in the wiki, but for designers asking changes to be made by the developers. We still need to organize a lot of our thoughts however .
I need to say a big thank you to the GNOME Foundation and to all the people who helped the forum happen. Thank you!
Lucas Rocha: litl webbook: some technical comments
4 de Novembro de 2009, 0:00 - sem comentários aindaSo, you’ve probably seen the news: litl webbook released! It’s the result of heavy work of an awesome team! Our website has a lot of information about the product from a user perspective, so I thought it would be nice to bring an overview of the more technical aspects of the litl OS that I find specially interesting. Scott has written some technical notes about our OS too.
Javascript
Almost all UI code is written in javascript using our GObject introspection-based binding called gjs (using SpiderMonkey engine). It was a quite interesting learning experience to write a large amount of UI code in javascript. By the time we started, I think no one in the team had any real experience with javascript. So, it took some time until we all agreed on the javascript programming idioms (the flexibility of the language may “cause” a lot of inconsistencies…) and on how to better/correctly take advantage of its features. Most of what we agreed in terms of coding style is in the gjs style guide. Doing stuff in javascript (i.e. not doing the whole UI in C or any other insanity like this) allowed us to prototype, refactor, rewrite things much faster. And that was crucial for us because the ideas around the UI design changed a lot during the first months of development and we ended up rewriting large chunks of code several times on the way. Doing relatively large scale stuff in javascript definitely requires very clear and strong guidelines in order to keep the code base sane – maybe a bit more than usual.
GNOME & FLOSS stuff
The OS is heavily based on well-known open source projects. Some facts: it’s based on Ubuntu (with great support by Canonical) and the UI is all written with GNOME platform and co. As I said, almost all code is written in javascript using gjs. Most of the UI is Clutter-based. We have our own specialized window and compositing manager that was implemented with our use cases in mind. We’re definitely one of the projects with the largest Clutter-dependent code base. We use GTK+ in just a few places where we needed more complex widgets (i.e. text entry). The web browser is Gecko-based and it’s pretty much implemented as a XUL app running in a separate process than the OS chrome. We use Evince and Totem (as browser plugins), GStreamer, Network Manager, and others. One interesting fact about our development process is that, in the ~2 years of heavy hacking, we had to adapt to major changes in the upstream projects we base our OS on. So, since we started, we had to port our UI to Clutter 0.6, then 0.8, and finally 1.0; had to port gjs to use the then-new GObject introspection scanner; migrated from Network Manager 0.6 to 0.7; and maybe some other major changes that I can’t remember now. We contributed to those projects as much as possible during the process.
No storage, just caching
You probably noticed that the device has “only” 2GB of storage. That won’t sound strange if you see this from a “webbook perspective”. One of the ideas behind the product concept is that the device serves as a much improved window to the web. In other words, the device provides a simple and beautiful way to access web content – among other things. So, we are pretty much only using storage for local caching. We don’t really store any real permanent data on the device. And that brings some interesting challenges on how we implemented the OS. So we had to implement some smart ways to cache as much content as possible and expire the right bits at the right time so that the general experience is nice and smooth. Simple example: the OS provides a way to access all your Flickr photos and videos (which can be a lot of photos and videos btw) but we never permanently store anything on disk. We cache things like rss feeds, profile pictures of your litl contacts, a lot of your Flickr photos and videos, website favicons, installed channels, etc. Each type of content may use a different way of expiring items and all that needs to fit in the relatively small storage space we have. You can guess how fun it was to hack on this. Hacking on syncing was even more fun though :-)
Syncing
Another interesting aspect of the device is that each device is connected to a litl account on our servers and all your stuff (browser cards, channels, settings, contacts, etc) is always synced in our servers. That means if you lose your device and get new one, you would just need to connect your device to same account and all your stuff would be nicely restored. Additionally, multiple devices can be associated to same account. In that case, they will automatically share channels and other things. If you add channel card in one, it will automatically appear on the other. We spent quite some time working on our syncing infrastructure (client and server), dealing some relatively complex problems – especially when dealing with making UI immediately react to sync-related changes in the local and remote datastores. The server side syncing stuff (and other server-side features) is implemented with Google App Engine, some bits in Amazon S3 and Django.
Seamless system updates
The OS comes with a smart update system. No package management involved. No user action needed to get system updates. In practice, we download and install a new OS image and fetch your data again from litl servers while the system is idle. The update system falls back to current image in case something goes wrong with new OS images. The update system allows us to keep updating, adding features, fixing bugs, and then push those updates to our users in a burden-free way.
We had a lot of fun hacking on the litl webbook. It’s always great to work in a team full of very smart people. Definitely learnt a lot in the process. We still have a lot of work to do of course but I already feel very proud of what we’ve accomplished so far. Exciting times!
Update: Saying that the UI is 99,99% Clutter-based is not very accurate. It’s a bit less than that :-)
Flamarion Jorge: Fazendo o Gnome-Shell seu ambiente padrão no Debian
1 de Novembro de 2009, 0:00 - sem comentários aindaDepois de um comentário do Kov neste blog me mostrando que o Gnome-Shell está no Debian a pouco tempo, através deste POST em seu blog, me lembrei que a grande maioria dos softwares, só não me arrisco dizer todos, que estão nos repositórios do Debian, possuem um manual ou um README.Debian.
E o que isso tem haver com tornar o Gnome-Shell o ambiente desktop padrão do GNOME?
Bom foi lendo o README.Debian que eu aprendi como se faz da maneira certa.
No post anterior a este, eu dei uma dica de como instalar e fazer com que o Gnome-Shell fosse executado no ato do login do GNOME, mas venhamos e convenhamos, era uma baita gambiarra.
Era uma gambiarra por que ele fazia o gnome-shell executar quando o lgoin fosse feito e não que este fosse configurado corretamente para ser o ambiente desktop padrão, assim como o metacity/gnome-pannel são configurados normalmente.
Mas voltando ao ssunto, eu aprendi lendo o README onde está muito claro como isso dever ser feito.
Segue o trecho e o caminho para encontra-lo no seu sistema assim que seu gnome-shell estiver instalado:
A propósito, é bem encorajador
flamarion@arvore:~$ less /usr/share/doc/gnome-shell/README.Debian
…..
3. If you have enough corage…
GNOME Shell installs a .desktop file which makes it possible to make
it the default for your session, replacing metacity/gnome-panel. To
make it the default all you need to do is set the following gconf key
to ‘gnome-shell’:/desktop/gnome/session/required_components/windowmanager
Here’s the gconftool command, if you’re feeling lazy:
$ gconftool-2 -t string -s /desktop/gnome/session/required_components/windowmanager gnome-shell
Não precisa ter medo, isso funciona.
Então esqueçam a dica do .gnomerc que dei anteriormente e usem a forma correta.
Caso não tenha facilidade de fazer isso pela linha de comando você pode fazer a mesma mudança a partir do “Editor de Configurações” que fica no menu Aplicações->Sistema->Editor de Configurações, no seu Debian.
E ele tem esta cara:
Modifique a chave selecionada para gnome-shell e terá o mesmo efeito que a linha de comando sugerida pelo README.
Espero que tenha ajudado, e obrigado Kov pelo comentário que fez no post anterior e me fez ler um pouco mais a respeito e fazer a coisa da maneira correta.
Rodrigo Flores: Latinoware
30 de Outubro de 2009, 0:00 - sem comentários aindaSemana passada fui no Latinoware e foi bastante interessante. Lá palestrei sobre nossa equipe de tradução do GNOME e tive algumas experiências interessantes:
- Foi bacana rever alguns e conhecer boa parte do pessoal do GNOME Brasil. Espero vê-los mais vezes;
- Também revi o Farid, que trabalha comigo no Archlinux Brasil, ficamos de conversar mais como acabei não podendo ir no último dia devido ao atraso do motorista que ia buscar a gente no Paraguay, não conversamos ;
- As palestras também foram legais: o Lício falou sobre o GNOME Love, eu falei sobre a equipe de tradução do GNOME para nosso idioma, o Binhara falou sobre o Mono, a Izabel e a Luciana falaram sobre o GNOME Women (eu infelizmente perdi essa palestra ), o Vinicius Depizzol falou sobre a experiência do usuário no GNOME e para finalizar o Tiago falou sobre personalização do GNOME. Um ótimo conjunto de palestras ;
- Foi legal discutir coisas, tanto técnicas como não técnicas, com as outras pessoas do GNOME e de outros projetos como o Fedora. Aliás esses eventos acabam proporcionando trocas de experiências que contribuem em muito com os projetos de SL. Aliás isso é uma das coisas mais importantes de eventos como esses e tenho que ser bastante grato à Fundação GNOME por me patrocinar e ter a oportunidade de fazer coisas como essa, além de poder participar do evento e conhecer mais pessoas;
- Depois de assistir uma palestra interessante sobre o Mono com o Binhara e depois de ouvir o Everaldo falar horas e horas disso, fiquei com vontade de aprender a programar nesse ambiente;
- Conversei com o João Sebastião sobre como podemos fazer a adequação do GNOME para a nova ortografia. Para corrigir algumas coisas nas versões antigas ele fez um script que pode ser bastante útil para agilizar nosso trabalho. Próximos capítulos desta trama serão divulgados aqui neste blog em breve ;
- Conheci o Paraguay, e embora este país tenha muitos produtos interessantes a venda ele tem a pior poluição visual que já vi;
- Não consegui ver as cataratas, aliás faltou tempo para isso ;
- Minha palestra não teve um grande público, mas acho que deu para passar a mensagem da equipe. O pdf aparecerá em breve por aqui;
- Foz do Iguaçu é uma cidade bastante esquisita: lá é úmido pra caramba, escurece bem tarde e isso me faz perder a noção do tempo;
- Não gostei muito de comida Baiana. Tem muita cebola. E eu odeio cebola. Aliás, a coisa que menos comi lá foi comida paranaense;
- A organização do Latinoware também deixou muito a desejar, já fui em eventos mais bem organizados e acho que o Latinoware também podia ser;
- Agradeço a fundação GNOME por me patrocinar, ao Leonardo por me indicar para palestrar e a Izabel, que correu atrás de tudo por lá (aliás, depois que organizei junto com amigos a ida do pessoal da minha faculdade pro FISL, aprendi a agradecer as pessoas que fazem acontecer);
É isso aí Que o próximo evento venha logo e que eu tenha a oportunidade de vê-los em breve.
Bruno Boaventura: Ela chegou! E eu sou papai!
27 de Outubro de 2009, 0:00 - sem comentários ainda
Mariana nasceu dia 20 de Outubro, às 17:26h. Desde então o pai dela não dorme bem à noite.