16 de December de 2014

The Infamous Windows “Hello World” Program


The Infamous Windows “Hello World” Program (A good and archaeological post by Petzold)

ProgRefPg13

15 de December de 2014

Web Engines Hackfest 2014

For the 6th year in a row, Igalia has organized a hackfest focused on web engines. The 5 years before this one were actually focused on the GTK+ port of WebKit, but the number of web engines that matter to us as Free Software developers and consultancies has grown, and so has the scope of the hackfest.

It was a very productive and exciting event. It has already been covered by Manuel RegoPhilippe Normand, Sebastian Dröge and Andy Wingo! I am sure more blog posts will pop up. We had Martin Robinson telling us about the new Servo engine that Mozilla has been developing as a proof of concept for both Rust as a language for building big, complex products and for doing layout in parallel. Andy gave us a very good summary of where JS engines are in terms of performance and features. We had talks about CSS grid layouts, TyGL – a GL-powered implementation of the 2D painting backend in WebKit, the new Wayland port, announced by Zan Dobersek, and a lot more.

With help from my colleague ChangSeok OH, I presented a description of how a team at Collabora led by Marco Barisione made the combination of WebKitGTK+ and GNOME’s web browser a pretty good experience for the Raspberry Pi. It took a not so small amount of both pragmatic limitations and hacks to get to a multi-tab browser that can play youtube videos and be quite responsive, but we were very happy with how well WebKitGTK+ worked as a base for that.

One of my main goals for the hackfest was to help drive features that were lingering in the bug tracker for WebKitGTK+. I picked up a patch that had gone through a number of iterations and rewrites: the HTML5 notifications support, and with help from Carlos Garcia, managed to finish it and land it at the last day of the hackfest! It provides new signals that can be used to authorize notifications, show and close them.

To make notifications work in the best case scenario, the only thing that the API user needs to do is handle the permission request, since we provide a default implementation for the show and close signals that uses libnotify if it is available when building WebKitGTK+. Originally our intention was to use GNotification for the default implementation of those signals in WebKitGTK+, but it turned out to be a pain to use for our purposes.

GNotification is tied to GApplication. This allows for some interesting features, like notifications being persistent and able to reactivate the application, but those make no sense in our current use case, although that may change once service workers become a thing. It can also be a bit problematic given we are a library and thus have no GApplication of our own. That was easily overcome by using the default GApplication of the process for notifications, though.

The show stopper for us using GNotification was the way GNOME Shell currently deals with notifications sent using this mechanism. It will look for a .desktop file named after the application ID used to initialize the GApplication instance and reject the notification if it cannot find that. Besides making this a pain to test – our test browser would need a .desktop file to be installed, that would not work for our main API user! The application ID used for all Web instances is org.gnome.Epiphany at the moment, and that is not the same as any of the desktop files used either by the main browser or by the web apps created with it.

For the future we will probably move Epiphany towards this new era, and all users of the WebKitGTK+ API as well, but the strictness of GNOME Shell would hurt the usefulness of our default implementation right now, so we decided to stick to libnotify for the time being.

Other than that, I managed to review a bunch of patches during the hackfest, and took part in many interesting discussions regarding the next steps for GNOME Web and the GTK+ and Wayland ports of WebKit, such as the potential introduction of a threaded compositor, which is pretty exciting. We also tried to have Bastien Nocera as a guest participant for one of our sessions, but it turns out that requires more than a notebook on top of a bench hooked up to   a TV to work well. We could think of something next time ;D.

I’d like to thank Igalia for organizing and sponsoring the event, Collabora for sponsoring and sending ChangSeok and myself over to Spain from far away Brazil and South Korea, and Adobe for also sponsoring the event! Hope to see you all next year!

Web Engines Hackfest 2014 sponsors: Adobe, Collabora and Igalia

Web Engines Hackfest 2014 sponsors: Adobe, Collabora and Igalia

03 de December de 2014

New tablet UI for Firefox on Android

The new tablet UI for Firefox on Android is now available on Nightly and, soon, Aurora! Here’s a quick overview of the design goals, development process, and implementation.

Design & Goals

Our main goal with the new tablet UI was to simplify the interaction with tabs—read Yuan Wang’s blog post for more context on the design process.

In 36, we focused on getting a solid foundation in place with the core UI changes. It features a brand new tab strip that allows you to create, remove and switch tabs with a single tap, just like on Firefox on desktop.

The toolbar got revamped with a cleaner layout and simpler state changes.

Furthermore, the fullscreen tab panel—accessible from the toolbar—gives you a nice visual overview of your tabs and sets the stage for more advanced features around tab management in future releases.

Development process

At Mozilla, we traditionally work on big features in a separate branch to avoid disruptions in our 6-week development cycles. But that means we don’t get feedback until the feature lands in mozilla-central.

We took a slightly different approach in this project. It was a bit like replacing parts of an airplane while it’s flying.

We first worked on the necessary changes to allow the app to have parallel UI implementations in a separate branch. We then merged the new code to mozilla-central and did most of the UI development there.

This approach enabled us to get early feedback in Nightly before the UI was considered feature-complete.

Implementation

In order to develop the new UI directly in mozilla-central, we had to come up with a way to run either the old or the new tablet UIs in the same build.

We broke up our UI code behind interfaces with multiple concrete implementations for each target UI, used view factories to dynamically instantiate parts of the UI, prefixed overlapping resources, and more.

The new tab strip uses the latest stable release of TwoWayView which got a bunch of important bug fixes and couple of new features such as smooth scroll to position.


Besides improving Firefox’s UX on Android tablets, the new UI lays the groundwork for some cool new features. This is not a final release yet and we’ll be landing bug fixes until 36 is out next year. But you can try it now in our Nightly builds. Let us know what you think!

27 de November de 2014

Joining Facebook

I am really excited to announce that I’m joining Facebook in January! I’ll be bootstrapping Android UI efforts—frameworks and user-facing stuff—in the London office. There are still a lot of details to sort out but that’s the general plan.

Why Facebook? They have an amazing hacker-driven culture, they’re striving to do open source the right way, there’s a lot of space for experimentation, and they have massive reach in the Android space.

I’m really looking forward to learning a lot at Facebook. And there is so much to be done! I can’t wait to start :-)

11 de November de 2014

Help GNOME defend its trademark against Groupon

Recently Groupon announced a new tablet-based platform named “GNOME”. If you’re reading this, you probably already know that GNOME has been a big and popular free software project for the past 17 years, *and a registered trademark since 2006*.

It’s outrageous that a billion dollars company such as Groupon would not have heard of GNOME before. Even after the GNOME Foundation got in touch with them, they insisted and filed more trademark applications [1][2][3].

We have to file formal proceedings to oppose 10 of these trademark applications by December 3, 2014.  We will need 80k USD to oppose the registration of the first set of 10 applications. Thus, we need your help to raise these funds!

I already donated and hope you will too! Please, help us by donating today and spread the word through social media using the hashtag #defendGNOME!

GNOME can accept donations by paypal, check, bank/wire transfer, Flattr and Bitcoin.

UPDATE: After raising more than our 80k goal in less than 24 hours, Groupon announced that they’re now abandoning all of their 28 pending trademark applications. We did it!

Stay tuned for future updates in this matter.

10 de November de 2014

Yay, the left won! Or did it?

Originally published on politi.kov

I have been asked by a bunch of friends from outside of Brazil for my opinion regarding the recent elections we had in Brazil, and it is a bit complicated to explain it without some background, so I decided to write this piece providing a bit of history so that people can understand my opinion.

The elections this year were a rematch of our traditional polarization between the workers party (PT) and the social democracy party (PSDB), which has been going on since 1994. PT and PSDB used to be allies. In the 80s, when the dictatorship dropped the law that forbade more than 2 parties, the opposition party, MDB, began breaking up in several smaller ones.

PSDB was founded by politicians and intelectuals who were inspired by Europe’s social democracy and political systems. Parliamentarism, for instance, is one of the historical causes of the party. The workers party had a more grassroots origin, with union leaders, marxist intelectuals and marxist-inspired catholic priests being the main founders. They drew their inspiration from the USSR and Cuba, and were very close to social movements.

Lula and FHC campaigning together in 1981, by Clóvis Cranchi Sobrinho

Lula (PT) and FHC (PSDB) campaigning together in 1981, by Clóvis Cranchi Sobrinho

Some people have celebrated the reelection of Dilma Roussef as a victory of the left against the right. In my opinion that view is wrong for several reasons. First, because I disagree that PSDB and Aécio Neves in particular are right-wing, both in terms of economics and social/moral issues. Second, because I believe Dilma’s first government has taken a quite severe turn to the right in several topics that matter a lot to me. Since comparisons with PSDB’s government during the 90s has been one of the main strategies of the campaign this year, I’ll argue why I think it was actually a pretty good government with a lot of left in it.

Unlike what happens in most other places, Brazil does not really have an actual right-wing party, economics-wise. Although we might see the birth of a couple in the near future, no current party is really against public health, education and social security being provided by the state as rights, or wants to decrease state size and lower taxes significantly. It should come as no surprise that even though it has undergone a lot of liberal reforms over the last 20 years, Brazil is still a very closed country, with very high import tariffs and a huge presence of the state in the economy. There is a certain consensus about all of that, with disagreements being essentially on implementation details, not goals.

On the other hand, and contrary to popular belief, when it comes to social and moral issues we are a very conservative people. Ironically, the two parties which have been in power over the last 20 years are quite progressive, being historically proponents of diversity, minorities rights, reproductive rights. They have had to compromise on those causes to become viable alternatives, given the conservative nature of the majority of the voters.

Despite their different origins and beliefs, both parties share socialist inclinations and were allies from the onset. That changed in 1992, when president Collor, who had been elected on a runoff against Lula (who PSDB supported), was impeached by Congress for corruption. With no formal political support and a chaotic situation in his hands, Itamar Franco, the vice president, called for a “national union” government to go through the last two years of his term. PSDB answered the call, but the workers party decided against being part of the government.

Fernando Henrique Cardoso, a sociologist who was one of the leaders of PSDB was chosen to lead the Foreign Relations Ministry, but a few months later got nominated to the Economy. At the time, Brazil lived under hyperinflation of close to 1000% a year, and several stabilization plans had been attempted. Economy Ministers did not last very much in office at the time. FHC gathered a team of economists and sponsored their stabilization plan, which turned out to be highly successful: the Plano Real (“Real Plan”). In addition to introducing a new currency, something that was becoming pretty common to Brazilians by then, it also attacked the structural causes of inflation.

Lula was counting on the failure of the Plano Real when he ran against FHC in 1994, but the plan succeeded, giving FHC two terms as president. During those two terms, FHC introduced several institutional changes that made Brazil a saner country. In addition to the hyperinflation, Brazil had lived a debt crises for decades and was still in default. FHC’s team renegotiated the debts, reopened lines of credit, but most importantly, introduced reforms that made the Brazilian finances and financial system credible.

The problem was not even that Brazil had a fiscal déficit, it just did not have any control whatsoever of money supply and budget. Banks, regardless of whether they were private or public, had very little regulation and took advantage of the hyperinflation to hide monstrous holes in their balances. When inflation was gone and regulation became more strict, those became apparent, and it was pretty clear that the system would collapse if nothing was done.

Some people like to say that FHC was a president who ruled for the rich and didn’t care about the poor. I think the way the potential collapse of the banking system was handled is a great counter-example of that. The government passed laws that made the owners of the banks responsible for the financial problems, regardless of whether caused by mismanagement or fraud. If a bank went under, the central bank intervened and added enough money to protect the deposits, but that money was a loan that had to be repaid by the owners of the bank, and the owners’ properties were added as collateral to the loan. As a brazilian journalist once said, the people did not risk losing their deposits, the bankers did risk losing the banks, though. Today, we have a separate fund, filled with money from the banks, that does what the central bank did back then when required.

Compare that to countries where the banking system was saved with tax payer money and executives kept getting huge bonuses regardless, while owners kept their profits. It is hard to find an initiative that is more focused on the public interest against the interest of the rich people who caused the problem. This legislation, called PROER, is still in place today, and it came along with solid regulation of the banking system. It should come as no surprise that Brazil went through the financial crisis of 2008 with not a single hiccup of the banking system and no fear of bank runs. Despite having been against PROER back in the day, Lula celebrated its existence in 2008, when it was clear it was one of the reasons we would not suffer much. He even advertised it as something that should be adopted by the US and Europe.

It is also pretty common to hear that under FHC social questions were not a priority. I believe it is pretty simple to see that that was not the case both by inspecting the growth of social spending and the improvement of social indicators for the period, such as UN’s human development index. One area in which people are particularly critical of the FHC government is the investment on higher education, and they are actually quite right. Brazil has free Federal universities and those did not get a lot of priority in the 90s. However, I would argue that while it is a matter of priorities, it is not one of education versus something else, but rather of what to invest on inside education. The reality is basic education was the priority.

When FHC came to power, Brazil had a significant number of children who were not going to school at all. The goal was to make access to schools universal for young children, and that goal was reached. Every child has been going to school since the early 2000s, and that is a significant achievement which reaches the poorest. While the federal universities are attended essentially by the Brazilian elite, given the difficulty of passing the exams and the relative lack of quality of free public schools compared to private ones, which is still a reality to this day, investment on getting children to even go to school for the early years has a significant impact on the lives of the poorest.

It is important to remember that getting every child to go to school is also what gave birth to one of the most celebrated programs from the Lula era: Bolsa Família (“Family Allowance”) is a direct money transfer to poor families, particularly those who have children and has been an important contribution to lowering inequality and getting people out of extreme poverty. To get the money, the families need to ensure their children are 1) attending school and 2) getting vaccinated.

That program comes from the FHC government, in which it was created with the name Bolsa Escola (“School Allowance”), in its turn inspired by a program of the same name by governor Cristovam Buarque, from PT. What Lula did, and he deserves a lot of credit for this, was to merge a series of smaller programs with Bolsa Escola, and then expand the program to ensure it got to more and more people. Interestingly, during the announcement of the program he credited the idea of doing that to a state governor from PSDB. You can see why I think these two should be allies again.

When faced with all these arguments, people will eventually say that FHC was bad because he privatized companies and used orthodox economic policies. Well, if that is what it takes, then we’ll have to take Lula down with him, because his first term was essentially a continuation of FHC’s second term: orthodox economic policies to keep inflation down, along with privatization of several state-owned companies and banks. But Lula, whom I voted for and whose government I believe was a good one, is not my subject: Dilma is.

On Lula’s second term, Dilma gained a lot of power when other major leaders of PT went down for corruption. She became second in command and started leading several programs. A big believer in developmentalism, she started pushing for a bigger role of the state in the coordination of the productive sector, with a clear focus on growing the industrial base.

One of the initiatives she sponsored was a sizable increase on the number and size of subsidized loans given out by the national development bank (BNDES). Brazil started an unnofficial “national champions” program, where the government elected a few big companies to get a huge amount of subsidized credit.

The goal was for these selected firms to get big enough to be competitive on the global market. The criteria for the choices is completely opaque, if it even exists, and includes handing out milions in subsidized credit for Eike Batista, who became Brazil’s richest enterpreneur for a while, and lost pretty much everything when it became clear the oil would not be pumping out of his camps after all, sinking with them a huge amount of public funds invested by BNDES.

The way this policy was enacted, it is unclear how much it really costs in terms of public funds: the Brazilian treasury emits debt to capitalize, lends that money to BNDES with higher than market interest, and BNDES then lends it out to the big companies with a lower than market interest rate. Although it is obviously unsustainable, the problem does not yet show in the balance because the grace period for BNDES debt with the treasury is 2040. The fact that this has a cost and, perhaps more importantly, a huge opportunity cost is not clear because it is not part of the government budget. Why are we putting money in this rather than quadrupling Bolsa Família, which studies show generates 1,78 reais in GDP for every 1 real invested? Worse, why are we not even updating Bolsa Família enough to cover inflation?

When Dilma got elected in 2010, the first signs were pretty bad. She was already seen as someone who did not care much for the environment, and on her first month in power she made good on that promise by pushing to get the Belo Monte Dam building started as soon as possible regardless of conditionalities being satisfied. To this day there are several issues with how the building of the dam is going: the handling of the indigenous people and the small city nearby are lacking, conditionalities are not met.

Beyond Belo Monte, indigenous leaders are being assassinated, deforestation in the Amazon forest has increased by 122% in 2014 alone. Dilma’s answer to people who question her on these kinds of issues is essentially: “would you rather not have electric power?”

Her populist authoritarian nature and obsession with industry are also pretty evident when it comes to her policies in the energy area as a whole. She showed up in national tv on the eve of our independence day celebration to announce a reduction in electric tariffs, mainly for industry, but also for homes. Nobody really knew how. The following week she sent a fast-track project to Congress to automatically renew concessions of power grid operators, requiring those who accepted it to lower tariffs, instead of doing an auction, which was already necessary anyway because the concessions were up on 2015. There was no discussion with stakeholders, there was just a populist announcement and a great deal of rhethoric to paint anyone who opposed as being against the people.

And now, everything went into the crapper because that represented a breach of contract that required indemnification, and we had a pretty bad drought that made power more expensive given the need to turn on the thermal generators. Combining the costs of the thermal generation, indemnity, and financial fallout that the grid operators suffered, we are already at 105 billion reais and counting, nobody knows how high the cost will reach. Any reduction in tariffs has long been invalidated. And the fact that industry has lowered production significantly ends up being good news, we would probably be under rationing already if that was not the case.

You would expect someone who fought a dictatorship to be pretty good in terms of human and civil rights. What we see in reality is a lack of respect for those things. During the world cup, Dilma has put the army on the streets and has supported arbitrary behaviour from state polices throughout the country. They jailed a bunch of demonstrators preemptively. No shit. The would be demonstrators were kept in jail throghout the tournament under false accusations. Dilma’s Minister of Justice said several times that the case against them was solid and that the arrests were legal, but it turned out the case simply did not exist. Just this week we had a number of executions orchestrated by policemen in the state of Pará and there is zero reaction from the federal government.

In the oil industry, Dilma has enacted a policy of subsidizing gas prices by using a fixed price that used to be lower than the international prices (it is no longer the case with the fall in international prices). That would not be a problem if Brazil was selfsufficient in oild and gas, which we are not: we had to import a significant amount of both. The implicit subsidy cost Petrobrás a huge amount of cash – the more gas it sold, the bigger the losses. This lead not only to decreasing the company’s market value (it is a state-controlled, but open company), but to reducing its capacity of investment as well.

That is more problematic than it sounds because, with our current concession model, every single oil camp needs to have Petrobrás as a member of the consortium. Limiting the company’s investment capacity limits the rate at which our pre-salt oil camps can be explored and thus the speed at which we can become selfsufficient. Chicken and egg anyone?

To make things worse, Dilma has made policies that lowered taxes on car production, used to foster economic activity during the crisis in 2008-2010, essentially permanent. This lead to a significant increase in traffic and polution on Brazilian cities, while at the same time increasing the pressure on Petrobrás, which had to import more and more gas. Meanwhile, Brazilian cities suffer from a severe lack of mobility infrastructure. A recent study has shown that Brazil has spend almost twice as much subsidized money on pro-car policies than on pro-mass transit projects. Talk about good usage of public funds.

One of the only remaining good news the government was still able to mention was the constant reduction in extreme poverty. Dilma was actually ellected promising to erradicate extreme poverty and changed the government’s slogan to “A rich country is a country with no poverty” (País rico é país sem pobreza). Well, it turns out all of these policies caused inequality and extreme poverty both to stop falling as of 2013. And given the policies were actually deepened in 2014, I believe it is very likely we’ll see an increase in both when we get the data for 2014, next year.

Other than that, her policies ended up being a complete failure. Despite giving tax benefits to several sectors, investment has fallen, growth has fallen and inflation is quite high at 6,6% for the last 12 months. In terms of minorities, her government has been a severe set back, with the government going back on educational material against homophoby saying it would not do “advertisement of sexual choice”, and going back on a decree that allowed the public health system to perform abortions on the cases allowed by the law (essentially if the woman has been raped).

Looking at Dilma’s policies, I really can’t see that much of the left, honestly. So why, you might ask, has this victory been deemed a victory of the left over the right? My explanation is the aura the workers party still manages to keep over itself. There’s a notion that whatever PT does, it will still be more to the left than PSDB, which I think is just crazy.

There is also a fair amount of idealizing Dilma just because she is Lula’s protegé. People will forgive anything, provided it is the workers party doing it. Thankfully, the number of people aligned on the left that supported the candidate from PSDB this election tells me this is changing quite rapidly. Hopefully that leads to PT having to reinvent itself, and get in touch with the left again.

11 de October de 2014

Um Trabalho a Troco de nada? A resposta da comunidade GNOME para Jô Soares e Bill Gates à luz da teoria da Dádiva

Sete anos após uma  apresentação feita no IV Fórum GNOME em 2007 com esse mesmo título, finalmente, eu consegui publicar, em parceria com Genauto França Filho (meu orientador de Doutorado), o resultado da pesquisa que tentou responder uma questão que ronda o ecossistema dos projetos de software livre: "quem pode se permitir fazer um trabalho profissional a troco de nada?"  Mais especificamente, esse artigo foi publicado na revista (acadêmica) Sociologias - uma publicação quadrimestral do Programa de Pós-Graduação em Sociologia da UFRGS, destinada a promover intercâmbio entre cientistas sociais.

No entanto, é importante ressaltar que essa questão norteadora da nossa pesquisa foi, inicialmente, levantada por Biil Gates na histórica "Carta Aberta aos Hobbistas" escrita em 1976  - um ano depois da fundação da então "Micro-Soft". Além dele, quatro décadas depois, mais especificamente em outubro de 2006, ela foi "remixada" por Jô Soares, no seu programa de televisão. Em uma de suas entrevistas, ao ser informado pelo Sérgio Amadeu (Prof. da UFABC) e pelo Júlio Neves (Prof. da UNiRio) sobre um possível engajamento voluntário de hackers ligados ao projetos de software livre, Jô Soares ressalta que, na visão dele, "por trás do fato do que é dado (software) de graça há uma intenção de ser vendido. (...) ou é um pessoal que é tudo monge Franciscano?"

O ponto de partida desse artigo que escrevemos na Sociologias é que ainda são poucos os estudos que procuram analisar as características e a natureza desse novo contexto digital (de relações mediadas por dispositivos móveis como computadores, tablets e celulares) para além de um entendimento que tem como base apenas as noções de uma racionalidade utilitária ou do simples interesse econômico. Afinal, podemos dizer que mais recorrente do que esse tipo de pergunta é o tipo de resposta comum (e apressada) que diz que "ninguém trabalha de graça" ou que "sempre há um interesse financeiro nisso tudo".

Para evitar os limites de uma única forma de resposta "apressada" (para não dizer "equivocada") e, com isso, restringir a compreensão sobre a ação dos hackers nesses projetos, avaliamos que era importante respondê-la com um olhar mais científico e aprofundado. Assim, realizamos uma análise mais qualitativa sobre esse "fenômeno" que se apoiou em uma pesquisa de dois anos na comunidade do Projeto GNOME. Essa pesquisa resultou então na minha dissertação de mestrado na UFBA, em um dos capítulos do livro "Software Livre, Cultura Hacker e Ecossistema da Colaboração" e agora nesse artigo publicado na Revista Sociologias.

Membros da Comunidade GNOME por Louis Villa

Em termos de publicação, o diferencial então dessa edição v. 16, n. 36 (2014) da Revista Sociologias é o resgate da obra maussiana que fundamentou conceitualmente essa pesquisa sobre o Projeto GNOME - e, agora, serve também de base do meu projeto de Doutorado. Esse resgaste se dá no contexto de surgimento de uma crítica anti-utilitarista dentro do universo das ciências sociais contemporâneas, a qual foi concretizada pela fundação do MAUSS (Movimento Anti-Utilitarista nas Ciências Sociais).

Contudo, vale ressaltar que esse paradigma sociológico da dádiva busca ir além: mais do que a importância da sua vertente analítica, o MAUSS demonstra ser uma corrente sociológica implicada com a produção de pesquisas que se desenvolve a partir de um paradigma basilar, não apenas nas sociedade tradicionais como também para a sociedade contemporânea: a vida associativa e, em especial, a tripla ação de compartilhar, receber e retribuir. Vale então conferir essa edição da Sociologia da Dádiva na íntegra. 

02 de October de 2014

Recovering lost files after a git reset –hard

This morning I’ve messed things up in my env…

I did a commit yesterday and thought I had pushed it, but not.
Today I did a git pull and was asked to do a merge, because there were changes in the remote.

I totally ignored this (don’t ask me why, perhaps absence of coffee…) and did a git reset –hard HEAD^^

So, yep, I lost my commit that existed only in my machine (this commit in particular was a file addition).

After blaming myself a lot, and a bit of google search, I’ve found this amazing blog post: http://zsoltfabok.com/blog/2012/06/recover-deleted-files-with-git/

I’m summarizing here the steps to have your commit (in my case, the file) back:

git fsck --no-reflog

This command will return a hash for the lost commit, something like

dangling commit fafeade9f348b18f37835ab49dab40172efde693

You can use this hash to do a checkout, for instance, and recover your file. \o/

So, let’s have a bit of coffee now :)

01 de October de 2014

Moving on

[ENGLISH]

Hi guys, I’d like to share with you the news that my family and some friends already know: Since last month I’m not working at Intel anymore.

For those whom don’t know my history, I’ll summarize it here:

  • About 3 years ago I left my home city to the biggest one in Brazil (São Paulo) to experience a full time Linux job
  • The instability of my department at the time led me to look for another job; Then I got that opportunity at Intel
  • Intel OTC office is located in Campinas (120km far away from São Paulo)
  • After more than one year having to travel about 240km every day I had to make a decision: Move to Campinas or leave Intel.

It was not an easy decision. I have a family and I didn’t want to affect them again with a city change. On the other side, Intel is a great company and people at OTC Campinas are amazing.

So, two weeks ago I started working for an IT Security company, working again with Embedded Linux and with Open Source technologies. Oh, 8km (15 min) far from my home :).

That’s it, I hope to blog a bit more now, as I used to do in the past. See you!

 [PORTUGUÊS]

Oi gente, gostaria de compartilhar uma novidade com vocês, que minha família e alguns amigos já sabem: Desde o mês passado que eu não trabalho mais na Intel.

Pra quem não conhece minha história, vou resumir aqui:

  • Cerca de 3 anos atrás eu mudei de Maceió, minha cidade natal pra São Paulo, pra trabalhar exclusivamente com Linux
  • Alguns problemas no meu departamento me levaram a buscar outro trabalho; Aí que entra a Intel
  • O escritório onde fui alocado (OTC, Open Source Technology Center) fica em Campinas, distante 120km de São Paulo
  • Depois de mais de 1 ano viajando cerca de 240km todos os dias eu tinha que tomar uma decisão: Mudar pra Campinas ou sair da Intel

Com certeza não foi uma decisão fácil. Tenho uma família e não queria afetá-los com mais uma mudança de cidade. Por outro lado, a Intel é uma ótima empresa e o pessoal do OTC Campinas é ótimo.

Então… duas semanas atrás comecei a trabalhar para uma empresa de segurança em TI, voltei a trabalhar com Linux embarcado e com Open Source de fato. Ah, e a 8km (15min) de casa :).

É isso, gente. Espero voltar a blogar com mais frequencia, como no passado. Até mais!

11 de July de 2014

Attending GUADEC 2014

It’s been one of the toughest semesters I’ve ever gone through. I’m writing my graduation thesis, working, watching the World Cup, and taking classes. Besides all of that, I’ve been working hard to finish my duties before the end of July because that’s when we are having GUADEC.

Everything is ready for GUADEC 2014 in Strasbourg, France.

I’m attending the Documents & Photos BoF. Also, I’d like to engage in some GNOME Music hacking as well. And last but not least, I will be revenging Brazil in our annual football match.

I’d like to thank the GNOME Foundation and the travel committee for sponsoring my trip.

gnome_foundation_sponsor

10 de April de 2014

Barra de progresso no APT

No Ubuntu Trusty 14.04 Beta Final chegou com diversas atualizações  importantes, como o Mesa 10.x, Kernel 3.13.xe, etc… Dentre essas, o gerenciador de pacotes Debian, o APT (Advanced Package Tool) foi atualizado para a versão 0.9.15.x que possui um recurso de barra de progresso chamado Progress-Fancy. Com ela podemos visualizar o status do processo de instalação, remoção e atualização dos pacotes.

Esta barra de progresso está disponível, porém não vem habilitada por padrão. Para ativá-la, basta abrir o seu terminal e executar:

echo "Dpkg::Progress-Fancy \"1\";" | sudo tee -a /etc/apt/apt.conf.d/99progressbar >/dev/null

Pronto! Agora toda vez que você for instalar, remover ou atualizar programas através do apt ou apt-get, aparecerá uma barra de progresso como na imagem abaixo (Clique para ampliar):

progress

Observação: Atualmente só funciona com o Ubuntu 14.04 e derivados.

Até a próxima!

01 de April de 2014

FLISOL 2014 – Salvador

FLISOL - Salvador

O Festival Latino Americano de Instalação de Software Livre – FLISol é um evento internacional, realizado anualmente, e que ocorre de forma simultânea em diversas cidades da América Latina. O Flisol é um evento descentralizado, onde diversas comunidades organizam e realizam seu festival, de forma voluntária, tendo como principal objetivo promover o uso de software livre, apresentando sua filosofia, alcance, avanços e desenvolvimento ao público em geral.

O Flisol acontece, historicamente, no 4º sábado de abril (em 2006 foi no 25 de março; em 2007, 28 de abril; 2008, 26 de abril; 2009 e 2010, no dia 24 de abril; 2011, no dia 9 de abril; 2012, no dia 28 de abril). O Flisol 2014 está marcado para o dia 26 de abrl na faculdade AREA1.

O evento é gratuito e aberto a todo o público: curiosos, interessados e amantes do Software Livre. Nesse dia os voluntários propõe a instalação de Software Livre, como distribuições de Gnu/Linux, sistemas BSD, e aplicativos livres para Windows em geral. Alguns eventos também contam com palestras, oficinas, sala de degustação e gravações de mídias (live-CD/DVD e/ou pendrives).

Programação do evento Endereço da Área1
Te vejo por lá! ;)

Quer saber se a sua cidade também terá o FLISOL? Clique aqui e saiba onde vai rolar o FLISOL pelo Brasil a fora…

Atualização: Realize sua inscrição no FLISOL Salvador, clicando aqui!

Obs.: Este post é melhor visualizado acessando direto da fonte: Blog do Ubuntuser

25 de March de 2014

Confira novidades da versão 0.46.0 "Uaris" do Noosfero!

 

Neste mês de fevereiro foi lançada uma nova versão do Noosfero, plataforma web livre para redes sociais. A versão 0.46.0 foi batizada de Uaris e conta com 14 novidades, entre melhorias de recursos e novas funcionalidades.

O Noosfero é uma plataforma web livre para redes sociais e redes de economia solidária na internet que agrega as funções de blog, Sistema de Gerenciamento de Conteúdo (CMS), chat, fórum, portfólio eletrônico, produção e consumo de feeds RSS, agenda de eventos etc. O Noosfero é também um projeto de software livre, com licença GNU Affero General Public License, desenvolvido pela Colivre com a contribuição de uma comunidade de desenvolvedores/as que garantem o lançamento de novas versões constantemente.

Entre as últimas melhorias para os/as usuários/as estão novos blocos, opções de layout e formas de recuperação de senha. Confira as novidades da versão 0.46.0 Uaris!

 

Novo botão para restaurar página inicial

Já se foi o tempo em que era preciso remover o artigo que estava como página inicial para ter nossa homepage de volta para o padrão da página de perfil. Agora, no Gerenciador de Conteúdos, há um botão com a opção "Restaurar página inicial". Ao clicar nele, a homepage do site volta a ser a página de perfil.

 



Recuperação de senha

O/A usuário/a não precisa mais ficar limitado a preencher seu login e e-mail para recuperar sua senha. Agora basta apenas preencher uma das opções.

A página também foi melhorada com a possibilidade para que plugins incluam novos campos de recuperação de senha. Como você pode ver na imagem abaixo, o StoaPlugin adicionou o campo "Número USP" como novo campo disponível para recuperação de senha.

 



Plugin para adicionar bloco para conteúdos recentes

Temos uma nova forma de mostrar nossos conteúdos mais recentes. É através do Plugin de Conteúdo Recente. Este plugin adiciona um novo bloco que mostra o conteúdo recente de um dos blogs do usuário.

 

 


Exceção para conteúdos privados

Este recurso permite que os/as usuários/as definam quem pode acessar seu conteúdo privado. Esta é uma boa maneira de garantir maior privacidade de conteúdos.

 

 

Bloco principal editável

Agora o Bloco Principal pode ser editado pelo/a usuário/a sem improvisos nem quebra-galhos. Os blocos passaram a fluir normalmente entre as caixas laterais e o box principal.

 

Inserção de imagem de capa no blog

O/A usuário/a está habilitado/a a adicionar uma imagem de capa para seu blog. Esta imagem é exibida no cabeçalho da página de visualização do blog.

 



Ambiente para gerenciamento de integrantes

O ambiente de administração agora é capaz de gerenciar todos os usuários. Na página de gerenciamento, é possível procurar por usuários, usar filtros para administradores ou usuários comuns, e usuários ativos ou inativos. O ambiente também permite transformar um usuário em administrador ou em usuário comum, além de ativar ou desativar usuários. Na mesma página, é possível exportar os usuários em forma to CSV ou XML.

 

Nova opção de layout

Uma nova opção de layout com coluna à esquerda junto com o rodapé foi adicionada à lista de layouts personalizados oferecidos pelo Noosfero.

 



Filtros para gerenciamento de grupos

Agora, na página "Gerenciar Grupos", o/a usuário/a é capaz de filtrar os grupos de acordo com a relação que tem com eles - se administrador, moderador ou integrante, por exemplo.


Bloco de vídeo

Boas notícias! Agora temos um Bloco de Vídeo. Esse bloco é gerado pelo Plugin de Vídeo e permite que o/a usuário/a faça referência a vídeos do Vimeo, Youtube ou Webm e incorpore-os ao bloco. Isso facilitará a vida de muitos usuários.

 

 

Melhorias na ferramenta Calendário

Nosso calendário recebeu mais atenção e ganhou melhorias em sua interface.


Novo bloco "Conteúdo Contextual"

Outro bloco é o Conteúdo Contextual, que agrupa os conteúdos a partir do contexto/tipo. Este bloco mostra "os filhos" do conteúdo que está sendo visualizado no momento pelo/a usuário/a. Ele também permite a escolha de qual tipo de conteúdo deve ser exibido.

 


Bloco que mostra o caminho de navegação

O bloco Breadcrumbs exibe o caminho de navegação percorrido pelo/a usuário/a. Isto permite uma navegação simples e rápida pelos conteúdos. Embora ainda faltem alguns ajustes, a ferramenta já está funcionando e pode ter sua aparência totalmente personalizada.

 


Para desenvolvedores: Ambiente de configuração para definir tamanho máximo de carregamento

Essa vai para os administradores do sistema! Depois de um longo tempo codificando o bom e velho 5mb como tamanho máximo de upload, nós temos agora uma maneira para os administradores do sistema definirem o tamanho máximo de upload para uma instalação Noosfero. Ainda não temos a possibilidade de ter vários ambientes no mesmo sistema com diferentes tamanhos máximos de upload, mas estamos a um passo disso. Esta configuração está em config/noosfero.yml e você pode ver um exemplo de como fazer isso no arquivo config/noosfero.tml.dist.

 

Para o lançamento desta versão do Noosfero, foi imprescindível o trabalho do pessoal do Serviço Federal de Processamento de Dados (Serpro), empresa brasileira considerada uma das maiores organizações públicas de TI no mundo. Obrigado galera!

 

Fonte: http://noosfero.org/pub/Development/NoosferoVersion00x46x00

18 de October de 2013

OpenWRT – Primeiros Passos!


OpenWrt

Recentemente boa parte do meu trabalho ou talvez 95% do tempo tem sido com a plataforma OpenWRT, e tem sido feito diversos hackings, melhorias e afins. pretendo ao decorrer do tempo livre desenvolver materiais falando sobre o assunto desde como montar um “Media Center” utilizando seu roteador de internet a outros diversos hacks!! ;)

09 de September de 2013

ANÚNCIO: Final do Planeta GNU/Linux Brasil

The End

Em 2008, depois de algumas discussões sobre o tipo de conteúdo que meu blog estava gerando em alguns agregadores nacionais, eu tomei a decisāo de criar meu próprio agregador com o seguinte objetivo:

Planeta GNU/Linux nasceu da minha necessidade de querer ler blogs de pessoas relacionadas ao movimento Brasileiro de software livre, mas sem a censura bitolada que outros agregadores de blogs usam para filtrar o conteúdo que é publicado.

O critério para entrar no Planeta é super simples: eu tenho de gostar do material! Ao contrário dos outros agregadores que geralmente são vinculados a comunidades ou distribuições, este site aqui é completamente independente e sem censura nenhuma!

Desde entāo eu venho administrando o conteúdo e tentando adicionar material que seja relevante aos meus interesses e daqueles que também acompanham este “planeta”. Mas nos últimos 2 anos tanto o meu tempo como meu interesse por este tipo de fonte de notícias diminuiu bastante e o projeto ficou meio que jogado às traças… até a semana passada quando recebi um e-mail me avisando que estava na hora de renovar o meu domínio. Foi aí que eu resolvi que nāo fazia mais sentido em manter um projeto que eu nāo tenho mais interesse, e em outubro deste ano o Planeta GNU/Linux Brasil deixará de existir.

Agradeço a todos que apoiaram o projeto por tanto tempo e até a próxima :)

03 de September de 2013

Castálio Podcast - Enrico Nicoletto e Rafael Ferreira: Projeto GNOME

image

Depois de vários meses sem “fora do ar”, tenho o grande prazer em trazer mais um episódio sobre o projeto GNOME! Desta vez convidei o Enrico Nicoletto e Rafael Ferreira para conversar sobre o processo de traduçōes, que mais uma vez promete entregar mais uma versão completamente traduzida para o nosso bom português!

A entrevista aconteceu “na estrada” quando eu estava voltando de viagem, e acabei gravando o episódio de um hotel lá em Richmond no estado da Virgínia. Mesmo com alguns problemas iniciais (teve uma hora que minha conexão caiu, mas eu consegui voltar logo), eu consegui bater um papo super legal com o Enrico e Rafael sobre como todo o processo de traduçōes, desde como eles entraram para a equipe oficial, até como chegaram a ser os administradores da equipe brasileira.

O episódio todo ficou com um pouco mais de 30 minutos, mas para quem quizer assistir o vídeo vocês poderão escutar sobre outros temas que acabaram ficando de fora na hora da ediçã0 (devido ao tamanho final do podcast), como seus planos para o futuro da equipe.

Escute agora: [MP3] [Ogg] [AAC] [Youtube]

21 de June de 2013

Textos do Prof. Nelson de Castro Senra

.
Reúno neste post alguns textos do Prof. Nelson de Castro Senra.

O Prof. Nelson é Doutor em Ciência da Informação pela UFRJ/Eco (Escola de Comunicação) e CNPq/Ibict (Instituto Brasileiro de Informação em Ciência e Tecnologia), com a tese "A Coordenação da Estatística Nacional. O equilíbrio entre o desejável e o possível". É Mestre em Economia pela FGV/EPGE (Escola de Pós-Graduação em Economia, sob a direção do Profº Mário Henrique Simonsen), com a dissertação "O fenômeno sazonal na construção de índices de preços ao consumidor", e economista pela Universidade Cândido Mendes, Faculdade de Ciências Políticas e Econômicas do Rio de Janeiro.

Fui aluno do Prof. Nelson nos anos de 1999 e 2000, quando participei do mestrado em Estudos Populacionais e Pesquisas Sociais (linha de Produção e Análise da Informação Geográfica) da Escola Nacional de Ciências Estatísticas (ENCE/IBGE, Rio de Janeiro). Das disciplinas que tive a honra e o prazer de cursar com o Prof. Nelson, destaco a de "Metodologia da Pesquisa Social", onde através de um conteúdo bastante diversificado (aulas expositivas, debates, filmes, e pequenos textos para reflexão) pude ter meu primeiro contato com essa forma específica de ver e (tentar) entender o mundo, chamada "ciência".

Torno público aqui o agradecimento que consta de minha dissertação de mestrado:

Aos professores do curso de Mestrado da ENCE, pela dedicação e orientação, e em especial ao professor Nelson Senra, quem primeiro me ensinou o que é verdadeiramente “fazer ciência”, de uma forma que é impossível esquecer.

Seguem os links para os textos:

1999

Informação Estatística: política, regulação, coordenação.
Ciência da Informação, Brasília, vol. 28, n. 2, 1999.

Garantia de sigilo, a deontologia do Estaticista: sua conduta ético-moral.
Rio de Janeiro, IBGE, texto para discussão, maio 1999. 8 p.

Política de Informação (Quantitativa): concepção, formulação, aplicação.
Rio de Janeiro, IBGE, monografia para discussão, abril 1999. 54 p.

1998

A coordenação, a argumentação e a comunicação das estatísticas, vértices de um mesmo triângulo.
São Paulo em Perspectiva, São Paulo, v. 12, n. 4, p. 92-98, out./dez. 98.

Os sistemas de informações estatísticas no limiar do terceiro milênio: o imperativo da coordenação. (O caso brasileiro).
2ª versão. CNPD - Comissão Nacional de População e Desenvolvimento, jan./fev. 98. 48 p.

As Sociedades Científicas e a Informação Estatística. O SBPC/GT-Informação, (des)encontro marcado entre usuários e produtores?
Rev. ANPEC, Brasília, n. 4, p. 199-211, fev. 98.

1997

Um olhar sobre os anuários estatísticos.
Ciência da Informação, Brasília, v. 26, n. 1, p. 7-11, jan./abr. 97.

1996

Governamentalidade, a invenção política das estatísticas.
Informare, Rio de Janeiro, v. 2, n. 1, p. 88-95, jan./jun. 96.
[Apresentado no I Encontro de Pesquisa da Pós-Graduação em Ciência da Informação, CNPq/Ibict e UFRJ/Eco, Rio de Janeiro, 9 ago. 95].

Cálculo econômico e a arte de governar ou A relação entre a contabilidade e a estatística.
Informare, Rio de Janeiro, v. 2, n. 2, p. 85-91, jan./jun. 96.
[Apresentado no Colóquio Organização do conhecimento e representação da informação: enfoques e perspectivas, CNPq/Ibict e UFRJ/ Eco, Rio de Janeiro, 27 set. 96]

1994

Por uma disseminação democrática de informações.
São Paulo em Perspectiva, São Paulo, v. 8, n. 4, p. 40-45, out./dez. 94.

1993

A Informação e a Formação do Mercosul.
Network. Cândido Mendes, v. 3, n. 2, abr./jun. 93.

.

Jon "Maddog" Hall em Ilhéus

.
No dia 1.junho.2009 tivemos a honra de receber "Maddog" aqui em Ilhéus, para uma palestra sobre a importância do Software Livre em atividades educacionais e de pesquisa.

Baixe aqui os slides da apresentação.

Baixe o áudio da palestra (com tradução "quase" simultânea...)

Áudio - parte 1
Áudio - parte 2


Título:
Free and open source in education: Software that teaches you twice


Preparando...



Ainda preparando...



Apresentando o palestrante e o Isamar Maia, que fez a gentileza de conduzir uma tradução "quase simultânea" :-)



Palestra



Cerveja com alunos no final!


Obrigado, Maddog!!

Abraços! Carlão

20 de November de 2011

Pssst

Do you have 3 minutes? I’m running a small user survey about the information architecture of the GNOME website and its services. If you do, here’s the link.

18 de November de 2011

About being late, spending time, delivering GSoC tasks and my final paper

It’s been a long time since Google Summer of Code ended, and I still haven’t posted anything since August. I know I am very late (it’s hard to believe that 2011 is already coming to a close — Desktop Summit seemed like it was yesterday!), but besides being extremely busy with my regular job and lots of others little projects and my final paper, I don’t have an excuse.

I got 5 big tasks in my GSoC TODO list. I knew it was a lot right from the beginning, but I didn’t want to worry about the short timetable I would get in the program. I already was contributing in the web team and keeping working on it after GSoC wouldn’t be an issue. From May to August I got intense days in my university (considering it was winter here) and this delayed me a lot. I need to thank to Federico again for his support as my mentor :) .

As for the 5 tasks I got, I only didn’t work in one (which was about reorganizing the developer area). Two of the tasks are ready to be deployed (the one to add support for translating the GNOME website and the other to have a new applications area), and the other two (the community website — which I must say it could be an entire Summer of Code project — and the template update for subdomains) are half-done.

I’m about to give more details about my nearly finished tasks and on deploying them in another post soon (like the new Damned Lies template above which is completely out of context in this post) basically because I’m catching a bigger fish right now. For the past month I’ve been working in my final paper for university. I’m finishing my bachelors in Design and this is consuming all my free time as I need to get it done in the beginning of December. The good part is that it is an analysis of the information architecture for the GNOME website!

And as part of my final paper study, I’m about to publish a user survey which might give me some data regarding how people use GNOME website and its services. Stay tuned!

Meanwhile, please be patient :) . Thank you!

22 de May de 2011

Meu ambiente de desenvolvimento em 7 itens

Resolvi participar deste meme e, aqui vai, meu ambiente de desenvolvimento em 7 itens:

1) Hardware e Sistema Operacional

Minha principalmente máquina para desenvolvimento é um Macbook Pro de 13 polegadas (modelo 2011), com 8GB de RAM, Intel Core i7 2.7Ghz e 256 GB SSD. Confesso que os 8GB de RAM não estão fazendo tanta diferença (utilizo bem menos que isso), mas o SSD faz milagres. Recomendo a todos que, assim que tiverem a oportunidade, substituam seus HDs por SSDs.

UPDATE: Muita gente me perguntou como consegui o SSD. Eu já comprei o Macbook com ele, na loja da Apple, com desconto para desenvolvedores. Na verdade, minha grande amiga e mac maníaca, Marília Guimarães, quem fez a compra nos EUA e o trouxe para cá. O desconto que a Apple dá para desenvolvedores é bem significativo (coisa de $250), mas exige que você tenha um endereço nos EUA. A vantagem de comprar o Macbook com SSD da própria Apple é que ele já vem com suporte a TRIM, o que melhora a vida útil do mesmo.

No Macbook rodo exclusivamente Mac OS X 10.6.8. Há alguns meses o Linux deixou de ser meu sistema operacional principal, apesar de continuar administrando diversos servidores (mas para isso preciso apenas de um Terminal :).

Quando estou desenvolvendo costumo ligar o macbook a um monitor externo de 22′. Programar com duas telas melhora bastante a produtividade, mesmo quando elas não possuem o mesmo tamanho.

2) Linguagens de Programação

Python é, provavelmente, a linguagem que mais utilizo. Escrevo ferramentas para Unix, utilitários no trabalho e estou portando todos meus scripts em bash para python. Entretanto, a cada dia que passa eu tenho programado mais em Objective C, pois tenho feito bastante coisa para iOS (iPhone e iPad). Acredito que em poucas semanas meus pontos na skill “Objective C” irão superar os da skill “Python”.

Também ainda programo um pouquinho em Bash, mantendo alguns scripts antigos.

3) Editores e IDEs

Minhas linhas de Python e Bash são praticamente todas feitas no Textmate, um fantástico editor para Mac OS X, cheio de atalhos e snippets que colocam sua produtividade lá em cima. Recentemente comecei a experimentar o Coda e o Espresso, pois o Textmate está sem atualizações há algum tempo.

Quando estou programando para iPhone e iPad (Objective C) eu sempre uso o Xcode. Não gosto muito dele, mas ainda é a melhor opção (se não for a única) para quem quer programar para estas plataformas.

4) Controle de Versão

No trabalho costumo usar o Git. Em projetos open source depende bastante do resto da equipe. Em alguns casos também uso o Git, hospedando no GitHub, mas em outros uso o Mercurial, hospedando no Google Code. Gosto muito de ambos.

5) Virtualização

Utilizo o Vmware Fusion para virtualizar outros sistemas operacionais quando preciso. Ele é muito bem integrado com o Mac e, sinceramente, não tenho nada a reclamar. Entretanto, minha necessidade de virtualizar algo está cada dia menor. Hoje tenho apenas uma VM para o Backtrack e outra com Cent OS.

6) Softwares

Os softwares que mais uso são:

  • Chrome: Na minha opinião, o melhor browser da atualidade. Leve, relativamente seguro e cheio de recursos. Faço questão de utilizar o build de desenvolvimento do Chrome que, apesar de ser considerado instável, me atende bem e permite que eu teste muitos recursos antes deles chegarem na versão estável.
  • Keynote: Ótimo para fazer apresentações para eventos, clientes e para a própria equipe. Deixa o PowerPoint no chinelo.
  • Adium: Sempre estou disponível no Gtalk e o Adium é um ótimo cliente para Mac.
  • PivotalTracker: Utilizamos SCRUM no trabalho e o PivotalTracker é um ótimo sistema para gerenciamento de tarefas, que se casa perfeitamente com o SCRUM.
  • Campfire: Quando a equipe toda precisa bater um papo online, nós utilizamos o campfire. Além do bate-papo, o sistema permite anexar arquivos e compartilhar códigos.
  • Git-Tower: uma ótima interface gráfica para gerenciamento de repositórios Git. Bonita, prática e funcional.
  • Ecoute: Não gosto do iTunes, então tive que procurar um bom player para o Mac. O Ecoute foi sugestão de um amigo e a escolha foi mais que certa. Possui os recursos que mais gosto como, por exemplo, lastfm, minimalismo, controle no desktop, capas etc.
  • Sparrow: Sou fanboy do Gmail e, quase sempre, o utilizo pela interface web mesmo. Ultimamente estou tentando utilizá-lo no desktop, para ver se tenho algum ganho de produtividade. Nestas ocasiões, uso o Sparrow Mail, o cliente para Mac que mais se aproxima da experiência real do Gmail.
  • Terminal: Vira e volta preciso fazer algo via linha de comando. Utilizo o próprio Terminal do Mac, mas com alguns recursos adicionais.
  • Things: Ótima ferramenta para gerenciamento de tarefas.
  • 1Password: Não dá para lembrar de todas as senhas, de todos os sites. Por isso, deixo o 1Password fazer o trabalho sujo para mim.

7) Música

Não dá para trabalhar sem música. Na verdade, eu conseguiria colocá-la em quase todos os momentos da minha vida. Prefiro escutar música com fones de ouvido, ao invés de som ambiente.

Só gosto do bom e velho Rock And Roll, Blues e Jazz. Led Zeppelin, Deep Purple, Pink Floyd, Black Sabbath, Beatles, Metallica, AC/DC, Neil Young, Creedence Clearwater Revival, Steve Ray Vaughan, BB King, ZZ Top e por aí vai. Axé, pagode e essas bandinhas emo, tipo NX Zero e Restart, são totalmente proibidas na playlist.

E seu ambiente de desenvolvimento, como é?

Agregador com blogs sobre desenvolvimento para iOS

Recentemente criei um agregador com diversos blogs sobre desenvolvimento para iOS.
 Criei dois, na verdade. Um com blogs em inglês e outro com blogs
 nacionais:

A ideia é agregar os blogs como um todo, sem a censura bitolada que
outros agregadores de blogs usam para filtrar o conteúdo que é
publicado.

Para participar do agregador não precisa falar apenas sobre
desenvolvimento para iOS, mas isto tem que ser o foco principal. Eu 
até aceito outros tipos de posts, já que há outros temas que podem nos
interessar (boas práticas, metodologia etc).

Gostaria de sugestões de blogs que podem ser adicionados ao planeta. Principalmente blogs nacionais.

15 de May de 2011

Minha primeira semana com o Xoom

Mensagens subliminares...

A pouco mais de uma semana estou usando o Xoom da Motorola, o primeiro tablet com o Android Honeycomb, e até o momento as impressões que tive são as melhores possiveis.

Desde de quando começou essa explosão de tablets,  sempre me perguntei duas coisas: para que eu teria um tablet e para que isso serve? A resposta para esses questionamentos estará no fim do post.

Logo que você liga o aparelho você tem uma pequena má surpresa, no modelo 3G ele requer um sim card para que você possa entrar no sistema, passado esse pequeno incomodo, logo você está configurando sua conta Google.

O xoom, como dito anteriormente, vem com o Android 3.0 e para quem está acostumado com o sistema Android logo percebe as diferenças, é uma interface bem diferente e com conceitos diferentes. O dispositivo não tem botões de navegação, ele tem apenas o botão de liga e desliga e os controles de volume, toda a navegação é feita por software na própria tela do Xoom.

Transição de tela

A primeira vista a transição de tela do Xoom é lenta ao se comparar com o Ipad, contudo, depois de muito pensar a respeito eu notei que o ambiente do Xoom é 3D e quando você vai mudar de ambiente ele gira o foco e renderiza os icones. Isso é o mais puro achismo e não tem o mínimo embasamento  técnico. De qualquer forma em qualquer programa a transição de telas no Xoom é rápida e suave.

Cameras

O Xoom tem duas cameras, uma frontal para video chamadas e uma traseira para filmagens e fotos. As duas cameras me impressionaram bastante, mas a camera frontal numa chamada de video do Gtalk me surpreendeu.

Aplicativos

Engraçado como ao ler reviews em alguns sites/blogs de tecnologia algo que sempre é colocado em evidencia, talvez por falta de imparcialidade e paixão pelo concorrente, é o fato de ter poucos aplicativos modificados/desenvolvidos para uma tela de 10.1 polegadas. Quando você começa a usar o xoom e instalar os aplicativos que você está acostumado a usar no seu celular, você não nota grandes diferenças ou impecilhos de uso. Por exemplo, uso o twicca que é um cliente para twitter e ele obviamente não é modificado para o tablet e simplesmente ele só amplia a experiência que eu tinha no celular.

As melhores surpresas no honeycomb são os apps do Gmail e Gtalk. A interface do Gmail para tablet é fantastica, dá até vontade de não usar mais a interface web ;) . O Gtalk como eu já disse, tem a capacidade de chat com video que é algo que sempre senti falta e o melhor, as chamadas podem ser feitas do xoom para qualquer outro device com Gtalk e suporte a video, sem restrições de sistema operacional!

Outro ponto forte, a Motorola antes de lançar o Xoom logo correu e fez diversas parcerias e assim é possivel ter app da Saraiva que te dá direito a 6 livros gratuitos, app da Folha e da Abril, entre outros. Eu não sou um grande fã da leitura digital, eu realmente gosto de ter o livro e le-lo da maneira que eu achar melhor. Lê no Xoom não é ruim, mas não chega a ser a experiencia mais agradavel e isso vale para qualquer tablet, o peso deles dependendo da posição gera um certo desconforto. Para leituras ocasionais acredito que ele se de muito bem.

Navegador

O navegador é uma versão leve do chrome, que na pratica que dizer que você tem um browser normal no seu tablet apesar da maioria dos sites reconhece-lo como um navegador mobile, o que não é tão ruim, pois a leitura nas versões mobiles geralmente são melhores. Outro ponto forte é a possibilidade de sincronizar o chrome do Xoom, desse modo você tem um ambiente de navegação unico em todos os seus devices independente de sistema operacional.

Travamentos

Rá! Nenhuma até o momento, e olha que uso muito e já instalei tudo que é tranqueira nele.

Updates

O xoom americano tem software 100% Google, na pratica isso quer dizer que o Google é responsavel pelos updates. No Brasil, a Motorola usa uma room baseada na americana para atender as redes de telefonia 3G e talvez outras coisas mais. Em partes os donos do Xoom brasileiro precisam da motorola para terem versões atualizadas, na pratica isso pode ser um pouco diferente já que o bootloader do dispositivo é destravado…

Conclusão

A ideia aqui não era dar um review tecnico, as especificações estão por toda a internet, queria mesmo era passar um pouco da experiencia de uso.

Ainda continuo sem saber qual a utilidade de tablet, uma vez que ele faz um pouco de tudo. Acredito que o principal seja ter um ambiente, de certa forma ilimitado, a mão a qualquer momento.

Quer comprar um tablet, o Xoom é uma ótima opção e eu recomendo fortemente. Ótimo hardware e muito bom software fazem do Xoom de longe o melhor tablet que já tive contato.

 

 

07 de April de 2011

12 de March de 2011

Cheese 2.91.91 using Camerabin

In January I started changing Cheese to use Camerabin as its pipeline base. I blogged about it twice, but, in case you missed it or forgot everything about it, let me repeat myself: Camerabin is the high level GStreamer element that basically does what a camera does, that is, take pictures, record video and show preview. Since Cheese does all that and more, it makes sense to use this element instead of re-implementing it all. The news part is that this work is now in Cheese’s master branch and also in release 2.91.91.

There are some other things I haven’t posted about yet:

Event handling: There was a warning in Cheese after the change to Camerabin which said “Internal GStreamer error: clock problem“. Investigating that I discovered that it was a problem in the input-selector that Camerabin uses internally.

Right now Camerabin has a copy of input-selector, because it uses the “select-all” property that was removed from current input-selector. The problem was that the input-selector didn’t handle upstream events (from the sink to the source direction) when the input-selector had the “select-all” property set. Well, input-selector can have many inputs and choose among them, as you can guess from the name. So, when select-all is set you need to send the event to all of those inputs. Other than the warning, this actually has no effect in Cheese’s case, because the event that is not forwarded (a latency event) wouldn’t actually be handled by the elements that don’t get it. Even so, I submitted a patch which was committed to master branch of gst-plugins-bad.

Taking photo without saving: Cheese Camera has a method that takes a photo and then provides the picture as a GDK pixbuf without saving it. The api may not be the best and there were some nice comments on how to improve it, but at least in Cheese without Camerabin this worked and it was used inside of cheese-avatar-chooser. Well, I didn’t realize that before my last blog post about Camerabin, but this was totally broken in my Camerabin branch, in fact, I hadn’t implement it at all.

Camerabin can send a preview message after taking a photo if you set the preview-caps with the desired format for the preview. I thought using the preview message was the best way to implement cheese_camera_take_photo_pixbuf(). The problem is that Camerabin only took photos to save them too, meaning the file name of the photo to be saved had to be set. Right now Cheese works around that by setting the file name to /dev/null, but I also sent a patch to Camerabin to allow taking a picture without saving if preview-caps is set, meaning it won’t encode the image just to save it to /dev/null. I’m keeping the workaround for now, since the change wasn’t released yet, but we will be able to remove it in the future.

Many thanks to Thiago Santos, who held my hand when I met those and other problems in Camerabin and who always encourages me to fix stuff and send patches.

I’m very excited about this change in Cheese. I’m sure there will be bugs, but I think using Camerabin will make some improvements in Cheese easier and we will grow with Camerabin (and maybe Camerabin2 in the future) and also push it to be better.

02 de March de 2011

Terminator no GNOME

Sim, vamos falar de Terminator, e não, não estamos falando do Arnold ;)

O Terminator é um terminal simples e IMHO muito mais produtivo que os terminais mais comuns(gnome-terminal) ou mais alternativos(guake) encontrados para GNOME.

O principal recurso, que o diferencia dos outros, é o fator de poder dividir e sub-dividir a janela em pequenos terminais. Usando um monitor grande, ele é praticamente a ultima coca-cola do deserto!

Quando você abre o terminal a tela dele é comum

Com essa tela aberta você trata-la como um gnome-terminal e abrir abas com um simples Ctrl+t . Mas nossa ideia é aproveitar as funções de divisão de telas. Então com um Ctrl+shift+e você divide a tela verticalmente como mostrado abaixo.

Com essa tela eu geralmente movo o foco para o terminal da esquerda, você pode navegar entre terminais tanto clicando neles ou com ALT+seta direcional, e a divido-a horizontalmente com Ctrl+shift+o.  Essa é a minha tela padrão de trabalho. Uso o terminal comprido para atividades que requerem uma tela mais extensa e as menores para conexões locais e ssh usando screen(falarei mais e mostrarei dicas e meu arquivo de configuração no proximo post).

Em qualquer um dos terminais você pode maximiza-lo para preencher a tela inteira com um simples Ctrl+shift+x.

Esse é o modo em que eu o uso, eu já tentei faze-lo salvar esse estado mas não consegui e pela mais pura preguiça não tentei mais ou mesmo alterei o Terminator para fazer isso. Se você o usa, ou começou a usar agora por causa do post, conte aqui como é a sua configuração ideal de tela.

Você encontra o Terminator nos melhores repositórios da sua distro favorita. :)

Atualização: o Vitor deixou a dica aqui nos comentários de como fazer para salvar as configurações do Terminator, testei aqui e funcionou bem ;)

20 de February de 2011

My GTK3 porting story

It is now possible to run Cheese using GTK+ 3 getting it from Cheese’s branch gtk3.

Cheese has a gtk3 branch for a while, but until very recently it only had one patch changing mostly versions in configure.ac. Then Bastien Nocera made 3 more patches changing code of CheeseWidget, CheeseFlash and um-crop-area. I wanted to use the changes, and silly me, I thought the branch was going to compile when I first tried to run it. It turns out that I spent days on it until it finally compiled and then a little more time before I was able to run it.

Most of the changes were on build system and Cheese’s vala code. I have never programmed in vala before, so this was a learning opportunity with some challenges in the way.

Funny story

Cheese was still using libunique-1.0, but in order to work with gtk3 I would have to switch to libunique-3.0. There was no vala binding for libunique 3, but I also hadn’t found one for clutter-gtk-1.0 and I was using the GObject Instrospection one instead and it seemed to work at the time.

Using gir files didn’t work so well with libunique. Vala was loading the right gir file, but it said the namespace “Unique” did not exist. So, I asked for help on the #vala channel. The first piece of advice was to switch to GApplication instead of using libunique, but I didn’t know how hard that would be and I wanted to understand why I was unable to use libunique-3.0 first. With some more help from someone else in the #vala channel I found out that the Unique-3.0.gir file had the wrong package name on it. As I didn’t know how to fix that and I didn’t even know if it was a problem in libunique or a GObject Introspection parsing problem I asked for help in #introspection.

In the #introspection channel, Emmanuele Bassi (ebassi) was the one that helped me, libunique’s maintainer. Isn’t it nice when that happens? I mean, you’re just asking for anyone less clueless than you to help, but you can actually talk with people that work on what you’re using. Anyway, continuing with the long story, ebassi told me the problem was in libunique, that he wouldn’t work on it soon, but he encouraged me to file a bug for it and I did. It turned out that the bug was easy to fix (for him at least) and something like 15 mins later he had fixed it and pushed it to master already. That was a nice surprise!

But my problems didn’t end there. After I fixed some GObject Introspection annotation in libunique for my code to work, valac started to crash with a segfault. I reported it, but I still don’t know what the exact problem was. The only way I found to fix it was to switch to GtkApplication and stop using libunique. If only I had listened to that first advice! Using clutter-gtk with GObject Introspection did not work in the end either, but turns out I was just missing the recently released vala binding for it.

I learned many things on this quest. I had never looked at gir files or vapi files before and I learned a little trying to debug and fix problems. The non-technical lessons were: it’s really painful to use stuff that is new and not widely used (yet?), you will find problems. But it’s also very nice to be able to fix the problems and work with helpful people.

By the way, to share my love for GNOME I’m organizing a GNOME 3.0 Release party in my town – Belo Horizonte, Brazil. So, if you’re in the area, save April 9th and get in touch if you want to help with organization.

Update: Patricia Santana Cruz had already made a patch to port Cheese to Gtk.Application (which is also way better than mine), so if I was any smarter I wouldn’t have half of the work I did. And now I know she is also one of the responsibles for we having the clutter-gtk-1.0 binding for vala too and she is working on some more bugs in vala and going after the warnings that affects Cheese. In short, she is awesome!

13 de February de 2011

O Nícolas chegou.

Olá pessoal,

O Nícolas chegou :D . Na verdade ele chegou há 22 dias, mas confesso que ainda não tinha achado tempo e inspiração para escrever, foi mais falta de tempo do que inspiração, mas hoje saiu.

Bom, ele chegou com 36 semans, convertendo isso para meses foi no 8º mês que ele nasceu. Veio um pouco prematuro, mas veio saudável.

Ele, apesar de ter nascido com 8 meses, nasceu com bastante saúde. A data do  nascimento dele foi dia 21/01/2011, um dia depois do aniversário da Carol, minha esposa.

Penso que este foi o maior presente dela, e sem dúvida meu também.

Hoje, já com 22 dias, ele é um moleque esperto e sistemático (Sinto algo semelhante com minha pessoa no ar hehe).

Então para quem ainda não o viu, vou colocar a fotinha dele aqui para todos.

Nícolas Volpato Jorge

Nícolas Volpato Jorge

Não tem muito o que falar… quem é pai sabe o que eu to tentando falar neste pequeno post.

Um abraço para todos.

Ps.: Recomendo um filhão para quem ainda não tem :D

Google Bookmarks Technorati Favorites Twitter Facebook Google Buzz LinkedIn FriendFeed Identi.ca Orkut Tumblr Delicious Reddit WordPress Share


29 de January de 2011

27 de October de 2010

Listadmin: Administrando as filas do mailman de forma rápida e simples

Além de fazer parte do Sysadmin Team do GNOME também colaboro com o Moderator Team. Esta equipe de 02 pessoas é responsável por moderar todas as 250 listas existentes no Projeto GNOME. Até pouquissimo tempo este trabalho ultra-chato era feito através do ambiente de gerência Web, só que as coisas estão mudando. Christer Edwards, atual […]

09 de October de 2010

Palestras no IV ENSL e participação na H2HC Conference

Em novembro participarei de 02 grandes eventos. Iniciando com o IV ENSL e o VII Fórum Gnome dias 05 e 06 em Natal/RN onde farei 02 palestras. No VII Fórum Gnome que ocorrerá no IV ENSL o tema será “Por trás da Infra-estrutura do GNOME: Trabalho para Sysadmins”, nesta apresentação vou mostrar como funciona a […]

18 de February de 2010

Blog sobre Saúde da Família

Os leitores mais antigos devem lembrar que sou médico de família e comunidade, e que já publiquei um artigo sobre a estratégia Saúde da Família no Kanzler Melo Psicologia, um blog mantido pelo tradutor do GNOME e psicólogo Vladimir Melo e sua esposa. Há poucas semanas assumi a manutenção do Planeta Saúde Brasil, criado pelo mesmo Vladimir Melo, e no embalo dei início a um projeto de muito tempo, que é meu blog sobre saúde, o Doutor Leonardo.

Enquanto o blog que você está lendo agora é voltado para entusiastas do software livre, o Doutor Leonardo é voltado para quem não é profissional da saúde, ou pelo menos não com nível superior na área. A missão do Doutor Leonardo é contribuir para a que as pessoas possam cuidar melhor da própria saúde (ou da saúde de seus parentes), ou administrar melhor as eventuais doenças de forma que não interfiram no dia-a-dia. Os assuntos vão desde estilo de vida saudável até políticas públicas de saúde, sem esquecer de comentar notícias relevantes na área da saúde.

16 de February de 2010

Últimos acontecimentos

Pois é... faz tempo que não blogo :-( . O final de 2009 e começo de 2010 foi bastante corrido: tive que terminar meu trabalho de conclusão de curso e comecei a trabalhar. Mas agora as coisas já estão mais calmas.

Finalmente me formei. Agora posso me declarar cientista da computação e já estou aprovado no mestrado, que começa mês que vem. Minha colação de grau foi na quarta feira e agora fico no aguardo da colação de gala, na qual irão meus familiares e amigos.

Em dezembro comecei a trabalhar. Estou trabalhando na agência de publicidade Sabbre fazendo o desenvolvimento de aplicações web com Ruby on Rails. Um trabalho que tem me dado motivos para gostar do que faço e que me tem feito aprender muitas coisas.

Infelizmente, tive que abrir mão de algumas coisas, principalmente de software livre. Saí da equipe de desenvolvimento do archlinux Brasil, pois não estava conseguindo tempo para me dedicar. Como não gosto de assumir compromissos que não posso cumprir, eu acabei optando por sair. Desejo boa sorte e muito sucesso a todas as pessoas que continuam por lá. Continuo agora só gerenciando a equipe de tradução do GNOME, que aliás já está em pleno ritmo de tradução para o GNOME 2.30.

 

04 de February de 2010

Portugal define data para Acordo Ortográfico da Língua Portuguesa

Em 2008 o governo português tinha aprovado o Acordo Ortográfico da Língua Portuguesa com seu Segundo Protocolo Modificativo, e após uma audiência pública o Parlamento Português ratificou a aprovação. A questão era quando o acordo seria implementado. Pois bem, a nova ortografia começou a valer em Portugal neste ano, e até 2016 o país terá uma transição igual à brasileira, em que ambas ortografias são consideradas corretas.

Mais ainda, a Lusa, única agência de notícias de âmbito nacional em Portugal, adotou o Acordo Ortográfico. Na sequência, o semanário Sol adotou o acordo, bem como o jornal Barlavento e os jornais Expresso e Diário Econômico. O primeiro veículo de notícias a adotar o Acordo Ortográfico em Portugal foi provavelmente O Despertar, em janeiro de 2009!

De acordo com o professor Carlos Reis, a adoção do Acordo Ortográfico da Língua Portuguesa pelos meios de comunicação é importante para a língua portugesa.

21 de December de 2009

Barcelona campeão mundial

Parabéns ao Barcelona pelo título conquistado. Eu cheguei a pensar que daria Estudiantes.

Enquanto eles comemoram o primeiro título, lembro que já conquistamos três vezes (inclusive uma delas contra eles).

Um fato que eu não sabia e agora sei é que no mesmo ano da disputa ganhamos outro título (do Torneio Teresa Herrera) contra eles. E de 4 a 1!!! Na época o Barcelona era bem "maior do mundo" do que é hoje.

Saudações tricolores!

31 de October de 2009

Latinoware

Semana 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.

UPDATE:Aqui vão os slides.

 

10 de June de 2007

Violent swerves in life

One day, you’re writing code, packaging and translating it, administering systems and giving talks about free software. The next day, you realise you want to go to Law school.

It does not feel any different from starting all over. Fortunately, it feels like it is soon enough.

23 de September de 2006

Thanks, Murphy!

So yeah… I guess I’ll have to take back what I said about clearing the accounts backlog until the end of the weekend, even though I’ve already gone through more than half of it.

Why? Quite simple. My hard disk finally died, after a couple of months spitting out I/O errors and corrupting filesystems all around.

Oh well…