Ir para o conteúdo
ou

Software livre Brasil

Minha rede

 Voltar a planetas
Tela cheia Sugerir um artigo
 Feed RSS

Planeta do Gnome Brasil

11 de Fevereiro de 2010, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.

Hugo Doria: A Free Software Foundation me cansa

18 de Junho de 2010, 0:00, por Software Livre Brasil - 0sem comentários ainda

Sim, é isso mesmo que você leu. A Free Software Foundation (FSF) me cansa.

Eu uso Linux (e vários outros softwares livres) há uns cinco anos. Na época que comecei  eu sentia uma grande simpatia pela FSF, mas a cada ano que passa isso diminui. Eu desaprovo muitas das atitudes da fundação, algumas de suas campanhas e sua postura.

Um exemplo de campanha que não gosto é a "Pecados do Windows 7". Como assim, "pecados"? Porque associar software a algo religioso? Deixe isso para as pessoas muito religiosas, que acham que podem julgar os outros e decidir o que é bom, ou ruim, para eles.

As campanhas precisam mostrar o que há de bom no Software Livre e todos os seus lados positivos. É preciso parar de sair atacando outras soluções, dizendo que elas são ruins, que usá-las é pecado e tudo mais. Afinal, por que tanto ódio? Ao invés de esculhambar, por exemplo, o Internet Explorer, o MS Office e o próprio Windows, que tal mostrar as qualidades do Firefox, OpenOffice e Linux?

Outra coisa que me irrita bastante ultimamente é o Stallman. Eu reconheço que ele foi uma pessoa extremamente importante e um dos grandes responsáveis por todo o avanço que o Software Livre teve. Infelizmente, hoje em dia ele parece mais com um lunático que fala muita besteira do que com o cara que criou o projeto GNU.

Vejam bem: eu me importo com toda a questão de liberdade, mas não acho que software proprietário seja algo maligno. Em alguns casos ele é até ideal. Além disso, quando uma solução livre é bem pior que a sua correspondente proprietária eu não tenho problema algum em usar esta última. E hoje em dia faço questão de pagar nesses casos.

Talvez eu pense assim por ser uma pessoa mais técnica do que filosófica. Gosto mais do software livre por suas vantagens práticas do que pelo lado "é bonitinho, fofo, a coisa certa a se usar e morra se você discorda".

Agora podem começar a atirar pedras e dizer que eu eu traí o movimento. :P



Jonh Wendell: Lista de discussão Javascript no GNOME

17 de Junho de 2010, 0:00, por Software Livre Brasil - 0sem comentários ainda

E aí gente!

Vocês já devem ter ouvido falar sobre o uso de Javascript para programação em desktops (ao contrário de web), especialmente com o gnome-shell se tornando parte do GNOME 3. Acabei de descobrir a maravilha que é programar em Javascript. Tô fascinado!

Este post é para anunciar a criação da lista de discussão javascript nos servidores do GNOME, que nos permitirá discutir o uso do Javascript no GNOME e o desenvolvimento em javascript com seus bindings: gtk+, glib, etc.

Então, se você, assim como eu, gosta de programar em Javascript, ou está dando seus primeiros passos nessa nova tecnologia do GNOME, se inscreva na lista! E se você já tem algum conhecimento nessa linguagem, entre também na lista e nos ajude com nossas dúvidas!

Obrigado a Johan Dahlin por aceitar ser o administrador da lista :)



Jorge Pereira: - Imagens talvez jamais vistas?

16 de Junho de 2010, 0:00, por Software Livre Brasil - 0sem comentários ainda

Para descontrair,  abaixo segue algumas imagens que registrei durante o passar do tempo.

Vejam está simples tela de informações no aeroporto de santiago. Agora vejam o tremendo '(*)Go Horse'! Utilizaram um desktop completo como 'host' de informações. O ônibus 'Not Found' Hackers, o jogo do sysadmin! Caixa da Alerj Está e a solução para quando "sua rede tiver caindo direto"!

(*) Go Horse Process




Lucas Rocha: World Cup from Abroad

15 de Junho de 2010, 0:00, por Software Livre Brasil - 0sem comentários ainda

Soccer by Ashelia (CC-BY-SA)

I used to be an avid football fan but I gradually stopped watching it throughout the last few years for some reason. But it’s World Cup time and I just feel like watching football everyday again! This is the first time I watch a World Cup from abroad. This definitely changes the way you experience and perceive the whole thing.

First of all, the national team is not your team. Duh. The local TV channel here focus on the English team, of course. Newspapers don’t talk much in detail about the Brazilian team. So, you need to pro-actively dig information about your own team – otherwise you just don’t know what’s going on. This is something I’m not used to because, while in Brazil, you basically end up knowing everything about the Brazilian team by osmosis as everyone – friends, family, newspapers, TV channels – only talk about it during the whole World Cup.

It’s also interesting to realise how different is the relationship English people have with their team. In Brazil, people always have extremely high expectations. If our team doesn’t completely destroy the opponent with a 3-0 (or more) score, we just don’t feel like we were convincing as a team. “Just” winning with a 1-0 score is not enough, sorry. In England, my impression is that people have more balanced expectations about their team. They are cheery but cautious – even with the great team they have this year. Maybe it’s due to several disappointments from past World Cups. I don’t know.

All in all, I love World Cups and I’ll definitely watch as many games as possible. I’m not so excited about the Brazilian team this year but I know we’re one of the favourites for the Cup anyway! Go Brazil! Go!



Jorge Pereira: - O Que fazer com milhares de cd’s de Linux?

14 de Junho de 2010, 0:00, por Software Livre Brasil - 0sem comentários ainda

Pois bem, na minha última visita a Recife fiquei na casa de meus pais. Durante arrumação da grande e mega bagunça que existe na casa de meus pais referente a muita coisa minha que ficou lá. Encontrei uma bolsa contendo mais de quinhentos CD’s de Linux que acompanha como brinde nas revistas “Geek”, “Revista do Linux”, “PC Master”, … sem falar entre várias cópias feitas a partir de imagens ISO baixadas a partir da Internet. abaixo segue uma foto da pilha de cd’s.

E então, o que devo fazer com isto? talvez uma bela obra de arte colando todos os cds um em cima do outro! :shock:




Jorge Pereira: Por que as empresas teimam em contratar programadores mercenários?

13 de Junho de 2010, 0:00, por Software Livre Brasil - 0sem comentários ainda

Recentemente li The Python Paradox, de Paul Graham, e sua tradução O Paradoxo Python no #!SouNerd.

O texto faz todo sentido: quem aprende a fazer qualquer coisa por gosto tende a fazer melhor do que quem aprende a fazer por dinheiro. É uma verdade.

Assim, quem aprende a programar porque gosta de programar tende a programar melhor do que quem aprende para ganhar dinheiro e a grande maioria de quem aprende a programar Java só o faz por dinheiro (claro que há lá suas exceções), enquanto quem aprende linguagens mais esóticas o faz por prazer.

Então por que as empresas teimam em contratar programadores mercenários?

Pensando sobre nisso e observando a comunidade, pensei em uma resposta…

Eu vejo três tipos de programadores, como três vértices de um triângulo cromático, e cada um está em uma região dessa área, mais próximo ou distante de cada vértice.

Esses três tipos são: amador, mercenário e empolgado (por falta de palavra melhor).

Mercenário

O mercenário é aquele que quer dinheiro e lucro é tudo o que o impulsiona. Geralmente não tem escrúpulos e faz tudo o que lhe mandam. Seu mantra é: «Pagando bem, que mal tem?»

Quem é 100% mercenário geralmente acaba largando a profissão por algo que dê mais dinheiro, mas basta estar um pentelésimo mais para o centro do triângulo que permanece na profissão.

Normalmente aprende uma linguagem que dê muitas opções de emprego – e que, por consequência, tenha de competir com muita gente –, como Java, C# ou PHP, e rejeita todas as demais. Quando as trata como inferiores, é apenas para tentar justificar a própria incompetência, resultante da falta de gosto pelo que faz.

Amador

O amador é aquele que gosta de verdade do que está fazendo, ele ama programar, daí amador.

Quem é 100% amador quase sempre se perde aprendendo coisas inúteis e não consegue ganhar dinheiro porque muitas vezes perde o foco do que precisa fazer, distraindo-se com besteiras.

Normalmente aprende linguagens bem diferentes, que poucos sabem, como Lisp, Smalltalk ou Fortran – talvez LOLCODE –, e não é incomum que aprenda uma penca de linguagens, nesse caso, também os hypes, como Python e Ruby.

Empolgado

O empolgado é aquele que vai atrás de algum hype, linguagem da moda. Há uns anos eram de Java, mas os empolgados da atualidade querem Python e/ou Ruby.

Quem é 100% empolgado sabe tudo que acontece na comunidade, mas quase nada de programação. Conhece todas as metodologias em alta, sabe todos os macetes e design patterns de sua linguagem que precisa para impressionar os iniciantes, mas não é lá muito eficiente. É tão preocupado com a auto-imagem e o que acontece na comunidade que se esquece que há todo um background a ser aprendido por trás da Computação.

**

Felizmente (quase) ninguém é 100% alguma coisa.

Depois de toda esta dissertação, por que diabos as empresas mais engessadas preferem os mercenários?

Por causa de seu mantra! Basta pagar o que o mercenário acha muito – o que muitas vezes é quase nada pra empresa – e ele faz qualquer coisa que mandarem, torna-se um cão bem adestrado. Essas empresas não querem eficiência, querem obediência.

O que as empresas não veem é que esses cães não são tão ágeis quanto os gatos que pulam pelos telhados: aqueles que, apesar de em nenhum extremo, se encontram mais próximos do vértice do amador.

Na verdade as metodologias ágeis não são práticas de trabalho, mas técnias sociais para atrair programadores que, apesar de ainda um pouco mercenários, sejam muito mais amadores – ser um pouco empolgado também ajuda, já que as linguagens hype facilitam pela grande mobilidade da comunidade. As empresas mais espertas e as start-up viram isso e usam as metodologias ágeis para criar equipes enxutas e mais eficientes do que qualquer equipe de mercenários jamais conseguirá ser.

Fonte




Jorge Pereira: - Conhecendo e utilizando a LD_PRELOAD

11 de Junho de 2010, 0:00, por Software Livre Brasil - 0sem comentários ainda

Muitas pessoas utilizam, utilizaram ou vão utilizar a variável LD_PRELOAD, e por sua vez nem sempre sabem para que ela serve! Caso este seja o seu problema, problema este não mais será!! :P

O que acontece basicamente e que o linker dinâmico do Linux (assim como em tantos outros sistemas operacionais) utiliza diversas formas, alguma delas sendo através de variáveis de ambiente para controlar seu comportamento. Sendo que neste caso a variável LD_PRELOAD informa ao linker dinâmico que carregue as bibliotecas listadas nela antes de carregar quaisquer outras bibliotecas necessárias, enquando LD_LIBRARY_PATH especifica um caminho alternativo para usar ao procurar bibliotecas que serão carregadas.

Partindo deste principio podemos fazer com que um programa a ser executado seja “hijacked” por outro programa, ou seja. Podemos fazer por exemplo que a função hehe() previamente chamada pelo programa “A” tenha seu comportamento alterado sem precisar fazer quaisquer alteração no programa “A”. Um pouco complexo? talvez! Mais vamos por a mão na massa! hands on!

Digamos que você tem o programa “main” conforme o código de exemplo abaixo, perceba que o código e super simples. apenas declaro um ponteiro de caracteres, aloco memória e em seguida copio uma sequência de caracteres para o ponteiro previamente alocado. Simples, certo?

1) Abaixo código de exemplo de nosso “main.c” ou clique aqui para download.

/*
 *  Filename: hijack_main.c
 *  Created: Wed Jun  9 22:11:12 BRT 2010
 *  Author: Jorge Pereira <jpereiran@gmail.com>
 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int 
main (int argc, 
      char* argv[])
{
  char* nome = (char*)malloc (100);
 
  strcpy (nome, "Jorge Pereira");
  printf ("NOME: %s\n", nome);
 
  free (nome);
  return 0;
}

# Vamos compilar e executar o nosso exemplo “main.c”

$ gcc -Wall -o main main.c
$ ./main
NOME: Jorge Pereira
$

Até aqui tudo bem, porém imagine você em uma determinada situação em que precisa saber quantos bytes está sendo alocado por um determinado programa? e você por alguns instantes imagina sobre a possibilidade de poder fazer algum tipo de “overload” de uma determinada função na qual você conhece sua assinatura. (Digamos, você sabe a assinatura do método, quantidade e tipos dos parâmetros, …).

Pois bem, neste exemplo que irei demonstrar será para sobrecarregar todas as chamadas feitas pelo meu programa “main” às funções malloc() e free() e em seguida exibir uma mensagem no caso do malloc() imprimindo seu parâmetro que e o tamanho de bytes alocados, e na função free() exibindo os ponteiros que foram liberados.

Neste caso, iremos criar uma biblioteca chamada “libhijack_hehe.so” que será carregada através da variável mágica LD_PRELOAD em parceria com nosso querido linker dinâmico.

2) Abaixo código de exemplo de “libhijack_hehe.c”, ou clique aqui para download.

/*
 *  Filename: hijack_hehe.c
 *  Created: Wed Jun  9 22:11:12 BRT 2010
 *  Author: Jorge Pereira <jpereiran@gmail.com>
 */
#define _GNU_SOURCE
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
 
#include <dlfcn.h>
 
#define HIJACK_DEBUG(fmt, ...) \
	fprintf(stderr, " ** DEBUG: %s:%d %s(): "fmt"\n", \
	__FILE__, __LINE__, __PRETTY_FUNCTION__, ##__VA_ARGS__)
 
static void* (*hack_malloc)(size_t size) = NULL;
static void  (*hack_free)(void *p) = NULL;
 
static void* rest_malloc = NULL;
 
void*
malloc (size_t size)
{
  if (hack_malloc == NULL) 
  {
    hack_malloc = (void *(*)(size_t)) dlsym (RTLD_NEXT, "malloc");
    rest_malloc = NULL;
  }
 
  if (rest_malloc == NULL) 
  {
    rest_malloc = hack_malloc (size);
    HIJACK_DEBUG ("Alocando (%d) bytes, chunck(%p)", size, (void*)rest_malloc);
    return rest_malloc;
  }
 
  hack_malloc = NULL;
  return rest_malloc; 
}
 
void
free (void *p)
{
	HIJACK_DEBUG ("Desalocando (%p)", p);
 
  if (hack_free == NULL) 
  {
    hack_free = (void (*)(void *)) dlsym(RTLD_NEXT, "free");
  }
 
  hack_free (p);
}

Agora vamos compilar, executar e analisar o comportamento.

$ gcc -Wall -shared -ldl -o libhijack_hehe.so  hijack_hehe.c
$ LD_PRELOAD=./libhijack_hehe.so ./main
 ** DEBUG: hijack_hehe.c:35 malloc(): Alocando (100) bytes, chunck(0x9273008)
NOME: Jorge Pereira
 ** DEBUG: hijack_hehe.c:46 free(): Desalocando (0x9273008)
$

Percebeu algo diferente na execução com a LD_PRELOAD passando como parâmetro a nossa libhijack_hehe.so? pois bem, todas as chamadas às funções malloc() e free() foram sobrecarregadas e passaram a se comportar conforme as versões que escrevi em hijack_hehe.c. Caso tenha ficado curioso, e so re-escrever tais exemplos com outras funções que você deseja sobrecarregar e ver o comportamento. Lembrando que basta utilizar a criatividade e perceberá na quantidade de coisas que podem ser feita com tal técnica.

Exemplo: Nas funções que fazem checagem com strcmp(), uso da crypt(), … entre outras.

Referências

  • man 8 ld.so

Autor: Jorge Pereira
Data: Wed Jun 9 23:42:26 BRT 2010




Jorge Pereira: Que poeira danada!

9 de Junho de 2010, 0:00, por Software Livre Brasil - 0sem comentários ainda

Caso tenho alguém por aqui ainda, saiba que ao contrário deste blog estou vivo, embora muita coisa tenha mudado nestes meses que me ausentei do blog. Confesso que inúmeros problemas desde de uma cirurgia para retirada de um pequeno tumor entre o esôfago e pulmão, notebook quebrou, muito e muito trabalho na empresa, outros problemas de saúde até tantos outros imprevistos e inconvenientes que surgiram ao decorrer do tempo!

Pois bem, parece que foi ontem! E já se passaram mais de um ano que estou morando e trabalhando aqui no Rio de Janeiro. E confesso que está sendo muito dificil ter tempo livre para quaisquer tipo de atividade que costumava ter, uma delas era o fato de “blogar”. Mais as coisas se acertaram e agora e a hora da reviravolta. move on!

E antes de mais nada, e preciso passar uma vassoura por aqui pois está muito empoeirado. Por esses meses que se passaram desde o meu último post em 23 de outubro, eu estarei mudando a cara do Blog para marcar a minha volta a comunidade OpenSource e principalmente aos projetos pessoais e em especial as contribuições com o GNOME (Pois é, estou em falta com muita coisa!), inclusive sobre um patch que fiz para o kernel recentemente adicionando suporte ao novo modelo de notebook da Sony VPCEB15FB que tem algumas funcionalidades diferente antes não suportada no Kernel. Estarei comentando mais sobre o assunto brevemente!

E isto, só tenho a agradecer aos amigos que acompanharam os problemas que surgiram e agora e bola pra frente e correr atrás do tempo perdido!!

De volta a comunidade, Happy hacking! ;)

<obs>A Imagem foi copiada do blog do meu parceiro Larry.Jr, thanks! =)</obs>




Djavan Fagundes: Interessantes coisas passadas

8 de Junho de 2010, 0:00, por Software Livre Brasil - 0sem comentários ainda

Então pessoal, como nem sempre tenho tempo para postar como gostaria, tentarei fazer postagens mais pequenas e constantes do que esperar ter 3 horas livres pra escrever alguma coisa.

Entre as coisas interessantes que assisti, o ótimo documentário Expelled: No intelligence Allowed sobre a censura em diversas universidades contra a teoria do design inteligente, onde conheci o showzinho do ativista ateu Richard Dawkins e assisti também o brasileiro Sonhos Roubados que é legalzinho. Estou começando a me divertir um pouco com a libtaningia, que inclusive, já está no Debian Sid, além de ter usar o tempo livre para um pouco de leitura indicada por um amigo do trabalho.

Por hora é isto! Abraço!



Lucas Rocha: litl news

3 de Junho de 2010, 0:00, por Software Livre Brasil - 0sem comentários ainda

Next Product

Last time I blogged about litl was back in November last year, when we released our first ever product: the litl webbook. I thought it would be a good time to post some news, now that we’ve announced our next product: a Web-connected TV box with an awesome remote – see the news on Engadget, Gizmodo, Fast Company, and others for more information and photos.

Since the launch of the webbook, we’ve done a few releases of the litl OS – the software running in our products – with major improvements in existing features, new features, and important bug fixes. Those updates were automatically downloaded and installed on all webbooks through all neat update system. Let me highlight some of those.

Mediawall major improvements. Mediawall is litl’s signature channel that aggregates photos and videos from several online services and show them in a nice timeline. We spent a couple months improving Mediawall by refining the user experience, redesigning and simplifying the timeline view, improving video playback stability, making some important performance improvements, and fixing a lot of bugs. Getting the Mediawall user experience right is quite challenging as its implementation involves a tight integration between the litl OS and our server side bits.

Photo & Video upload. One common comment from users and reviewers of the litl webbook was that even though the product allowed you to view photos and videos from several online services, it didn’t support media upload. A few months after the release, we added super-simple upload support to the litl OS. Users can upload photos and videos to Flickr, Picasa, SmugMug, and Shutterfly from the webbook by just following the very simple process of plugging your camera in, selecting the online service to upload your media to, and starting the upload. The new content appears in Mediawall after just a few minutes.

More services in Mediawall. By the time we launched the webbook, Mediawall supported photos and videos from Flickr and Shutterfly. On a later release, we added support for Picasa and SmugMug. More services will be gradually added in the future.

Chromium-based web browser. The latest litl OS release features a re-implementation of our web browser’s guts based on Chromium – instead of Mozilla’s Gecko. That doesn’t mean that gjs is now based on V8 engine or anything. The main UI shell is still running on Spidermonkey engine. The new Chromium-based browser allowed us to have more control over the life cycle and resource usage of the browser cards and we now have a much smoother and integrated web browsing experience.

New channels. Several channels have been added to our Card Catalog. FacebookBakeSpace, and NPR are some of the cool channels we’ve released since launch. The first ever litl SDK has been announced a couple weeks ago. We hope this will boost the development of new channels for the litl products from now on.

Misc improvements. Besides the big features above, a lot has been done on several parts of the OS: Card Catalog now has a much nicer UI, news channels are much cleaner and stable, remote BIOS update proceduce, overall UI performance has been improved, faster full-screen video performance, initial browser page has been simplified and enhanced, battery status is now visible in the Settings card, and much more.

I worked on three of those areas: Mediawall, Photo & Video upload, and some of the Misc improvements. We have already started working of some major new features for the litl OS which will be released with our next product. Expect some exciting news from us! For those interested in the webbook, we have recently reduced its price from $699 to $399. Enjoy!



Tags deste artigo: gnome planet planeta