22.11.2013

Categoria(s)
hacklab, Software Livre

Tag(s)
, , , , ,

Palestra sobre o WP-CLI no WordCamp São Paulo 2013


por rodrigo 0 comentários


Amanhã vou dar uma palestra sobre o WP-CLI no WordCamp São Paulo 2013.

O WP-CLI é um conjunto de ferramentas para gerenciar o WordPress na linha de comando.

Segue abaixo o link para os slides que fiz para a apresentação:

http://rodrigoprimo.github.io/wp-cli-presentation/


22.08.2013

Categoria(s)
Notícias

Tag(s)
,

Apresentação do MOD no Rio de Janeiro


por rodrigo 0 comentários


Na próxima quinta-feira, dia 29/08, vai acontecer a primeira apresentação do MOD no Rio de Janeiro. Será no estúdio Audio Rebel em Botafogo. Todos estão convidados para experimentar a pedaleira digital. Se quiserem tragam seus instrumentos.

MOD

Onde: Audio Rebel – Rua Visconde de Silva, 55, Botafogo
Quando: Dia 29/08 das 18h às 21h

Para mais informações vejam a página do evento no Facebook.


21.08.2013

Categoria(s)
Comunidade, Software Livre

Tag(s)

Outro relato do WordCamp San Francisco 2013


por Cátia Kitahara 1 comentário


Como o Rodrigo reportou em outro post, o Hacklab esteve presente no WordCamp San Francisco. Gostamos bastante da experiência e voltamos bastante empolgados com a experiência. Além da oportunidade de assistir boas palestras, conversamos e conhecemos bastante pessoas interessantes, trocamos ideias com core developers, conhecemos a sede da Automattic, que é um espaço muito bacana, e também codamos e contribuímos com o WordPress, como não poderia deixar de ser.

[ Leia mais ]


Relato do WordCamp San Francisco 2013


por rodrigo 0 comentários


Na última semana de julho, eu, Leo e Catia fomos, representando o Hacklab, para San Francisco para participar do WordCamp San Francisco 2013, o maior evento da comunidade do WordPress. Foi uma ótima oportunidade para conhecer alguns dos desenvolvedores da Automatic e saber quais são os planos para o futuro do projeto e da comunidade.

Os dois primeiros dias do evento foram dedicados a palestras dividas em duas trilhas. A primeira tinha como público alvo desenvolvedores e designers e a segunda usuários e empreendedores. O terceiro e último dia foi reservado para o Contributor Day, onde os interessados tem a oportunidade de contribuir diretamente com o WordPress.

Saguão de entrada do WordCamp San Francisco 2013

Saguão de entrada do WordCamp San Francisco 2013

Do primeiro dia destaco as palestras Confident Commits, Delightful Deploys do Mark Jaquith (slides) e a Writing Code as User Experience Design do Nikolai Bachiyski.

A palestra do Mark Jaquith tratou de boas práticas para todos os desenvolvedores e sysadmins que trabalham com WordPress, em especial na hora de publicar uma nova versão do código. Ele reforçou algumas coisas que já deveriam ser senso comum (e que infelizmente ainda não são), como o uso de um sistema de controle de versão. Também citou algumas ferramentas que facilitam bastante o fluxo de trabalho como o WP Stack ou o Capistrano-WP para fazer deploys, Puppet ou Chef que são ferramentas para o gerenciamento das configurações dos servidores e, por fim, o Vagrant para criar um ambiente de desenvolvimento semelhante ao servidor onde o site está publicado.

Na palestra do Nikolai Bachiyski, ele explorou o que os desenvolvedores podem aprender da experiência de quem estuda user experience designConsiderando que um desenvolvedor passa mais de 70% do seu tempo de trabalho lendo código e não escrevendo, quando criamos código temos que nos preocupar com a experiência do usuário, que neste caso serão os outros desenvolvedores que terão contato com ele. Além de sugerir algumas boas práticas para criação de código, ele mostrou alguns vídeos da tela e cara de alguns desenvolvedores enquanto estes criavam uma página usando a Settings API do WP.

Já do segundo dia destaco as palestras Three Security Issues You Thought You’d Fixed do Mike Adams e a Magical WordPress Management using WP-CLI do Mike Schroder (slides).

No último dia teve ainda o State of the Word 2013 do Matt Mullenweg. Nele o fundador do WordPress falou do crescimento do software que agora representa 18,9% de todo o conteúdo da web (ano passado era 16,7%), do uso crescente a partir de plataformas móveis e de um novo modelo de desenvolvimento para o core. A ideia é implementar ciclos mais curtos de release com o lançamento das versões 3.7 e 3.8 ainda esse ano e organizar os desenvolvedores do core em pequenos times que trabalhem em plugins. Quando um plugin estiver pronto ele é incorporado ao código principal. Este novo modelo já está sendo testado com o desenvolvimento da nova interface para o admin.

No Contributor Day trabalhei na automatização dos testes unitários do core do WordPress utilizando o Travis CI junto com o Bryan Petty e com a ajuda do Nikolai Bachiyski. Criamos um fork do repositório do WordPress no github e nele configuramos o serviço de integração continua que pode ser visto neste link. Nas próximas semanas o Andrew Nacin deve integrar o que fizemos no repositório do WordPress.

Contributor Day no novo escritório da Automattic

Contributor Day no novo escritório da Automattic

O arquivo de configuração que criamos para o Travis CI pode ser visto neste link. Ele roda os testes do WP usando PHP 5.2, 5.3 e 5.4 e para cada uma dessas versões com o modo multisite habilitado ou desabilitado. Por enquanto, o Travis só é chamado quando há um commit no core e não quando há um commit no repositório de testes. O próprio Nacin disse que a intenção é juntar os dois num único repositório.

Uma vez com a integração dos testes do WordPress com o Travis CI funcionando partimos para resolver os testes que estavam falhando. Conseguimos resolver cerca de dez testes, não deu tempo de resolver apenas um que foi resolvido uns dias depois. Após o WordCamp descobrimos mais três testes que falham quando executados com o PHP 5.2. Estes ainda estão pendentes e podem ser vistos na página do repositório no Travis CI.


18.07.2013

Categoria(s)
hacklab

Tag(s)

Sed – como apagar linhas?


por Fabio Montefuscolo 4 comentários


sed é uma ferramenta GNU para tratamento de textos. É possível fazer operações sobre arquivos textuais e saídas de outros programas. Para usar o sed é recomendável saber um pouco de expressões regulares para encontrar padrões, mas é possível usá-lo com simples strings.

Para as experiências a seguir, será usado um arquivo texto com alguns nomes de pessoas, chamada nomes.txt, que contém dois nomes por linha. As alterações feitas pelo sed não persistem no arquivo sem a opção -i, então o mesmo arquivo será usado para todos os comandos.

[~] cat > nomes.txt <<- DONE
Guilherme Sofia
Gustavo Maria
Lucas Beatriz
Enzo Camila
Vinicius Amanda
Joao Bruna
Eduardo Isabela
Bruno Ana
DONE

 Apagar linhas

Em um script para o sed a letra d significa a deleção de uma linha.

Apagar a linha número 2

[~] sed -e '2d' nomes.txt
Guilherme Sofia
Lucas Beatriz
Enzo Camila
Vinicius Amanda
Joao Bruna
Eduardo Isabela
Bruno Ana

Apagar da linha 1 até a linha 3 (inclusive)

[~] sed -e '1,3d' nomes.txt
Enzo Camila
Vinicius Amanda
Joao Bruna
Eduardo Isabela
Bruno Ana

Apagar da linha 3 (inclusive) até o fim do arquivo

[~] sed -e '3,$ d' nomes.txt
Guilherme Sofia
Gustavo Maria

Apagar linhas com o primeiro nome terminando em o

Padrões no sed devem ficar entre duas barras /.

[~] sed -e '/^\w\w*o /d' nomes.txt
Guilherme Sofia
Lucas Beatriz
Vinicius Amanda

Apagar da linha que começa com Lucas até a linha que termina com Amanda

[~] sed -e '/^Lucas/,/Amanda$/d' nomes.txt
Guilherme Sofia
Gustavo Maria
Joao Bruna
Eduardo Isabela
Bruno Ana

Apagar a linha que termina com Beatriz e também a próxima linha

É possível realizar mais de um comando para o mesmo padrão que o sed encontrou no texto de entrada. Os comandos ficam entre chaves. O comando N seleciona a linha seguinte junto a linha do padrão encontrado para serem apagadas pelo comando d.

[~] sed -e '/Beatriz$/{ N; d }' nomes.txt
Guilherme Sofia
Gustavo Maria
Vinicius Amanda
Joao Bruna
Eduardo Isabela
Bruno Ana

Referências


16.05.2013

Categoria(s)
Comunidade, hacklab, Notícias

Tag(s)
,

Entrevista no Code Poet


por Cátia Kitahara 0 comentários


Eu fui entrevistada pelo Michael Pick no site Code Poet, especializado em WordPress.

Entre outras coisas falo sobre minha participação na comunidade de WordPress, do nosso trabalho aqui no Hacklab e do projeto Catraca Livre.

Confira a entrevista aqui: http://build.codepoet.com/2013/05/16/catia-kitahara-interview/


16.05.2013

Categoria(s)
Comunidade, Software Livre

Tag(s)
,

Aniversário de 10 anos do WordPress


por Cátia Kitahara 0 comentários


Dia 27 de maio é aniversário do WordPress, são 10 anos de estrada de um dos mais populares softwares livres do mundo. A festa é mundial, mas estamos planejando a nossa em São Paulo, aqui no Hacklab, rua Tanabi, 74 às 19h, tragam bebidas e comidas.

Precisa ter nome na lista de confirmação pelo site: http://www.meetup.com/WordPress/Sao-Paulo/

Distribuiremos adesivos e sortearemos camisetas do Code Poet. Se atingirmos 50 pessoas, talvez consigamos mais brindes comemorativos.


29.04.2013

Categoria(s)
Comunidade

Tag(s)

Meetup de WordPress no Hacklab


por Cátia Kitahara 1 comentário


Nesta sexta-feira, dia 03 de maio vamos fazer um Meetup de WordPress aqui no Hacklab, a partir das 19h.  Os temas sugeridos são:

  • Novidades da versão 3.6
  • MP6
  • Desenvolvimento de plugins no Brasil
  • WordPress como um framework para apps

Para participar , confirme pelo endereço http://www.meetup.com/wordpressbr/events/116789492/ É gratuito.

O Hacklab fica na Rua Tanabi, 74 em Perdizes.

Meetups são encontros regulares de usuários de WordPress para trocar idéias e experiências, ou até mesmo para assistir pequenas apresentações. O formato é livre. O Fabio Fiss inicou um grupo aqui em São Paulo que já se reuniu três vezes. Hoje conta 59 membros. Participe também!


10.04.2013

Categoria(s)
hacklab, Software Livre

Tag(s)
, , , ,

Plugin do WordPress para usar o OpenID Delegation


por rodrigo Comments Off


No final do ano passado publiquei um plugin para WordPress que permite utilizar a URL de um blog rodando o WP como uma identidade OpenID.

Para usar o OpenID Delegation é necessário ter uma identidade OpenID em algum serviço como o myopenid.com.

Com este plugin ao invés de usar como identidade OpenID a URL fornecida pelo provider, é possível usar a URL do WordPress. No meu caso uso como identidade OpenID http://rodrigo.utopia.org.br ao invés de http://rodrigoprimo.myopenid.com/.

Para mais informações vejam a página do plugin: http://wordpress.org/extend/plugins/wordpress-openid-delegation/

Para quem estiver procurando um provider e/ou consumer OpenID vejam o plugin WordPress OpenID.

 


03.04.2013

Categoria(s)
hacklab

Tag(s)
,

O ‘git revert’


por Fabio Montefuscolo 0 comentários


Eu precisava fazer com que minha cópia local do git ficasse com o conteúdo igual estava há uns 4 commits atrás. Esses 4 commits no meio do caminho já estavam no servidor remoto, então não posso simplesmente jogá-los fora. Então tive de aprender o comando ‘git revert‘.

O ‘git revert‘ cria um ou mais commits com as alterações que desfazem o conteúdo dos commits indesejados. Abaixo escrevi sequências de códigos que ilustram o uso ‘git revert‘.

Desfazendo 1 commit

Quero desfazer o commit 23a10ce que cria o arquivo de nome “CCC”.

fabio@mouse:git-revert(master)$ git log --pretty=oneline
9d1d944c5f153c4dafb80a8a19009527e6fe9f1a commit 5 - arquivo FFF
66622af8cbf38cf3749145bb37929367dadb8a84 commit 4 - arquivo EEE
35a4e32012dec7931d5f4b32f1121dbcd9318e52 commit 3 - arquivo DDD
23a10ce4592080ac32b1f1e1a779f295ac26a720 commit 2 - arquivo CCC
5d2c7d5b39892afba41ee8537c9384a77ed1e15e commit 1 - arquivo BBB
21d969d160108eb2acecfc9ea5ede8590fba5494 commit 0 - arquivo AAA
fabio@mouse:git-revert(master)$ ls
AAA BBB CCC DDD EEE FFF
fabio@mouse:git-revert(master)$ git revert --no-edit 23a10ce
[master cd4fa8a] Revert "commit 2 - arquivo CCC"
1 file changed, 1 deletion(-)
delete mode 100644 CCC
fabio@mouse:git-revert(master)$ ls
AAA BBB DDD EEE FFF

Desfazendo um conjunto de commits

Quero desfazer desde agora (HEAD) até o commit 23a10ce. Vão sobrar em meu diretório os arquivos AAA e BBB.

fabio@mouse:git-revert(master)$ git log --pretty=oneline
9d1d944c5f153c4dafb80a8a19009527e6fe9f1a commit 5 - arquivo FFF
66622af8cbf38cf3749145bb37929367dadb8a84 commit 4 - arquivo EEE
35a4e32012dec7931d5f4b32f1121dbcd9318e52 commit 3 - arquivo DDD
23a10ce4592080ac32b1f1e1a779f295ac26a720 commit 2 - arquivo CCC
5d2c7d5b39892afba41ee8537c9384a77ed1e15e commit 1 - arquivo BBB
21d969d160108eb2acecfc9ea5ede8590fba5494 commit 0 - arquivo AAA
fabio@mouse:git-revert(master)$ ls
AAA BBB CCC DDD EEE FFF
fabio@mouse:git-revert(master)$ git revert --no-edit 23a10ce^..HEAD
[master aafe3b1] Revert "commit 5 - arquivo FFF"
1 file changed, 1 deletion(-)
delete mode 100644 FFF
[master 55a9493] Revert "commit 4 - arquivo EEE"
1 file changed, 1 deletion(-)
delete mode 100644 EEE
[master ff45a7a] Revert "commit 3 - arquivo DDD"
1 file changed, 1 deletion(-)
delete mode 100644 DDD
[master a2c4050] Revert "commit 2 - arquivo CCC"
1 file changed, 1 deletion(-)
delete mode 100644 CCC
fabio@mouse:git-revert(master)$ ls
AAA BBB

O ‘git revert’ não volta na história nem reposiciona ponteiros, como faz o ‘git reset’. Ao invés disso, o ‘git revert‘ desfaz alterações que estão no histórico de commits. As alterações feitas pelo ’git revert‘ podem ser vistas através do log.

Referências

  • https://www.kernel.org/pub/software/scm/git/docs/git-revert.html