Adicione seu blog

Se você é um contribuidor do KDE que fale português, Pode ter seu blog listado aqui em nosso planet. O Conteudo do blog deverá ser sobre KDE em Português e não deve conter ofensas. Se você tem um blog de vários assuntos, você deve criar uma tag KDE e adicioanar apenas o feed para a mesma no planet.

Para ter seu blog adicionado aqui, envie um e-mail para tcanabrava @ kde.org com os dados necessários e ele prontamente atenderá seu pedido.

Caso você possua conta no svn, pode adicionar o próprio feed:

  • svn checkout svn+ssh://@svn.kde.org/home/kde/trunk/www/sites/planet/planetkde-br
  • Coloque seu hackergotchi em website/hackergotchi/. O hackergotchi deve ser uma foto de seu rosto de 80x80 pixels com um background transparente. Lembre-se de svn add o arquivo.
  • no fim do arquivo planetkde-br/config adicione seus detalhes. (o nome entre parenteses é seu apelido de IRC):
  • feed 15m http://path.to/my/feed.rss define_name Konqi Konqueror (konqi) define_face hackergotchi/konqi.png define_facewidth 80 define_faceheight 80
  • svn commit

If you want to add a Twitter microblog to the Microblogging sidebar add define_microblog true and follow your name with [twitter]. Currently only Twitter is known to work, please contact Jonathan Riddell before adding non-Twitter microblogs to check it works.

Planet KDE Português Guidelines

Planet KDE Português is one of the public faces of the KDE project and is read by millions of users and potential contributors. The content aggregated at Planet KDE Português is the opinions of its authors, but the sum of that content gives an impression of the project. Please keep in mind the following guidelines for your blog content and read the KDE Code of Conduct. The KDE project reserves the right to remove an inappropriate blog from the Planet. If that happens multiple times, the Community Working Group can be asked to consider what needs to happen to get your blog aggregated again.

If you are unsure or have queries about what is appropriate contact the KDE Community Working Group.

Blogs should be KDE themed

The majority of content in your blog should be about KDE and your work on KDE. Blog posts about personal subjects are also encouraged since Planet KDE Português is a chance to learn more about the developers behind KDE PIM. However blog feeds should not be entirely personal, if in doubt set up a tag for Planet KDE Português and subscribe the feed from that tag so you can control what gets posted.

Posts should be constructive

Posts can be positive and promote KDE, they can be constructive and lay out issues which need to be addressed, but blog feeds should not contain useless, destructive and negative material. Constructive criticism is welcome and the occasional rant is understandable, but a feed where every post is critical and negative is unsuitable. This helps to keep KDE overall a happy project.

You must be a KDE contributor

Only have your blog on Planet KDE Português if you actively contribute to KDE, for example through code, user support, documentation etc.

It must be a personal blog

Planet KDE Português is a collection of blogs from KDE contributors. It is not indended for project news feeds.

Do not inflame

KDE covers a wide variety of people and cultures. Profanities, prejudice, lewd comments and content likely to offend are to be avoided. Do not make personal attacks or attacks against other projects on your blog.

For further guidance on good practice see the KDE Code of Conduct.

People Aggregated

FeedRSSLast fetchedNext fetched after
Aracele Torres (araceletorres) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Filipe Saraiva (filipesaraiva) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Arthur Ribeiro (arthurribeiro) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
KDE Lovelace (#kde-lovelace) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Aracele Torres (araceletorres) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Francisco Fernandes (chicao) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Filipe Saraiva (filipesaraiva) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Camila Ayres (camilasan) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Wagner Reck (wiglot) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Amanda (amandacsi) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Daniel O. Nascimento (don) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Lamarque Souza (lamarque ou lvsouza) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Felipe Ribeiro (lombra) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Tulio Magno (tuliom) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Live Blue XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Sandro Andrade (sandroandrade) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Tomaz Canabrava (Tumaix) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Lucas Lira Gomes (MaskMaster) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Francisco Fernandes (chicao) XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May
Qt Labs Blog Brasil XML 02:08, Thursday, 17 May 02:38, Thursday, 17 May

Microblogging from KDE

December 09, 2011

Lamarque Souza (lamarque ou lvsouza)

O que anda acontecendo no Plasma NM

Olás, desde meu último post algumas coisas aconteceram no Plasma NM:

Para quem não sabe a QtNetworkManager e QtModemManager são bindings para o NetworkManager 0.9 e ModemManager 0.5. Eles são usados no Plasma NM da versão master (versão de desenvolvimento). A mudança de nomes foi sugerida pelos outros desenvolvedores do KDE que queriam nomes mais descritivos.
Além da mudança de nomes eu também corrigi vários probleminhas nas duas bibliotecas detectados pelo Krazy2 (analisador estático de código do KDE). Essas últimas semanas eu tenho (lentamente) corrigido problemas detectados pelo Krazy2 no Plasma NM também. Ainda tem bastante coisa para resolver, mas isso é um passo necessário para melhorar o código fonte do Plasma NM.
As mudanças de usabilidade estão paradas porque recebi algumas críticas em relação a elas. Mas do jeito que as coisas andam eu acho que vou mesmo é enviar as mudanças que já fiz e de lá ir melhorando aos poucos. Esses últimos dois meses tenho trabalho sozinho no Plasma NM e comecei um novo emprego (mais sobre isso no próximo post), por isso as coisas estão andando devagar.

23:42, Friday, 09 December UTC

November 25, 2011

Filipe Saraiva (filipesaraiva)

Anunciados novos cursos online da Universidade de Stanford

Repetindo a experiência que começou a ser realizada há poucos meses, a Universidade de Stanford disponibilizará, de forma gratuita, a partir de janeiro de 2012, mais cursos online.

As novidades deste período é que há muito mais cursos, inclusive alguns que não são de computação – na primeira experiência, Stanford disponibilizou cursos de inteligência artificial, aprendizado de máquina e banco de dados.

Os cursos divulgados até o momento são:

A lista de cursos começou a se diversificar com a inclusão de um curso de saúde. Ainda não temos certeza se estes são todos os cursos ou se ainda serão anunciados outros, mas estaremos atentos.

Pelo jeito eles colheram um feedback muito positivo com as primeiras três disciplinas apresentadas no projeto anterior.

E aí, está pensando em tentar alguma?

22:56, Friday, 25 November UTC

November 16, 2011

Filipe Saraiva (filipesaraiva)

KDE-Edu no Latinoware

DSC01050Palestra sobre KDE-Edu na Latinoware

Entre os dias 19 e 21 de outubro de 2011, comemoramos os 15 anos do KDE na VIII Conferência Latino-Americana de Software Livre – a Latinoware! Um evento já tradicional na cena da comunidade brasileira, acontece todo ano no centro de convenções da usina de Itaipu, em Foz do Iguaçu, bem na tríplice fronteira Argentina-Brasil-Paraguai.

Durante o evento apresentei a palestra KDE-Edu: a visão KDE dos softwares educacionais, onde apresentei os diversos softwares educativos do KDE para um público prioritariamente formado por trabalhadores da educação e desenvolvedores interessados no tema, além de mostrar como aqueles que tem vontade de contribuir podem participar do projeto KDE-Edu.

DSC01045Palestra sobre KDE-Edu na Latinoware: Demonstração de Softwares

O resultado foi muito positivo, com muita participação dos presentes através de colocações, perguntas, etc. Também achei legal a proximidade com o grupo Software Livre Educacional. Frisei que precisamos ter uma maior interação público dos softwares educativos + professores que usam software educativo + desenvolvedores de softwares educativos. Alguns desenvolvedores brasileiros do KDE-Edu se inscreveram na lista do Software Livre Educacional – vamos ver o que os próximos anos nos reservam em termos de projetos e atividades em conjunto. :)

DSC01030Stand do KDE

Além desta atividade, o KDE contou com um stand com venda de material de divulgação – cuja renda é revestida para o projeto – e várias palestras sobre outros aspectos, como sua nova interface para ambientes móveis e a própria comemoração de aniversário do projeto, com direito a post no site do evento. A programação completa do que aconteceu pode ser vista aqui.

O evento foi muito legal, sinceramente foi um dos melhores eventos de software livre que já participei, bem organizado, com grande apoio e respeito aos participantes, palestrantes e comunidades. Poucos eventos de software livre dão, de fato, apoio àqueles que fazem o evento acontecer, que são as pessoas que desenvolvem software livre, que se doam para comunidades, que enfim, são as razões de existirem eventos nessa área. Ponto para o Latinoware!

Minha única reclamação é que o evento satélite do KDE aconteceu ao mesmo tempo que o de software livre educacional. :( Acabei tendo que ficar com o KDE e perdendo o de educação, que muito me interessa. Mas enfim, apenas algo pontual.

dsc01167

No mais, reencontrar os amigos da comunidade, fazer novos, e tomar aquela cervejinha com eles é sempre recompensador. Também aproveitei e fiz uma visita à Ciudad del Este e fiz uma troca mais do que necessária de computador – finalmente posso utilizar wireless agora! E ver os efeitos gráficos do KDE, que já existem há anos! :D

O próximo Latinoware já tem data definida – de 17 a 19 de outubro de 2012. Espero mais uma vez poder participar do evento.

Quem estiver interessado, aqui estão os slides que utilizei na minha palestra.

<Atualização>Comecei a utilizar um sistema para fazer embbed de apresentações, o Speaker Deck, que utiliza html5, permite download, seguir o palestrante, compartilhar, etc. Depois digam o que vocês acharam, feedbacks serão bem vindos. :) </Atualização>

00:00, Wednesday, 16 November UTC

November 11, 2011

Qt Labs Blog Brasil

Offline Storage em QML


Muitas aplicações precisam armazenar dados para que os mesmos estejam disponíveis após o término de sua execução. Além da opção de lidarmos diretamente com arquivos, o Qt provê diversas maneiras de guardar informações offline como por exemplo o QSettings caso se deseje armazenar apenas chaves e valores. Também é possível utilizar o módulo Qt SQL para lidar com dados estruturados de forma mais complexa. No entanto, essas abordagens exigem integração do código QML com o C++, o que as vezes não é desejável. Uma alternativa é utilizar a Offline Storage API (Armazenamento Offline) para não precisar sair do ambiente QML. Essa API provê uma interface SQL, que permite manipular bancos de dados relacionais (BDs), utilizando o SQLite como backend.

Detalhes sobre o offline storage pode ser encontrado na documentação oficial do Qt. Apesar de ser bem escrita, a documentação não nos dá um exemplo prático que ilustre o uso dessa API, portanto, decidí criar um que mostra as boas práticas do uso da mesma.

Lista de Contatos

Imagine que você tem uma lista de contatos para armazenar em sua aplicação. As informações necessárias para armazenar esses contatos são seus nomes, número de telefone e email. O primeiro passo é criar uma conexão com o banco de dados do offline storage,

// A função openDatabaseSync seguintes parametros
// 1 - Nome do banco de dados (BD)
// 2 - Versão do BD
// 3 - Descrição sobre o BD
// 4 - Estimativa de tamanho do BD
// Retorna um objeto do tipo Database
var db = openDatabaseSync("Contacts", "1.0", "Contact list database", 5*1024*1024);

Para manipular um banco de dados no Javascript uma conexão com o banco deve ser criada. A API de offline storage disponibilizada para o QML é assíncrona no que se refere a criação e execução de transações. As transações são criadas através do método transaction do objeto de conexão com o offline storage. Essa função segue o padrão de callbacks do Javascript para lidar com chamadas assíncronas. Assim que a transação está pronta para ser iniciada, ela chama uma função (o callback) passando o objeto que representa a transação como parâmetro. Com a referência do objeto da transação, as consultas e alterações no banco podem ser realizadas.

Para criar as tabelas é preciso abrir uma transação para executar o código SQL referente a sua criação. Isso pode ser feito da seguinte forma:

// Abrindo transação
db.transaction(function (tx) { // tx é um objeto do tipo transação
    tx.executeSql("CREATE TABLE IF NOT EXISTS Contacts ( \
        id INTEGER PRIMARY KEY AUTOINCREMENT, \
        name STRING, \
        phone STRING, \
        email STRING, \
        UNIQUE (name) ON CONFLICT REPLACE)");
});

Abstraíndo o Banco de Dados

Em minha experiência com o offline storage, recomendo que as funções que operam o BD deveriam ficar em um módulo (ou um conjunto de módulos) Javascript a parte. Nesses módulos, além da criação do esquema do banco de dados, recomendo definir funções de acesso aos dados que escondam o SQL da aplicação QML, ao criar funções que manipulem esses dados em formatos amigáveis ao QML:

// O callback é chamado quando o contato é inserido ou atualizado e o id gerado é passado como parâmetro da callback.
function insertOrUpdateContact(name, phone, email, callback) {
    db.transaction(function (tx) {
        // Note que o ID é auto gerado
        var resultSet = tx.executeSql("INSERT OR REPLACE INTO Contact(name, phone, email) VALUES (?, ?, ?)", [name, phone, email]);
        callback(resultSet.insertId); // Retorna o id gerado para o novo usuário como parâmetro da callback
    });
}

// Retorna a informação sobre um contato cujo id é passado como parâmetro
function getContactInfo(id, callback, errorCallback) {
    db.trasaction(function (tx) {
        var resultSet = tx.executeSql("SELECT * FROM Contacts WHERE id = ?", [id]);
        if (resultSet.rows.length > 0) {
            // A função resultSet.rows.item retorna um array JS com chaves
            // sendo o nome das colunas e os valores os dados das colunas
            callback(resultSet.rows.item(0));
        } else {
            errorCallback();
        }
    });
}

Isso nos permite utilizar as informações do BD no QML sem misturar QML com SQL diretamente:

import QtQuick 1.0
import "db.js" as DB

Column {
    property int contactId
    property string name
    property string email
    property string phone

    width: 300; height: 90

    onContactIdChanged: {
        // A variável DB referencia o módulo Javascript
        DB.getContactInfo(contactId, function (info) {
            name = info.name;
            email = info.email;
            phone = info.phone;
        });
    }

    Text { text: name; height: 30 }
    Text { text: email; height: 30 }
    Text { text: phone: height: 30 }
}

Migração entre esquemas

Suponha, que sua aplicação já está em uso, e agora você precisa suportar vários telefones para cada contato. Para fazer isso de maneira que o esquema do BD seja atualizado e os dados não sejam perdidos. Isso é importante, em ambientes onde você não tem acesso direto a maquina para executar backups ou algo do gênero, como por exemplo aplicativos publicados na Nokia Store. Para isso, a API de offline storage define uma maneira de executar migrações a partir do versionamento dos esquemas. O objeto do tipo database já provê um método (changeVersion) que nos ajuda a atualizar os metadados do banco e chamar a função responsável pela migração dos esquemas. Essa função será utilizada da seguinte forma:

// Versão vazia significa, pegar a versão mais atual
var db = openDatabaseSync("Contacts", "", "Contact list database", 5*1024*1024);

// Caso não exista a versão será uma string vazia
if (db.version == '') {
    db.changeVersion('','1.1', create_scheme_1_1);
} else if (db.version ==  '1.0') {
    db.changeVersion('1.0','1.1', migrate_scheme_1_0_to_1_1);
}

Isso nos permite identificar a versão atual e chamar o procedimento correto para tratar a criação ou migração do esquema, já passando a transação como parâmetro. Da seguinte forma:

function create_scheme_1_1(tx) {
    tx.executeSql("CREATE TABLE IF NOT EXISTS Contacts ( \
        id INTEGER PRIMARY KEY AUTOINCREMENT, \ // Criando chave primária automática
        name STRING, \
        email STRING, \
        UNIQUE (name) ON CONFLICT REPLACE)"); // Essa restrição impede que dois contatos tenham o mesmo nome

    tx.executeSql("CREATE TABLE IF NOT EXISTS ContactsPhones ( \
        contact_id INTEGER, \ // Criando chave primária automática
        phone STRING, \
        FOREIGN KEY (contact_id) REFERENCES Contacts(id))");
}

function migrate_scheme_1_0_to_1_1(tx) {
    // Cria tabela auxiliar para armazenar multiplos telefones por usuário
    tx.executeSql("CREATE TABLE IF NOT EXISTS ContactsPhones ( \
        contact_id INTEGER, \
        phone STRING, \
        FOREIGN KEY (contact_id) REFERENCES Contacts(id))");

    // Move os dados para a nova tabela
    tx.executeSql("INSERT INTO ContactsPhones (contact_id, phone) SELECT id, phone FROM Contacts");
}

É importante notar que não é possível remover colunas no SQLite, e que o desenvolvedor terá que tomar a decisão de conviver com uma coluna desenecessária ou criar uma nova tabela com as informação necessárias. No caso do último, é importante ter um pouco mais de conhecimento sobre SQL para fazer renomeação de tabelas e alteração de tabelas.

Por termos um esquema diferente, é importante atualizar as consultas realizadas. Daí a importancia de termos uma API como interface para abstraírmos o código das consultas do restante da aplicação, e termos que alterar as consultas apenas em alguns pontos.

18:14, Friday, 11 November UTC

November 05, 2011

Lamarque Souza (lamarque ou lvsouza)

Que tal ajudar o KDE em alguns clicks?

Algumas semanas atrás a Lydia Pintscher postou sobre uma promoção que um banco da Alemanha está fazendo. O Banco irá pagar 1000 euros para os mil primeiros associados que receberem o maior número de votos até o meio de novembro. O KDE e.V. está na posição 1003 hoje e perdendo posições, se nada mudar estaremos de fora :-( Se alguém aí ainda não votou por favor ajudem o KDE e.V., é só seguir as instruções no blog da Lydia ou para quem prefere as instruções em português faça o seguinte:

  1. Acesse [verein.ing-diba.de/…] e clique em “Stimme abgeben”.
  2. Preencha seu email e o código captcha, clicando em seguida em “absenden”.
  3. Você receberá um email para confirmar o voto – clique no primeiro link deste email.
  4. No website – clique em “Stimme abgeben”.

Você tem direito a 3 votos por conta de email.

21:58, Saturday, 05 November UTC

October 26, 2011

Live Blue

KDE comemora seus 15 anos no Latinoware 2011

Latinoware 2011

No último dia 14 de Outubro o KDE completou 15 anos de muito trabalho, inovação e diversão é claro ! O KDE Brasil aproveitou a 8a. Edição da Conferência Latino-Americana de Software Livre (Latinoware 2011) para realizar uma grande festa ! Este ano, mais do que nunca, tivemos um stand super bacana: banner dos 15 anos do KDE, TV para demonstrar as feature mais legais do KDE e passar vídeos bacanas, diversos “apetrechos” do KDE: camisas, pins, adesivos, cartões postais, etc. O IV Fórum KDE Brasil – Edição Latino-Americana trouxe para o Latinoware uma série de palestras e mini-cursos sobre as tecnologias Qt e KDE.

Banner comemorativo dos 15 anos do KDE

Nosso stand

KDE swags

Nosso amigo Juan do KDE-Argentina

Na quarta-feira, dia 19, tivemos o mini-curso “Desenvolvendo Aplicações Mobile com Qt 4.8″, ministrado por Sandro Andrade e Luis Paulo Torres. No mini-curso foram apresentados os principais recursos do Qt Mobility 1.2 que promovem o desenvolvimento cross-platform de aplicações para o Symbian, Maemo, Meego e também Android e iOS. Laboratórios práticos de acesso aos diversos sensores (acelerômetro, orientação, etc), dados de contatos e integração com GPS foram realizados. A participação do público foi excelente: 20 participantes (sala lotada) e mais alguns de pé.

Mini-Curso ”Desenvolvendo Aplicações Mobile com Qt 4.8″

Também na quarta-feira Filipe Saraiva apresentou a palestra “KDE-Edu: a visão KDE dos softwares aducacionais”, onde os aplicativos educationais e tendências futuras do KDE na educação foram apresentados.

Palestra “KDE-Edu: a visão KDE dos softwares aducacionais” com Filipe Saraiva

Ainda no primeiro dia o Open Source Rock Festival aqueceu os ânimos dos participantes.

Open Source Rock Festival

Participantes ilustres

O Latinoware 2011 trouxe uma interessante tecnologia (E-Take) para o favorecimento da redução do consumo de papel no evento. Cada participante recebeu, no momento do credenciamento, um pequeno dispositivo utilizado para solicitar material em meio digital previamente disponibilizado pelos stands. O participante aproximava o dispositivo de um receptor presente em cada stand e automaticamente o material era enviado para o seu e-mail.

Na sexta-feira, dia 21, ocorreu o Forum KDE propriamente dito com a palestra de abertura “15 anos de KDE: o que construimos ? para onde iremos ?”, apresentada por Aracele Torres. Na apresentação, revisitamos toda a trajetória do KDE ao longo deste período, destacando as grandes conquistas e os projetos mais desafiadores.

Palestra “15 anos do KDE: o que construimos ? para onde iremos ?”

Logo em seguida a palestra “KDE Frameworks 5: o que você ganha com isso ?” ministrada por Sandro Andrade, apresentou as facilidades atualmente disponibilizadas pelo KDE Platform 4 e as modificações previstas na próxima liberação major das tecnologias KDE. APIs para multimídia (via Phonon), I/O síncrono e assíncrono, local ou remoto (KIO), controle de GUIs via XML (KXMLGUI), obtenção e upload de artefatos na web (Get Hot New Stuff), utilização de plugins e KParts foram demonstrados através de códigos exemplo. Aspectos sobre modularização e definição explícitas de dependências na futura versão da plataforma (KDE Frameworks 5) foram também ilustrados. Uma das metas é favorecer ainda mais a execução de aplicações KDE no mais amplo espectro de dispositivos.

Palestra “KDE Frameworks 5: o que você ganha com isso ?”

Dando continuidade ao IV Fórum KDE Brasil nosso amigo Juan Muguerza, do KDE Argentina, apresentou a palestra “Owncloud: cria a sua própria nuve com KDE”, onde a soluções opensource completa do KDE para computação na nuvem foi apresentada e discutida.

Palestra “Owncloud: cria a sua própria nuve com KDE”

Encerrando nossa participação no VIII Latinoware, a palestra “Plasma Active: o KDE chega ao seu tablet” ministrada por Sandro Andrade apresentou a recém-lançada versão do workspace Plasma totalmente dedicado aos tablets e outros dispositivos móveis. As principais facilidades para criação de activities e ligação de URLs e aplicações às activities presentes foram demonstradas. Versões mobile das aplicações KDE Kontact e Calligra trazem uma maior facilidade de utilização nos tablets e ratificam o Plasma como tecnologia bastante promissora e certamente presente em uma ampla faixa de dispositivos em um futuro próximo.

KDE Plasma Active em ação

Como não poderia faltar uma comemoração compatível com todas as conquistas do KDE não poderia deixar de estar presente :)

Antes

Depois :)

E até o próximo Latinoware

Update: ainda temos algum material do KDE disponível para venda (camisas, pins, cartões postais, adesivos, etc). Fotos abaixo, interessados devem contactar sandroandrade AT kde DOT org


14:17, Wednesday, 26 October UTC

October 24, 2011

Aracele Torres (araceletorres)

Camisas comemorativas dos 15 anos de KDE

O KDE Brasil está vendendo camisetas com estampas comemorativas dos 15 anos do KDE. Se você gosta do KDE e deseja ter esse item de colecionador, entre em contato conosco para adquirir a sua camisa. O número de camisetas é limitado! Temos dois modelos de estampas,como vocês podem ver abaixo.

Estampa 1

 

Estampa 2

 

Costas das camisas

Para comprar uma camisa entre em contato através dos emails: araceletorres at gmail.com e sandroandrade at gmail.com. O preço de cada camiseta é de R$ 20,00 + o valor do frete. O dinheiro da venda vai para o KDE e.V., fundação sem fins lucrativos responsável pelo KDE.


23:34, Monday, 24 October UTC

Filipe Saraiva (filipesaraiva)

15 anos do KDE são celebrados na Latinoware

O texto abaixo foi escrito pelos jornalistas que cobriram o Latinoware e está disponível neste link. Segue o texto, na íntegra.

Na manhã desta sexta-feira, 21, um clima de nostalgia tomou conta da atmosfera da Latinoware 2011, durante a abertura do IV Fórum KDE – Brasil – Edição Latino-Americana. Os 15 anos recém-completados de atividades da segunda maior comunidade de software livre do mundo foram lembrados por Aracele Torres.

Na plateia, os velhos conhecidos do grupo puderam recordar de ações importantes desenvolvidas pelo grupo, encontros internacionais dos desenvolvedores e as melhorias alcançadas durante a trajetória do KDE, que atualmente conta com mais de 2 mil contribuidores de todo o mundo.

Aracele também levantou alguns dados interessantes que comprovam o sucesso do grupo, como a participação no Google Summer of Code – um importante programa destinado a apresentar o desenvolvimento de softwares livres a estudantes universitários. Em 2005, o KDE foi a segunda organização que mais obteve projetos aceitos (24), enquanto que ao todo, em 7 anos de participação, mais de 260 projetos já foram aceitos.

O panorama atual do KDE é dos mais animadores, já que o grupo recentemente inovou na criação do Plasma Active, uma interface criada para uso em netbooks. Mais recentemente, uma versão para tablets também foi produzida. No Brasil, o time de tradutores se destaca por ser um dos mais ativos da comunidade, responsável por manter 100% da interface do KDE 4.4 traduzida para o português.


12:43, Monday, 24 October UTC

October 21, 2011

Live Blue

Qt Project está no ar !!!

Por: Lars Knoll

O Qt Project está no ar !

Estamos felizes em anunciar que o Qt Project foi oficialmente lançado. A partir de hoje, o desenvolvimento do Qt será governado como um projeto verdadeiramente open source.

A partir de hoje está disponível o qt-project.org – um site que centralizará todas as informações sobre o desenvolvimento do Qt, fornecendo a mesma infra-estrutura e processos para qualquer um que queira contribuir com o Qt.

Agora que estamos aqui, o que vem depois?

Se você está interessado em participar e se tornar parte da comunidade do Qt Project um bom lugar para começar é o site qt-project.org.
Este site fornece uma boa visão geral sobre como começar e como se tornar parte da comunidade e contribuir para o Qt.

Se você já tiver trabalhado com Qt, você provavelmente terá uma conta no Jira, nossa ferramenta de rastreamento de bugs. Esta conta é necessária para obter acesso ao local central onde todo o desenvolvimento acontece: codereview.qt-project.org.

Nosso servidor Gerrit codereview.qt-project.org vai funcionar como o local central para onde os patches são enviados e então revisados ​​e
testados. Todos que têm uma conta Jira pode enviar patches para codereview.

Patches podem ser revisados por qualquer um, e, finalmente, aceitas ou rejeitadas pelos Mantenedores. Você também vai notar que já temos
alguns não-Nokians como Aprovadores e Mantenedores. Gostaria de especialmente mencionar que Thiago, mantenedor de QtCore (biblioteca utilizada em todo o Qt), não está trabalhando para a Nokia. Isto é uma evidência mais tangível do que o Open Governance significa. Espero poder ver ainda mais não-Nokians se tornando Mantenedores no futuro.

Para obter detalhes sobre como contribuir, acesse www.qt-project.org. Por enquanto temos apenas algumas listas de discussão disponíveis em lists.qt-project.org, mas provavelmente isso mudará para acomodar listas mais especializadas à medida que avançamos. A lista mais importante é a lista de discussão geral de desenvolvimento development@qt-project.org. Note que a lista de discussão de desenvolvimento também é membro da lista de discussão de anúncios, assim você irá automaticamente receber as notificações de novas versões.

Continuamos a usar o Jira para rastreamento de bugs e de requisitos. A instalação atual no bugreports.qt.nokia.com será movido nas próximas semanas também para o Qt Project.

A Verdadeira Abertura

O Qt Project é um projeto verdadeiramente aberto. Estamos convidando a todos para participar e ajudar a fazer do Qt um produto melhor.

Todo o desenvolvimento acontecerá em um local central, com acesso para todos ao mesmo tempo. Não há mais um fluxo de código separado para os Nokias e para os “outros”. O que você vê é exatamente o que vemos. Discussões, decisões e roadmap tudo acontecerá na comunidade, pela comunidade e para a comunidade. Qualquer pessoa pode ser um colaborador, e até mesmo um Mantenedor se mostrar mérito para isso.

Converse conosco sobre o Open Governance no Qt Developer Days

Sessões sobre o Open Governance do Qt Project acontecerão no Qt Developer Days e eu também vou estar falando sobre isso durante a minha palestra. Se você está vindo para o evento você terá a oportunidade de aprender mais e se envolver na discussão. Se você está considerando vir ao Qt Dev Days esta discussão é uma das muitas boas razões para nos encontrarmos por lá !

Conclusões e agradecimentos

Estamos extremamente felizes em ver que este movimento finalmente agora aconteceu. Gostaria de aproveitar a oportunidade para agradecer a todas as pessoas que ajudaram a tornar isso possível. Muitas pessoas contribuíram, mas alguns devem ser especificamente mencionados: Thiago Macieira por dirigir os trabalhos iniciais sobre o Open Governance, Marius Storm-Olsen por assumir grande parte do trabalho, Cristy Hamley, por lidar com todas as questões legais e Olivia Puntanen pela gestão do projeto. Obrigado a todos.

Estamos ansiosos para começar um novo capítulo no desenvolvimento do Qt e animados para trabalhar com todos vocês no sentido de tornar Qt um produto ainda melhor.


19:58, Friday, 21 October UTC

Qt Labs Blog Brasil

Qt Project foi lançado!


Tradução do post de Lars Knoll em http://labs.qt.nokia.com/2011/10/21/the-qt-project-is-live/, Portanto, toda referência feita em primeira pessoa deve ser interpretada como um ponteiro para o autor do texto original.

Estou feliz em anunciar que o Qt Project oficialmente lançado hoje. A partir de hoje, o desenvolvimento de Qt será governado como um verdadeiro projeto open source.

Agora temos qt-project.org – um website que centralizará todo o desenvolvimento de Qt, provendo a mesma infra-estrutura e processos para todos que desejem contribuir com Qt.

Agora que estamos aqui, o que vem em seguida?

Se você está interessado em participar e tornar-se parte da comunidade Qt,  o primeiro lugar para olhar é o website qt-project.org. Essa página oferece uma visão geral de como começar e como você pode tornar-se parte da comunidade e contribuir com Qt.

Se você já trabalha com Qt, provavelmente já possui uma conta no Jira, nossa ferramenta de rastreamento de bugs. Essa conta é necessária para acessar o local onde todo o desenvolvimento acontece: codereview.qt-project.org.

Nosso servidor Gerrit em codereview.qt-project.org funcionará como o ponto central para onde os patches enviados, revisados e testados. Todos os que possuem conta Jira podem submeter patches para revisão como Contributor.

Patches podem ser revisados por qualquer um e finalmente aceitos ou rejeitados por Approvers e Maintainers. Você notará que nós já temos alguns não-Nokians como ApproversMaintainers. Eu gostaria de mencionar especialmente que Thiago, o mantenedor de QtCore (a biblioteca que todos utilizam), não está trabalhando para a Nokia. Esta é a mais tangível evidência do que a governaça aberta significa. Eu espero ver ainda mais não-Nokians tornando-se Approvers e Maintainers no futuro.

Para detalhes sobre como contribuir, por favor visite www.qt-project.org.

Por enquanto nós temos apenas algumas listas de e-mails disponíveis em lists.qt-project.org, mas espero que isso mude e que vejamos listas especializadas surgirem conforme avançamos. A lista mais importante é a de desenvolvimento geral development@qt-project.org. Observe que essa lista também é parte de announcement mailing list, portanto você automaticamente receberá tais e-mails.

Nós continuaremos a utilizar Jira para rastrear bugs e requisitos. A instalação corrente em bugreports.qt.nokia.com também será movida nas próximas semanas para o Qt Project.

Abertura real

Qt é um projeto open source real. Nós estamos convidando a todos para participarem e ajudarem a tornar Qt um produto cada vez melhor.

Todo o desenvolvimento acontecerá em um local central, com acesso aberto a todos ao mesmo tempo. Sem mais fluxos de código separados para “Nokians vs outros”, e sem mais atrasos! O que você vê é o que está de fato acontecendo. Discussões, decisões e roadmapping acontecerão todos na comunidade, pela comunidade e para a comunidade. Todos podem ser Contributor, e até mesmo Approver ou Maintainer se demonstrarem mérito suficiente.

Converse conosco sobre a governança aberta no Qt Developer Days

Apresentações sobre Qt Project e governança aberta acontecerão no Qt Developer Days, e também falarei a respeito em meu keynote. Se você vai ao evento, terá a oportunidade de aprender e participar das dicussões. Se você está considerando ir ao Dev Days, essa discussão é um dos vários bom motivos para decidir ir!

Conclusões e agradecimentos

Estou extremamente feliz em ver que essa mudança finalmente aconteceu. Gostaria de aproveitar a oportunidade para agradecer todos aqueles que ajudaram para concretizar isso. Há várias pessoas que contribuíram, mas algumas devem ser mencionadas: Thiago Macieira por ter conduzido os trabalhos iniciais a respeito da governança aberta, Marius Storm-Olsen por assumir muito desse trabalho, Cristy Hamley por cuidar das questões legais, e Olivia Puntanen por gerenciar o projeto. Obrigado a todos.

Estou muito ansioso para começar um novo capítulo no desenvolvimento de Qt, animado para trabalhar com todos vocês no sentido de tornar Qt um produto ainda melhor.

Nota da tradução: Os termos Contributor, Approver Maintainer – contribuidor, aprovador e mantenedor, respectivamente – foram mantidos em Inglês no corpo do texto apenas para fins didáticos a respeito da nova estrutura do projeto, uma vez que esses são os termos que os interessados encontrarão ao ler o site oficial do projeto.

14:18, Friday, 21 October UTC

October 17, 2011

Filipe Saraiva (filipesaraiva)

15 anos de KDE: O KDE e Eu

Minha história com o KDE se confunde com minha história com o Linux. A primeira vez que vi um computador com uma distribuição Linux instalada foi há não muito tempo. Em 2005, havia acabado de ingressar no curso de ciência da computação na UFPI, e no laboratório haviam máquinas com um sistema operacional baseado no Debian criado por estudantes do curso: o Kuia Linux. O ‘K’ já dizia tudo – era um sistema com KDE.

Fiquei impressionado em como aquele sistema era bonito, moderno, atraente… e como era diferente de tudo o que já havia visto.

O tempo foi passando e fui me familiarizando com o Linux, fui aprendendo, acertando e errando, como todo bom iniciante em qualquer área. No ano seguinte, 2006, compramos o primeiro computador para nossa casa. Adquirimos a máquina sem sistema operacional. Em casa, instalei o Kurumin, uma das queridas distros brasileiras, e que foi um verdadeiro marco para toda uma geração de usuários Linux. Tenho por ela um verdadeiro carinho.

Foi usando o Kurumin que percebi que, claro, o Linux era algo que me chamava a atenção, mas o grande responsável por esse sentimento em mim era o KDE.

O tempo foi passando, por um motivo ou outro ia mudando de distribuição, mas o KDE continuava lá, firme e forte. As vezes flertava com outros ambientes desktop, mas logo em seguida voltava para o KDE: só ele conseguia mexer comigo.

2009 foi o ano decisivo para que eu começasse a participar ativamente da comunidade KDE. Levamos o Sandro Andrade para dar uma palestra em Teresina sobre o Google Summer of Code e o KDE. Era um ano em que a comunidade brasileira estava se rearticulando, haviam muitos grupos surgindo no país e o número de desenvolvedores estava crescendo.

Foi aí que, timidamente, comecei a estudar as bibliotecas e o código de alguns softwares do KDE. Ainda muito perdido, tateando aqui e ali aquela massa enorme de informação sobre kdelibs, módulos, tecnologias relacionadas, Qt, e muito mais.

Com o passar do tempo fui me achegando aos softwares educativos, o KDEedu, com interesse especial pelos softwares matemáticos. Foi uma maravilha, porque na minha vida acadêmica na computação eu sempre lidei mais com a parte de otimização do que com engenharia de software.

Hoje, já passados alguns anos, tenho já algumas contribuições [1] [2] de código para o KDE. Estou na trilha para me tornar, cada vez mais, um bom desenvolvedor para a comunidade – e sei que ainda terei que comer muito feijão para isso. Viajo o Brasil fazendo palestras e apresentações sobre o KDE. Me relaciono com pessoas do mundo todo, que empregam seus conhecimentos e energias para construir uma excelente alternativa de ambiente computacional, que segue os princípios do software livre, e que por isso consegue tornar o slogan do movimento hacker californiano o mais real possível: computer to the people!

Então, só tenho mesmo a agradecer a esta vibrante comunidade por tudo o que vocês fazem. Ao Matthias Ettrich, pelo e-mail 15 anos atrás convidando desenvolvedores para fazerem parte do Kool Desktop Enviroment; à todos os programadores que responderam a este chamado, em qualquer tempo destes últimos 15 anos; aos sysadmins, que mantém a estrutura para os quase 3.000 desenvolvedores do KDE trabalharem e se comunicarem; aos designers, que tornam o KDE um ambientes belo e agradável; aos tradutores, que mantém o KDE disponível para mais de 65 idiomas; aos expansionistas, que estão levando o KDE para o BSD, Haiku, Windows, Mac, netbooks, celulares, tablets; ao pessoal não técnico, que fazem trabalhos fenomenais; e também aos empacotadores das diversas distros, que preparam aquele KDE com o qual milhões de usuários irão interagir e, talvez, nem se deem conta que o que eles estão mexendo ali é o KDE, e não “a distribuição Linux”. :-D

Feliz 15 anos, KDE! Sou muito feliz por fazer parte da família!

03:52, Monday, 17 October UTC

October 15, 2011

Aracele Torres (araceletorres)

KDE: há 15 anos uma experiência de liberdade

Há exatos 1111 anos nascia o KDE, fruto da vontade de um cientista da computação de construir um ambiente gráfico limpo e amigável para o Linux e do trabalho de uma equipe de visionários que acreditaram na possibilidade de realização dessa ideia. Hoje, o KDE se tornou bem mais que um ambiente desktop e a sigla carrega bem mais significados. O KDE deixou de ser apenas um ambiente desktop e passou a ser também um  conjunto de aplicativos para dispositivos móveis e uma plataforma para desenvolvimento! Ao longo desses quinze anos esta pequena sigla também passou a significar  uma grande comunidade, uma grande família que trabalha incansavelmente para oferecer aos usuários de software livre um ambiente de trabalho cada vez melhor.

Parabéns à todos os responsáveis por esses 15 anos de história, pela consolidação de um projeto livre e comunitário!

E que venham mais 1111 anos! Hehe ;-)


05:10, Saturday, 15 October UTC

October 14, 2011

Lamarque Souza (lamarque ou lvsouza)

15 anos de KDE

Eu me lembro da primeira vez que vi o site do KDE, eu era estudante de Ciência da Computação na UFMG (é Ciência, no singular, não Ciências). O ano era 1997 e o KDE não tinha nem um ano de idade, naquela época praticamente toda semana saía um snapshot do código fonte e eu ficava ansioso para compilá-lo e ver as novidades :-)

 

Muito tempo se passou, veio a versão 1.0, 2.0, 3.0, 4.0, a evolução entre essas versões é nítida, principalmente entre a 1.0 e a 2.0. Apesar de conhecer o KDE praticamente desde que foi criado foi só há pouco mais de dois anos que comecei a contribuir programando para o KDE e isso foi uma das melhores decisões que fiz. No FISL10 em 2009 eu conheci alguns membros da comunicade KDE-Brasil, da qual faço parte hoje, e desde então tenho conhecido muita gente que também tem essa mesma paixão que eu tenho pelo KDE. É ótimo conviver e até trabalhar com o pessoal da comunidade brasileira e estrangeira do KDE. Tenho vários amigos na comunidade, a gente se diverte ajudando o KDE e assim vamos vendo o nosso “garoto” crescendo, chegando a 15 anos de idade e com muitos mais por vir. Feliz aniversário KDE :-D

 

15:10, Friday, 14 October UTC

Camila Ayres (camilasan)

15 anos de KDE

Olá pessoas!

Eu sei que ando sumida, por motivos pessoais, mas o KDE tá sempre lá, na minha máquina.
Foi através dessa comunidade que eu conheci grandes amigos, daqui e do mundo inteiro…e o amor da minha vida.

Foi onde eu aprendi a abraçar quem eu nunca tinha visto antes, foi onde eu aprendi a falar em inglês, foi onde eu aprendi a programar e foi onde eu descobri muita gente elegante, bonita e sincera.

Parabéns KDE! E obrigada por tudo!

15 anos de KDE

 

 

 

 


13:42, Friday, 14 October UTC

October 11, 2011

Live Blue

Plasma Active One: KDE chega ao mundo dos tablets

9.10.11: Plasma Active One disponível

Um dispositivo móvel deve ser mais que uma simples coleção de aplicativos. Ele deve refletir quem você é. O Plasma Active traz o melhor para o seu tablet, a partir da novíssima tecnologia de Activities baseadas em touch-screen.

PA1.png
Uma Activity de planejamento de férias

No dia 09 de Outubro de 2011 o primeiro lançamento do Plasma Active se torna publicamente disponível. A interface touch screen do Plasma Active One é muito mais que um lançador de aplicativos. Assim que o seu dispositivo é ligado, ao invés da exibição tradicional do grid de aplicações, é exibido o gerenciador de Activities apresentando o seu projeto, tarefa ou idéia atual. Com as Activities, você pode reunir todos os documentos, pessoas, sites web, conteúdo multimídia e widgets, relacionados a um tópico, em um único lugar, construíndo visões personalizadas e interativas da sua vida. Com o Plasma Active as possibilidades são ilimitadas. Você pode adicionar quantos elementos você quiser a uma Activity, com o auxílio da sua funcionalidade de scroll ilimitado. Você pode criar quantas Activities quiser e alternar entre elas via touch-screen, utilizando o Activity Switcher.

PA2.png
Adicione conteúdo a sua Activity

Você escolhe o objetivo de uma Activity: planejar suas férias, trabalhar em um projeto da escola ou do trabalho, organizar as fotos da festa bacana do fim de semana, manter informações sobre suas redes sociais ou organizar seus sites preferidos de notícias. Crie uma Activity, informe o seu nome e seu papel de parede e comece a adicionar seus apetrechos ou diretamente através do botão “Adicionar” ou usando a interface Share Like Connect.

PA3.png
Compartilhando uma foto através do Share Like Connect

Share Like Connect é um grupo de três pequenos ícones sempre disponíveis no painel superior. Eles permitem que você rapidamente conecte o que você está fazendo a qualquer Activity – sites web ou imagens sendo visualizados, documentos, etc. Use o Share Like Connect para registrar seus bookmarks. Envie facilmente o que você está visualizando, por e-mail, para pessoas da sua lista de contatos.

Complementando as Activities, o Plasma Active disponibiliza um lançador rápido e eficiente de aplicações e inclui, por padrão, uma variedade de aplicativos para você usar e se divertir. Basta puxar o painel superior para baixo para tornar a área de seleção de aplicações visível. A seleção de aplicações apresenta as aplicações atualmente em execução, de modo que você pode facilmente alternar ou fechar os aplicativos. Puxando a seleção de aplicações um pouco mais para baixo faz com que o lançador de aplicações fique visível. Ele apresenta uma lista de ícones similar às outras interfaces para tablets e smartphones. A barra de busca integrada permite que você facilmente busque por aplicações instaladas no sistema.

PA4.png
O Peek and Launch permite que você alterne entre aplicações em execução e inicie outras

Quando uma aplicação é iniciada ela automaticamente se conecta à Activity atual. Aplicações relacionadas são mantidas em grupo e fora da sua visão quando você alterna para uma Activity diferente. O Plasma Active traz produtividade imediata para você. Várias aplicações estão por padrão incluidas – navegador web, visualizador de imagens, player de áudio e vídeo (Bangarang Active), visualizador de documentos com funcionalidades simples de edição (Calligra Active [beta]), total controle de e-mail e calendários (Kontact Touch) e diversos jogos divertidos. Estas aplicações são totalmente otimizadas para a interface touch screen. Centenas de outras aplicações estão gratuitamente disponíveis através dos repositórios on-line, embora a maioria delas não estejam ainda otimizadas para touch-screen.

PA5.png
Kontact Touch integra email e groupware ao Plasma Active

Plasma Active é projetado e construído de forma aberta e é lançado sob a forma de software gratuito e de código aberto. Por trás das idéias do Plasma Active está uma comunidade vibrante de participantes e empresas trabalhando em conjunto por um único ideal: a criação de aplicações incríveis para os dispositivos atuais. Não há lock-ins proprietários ou segredos na frente dos esforços de projeto e desenvolvimento, somente uma fantástica experiência de usuário que você pode usar, se divertir e participar.

Como Obter o Plasma Active One

Imagens nas versões instalável e live estão disponíveis para download. Instruções detalhadas de instalação podem ser obtidas na página Instalação do Plasma Active. Tipicamente a instalação consiste simplesmente na inserção de um pendrive USB bootável no tablet, uma reinicialização e seguir as instruções na tela.

É também possível rodar o Plasma Active em uma máquina virtual para propósitos de teste e avaliação. Para maiores informações, bem como os problemas dessa abordagem, por favor refira-se à página Plasma Active em máquinas virtuais. Recomendamos fortemente, entretanto, a execução do Plasma Active em um tablet para melhor experiência.

O Futuro do Plasma Active

O Plasma Active One é mais um passo da longa jornada que a equipe KDE Plasma criou desde o início do projeto em 2007, originalmente para criação de um novo shell desktop. E não chegamos no fim desta caminhada. O Plasma Active Two será lançado em meados de Dezembro de 2011 com o Plasma Active Three programado para ser lançado no terceiro trimestre de 2012.

O Plasma Active Two terá suporte a recomendações automatizadas a Activities, permitindo que o Plasma Active ajude você a coletar e adicionar informações e documentos relevantes às suas Activities. Teremos também a visualização, filtragem e ordenação melhorados de todos os tipos de mídias e informações acessíveis no Plasma Active. Outras funcionalidades serão também desenvolvidas para o Share Like Connect baseado em plugins. Esta versão irá também conter melhorias relacionadas a estabilidade e desempenho, bem como correção de bugs.

O Plasma Active Three será outro lançamento importante onde focaremos nos desafios de segurança de dispositivos, de modo a manter os seus dados seguros e sob controle. Na versão três, começaremos a implementação de forms factors adicionais, para suportar settop boxes e handhelds. O Plasma é construído com a filosofia de “interfaces altamente modularizadas, re-utilizáveis e re-integráveis”. Isto nos permite mover rapidamente de um tipo de dispositivo para outro, mantendo sempre uma ótima experiência de usuário. Pretendemos explorar ao máximo esta flexibilidade nas futuras versões.

Em ciclos de desenvolvimento futuros, um maior número de aplicativos Active e widgets estarão disponíveis. Desenvolvedores de aplicações já existentes estão convidados a se juntarem a nós na “ativação” de suas aplicações para suportar touch-screen e outros form factors. As melhores e mais úteis aplicações serão lançadas nas próximas versões do Plasma Active. Um sistema fácil para download de outras aplicações estará também disponível.

Planejamos também incluir o ARM como arquitetura oficialmente suportada, em adição às plataformas Intel já contempladas. Este esforço está sendo executado em conjunto com as tarefas de redução do footprint do sistema operacional necessário para rodar o Plasma Active. Adicionalmente, estamos no processo de desenvolvimento de uma especificação clara e bem documentada sobre os requisitos subjacentes de sistema operacional necessários para uma boa execução do Plasma Active.

PA6.png
Navegador Web com suporte a touch do Plasma Active

Como Contribuir com o Plasma Active

Plasma Active é um projeto aberto: todo o projeto, planejamento e desenvolvimento é feito em um ambiente de trabalho baseado em consenso. Colaboradores da comunidade e empresas de criação de dispositivos ou aplicativos são bem vindos e capazes de participar da sua própria forma. Se você deseja criar novos widgets, add-ons para o Share Like Connect, novas aplicações, suportar novos dispositivos ou criar uma experiência de usuário totalmente nova usando o Plasma Active, estaremos sempre prontos para lhe receber. Esforços para testes, estabilização, análise de usabilidade e projeto gráfico para os softwares já existentes são também áreas de potencial colaboração.

As bibliotecas utilizadas pelo Plasma Active são licenciadas sob a LGPL, permitindo uma variedade de opções de licenciamento e possibilidades de extensão e configuração. Você pode contactar a equipe do Plasma Active na nossa lista de discussão ou no canal #active do irc.freenode.net. Existe também o fórum KDE de auxílio ao usuário. Solicitações privadas e de imprensa podem ser enviadas a Sebastian Kügler (sebas@kde.org) e Eva Brucherseifer (eva.brucherseifer@basyskom.de).

PA7.png
Blinken é um divertido jogo infantil com suporte a touch screen

Compatibilidade de Hardware

As imagens do Plasma Active One foram testadas e são suportadas nos dispositivos WeTab, ViewSonic ViewPad, ExoPC e Lenovo Ideapad. Mais informações sobre compatibilidade de dispositivos podem ser encontradas aqui. O Plasma Active deve funcionar bem em outros dispositivos baseados em Intel. O suporte a dispositivos ARM está ainda em desenvolvimento. Entretanto, o Plasma Active foi instalado e executado com sucesso no Nokia N900 e outros dispositivos ARM.

Compatibilidade de Software

Praticamente qualquer software disponível para a plataforma Linux pode ser executado no Plasma Active. Recomendamos aplicações baseadas no Qt e no KDE visto que elas apresentam uma melhor integração com o Plasma Active One, o qual é também baseado no KDE Platform 4.7 e Qt 4.7. Outras aplicações, entretanto, executam e funcionam da mesma forma que funcionariam em qualquer outro sistema baseado no Linux. Isso inclui aplicações em linha de comando, acessíveis através do terminal com suporte a touch já presente no Plasma Active.

O Plasma Active é compatível com os workspaces do Plasma Desktop e Plasma Netbook. São todos baseados no mesmo framework, compartilhando mais de 95% do código-fonte. Esta é uma abordagem radicalmente diferente para similaridade de interfaces entre dispositivos. A maioria dos outros produtos para tablets ou são isolados (compartilhando pouco ou nada com outras interfaces de usuário) ou tentam utilizar interfaces desktop em displays pequenos. As interfaces baseadas no Plasma, entretanto, são criadas para tipos específicos de dispositivos mantendo ainda a grande maioria do código-fonte e esforços de engenharia. Consequentemente, widgets e aplicações escritas para o Plasma Desktop ou Netbook podem ser executadas normalmente em dispositivos com o Plasma Active.

Agradecimentos

O Plasma Active One não seria possível sem o inacreditável apoio da comunidade Plasma e sem o suporte financeiro e de desenvolvimento da basysKom e open-slx. O Plasma Active é construído com base nos excelentes frameworks do KDE e Qt, nos dando excelentes pilares para iniciar qualquer trabalho. Estamos muito felizes em conviver com milhares de pessoas que vêm colaborado com as comunidades KDE e Qt ao longo dos últimos 15 anos. Agradecemos também aos esforços que resultaram na criação do MeeGo OS e do Open Build Service, fundamentais para a finalização e lançamento do Plasma Active One.

Sobre o KDE

O KDE é uma equipe internacional de tecnologia que desenvolve software livre para computadores desktop e portáteis. Entre os produtos desenvolvidos pelo KDE estão um sistema desktop moderno para as plataformas Linux e UNIX, um amplo conjunto de aplicações para escritório e groupware e centenas de títulos em categorias tais como Internet a aplicações web, multimídia, entretenimento, softwares aducacionais, editoração gráfica e desenvolvimento de software. As aplicações do KDE são traduzidas para mais de 60 idiomas e são desenvolvidas com foco na facilidade de uso e princípios modernos de usabilidade. As aplicações do KDE4 rodam nativamente no Linux, BSD, Solaris, Windows e Mac OS X.

Avisos Legais. KDE® e o logo K Desktop Environment® são marcas registradas do KDE e.V. Linux é marca registrada de Linus Torvalds. UNIX é marca registrada de The Open Group nos Estados Unidos e outros paises. Todas as outras marcas e copyrights utilizadas neste anúncio são de propriedades dos seus respectivos donos.

Contatos

Africa
AJ Venter
Unit 7B Beauvallon Village
13 Sandown Road
West Beach
Cape Town
7441
South-Africa
Phone: +27 83 455 9978
info-africa@kde.org
Asia
Pradeepto Bhattacharya
A-4 Sonal Coop. Hsg. Society
Plot-4, Sector-3,
New Panvel,
Maharashtra.
India 410206
Phone : +91-9821033168
info-asia@kde.org
Europe
Sebastian Kügler
Meloenstraat 17
6543 ZE Nijmegen
The Netherlands
Phone: +31-6-48370928
info-europe@kde.org
North America
Jeff Mitchell
21 Kinross Rd. #2
Brighton, MA 02135
U.S.A
Phone: +1 (762) 233-4KDE (4533)
info-northamerica@kde.org
Oceania
Hamish Rodda
11 Eucalyptus Road
Eltham VIC 3095
Australia
Phone: (+61)402 346684
info-oceania@kde.org
South America
Helio Chissini de Castro
R. José de Alencar 120, apto 1906
Curitiba, PR 80050-240
Brazil
Phone: +55(41)262-0782
+55(41)8808-1519
info-southamerica@kde.org

17:45, Tuesday, 11 October UTC

Live Blue

KDE 15 anos

Por: Carl Symons

05 de Outubro de 2011

KDE15-1.png

No dia 14 de Outubro de 1996 Matthias Ettrich postou uma mensagem no Usenet (comp.os.linux.misc) anunciando “Precisa-se de programadores !” para um novo projeto chamado “Kool Desktop Environment (KDE)”. Hoje, 15 anos depois, o desejo de Matthias por uma “interface gráfica para usuários finais” foi completamente realizado. E mais. Nas próximas duas semanas o Plasma Active One será lançado com uma aparência única para uma variedade de dispositivos, desde computadores desktop até plataformas móveis. KDE deixou de ser apenas uma interface gráfica para o Linux e passou a ser uma comunidade global. Mas seu espírito inovador ainda persiste, junto com o compromisso de entregar excelentes soluções aos usuários de software livre.

E este evento não pode acontecer sem uma grande festa !

Teremos uma comemoração mundial do 15o aniversário do KDE. Você está convidado ! A comunidade dificilmente se encontraria por completo pessoal, então teremos diversas festas virtuais :). O dia inteiro, em todo o mundo, no dia 14 de Outubro.

Ajude-nos a fazer um grande evento:

  • Organiza sua festa
  • Com um grande bolo para o KDE !
  • Comemore seu comprometimento com a liberdade através de fotos legais
  • Pense grande como o KDE Espanha
  • Traga a comunidade KDE para a sua festa a partir da atualizações nas redes sociais
  • Envie o seu planejamento, fotos e acontecimentos para 15@kde.org
  • Traduza este artigo para outros idiomas e acompanhe os artigos do dot.kde.org
  • Pense globalmente. Comemora localmente.
  • Convide outras pessoas da sua comunidade para compartilhar a generosidade e a beleza do KDE
  • Teste 15 bugs e verifique se eles ainda são relevantes
  • Faça uma doação de R$15 ou contribua de alguma outra forma
  • Teste uma aplicação e reporte bugs por 15 minutos, melhor o KDE userbase, resposta a questões nos fóruns, apareça no canal #kde do freenode
  • Use a hashtag #kde15 para compartilhar sua comemoração

Dê uma olhada em como o KDE começou e as incríveis realizações que conseguimos. Mesmo se você não está envolvido este um marco inspirador de um projeto extremamente colaborativo que beneficia tantas pessoas.

14 de Outubro de 2011 – uma celebração global de liberdade e conquista !

KDE15-2.png


17:44, Tuesday, 11 October UTC

October 10, 2011

Filipe Saraiva (filipesaraiva)

Cursos online de Stanford: Banco de Dados, Inteligência Artificial e Aprendizado de Máquina

A prestigiada Universidade de Stanford lançou na web uma interessante experiência: cursos online ministrados por renomados pesquisadores da área, com vasta experiência acadêmica e em inovação tecnológica, que também são parceiros de grandes empresas de tecnologia do mundo.

Neste momento serão ofertados 3 cursos: Banco de Dados, Inteligência Artificial e Aprendizado de Máquina. Pra você ter uma ideia da qualidade dos cursos, basta citar que o professor Peter Norvig, um dos autores do seminal livro Inteligência Artificial, que começou a dar um tratamento unificado à área através da utilização do conceito de Agentes, será um dos professores da disciplina de Inteligência Artificial.

As aulas começam hoje (10 de outubro de 2011), mas você ainda tem o dia de hoje para fazer a inscrição nos cursos que desejar.

Eu estou inscrito em Inteligência Artificial e Aprendizado de Máquina. Desde a semana passada o material da primeira semana de aula estava disponível. Este material é composto por videos produzidos pelos próprios professores, bem explicativos, que intercalam com alguns “quizes” sobre o assunto apresentado. Em ambos existem trabalhos que devem ser feitos ao fim de cada sessão.

Além dos trabalhos, existem exames que deverão ser realizados para lhe atribuir notas nas disciplinas.

Mas se você quiser, você pode escolher uma linha de participação básica nos cursos: você terá acesso a todo o material, mas não será obrigado a fazer provas. Quem escolher a linha avançada terá que executar as provas. Ao final do curso, todos os que terminarem ganharão um certificado dizendo que participaram das disciplinas – mas logicamente, quem fez a linha avançada terá essa informação adicionada ao documento. É possível mudar da linha avançada para a básica no decorrer do curso.

Então pessoal, aos interessados fica a dica. Se você também está fazendo as mesmas disciplinas que eu, deixe seu contato aqui para montarmos um grupo de estudos. :-)

11:12, Monday, 10 October UTC

October 08, 2011

Lamarque Souza (lamarque ou lvsouza)

Solid Sprint

Semana passada eu fui para Madri para o Solid Sprint 2011. Pra quem não sabe o Solid é a camada de abstração de hardware do KDE e Sprint é tipo uma reunião de desenvolvedores onde discutimos os problemas e, principalmente, corrigimos bugs e implementamos novas funcionalidades.

Este foi o meu segundo sprint, o primeiro foi também Madri ano passado. Naquela época eu era só mais uma pessoa que contribuía na parte de redes móveis (3G). Nesses últimos doze meses muita coisa mudou, eu comecei a corrigir bugs no Plasma NM, fui implementando novas funcionalidades e informalmente assumindo o papel de mantenedor. Bem, agora não é mais informal. Durante o Solid Sprint eu aceitei assumir formalmente o papel de mantenedor oficial da parte de gerenciamento de redes do KDE. Eu até tenho um e-mail lamarque (at) kde.org agora :-D

Durante o Sprint várias coisas foram discutidas na parte de gerenciamento de redes, também realizamos um experimento de usabilidade para melhorar a interface do Plasma NM. Pensamos em várias idéias. Mudar a interface gráfica de um programa realmente chama a atenção (leia os comentários no meu blog). Alguns dos comentários são bem úteis e me fizeram pensar em mudar novamente o protótipo de interface que criei durante o sprint.

Outra novidade do sprint na parte de gerenciamento de redes é que a partir de agora eu vou liberar (release) versões do Plasma NM de forma regular. Hoje eu fiz o primeiro release  (versão 0.9.0_beta1) com boa parte dele traduzido para português. Agora é baixar e compilar :-)

Para quem quiser ler meus posts (em inglês) sobre o sprint pode acessar o meu blog. Use o sistema de tradução do blog para traduzí-lo para português.

 

01:00, Saturday, 08 October UTC

October 07, 2011

Qt Labs Blog Brasil

QML + RESTful Web Services


RESTful Web Services

Web Services é uma forma de comunicação entre dispositivos através da uma rede. Existem diversos padrões de comunicação que utilizam várias tecnologias e outros padrões já existentes na Web para fazer tal comunicação entre processos. Atualmente uma dos padrões mais populares é o Representational State Transfer (REST) que, em linhas gerais, define que a comunicação utiliza o HTTP como transporte das chamadas remotas, uma convenção sobre as URIs, além de não preservar estado entre as transações/requisições. Existe uma infinidade de Web Services que utilizam essa padronização para disponibilizar dados e serviços tais como o Flickr, Facebook, Google Maps, Google+, IMDB, What’s for Dinner, Yahoo Weather entre diversos outros. A maioria das aplicações atuais utilizam esses e outros serviços como extensões da aplicação para que essas informações fiquem conectadas e seja mais fácil compartilhar e consumir dados. Efeitos da Web 2.0.

O conjunto de requisições, buscas, consultas e operações que podemos executar, definem a API REST do serviço web. Esses serviços disponibilizam alguma documentação sobre quais operações estão definidas e que tipos de dados devem ser utilizados. Em geral, essas transações utilizam XML ou Javascript Object Notation (ou JSON) para fazer representar os dados a serem transmitidos.

JSON

O JSON nada mais é do que uma forma de representar informações semi estruturadas, podendo ser aplicado como substituto do XML em qualquer aplicação. A grande vantagem do JSON é consumir menos espaço, por ser menos verboso, que o XML além da maior facilidade de manipulá-lo já que se parecem com estruturas de várias linguagens além do próprio Javascript, como por exemplo Python e Ruby. Por isso é mais vantajoso onde há a necessidade de reduzir o tamanho da representação, como por exemplo na serialização de informações estruturadas em aplicações web. Além disso, muitas pessoas consideram o JSON mais legível que o XML. É exatamente nesse cenário que o JSON tem ganhado popularidade. É pouco conhecido, que o JavascriptCore – engine responsável por executar o Javascript presente no QML – já tem um parser e serializador de objetos JSON, tornando o seu uso ainda mais natural em aplicações QML.

AJAX

Outro recurso extensivamente utilizada nas páginas web modernas, é a comunicação assíncrona com o servidor através do Javascript. Essa técnica é popularmente chamada de Asynchronous Javascipt and XML (AJAX), que apesar de levar XML no nome continua sendo utilizada para descrever requisições assíncronas ao servidor mesmo não utilizando XML como camada de apresentação dos dados. A grande vantagem do AJAX é permitir que o browser execute outras atividades enquanto uma dada requisição é feita ao servidor, que toma preciosos milisegundos apenas esperando a resposta da requisição. O JavascriptCore implementa um tipo chamado XmlHttpRequest que é utilizado para fazer as requisições AJAX. Quando a resposta do servidor chega ao browser, uma função de callback é chamada (setada através da propriedade onreadystatechange de um objeto XmlHttpRequest) e executa a rotina que vai lidar com a resposta do servidor. Uma callback é uma função que será chamada quando uma dada ação ocorrer. Na web você pode encontrar várias implementações de referência de chamadas AJAX além de abstrações de diversos frameworks Javascript. No nosso caso vamos criar nossa própria abstração utilizando apenas o XmlHttpRequest. A função getHttpJson receberá uma URL do recurso a ser requisitado (através do método GET do HTTP) e uma callback a ser executada quando houver uma resposta:

function getHttpJson(request_url, callback)
{
    // Criação do XmlHttpRequest para realizar a requisição AJAX
    var request = new XMLHttpRequest();

    // O seguintes parâmetros recebem respectivamente:
    // 1 - Método HTTP a ser realizado
    // 2 - URL requisitada
    // 3 - Define se a chamada será executada assíncronamente
    request.open("GET", request_url, true);

    // Callback da requsição AJAX
    request.onreadystatechange = function () {
        // A callback 'onreadystatechange' sempre é chamado a qualquer atualização do status da requisição
        // O valor 4 do readyState simboliza que a requisição foi fializada
        // O status simboliza o status retornado no cabeçalho de resposta do HTTP, onde o valor 200 simboliza sucesso
        if (request.readyState == 4 && request.status == 200) {

            // O objeto JSON faz parte da imlementação JavascriptCore
            // O 'responseText' contém o conteúdo da resposta da requisição
            var json = JSON.parse(request.responseText);

            // Chamada à callback real que está sendo encapsulado pelo getHttpJson
            callback(json);
        }
    }

    // Caso exista alguma informação a ser enviada no corpo da requisição HTTP, ela deve ir como parâmetro do send
    request.send();
}

Essa abstração nos permite passar uma URL e uma callback, que nos retornará um objeto do tipo Array do Javascript (com as informações do JSON) como parâmetro dessa callback. É importante ressaltar que para o caso básico de acesso de recursos essa função é suficiente, porém pode será necessário incrementar o código acima para poder lidar com requisições mais complexas, que por exemplo, chame uma outra callback caso a requisição falhe ou ainda utilizar os demais métodos do HTTP na API RESTful.

QML + !!

O famoso site de tirinhas XKCD por exemplo, oferece uma API web RESTful para ler as tirinhas publicadas no site. Essa API é muito simples se comparada a outras APIs mas já nos permite fazer um leitor de tirinhas. Na especificação, a url http://xkcd.com/303/info.0.json nos permite retornar informações sobre a tirinha com id “303″. Dessa forma podemos fazer um wrapper mais elegante para nossa aplicação. Como exempl, considere a seguinte função, que abstrai qual esquema de construção da URL está sendo utilizada e se foca apenas nos parametros necessários (o numero da tirinha) e a callback que vai lidar com a resposta:

function getXkcdComic(num, callback) {
    getHttpJson("http://xkcd.com/" + num + "/info.0.json", callback);
}

Se formos inspecionar o objeto JSON retornado pela chamada podemos fazer da seguinte forma:

getXkcdComic(303, function(json) {
    var responseText = JSON.stringify(json); // Reserializando para Json para fins de demontração
    console.debug(responseText); // Imprimindo resposta no console de debug
});

obteremos a seguinte linha impressa no console de debug:

{"img": "http://imgs.xkcd.com/comics/woodpecker.png", "title": "Woodpecker", "month": "7", "num": 614, "link": "", "year": "2009", "news": "", "safe_title": "Woodpecker", "transcript": "[[A man with a beret and a woman are standing on a boardwalk, leaning on a handrail.]]\nMan: A woodpecker!\n<<Pop pop pop>>\nWoman: Yup.\n\n[[The woodpecker is banging its head against a tree.]]\nWoman: He hatched about this time last year.\n<<Pop pop pop pop>>\n\n[[The woman walks away.  The man is still standing at the handrail.]]\n\nMan: ... woodpecker?\nMan: It's your birthday!\n\nMan: Did you know?\n\nMan: Did... did nobody tell you?\n\n[[The man stands, looking.]]\n\n[[The man walks away.]]\n\n[[There is a tree.]]\n\n[[The man approaches the tree with a present in a box, tied up with ribbon.]]\n\n[[The man sets the present down at the base of the tree and looks up.]]\n\n[[The man walks away.]]\n\n[[The present is sitting at the bottom of the tree.]]\n\n[[The woodpecker looks down at the present.]]\n\n[[The woodpecker sits on the present.]]\n\n[[The woodpecker pulls on the ribbon tying the present closed.]]\n\n((full width panel))\n[[The woodpecker is flying, with an electric drill dangling from its feet, held by the cord.]]\n\n{{Title text: If you don't have an extension cord I can get that too.  Because we're friends!  Right?}}", "alt": "If you don't have an extension cord I can get that too.  Because we're friends!  Right?", "day": "24"}

que por sua vez não é tão legível. Recomendo fortemente o uso de alguma ferramenta de visualização de objetos JSON tais como o Online JSON Viewer que ajudam a visualizar os dados e sua estrutura.

Com tais dados e funções utilitárias, fica fácil criar um leitor do XKCD que utiliza a API RESTful do XKCD. Recomendo agregar essas funções relativas a comunicação com o servidor em um arquivo Javascript separado para que a implementação fique distinta de seu uso no QML. Aqui vou chamar esse arquivo de “xkcd.js”. O seguinte código cria um leitor do XKCD bem simples e utiliza o “xkcd.js” com o alias XKCD, de modo que podemos chamar as funções definidas no arquivo Javascript através desse objeto.

import QtQuick 1.0
import "xkcd.js" as XKCD

Rectangle {
    id: comicViewer

    property int num // Número da tirinha
    property url image // Imagem da tirinha
    property string title // Título da tirinha
    property string alt // Texto alternativo da tirinha (sarcasmo do XKCD)

    width: 300
    height: 300
    color: "white" 

    // Retorna as informações do servidor toda vez que o numero do quadrinho
    // é alterado
    onNumChanged: {
        XKCD.getXkcdComic(num, function (json) {
            comicViewer.image = json.img;
            comicViewer.title = json.title;
            comicViewer.alt = json.alt;
        });
    }

    // Troca o número da tirinha atual imediatamente após a incialização do
    // componente atual
    Component.onCompleted: comicViewer.num = 303;

    // Imagem da tirinha
    Image {
        id: comicImage
        anchors {
            fill: parent
            margins: 50
        }
        source: image
        fillMode: Image.PreserveAspectFit
        smooth: true
    }

    // Mostra o título sobre a tirinha
    Text {
        anchors {
            horizontalCenter: comicImage.horizontalCenter
            bottom: comicImage.top
        }
        text: title
        font.pixelSize: 30
    }

    // Mostra o texto alternativo abaixo da tirinha
    Text {
        anchors {
            top: comicImage.bottom
            bottom: parent.bottom
            left: parent.left
            right: parent.right
        }
        text: alt
        horizontalAlignment: Text.AlignHCenter
        wrapMode: Text.WordWrap
    }

    // Área esquerda da tela quando clicada vai para a tirinha anterior
    MouseArea {
        anchors {
            left: parent.left
            right: parent.horizontalCenter
            top: parent.top
            bottom: parent.bottom
        }
        onClicked: num -= 1;
    }

    // Área direita da tela quando clicada vai para a próxima tirinha
    MouseArea {
        anchors {
            right: parent.right
            left: parent.horizontalCenter
            top: parent.top
            bottom: parent.bottom
        }
        onClicked: num += 1;
    }
}

Para testar esse exemplo, basta salvá-lo como, por exemplo “xkcd.qml” e abrí-lo com qmlviewer ou carregar em uma QDeclarativeView..

Visualizador de tirinhas XKCD feito em QML

Visualizador de tirinhas do XKCD feito em QML

 

 

21:18, Friday, 07 October UTC

Filipe Saraiva (filipesaraiva)

Google Prêmios

 

Pronto, agora acabou o ciclo do Google Summer of Code deste ano. Chegaram hoje em meu apartamento a camisa e o certificado de que terminei com sucesso o projeto de início do backend do Scilab no Cantor, meu trabalho no GSoC.

Também saiu hoje um post na página do Scilab com um relatório final das atividades dos estudantes que trabalharam em projetos relacionados ao Scilab, como é o meu caso. Lá tem um rápido resumo do que fiz e alguns links importantes.

Ainda estou devendo o post com o estado atual do backend que criei. Prometo-o para logo. :-D

02:00, Friday, 07 October UTC

October 04, 2011

Aracele Torres (araceletorres)

Ensinando as próximas Adas – junte-se ao KDE para os cursos do Ada Lovelace Day

07 de outubro é o Ada Lovelace Day, um dia onde as pessoas escrevem sobre as mulheres que influenciaram em sua carreira de ciência, tecnologia, engenharia ou matemática. O KDE quer comemorar esse dia um pouco diferente este ano. Vamos ajudar as próximas gerações de Adas a encontrar o seu caminho no KDE e Qt. Nós faremos isso com um tutorial day para as mulheres e seus amigos (as mulheres são o foco principal do evento, mas todos os outros são bem-vindos). Os tutoriais serão dados pelos excelentes Myriam Schweingruber e Dario Freddi. Não esqueça de se inscrever.

- Como ajudar com relatórios de bugs (5PM UTC)

A codificação num projeto de Software Livre é uma parte muito importante, mas nem de longe é a única. Um dos campos possíveis onde não-programadores podem se envolver é triagem bug. Este curso dará uma visão geral sobre a triagem de bugs e testes. Após o curso o participante deverá ser capaz de escolher o seu aplicativo preferido e começar a ajudar na triagem de bugs. Myriam vai falar sobre todos os detalhes de se tornar um bugmaster desde a escolha do projeto certo  para descobrir o que está faltando em um relatório de bug. Esta é provavelmente uma das mais importantes habilidades que você pode trazer para o KDE agora.

- Construindo o seu próprio lançador (3PM UTC)

Neste curso, você criará um lançador de aplicativos básicos para o KDE. Sim, um lançador plenamente desenvolvido, então você pode se divertir transformando-o em um “menu iniciar” real com suas novas habilidades. Ao fazer isso, Dario vai te ensinar o básico do KDE, Qt e QML, que irá capacitá-lo para criar seu primeiro brilhante aplicativo.

Requisitos:

- Conhecimento básico de C ++, principalmente sintax-wise
- Conhecimento iniciante de Qt de preferência, mas isso não é um exigência
- Uma instalação Linux + KDE
- Um ambiente de desenvolvimento do KDE (Mostrar no início do canal se você não tiver configurado ainda nós podemos fazer isso juntos.)
- KDevelop 4.2 + (de preferência) ou Qt Creator, ou uma IDE de sua escolha :)

Você vai aprender sobre:

- Uso básico do CMake para a compilação de seu projeto
- Paradigmas básicos do Qt
- Algumas das API’s básicas do KDE, como KService, KIO, Solid
- Programação básica QML
- O paradigma Model/View e como usá-lo com o Qt / KDE
- Interação entre QML e C ++

Os cursos serão no canal #kde-tutorials no freenode. (Você pode usar o webchat se você não tiver um cliente IRC.)  Cada curso terá a duração de aproximadamente uma hora e inclui uma parte de perguntas e respostas.

Participe e espalhe isso para os seus amigos. :)
Inscreva-se para participar dos cursos!

Link para o post original em inglês.


21:22, Tuesday, 04 October UTC

October 01, 2011

Filipe Saraiva (filipesaraiva)

Desktop Summit – Em meio a códigos e culturas

Entre os dias 6 e 12 de agosto (sim, este post está alguns meses atrasado), participei do 2º Desktop Summit – o encontro mundial unificado das comunidades de desenvolvedores KDE e Gnome. O evento aconteceu em Berlim, Alemanha, na Humboldt University, que tem em seus quadros mais de 29 prêmios Nobel e por onde passaram grandes nomes da intelectualidade ocidental nas mais diversas áreas: de Marx a Einstein, de Hegel a Planck, de Otto von Bismarck a Stiner. Um lugar inspirador.

Após quase um dia de viagem, cruzar o Atlântico, fazer uma escala em Amsterdã e enfrentar a imigração na Holanda e Alemanha (sim, fui parado nos dois aeroportos; e em Berlim ainda fizeram uma revista onde tiraram todas as minhas roupas da mala :-( ), cheguei à Berlim já ansioso para o que iria encontrar, tanto na cidade quanto no encontro.

O KDE e.V. me alocou num quarto que ganhou o apelido interno de BRIC – tinha eu, brasileiro; um amigo chinês e um amigo russo, o Nikita; faltou apenas um indiano para completar o bloco :-D . Havia também um amigo dos países nórdicos por lá.

Essa foi com certeza a parte mais legal do Desktop Summit – encontrar pessoas tão diferentes, de culturas tão distintas, mas que compartilham o mesmo objetivo de construir bons softwares de código aberto para quem quiser usar, aprender ou contribuir de volta, gerando mais código e mais funcionalidades.

Auditório Principal do Desktop Summit

Então, posso dizer que foi muito bom conhecer pessoas como nosso amigo indiano Siddarth (galera da Índia em peso no evento, nas duas comunidades: parabéns!), Nikita, o pessoal da Itália (maldito álcool) e muitos outros! Também foi legal rever amigos brasileiros, os que estão na terrinha (temos que viajar pra Alemanha para nos vermos galera? Hehehe) e também conhecer brasileiros que moram no exterior já a alguns anos e que são destaque em seus trabalhos, como o Thiago Macieira e a Sulamita Garcia.

Em termos de software, aproveitei os momentos disponibilizados para continuar hackeando o Cantor e implementar as funcionalidades que naquele momento faltavam ao backend do Scilab, meu projeto no GSoC – que por sinal, terminei com sucesso e estou devendo um post descrevendo como ficou. Espero termos o backend para o Scilab já disponível no próximo lançamento major do KDE.

Hacker Room

Entre uma sessão e outra do encontro, também aproveitamos para visitar a cidade e conhecer um pouco da sua história e cultura. Apreciamos a arquitetura da cidade (que mistura prédios clássicos com arquitetura moderna e contemporânea; muito louco), seus museus e seus locais históricos.

Muro de Berlim

Sony Center

Agora vamos a alguns tópicos com minhas impressões sobre o evento e Berlim:

  • Adorei Berlim! :-D
  • O sistema de transporte públicos de Berlim impressiona. Metrô, bondinhos, trens e ônibus pela cidade, além da mesma ser bike-friendly. Fenomenal!
  • Comida saborosa e um preço bem acessível – delícia.
  • Ah, a cerveja alemã…
  • Nunca imaginei o quanto seria difícil usar cartão de crédito (internacional, diga-se!) em Berlim. Praticamente nenhum lugar aceita.
  • O nível técnico do encontro foi muito impressionante. Muito bom um encontro com tantos bons desenvolvedores assim.
  • Atividades culturais divertidíssima, com nerds jogando bola, cantando karaokê e dançando música eletrônica. :-D
  • Triste por não ter ganhado o tablet da Intel. :-(
  • Ainda mais triste por ter ido a um pub da cidade assistir o Brasil perder pra Alemanha no futebol. :’(

Finalizando, essa viagem foi muito boa tanto culturalmente, com a possibilidade de conhecer uma das grandes cidades europeias e conhecer pessoas de várias partes do mundo, quanto em termos técnicos de desenvolvimento de software livre. Espero rever os amigos que fiz por lá e espero fazer mais viagens dessas!

Enquanto isso, continuamos escrevendo códigos de software e, brincando com uma frase de Chico Science, “com o Brasil embaixo dos pés e a mente na imensidão”.

Daker brincando com reflexos

Desktop Summit group photo

20:40, Saturday, 01 October UTC

September 04, 2011

Lucas Lira Gomes (MaskMaster)

[GSoC] Missão Cumprida

Olá pessoal. Desculpem-me por não postar sobre o projeto por tanto tempo. Contudo, durante esse período eu estive mudando e discutindo coisas relacionadas ao código fonte do projeto e à interface do usuário. Ademais, foram feitas várias otimizações e correções de bugs. E para alegria de todos, eu gostaria de anunciar que as funcionalidades do gpodder.net foram integradas com sucesso no Amarok.


Funcionalidades adicionadas:
  • Sincronização das inscrições de podcast.
  • Sincronização dos status de podcasts.
  • Lista com os podcasts sugeridos pelo gpodder.net.
  • Lista com os podcasts mais populares do gpodder.net.

As dificuldades:

  • De fato, estudei muito sobre QT. Contudo, sempre haverá erros inerentes ao uso do QT devido a ausência de conhecimentos específicos.
  • Ocorreram vários bugs e suas origens foram difíceis de serem detectadas. (Challenge accepted \o/).

O futuro:

  • Receber o feedback dos usuários para que a integração com o gpodder.net seja cada vez mais aperfeiçoada.
  • Manter-se informado sobre a evolução do mygpo e do libmygpo-qt, para que novas funcionalidades possam ser incorporadas, se possível, ao Amarok.
  • Continuar contribuindo com o Amarok. Corrigindo bugs e adicionanado novas funcionalidades.

Como pode ser observado, os objetivos da minha proposta foram satisfeitos e eu estou feliz por dar minha contribuição ao KDE. Eu estive literalmente "experiencing freedom" por tantos anos sem desempenhar nenhum papel ativo no ecossistema do KDE. A despeito disso, a coisa mais valiosa que eu aprendi foi que desenvolvimento de software não se trata apenas de "fazer" código. Assim, como um apoiador da causa livre eu já tinha pensado sobre isso, mas há coisas que você so entende depois de passar por elas.

Por fim, devo dizer que esta foi uma experiência  que carregarei por toda minha vida. E portanto, continuarei contribuindo com o Amarok, desenvolvendo ainda mais minhas habilidades tanto de
 hacking quanto de programador e cidadão voltado para as questões sociais. Ademais, pretendo continuar desenvolvendo códigos de qualidade para todos (É o que eu espero ^^).

Agradecimentos:


Gostaria de agradecer ao google pelo apoio as comunidades livres e open, ao pessoal do KDE pelo maravilhoso ambiente gráfico, as equipes do mygpo e do libmygpo-qt pelas coisas relacionadas ao gpodder. E gostaria de fazer um agradecimento especial para o meu mentor, Bart Cerneels, pela paciência durantes esses três últimos meses de apoio.

22:13, Sunday, 04 September UTC

August 27, 2011

Filipe Saraiva (filipesaraiva)

Desktop Summit hacker’s photo!

Segue abaixo a foto oficial dos participantes do Desktop Summit 2011. Muita coisa boa aconteceu por lá: conheci várias pessoas que só conversava pela internet, revi amigos (pois é, tem uns brasileiros aí que cê tem que ir pra fora do país para revê-los, hehehe) e o ambiente repleto de desenvolvedores foi propício para muito hacking e conversas técnicas. Muito bom, e totalmente diferente de todos os eventos que já fui!

Desktop Summit group photoDesktop Summit 2011 – Berlim

Clicando na foto você será redirecionado para uma versão bem maior que conta com reconhecimento facial dos fotografados e torna possível navegar por eles digitando seus respectivos nomes. Mas, tente me encontrar sem isso. ;-) A foto foi tirada por Ekaterina Gerasimova.

Estou muito feliz de ter participado do evento, e esperem por mais atualizações tanto sobre o Desktop Summit quanto sobre minhas impressões de Berlim.

E viva aos desenvolvedores que trabalham para prover os ambientes desktop livres que tanto amamos!

20:59, Saturday, 27 August UTC

August 22, 2011

Aracele Torres (araceletorres)

O primeiro Desktop Summit a gente nunca esquece!

O primeiro Desktop Summit a gente nunca esquece, ainda mais sendo num país como a Alemanha! Nem a viagem cansativa, verdadeira peregrinação que fiz pra chegar até lá, me tirou o bom humor e a empolgação de participar de um evento tão massa. Como estava de férias em Teresina tive que partir de lá pro Rio e do Rio pra Paris e de Paris pra Berlim. Ufa! É meus caros, foi uma longa viagem! Sem falar que meu voo do Rio pra Paris foi cancelado e tive que pegar um outro e chegar em Berlim bem mais tarde do que o previsto. Isso, infelizmente, fez com que eu perdesse o evento de pré-registro no c-base, um espaço hacker muito massa que tem lá Berlim. Mas enfim, o mais importante ainda estava por vir, o contato com pessoas de vários lugares do mundo, com pessoas que eu só conhecia pela internet, a interação com a comunidade KDE e GNOME e muito mais!

Universidade Humboldt

O evento aconteceu na encantadora Humboldt Universitaet de Berlim, a mais antiga universidade berlinense. Um lugar histórico por onde passaram figuras como Hegel, Marx, Einstein, Schopenhauer e por aí vai… No primeiro dia assisti a palestras interessantes sobre gerenciamento de conflitos em times e comunidades e sobre como atrair mais pessoas para o software livre. Isso na parte da manhã, porque à tarde estava trabalhando como voluntária no stand de venda de camisas. =) Foi bem legal ficar no stand, porque eu podia aprender um pouco mais de inglês, o meu inglês não é lá essas coisas! =/ No final do primeiro dia a gente foi perambular pela cidade e experimentar o que Berlim tem de melhor, as cervejas! Eu, Lamarque, Filipe e o nosso novo amigo Siddharth (KDE India) saímos à procura de um lugarzinho legal pra comer e beber. Paramos então num bar irlandês e provamos cervejas deliciosas! Depois de reabastecidos voltamos ao hotel pra descansar para mais um dia de atividades! ;)

Filipe, eu e nosso amigo Siddharth. O Lamarque tirou a foto. :P Eu tomei uma cerveja de frutas que era deliciosa! ;)

No segundo dia de evento curti as palestras do Sebastian Kügler sobre Plasma Active, a do Boudewijn Rempt sobre Krita e a do Sascha Peilicke sobre Open Build Service. Esse negócio de Open Build Service me interessou bastante. Eu e Camila assistimos à palestra e conversamos sobre a possibilidade de nos aventurarmos no universo do empacotamento. ;) Seria uma forma interessante de contribuição.

Ah! E no segundo dia foi o momento de posar pra foto em grupo! Que saiu muito bacana por sinal! Num vou colocar aqui porque ela é enorme, mas quem quiser ver é só ir aqui.

Depois da foto em grupo eu fui prestigiar a palestra do nosso querido garoto do Oxygen, o Nuno Pinheiro. Nuno palestrou sobre QML numa perspectiva de designer.

Nuno Pinheiro aka Oxygen guy! =)

Ainda no segundo dia e ainda sobre QML, teve a palestra Extend your KDE application with QML, apresentada pelo nosso conterrâneo Artur de Sousa, aka Morpheuz. Logo após a palestra do Artur teve a palestra do Aaron Seigo sobre o KDE Platform 4 Roadmap, onde o Seigo anunciou o KDE Platform 5.

E ao final do dia fomos agraciados com uma festa à beira mar…bem, na verdade não era um mar, era um rio, mas de todo modo a festa foi ótima. Com direito à karaokê e tudo mais! Comemos e bebemos horrores! E tudo com o patrocínio da Intel! ;) E eu ainda levei um litro da Mangueira, cachaça típica do Piauí. Não deu pra quem quis!

Beach Party! =)

No terceiro dia de evento…bem, eu não lembro direito o que fiz no terceiro dia de evento. Terá sido efeito do dia anterior? ;) Brincadeira! Lembro sim! Lembro de ter assistido às palestras do George Goldberg, The Semantic Desktop for Application Developers; Dario Freddi, Bringing Video calls to the TV – Merging Telepathy and Media-Explorer; Seif Lotfy e Lydia Pintscher com GNOME & KDE – Working towards better collaboration by learning from each others rights and wrongs.

Palestra do Seif Lotfy e da Lydia Pintscher. ;)

No final do terceiro dia teve a cerimônia de encerramento do evento, das palestras melhor dizendo, porque os próximos quatro dias seriam de atividades diferentes: reuniões da Gnome Foundation e do KDE e.V.; Workshops e BoFs. Teve também um pelada! Os meninos foram jogar futebol! Não sei quem jogou e nem quem ganhou, não acompanhei a partida. Tava em outra parte da cidade reunida com as meninas do evento, houve uma reunião com as meninas do KDE e do Gnome. As fotos vou ficar devendo, tirei algumas mas saíram muito ruins. Enfim, depois dessa reunião decidimos fazer um BoF das meninas no outro dia.

No quarto dia tivemos as reuniões da Gnome Foundation e do KDE e.V. e alguns BoFs, entre eles o das meninas. A gente aproveitou pra se conhecer melhor e saber o que cada uma fazia, de onde vinha e como tinha ingressado no mundo do software livre. Foi bem legal! Depois disso, no finalzinho da noite tivemos a Island Party, que foi patrocinada pela Collabora. Festa com cervejinhas, churrasco e sorvetes deliciosos! ;)

No quinto dia eu lembro de ter dormido um bocado até meio dia, porque a festa da ilha foi bem longe e eu voltei muito cansada. Depois passei a tarde nas salas de hacking lá da universidade. Depois disso Helio levou os novatos pra tomar cerveja por conta dele, é uma tradição! Fomos para um pub irlandês que fica dentro de uma estação de metrô, bebemos assistindo a famigerada seleção brasileira perder para a Alemanha. Se eu me importasse com futebol teria ficado triste. Haha. ;)

Hacking for freedom! =)

Como o meu voo de volta tava marcado pro dia 12 às 6 da manhã e eu não tinha curtido nada ainda da cidade, não tinha turistado ainda, resolvi tirar o dia 11, ou seja, o sexto dia de evento, só para perambular pela cidade. Mas antes ia ver o BoF do KDE Promo pela manhã, mas a chuva que caiu em Berlim não me deixou sair do hotel. =/ Justo no único dia que eu tinha pra turistar choveu! =/ Mas que bom que só choveu até meio dia, depois o sol saiu e pude andar tranquilamente pela cidade. Tirei muitas fotos, comprei alguns presentinhos e me despedi da maravilha que é Berlim!

Enfim, o que posso dizer é que foi um evento muito proveitoso em vários sentidos. Conheci pessoas da comunidade para a qual eu contribuo, pessoas que fazem os softwares que eu uso. O saldo foi bem positivo. Resumindo, o que o Desktop Summit me proporcionou foi basicamente: aprender e praticar o que já sabia de inglês; renovar a vontade de contribuir para o KDE; fazer novas amizades e reencontrar as velhas; renovar a minha vontade de aprender a programar. ;)

Então, fico por aqui pra não alongar mais ainda esse longo post, mas a verdade é que não cabem aqui todas as coisas interessantes que aconteceram. Por fim, gostaria de agradecer o apoio do KDE e.V., a paciência da Claudia Rauch e agradecer à todos que contribuíram para que esse evento acontecesse e pra que eu e muitos outros estivessem lá.

Acompanhem as noticias sobre o Desktop Summit e sobre o KDE no nosso Planet KDE Português! As fotos desse evento, e de muitos outros, estão disponíveis no Flickr do KDE Brasil.

Hasta la vista! ;)


00:02, Monday, 22 August UTC

August 17, 2011

Wagner Reck (wiglot)

Quando um amigo te chama de preguiçoso…

Hoje eu ‘acordei’ (tá bom eu já estava acordado, apenas estava aproveitando o calor das cobertas antes de tomar coragem e levantar) com uma ligação de um amigo de longa data me chamando de preguiçoso… Na hora fiquei meio assim por estar na cama ainda e ele já estar trabalhando, mas no fundo eu sabia que não era isso, então ele me explicou a situação toda.

 O Diego, esse meu amigo, está trabalhando na parte administrativa de uma Universidade e pediram pra ele desenvolver uma aplicação para substituir um sistema da contabilidade. Cerca de um ano atrás eu estive visitando-o e comentei sobre o Qt com ele, mas na época ele estava trabalhando com um sistema em Fortran+OpenGL e não cheguei a insistir (tah, eu não iria insistir, ia apenas comentar com ele a possibilidade) sobre ele reescrever o sistema usando Qt, pois ele tinha sido contratado para escrever tal sistema usando Fortran. Com esse novo sistema ele lembrou que eu tinha elogiado o Qt e foi dar uma lida. Após ele dar uma olhada em um livro sobre a versão 4.1 (atualmente o Qt se encontra na versão 4.7.3 com MUITAS funcionalidades extras, com planos para a versão 4.8 nos próximos meses e 5.0 no próximo ano) e achou tudo aquilo muito pronto, só necessitando connectar os sinais e slots, por isso ele me chamou de preguiçoso, por usar uma ferramenta com ‘tudo’ pronto. Devo dizer que fiquei lisongeado com esse comentário.
Além de ter ficado feliz por o emprego dele, também fiquei muito feliz por ele ter optado por essa tecnologia, não por que eu uso, mas por ela é uma GRANDE facilitadora do trabalho do programador. Porque se preocupar com comunicação entre os objetos quando o Qt possui Sinais/Slots? Por que se preocupar com diferentes implementações de banco de dados quando o Qt já provê suporte a eles usando plugins? Porque se preocupar em escrever a aplicação já na linguagem nativa (o que pode levar problemas de acentos e caracteres especiais) quando você pode usar o sistema de i18n e l10n (tradução e localização) já prontas e testadas?.Eu poderia escrever MAIS argumentos, mas isso seria muito extenso.
Moral da estória: Pequenos comentários podem influenciar em decisões futuras, então compartilhe experiências. Só cuidado para não ser extremista, vulgo Troll, que isso só afasta as pessoas.

=-=-=-=-=
Powered by Blogilo


17:01, Wednesday, 17 August UTC

August 04, 2011

Filipe Saraiva (filipesaraiva)

Cruzando o Atlântico!

Post rápido – estou agora no aeroporto de Cumbica, em Guarulhos, e já cumpri a primeira parte da viagem – o trajeto via ônibus São Carlos – São Paulo – Guarulhos.

Logo mais embarco para Berlim, participar do Desktop Summit! Grandes expectativas e vontade de trocar várias ideias com os devs que estarão por lá.

Fiquem ligados, tentarei postar imagens e relatos sempre que possível.

See you!

20:20, Thursday, 04 August UTC

July 29, 2011

Filipe Saraiva (filipesaraiva)

Logo mais: KDE 4.7 Release Party em Teresina

Plasma e Aplicações KDE SC 4.7

O KDE-PI está organizando hoje a release party do lançamento da versão 4.7 do KDE SC.

É o momento de reencontrar amigos, fazer novas amizades, conversar e festejar os desenvolvedores de software livre que criam os programas que tanto amamos! :-)

O encontro será realizado na Praça de Alimentação do Teresina Shopping, a partir das 19:00h. Procurem pessoas com camisas do KDE por lá.

Maiores informações podem ser encontradas no link oficial do release party. Qualquer dúvida, contatem Aracele Torres.

E lembrando: o KDE-PI estará no Desktop Summit! Nos vemos lá!


14:44, Friday, 29 July UTC

July 18, 2011

Filipe Saraiva (filipesaraiva)

Backend do Cantor para Scilab: Destaque de Sintaxe e Autocomplete

Trago neste post algumas novidades sobre o suporte ao Scilab no Cantor, meu projeto do Google Summer of Code deste ano.

Após as últimas semanas de trabalho, duas interessantes funcionalidades do backend foram implementadas: o destaque de sintaxe e o autocomplete para funções e variáveis pré-definidas. Estas funcionalidades são legais pois estão presentes na maioria das IDEs e elas, em conjunto com outras características, são o que nos fazem preferir a escrever linhas de código em IDEs do que em editores de texto convencionais. :-)

Essas funcionalidades foram desenvolvidas baseadas na forma como estão implementadas para o backend de Maxima: usando arquivo XML que lista todas as funções e variáveis pré-definidas.

Alguns screenshots para demonstrar o funcionamento delas. Abaixo, temos o destaque de sintaxe do Scilab no SciNotes, o editor padrão do Scilab:

Destaque de sintaxe no SciNotes

Para encontrar todas as palavras-chave de funcionalidades e variáveis pré-definidas, usei a função getscilabkeywords que lista todas as palavras chaves do Scilab. Com ela em mãos, pude criar o arquivo XML com estes dados. Abaixo vemos o destaque de sintaxe no Cantor:

Destaque de sintaxe no Cantor

Ainda falta um detalhe para completar esta funcionalidade: o destaque de variáveis pré-definidas. Mas estou conversando com o Alex Rieder para terminarmos isso.

Abaixo, como curiosidade, o destaque de sintaxe do Scilab no Cantor e no SciNotes, lado-a-lado:

Destaque de sintaxe no Cantor e SciNotes

A outra funcionalidade é o autocomplete, que faz com que o Cantor sugira nomes de funções ou variáveis pré-definidas ao desenvolvedor durante a escrita do código. No Cantor, basta após qualquer caractere digitar a tecla TAB (padrão neste software para esta funcionalidade).

Na imagem abaixo temos o autocomplete sugerindo nomes de função para a palavra “plot” (a função de gerar gráficos no Scilab):

Autocomplete em ação!

Ao contrário do destaque de sintaxe, o autocomplete também está funcionando para as variáveis pré-definidas.

O código deste backend está no repositório do Cantor, atualmente no branch scilab-backend. Fique a vontade para testar, mas não se esqueça: você deve compilar também o Scilab caso queira experimentar o suporte no Cantor!

Bem, por enquanto é isso! O projeto está bem avançado e, quem sabe, teremos o suporte ao Scilab no Cantor versão KDE SC 4.8? ;-)

E para quem for à Berlim: nos veremos por lá!

04:06, Monday, 18 July UTC

July 11, 2011

Lucas Lira Gomes (MaskMaster)

[GSoC] Sincronização de Inscrições de Podcasts

Faz duas semanas desde a minha última atualização sobre o progresso da integração do gpodder com o Amarok, então aqui vamos nós.

O Amarok é agora totalmente capaz de receber os podcasts do gpodder.net e sincronizar-los com os seus podcasts locais, e vice-versa. Cada podcast, do gpodder.net, será sincronizado com o seu respectivo podcast local, usando a sincronização de playlist implementada na primeira parte deste projeto.

Agora, olhe alguns screenshots e liberte a sua imaginação:

(Figura 1) Antes da sincronização de podcast começar.
Perceba que quando o Amarok foi iniciado só existia um podcast nos podcasts locais.

(Figura 2) Logo após o processo de sincronização de podcast terminar.
Após um breve intervalo de tempo, o serviço do gpodder prontamente sincronizou todos os podcasts, do gpodder.net, com os seus respectivos podcast locais, desse modo adicionando os que faltavam.

(Figura 3) Remoção de um dos podcasts locais.
Se você tentar remover um podcast local, que está sincronizado com um podcast do gpodder, então o Amarok vai perguntar-lhe se você deseja remover o podcast do gpodder.net também. De maneira similar, assim que você adicionar um novo podcast, aos seus podcasts locais, você também poderá escolher se quer adiciona-lo as inscrições do gpodder.net.

Próxima semana estarei de volta com mais notícias. Lembre-se de continuar visitando este Blog.

Saravá KDE!!! \o/

13:24, Monday, 11 July UTC

Older blog entries