Wednesday, February 3, 2010

Blogger Reverse Publishing

Blogger is disabling S/FTP publishing support from their platform. As of now, they are not offering any solution other than moving the blogs to being hosted by Blogger (either with custom urls or not).

Blogger claims S/FTP will be disabled because a Google infrastructure for doing so is being deprecated and will become unavailable.

In my view, a third option could be put in place that would still allow users to host their own content and not rely on S/FTP on Blogger's side: I call it Reverse Publishing. It works like this:

You use Blogger interface to manage your content, and having selected Reverse Publishing no visible URL is setup for you, but you receive an API key to access all content through GData API calls.

On your server you run a script (PHP most likely) that when activated pulls your blog data through the Blogger GData API and deploys it on your server, essentially doing the same work that the old S/FTP publishing did on Blogger side, just without using S/FTP at all.

If Blogger opts to support that, it could even go so far as to 'ping' your script when new content is available, so it can start pulling it automatically when you publish on the Blogger interface.

I would like to see Blogger staff comments about this idea. If they could enable such an option on their side, I'm sure an opensource script for doing the work on our side could be pulled off quite rapidly.

Labels:

Saturday, September 12, 2009

Python flames

#pythonbrasil

No final, Niemeyer quer um Python mais "mantenível" para grandes empresas, seja estável, sustente uma plataforma (mesmo quebrada) por tempo indeterminado em favor do código do cliente, tenha controle de acesso a atributos mais rígido.... basicamente, onde a visão da linguagem tome um segundo plano em relação ao code-base existente. Então, ele realmente quer Python ou alguma outra linguagem, apenas com sintaxe Python-like?

Labels: ,

Wednesday, April 22, 2009

Using OS X Terminal keys on a Macbook Pro

The default key settings on the Mac OS X (10.5) Terminal are pretty weird, especially on a Macbook Pro, and took me a while to figure them out and setup as I wanted.

This is how it works:

«fn» + left/right arrows is equivalent to home and end
«fn» + up/down is equivalent to page up/down

Problem is, by default, these keys don't send escape sequences, and don't work as expected. This is how I setup my terminal keys:

On the Terminal preferences, go to the Settings item, and choose the Keyboard tab.
Find these keys and edit them (note that the \033 you can get by pressing the esc key):

End - send string to shell: \033[4~
Home - send string to shell: \033[1~
Page down - send string to shell: \033[6~
Page up - send string to shell: \033[5~
Shift page down - scroll to next page in buffer
Shift page up - scroll to previous page in buffer

These bindings should get you close to what you'd expect from a sane terminal. There are a few more settings I use to setup Bash (and other programs that use readline), which are located on the .inputrc file on your home dir.

Edit ~/.inputrc and add this:

# Be 8 bit clean.
set input-meta on
set output-meta on
set convert-meta off

# Auto completion options
set show-all-if-ambiguous on
set completion-ignore-case on

# Keybindings
"\e[1~": beginning-of-line # Home key
"\e[4~": end-of-line # End key
"\e[5~": history-search-backward # Page Up
"\e[6~": history-search-forward # Page Down
"\e[3~": delete-char # Delete key
"\e[5C": forward-word # Ctrl+right
"\e[5D": backward-word # Ctrl+left

With these settings, «shift» + «fn» + up/down scrolls the buffer, and «fn» + up/down searches your history based on what you typed on the line.

References:

Labels:

Monday, November 10, 2008

Code::Blocks Oblivion

Code::Blocks is a cross-platform programming editor/IDE written using wxWidgets. I use it to program in C++ with wxWidgets in Linux and cross-compiling with MinGW to win32.

By default it comes with a white theme, while I prefer darker colors for programming. So I put together a color scheme that suits me better, following the Oblivion Tango color theme available in Gedit by default, with a few changes. Here's what it looks like:



If you want to try it, get the file codeblocks_oblivion.conf and use the command cb_share_config to merge it into your ~/.codeblocks/default.conf .

Labels: , ,

Thursday, November 6, 2008

Selfish Python

No post «O porquê do self explícito... será que agora vai?» Pedro Werneck demonstra, passo a passo, uma implementação do funcionamento das classes em Python utilizando apenas dicionários e funções.

Fica claro o modo como Python resolveu implementar o suporte à orientação à objeto, de maneira bem simples e prática, sem mágicas obscuras para tentar fornecer algum suporte sintático questionável, como seria se fosse sem explicitar o self.

Pessoalmente, já estava confortável com a utilização do self explícito (a ponto de sentir falta disso em C++ :) e esse post só veio para ajudar a entender melhor o funcionamento "por detrás dos panos", que é muito interessante.

Pontos extras por ter mostrado o funcionamento das metaclasses, e como as classes em Python não são nada especiais em termos de implementação.

Labels:

Thursday, September 4, 2008

Pidgin e Google Talk group chat

O GTalk tem função de group chat, porém se você usa o Pidgin irá apenas receber um link para acessar pelo navegador, usando um cliente em Flash.

Investigando um pouco, descobri que é possível entrar no group chat usando o próprio Pidgin, ou até mesmo criar uma sala:
  1. ao receber um convite, siga o link e quando aparecer o botão para iniciar o cliente Flash, selecione para ver o código fonte da página.
  2. Procure pela string de conexão, algo parecido com: private-chat-12345678-dead-beef-feed-fedcba987654@groupchat.google.com
  3. No menu "Amigos" do Pidgin, selecione "Adicionar bate-papo..." e preencha o campo de sala com a parte antes do @ da string anterior e o servidor com groupchat.google.com e clique em Adicionar.
  4. Pronto, você já tem a sala na sua lista e já pode conversar
O mesmo vale para criar novas salas, é só criar uma string para o nome da sala que seja compatível e conectar. Se ela não estiver sendo usada uma nova sala será criada e você pode convidar pessoas para entrar (menu "Conversa" -> "Convidar...").

Se você tem uma conta Jabber, pode criar salas no servidor conference.jabber.org da mesma forma, ou mesmo ver as salas já existentes pelo menu "Ferramentas" -> "Lista de salas", selecione sua conta Jabber, clique em "Obter lista" e preencha com o endereço do servidor.

Fontes:

Labels: ,

Thursday, July 17, 2008

Promoção para ajudar a Wikipédia e outros projetos

O BR-Linux.org e Efetividade.net estão novamente promovendo campanha para fazer doação para a Wikipédia e outros projetos importantes relacionados à livre difusão de conhecimento (software ou não).

Segue o texto de chamada da campanha:

Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!
…e também a pen drives, card drives, camisetas geeks, livros e mais! O BR-Linux e o Efetividade lançaram uma campanha para ajudar a Wikimedia Foundation e outros mantenedores de projetos que usamos no dia-a-dia on-line. Se você puder doar diretamente, ou contribuir de outra forma, são sempre melhores opções. Mas se não puder, veja as regras da promoção e participe - quanto mais divulgação, maior será a doação do BR-Linux e do Efetividade, e você ainda concorre a diversos brindes!


Quem tiver um blog, não deixe de participar também.