20 Feb
Por motivações ideológicas Cuba e Venezuela uniram-se com objetivo de migrar os computadores do governo para Linux. Também haviam sido levantadas suspeitas sobre a colaboração da Microsoft com o governo dos Estados Unidos.
Essa parece ser a tendência de diversos governos (embora a maioria seja movida por questões financeiras) pois Brasil, China e outros também estão migrando (ou tentando migrar) seus sistemas para Software Livre.
Em Cuba, também nota-se um grande aumento no número de usuários de Software Livre. Nos últimos dois anos, o número de usuários de Software LIvre passou de 600 para mais de 3000. Acredita-se que esse crescimento seja exponêncial.
Mais informações: USA Today, em inglês.
Posts Relacionados:
20 Feb
O Haiku é um Sistema Operacional que utiliza a licença MIT e é baseado no BeOS (Be Operative System), extinto em 18 de agosto de 2001. Ele surgiu exatamente com o desaparecer do BeOS e apesar de pequeno, ainda tem muitos erros a corrigir.
A questão é que parece que a Google anda se interessando pelo sistema, como visto em um video do Google Tech Talks. Aparentemente é o sistema apesar de imaturo é bem interessante. Ele é feito em C++, ele tem apenas 60 MB.
Assim que for possivel, irei instalar a versão de testes e fornecerei mais detalhes.
[Via WebTuga]
Posts Relacionados:
20 Feb
Todos já ouviram falar do Gmail, Orkut e YouTube (adquirido recentemente pela Google). Mas a Google não possui apenas esses três sistemas. Aqui vai uma lista das ferramentas que eu uso (algumas delas ainda estão em fase de desenvolvimento):
Alerts: O Alerts envia para você um e-mail contendo sitações (e a origem delas) de palavras (ou expressões) pré-cadastradas em sua conta. O bom disso é que você não precisa ficar procurando pelas novidades, elas chegam em sua caixa de correio logo após a publicação.
Analytics: O Analytics permite que você faça o acompanhamento dos acessos ao seu site, inclusive informando a origem do acesso (cidade) e a forma do acesso (Direto, via google, etc). Além disso exitem diversas outras informações as quais você tem acesso, como tempo de acesso, checagem diária de acessos e uma infinidade de outros relatórios.
Blogger:Para os que não sabem, o Blogger também foi adquirido pela Google. Ele foi reformulado e está bem mais simples de usar, além de estar integrado com as novas ferramentas da Google, como o Docs & Spreadsheets.
Calendar:O Calendar é uma incrível agenda (na verdade, um conjunto de agendas) que pode ser compartilhada com outros usuários. Eu, por exemplo, utilizo quatro agendas: Um calendário de provas, um das matérias, um dos feriados e semanas do saco-cheio e um para coordenar um grupo de programadores. Vale a pena experimentar.
Docs & Spreadsheet:O Docs & Spreadsheet funciona como o Word e Excel, mas com várias vantagens: Você pode compartilhar seus arquivos com outros usuários, pode pode acessar seus arquivos de qualquer lugar do mundo (basta um computador e conexão com internet), você pode reverter o arquivos para uma versão mais antiga (sabe quando você erra feio e depois salva?), e muitas outras.
GMail:O GMail provavelmente é o melhor sistema de e-mails baseado em web (você pode ler em um website) que existe. Além da cota de 2.819Mb (que continua aumentando), você possui a opção de aplicar filtros à todas as mensagens que entram na sua caixa de correio (o que facilita bastante na organização). Além disso possui o melhor anti-spam que eu encontrei até hoje (Na minha conta do Yahoo 20% dos spam passavam como mensagem. No GMail não chega a 5%).
NoteBook:O NoteBook permite que você coloque notas em qualquer site. Essas anotações podem ser compartilhadas com outros usuários. Além disso, ainda existe uma extensão para o Firefox que permite que você faça essas anotações sem ter que ir para o Google Notebook. O Google Notebook ainda está em fase de desenvolvimento.
Orkut:Difícil falar algo do Orkut. Um dos primeiros (senão o primeiro) sistemas de relacionamentos criados na web. Tomou o Brasil praticamente inteiro e continua a se expandir em velocidades incríveis.
Page Creator: O Page Creator é um editor de páginas de internet bem simples de usar, baseado em web e interligado às outras ferramentas da Google. Ao começar a utilizá-lo, você recebe um endereço (suagoogleaccount.googlepages.com) com um limite de 100Mb para arquivos (considerável, tratando-se de um site pessoal). Simples e bem intuitivo. Ainda está em fase de desenvolvimento.
Reader: O Reader é um leitor de RSS feeds. Funciona muito bem e está integrado às outras ferramentas Google. Ainda não suporta feeds que precisem de autorização para serem lidos, mas como está em fase de desenvolvimento, isso é perdoável.
A grande vantagem das ferramentas Google é que elas estão todas interligadas, ampliando sua funcionalidade. Além disso, todas são gratuítas e você acessa com o mesmo usuário e senha (Sua Google Account).
Mais informações sobre essas e diversas outras ferramentas (incluindo todas as ferramentas ainda em desenvolvimento na Google) no Google Labs.
Posts Relacionados:
16 Feb
Normalmente, quando estamos aprendendo a programar, acabamos lendo código já escrito por outros programadores (as vezes, alguns dos melhores programadores do mundo). Uma das primeiras coisas que notamos é que eles usam modificadores em funções e variáveis. Aqui vou explicar os modificadores que estão no padrão ANSI C (ISOC 1989).
Modificadores de Tipo:
long: Dobra o número de bytes de um tipo primitivo
short: Reduz pela metade o número de bytes de um tipo primitivo
signed: Determina que o tipo primitivo deve reservar um bit para o controle de sinal
unsigned: Determina que não deve ser reservado um bit para o controle do sinal do tipo primitivo
Modificadores de Acesso:
const: Em uma variável indica que o valor dela não pode ser alterado e em uma função, quando aplicado a um parâmetro, significa que o parâmetro não poderá ser modificado (a função não terá efeitos colaterais com relação ao parâmetro).
volatile: Significa que a variável (ou parâmetro) pode ser modificado a qualquer momento e por isso o compilador não deve otimizar atribuições sucessivas.
Modificadores de Armazenagem:
auto: Este modificador não tem função na linguagem. Foi adiciona à ela por questões de simetria com outros modificadores. Ele simplesmente indica que o compilador deve tratar a varável como ele sempre trata.
extern: Indica que uma variável em um módulo será referenciada em algum outro módulo. A alocação dela será feita durante a lincagem do programa.
static: Quando usada em uma variável, significa que quando o módulo (ou função) for carregado, esta variável será alocada apenas uma vez e será compartilhada por cada um dos módulos (ou funções).
Modificadores definidos pela ISOC 1999:
restrict: Significa que a variável não poderá ser alterada no escopo onde está declarada. Isso é um pouco diferente de const, que impede que a variável seja modificada de forma direta. Restrict impede que ela seja modificada de formas diretas e indiretas.
register: Significa que a variável ou parâmetro será mantido em um registrador durante qualquer cálculo que a envolva. Isso aumenta muito a velocidade de trabalho da varável, o que pode aumentar o desempenho de um laço, por exemplo. Como a variável está sendo mantida em um registrador, não faz sentido usar o operador unário & para pegar o endereço dela.
inline: Significa que o código de uma função deverá ser inserido no meio do código principal, assim como uma macro (um pouco mais segura). Isso aumenta a velocidade porque não existe mais o tempo de chamada de função, mas só deve ser usado em funções pequenas (aproximadamente 10 linhas) e somente compilando com otimização as funções serão inline realmente. Também apresenta o problema de aumentar o tamanho do arquivo compilado, uma vez que as funções fazem parte do código principal agora.
Extensões:
Em compiladores padrão GNUC (verifique a existência da constante __GNUC__), existem diversos modificadores extras e que são muito úteis. Para mais informações verifique Extensões GNUC
Mais informações: C Keywords -> Google
Próxima semana: Estratégias de Depuração.
Posts Relacionados: