Exporting a git repository to subversion

October 6th, 2009

Yeah, you read that right. That is probably the inverse of what most people want. But, anyway, let’s say you have a project originally hosted on a git repository and you need to export it to a subversion repository for some reason. Now what?

The nice folks of Google Code have put a really good step-by-step guide explaining how to do it. This guide was originally posted on Google Open Source Blog. In case you need another view on the process, you can follow the “git export to svn” discussion on nabble — which just get good at the very end.

There is a little gotcha on the guide — not an error, but something they should have stressed. The Subversion repository you will use must be non-empty. Again: the Subversion repository must be non-empty. Notice that by non-empty all they mean is that the subversion repository should have at least one revision commited to it, and not that it ought to have files in it. Got it? Good. Now move on.

Reparo no Time Machine

October 2nd, 2009

Então, como eu falei antes, enviei o meu Macbook para o reparo, onde trocaram a placa lógica dele. Depois disso o Time Machine parou de reconhecer o disco de backup antigo que eu usava. Na verdade, ele passa a ignorar todos os backups anteriores e resolve criar um backup novo, do zero. Desnecessário dizer que isso tira metade da graça em usar o Time Machine (backups temporais), sem comentar os desperdício em espaço em disco — vou praticamente ter duas cópias dos mesmos dados do disco de backup.

E aí, Bial, como fazer para resolver isso?

Existem bons guias em inglês dizendo como resolver; coloquei links para eles ao final desse post. Mas, para aqueles que têm algum problema com o inglês, vamos ao passo-a-passo de como resolver isso na velha língua de Camões. Como alguns comandos requerem o uso da linha de comando, vou assumir certa familiaridade com a mesma.

Entendendo o Problema

Antes de mais nada, uma rápida explicação. O Time Machine usa um identificador que fica atrelado à sua placa de rede (o seu “endereço MAC“) para reconhecer o backup de um micro. Isso permite inclusive que um mesmo disco de backup seja compartilhado por vários micros: cada um terá seu backup identificado unicamente pelo endereço MAC do seu respectivo micro.

Todavia, se a placa lógica de um micro muda, o endereço MAC dela também muda. Por isso, quando o Time Machine for procurar por backups anteriores do seu micro, ele procurará backups associados ao identificar atual do micro — ou seja, ao seu novo endereço MAC. E é por isso que ele não encontrará seus backups anteriores: todos os seus backups ainda estão atrelados ao antigo identificador do seu micro e não ao novo. Para corrigir esse problema temos que “informar” o Time Machine sobre essa mudança de identificador. Na prática, apenas atualizaremos o endereço MAC nos backups antigos com o novo endereço MAC. Assim, o Time Machine identificará seus backups anteriores como backups do micro atual e nada do seu histórico será perdido.

Coletando algumas informações

Antes de prosseguir, você terá de cololetar algumas informações

  • Mount-point do Time Machine
    Provavelmente será dentro do /Volumes, alguma coisa como '/Volumes/Time Machine' ou, no meu caso, '/Volumes/Backups do Time Machine/'.
  • Diretório onde o Time Machine guarda os backups antigos do seu micro
    Dentro do volume/mount-point do Time Machine haverá uma pasta chamada Backups.backupdb e, dentro dessa pasta, haverá uma (provavelmente) com o nome do seu micro. Essa é a pasta que contém os seus backups antigos. No meu caso, o path completo para ele era /Volumes/Backups do Time Machine/Backups.backupdb/notebook
  • O antigo endereço MAC do seu micro
    Sim! Você vai precisar dessa informação. Se você não tinha anotado o seu antigo endereço MAC em algum lugar o que lhe resta é extrair essa informação direto do Time Machine. O comando abaixo deve resolver esse problema. Adapte as nomes dos diretórios de acordo com as suas configurações

    $ cd /Volumes/Backups\ do\ Time\ Machine/Backups.backupdb/
    $ xattr -p com.apple.backupd.BackupMachineAddress notebook

    A saída desse comando deve ser algo como 00:1e:c2:1e:1e:ca. Esse é o valor do seu antigo endereço MAC.
  • O novo endereço MAC do seu micro
    O comando abaixo deve dar conta de lhe fornecer essa informação

    $ LC_ALL=C ifconfig en0 | awk '/ether/{print $2}'

    O resultado deve ser um identificador como 00:22:41:22:16:f3. Esse é o endereço MAC atual do seu micro.

Passo-a-Passo

De posse de todas as informações necessárias, vamos agora ao passo-a-passo para resolver esse problema.

  1. Se o disco de backup estiver conectado, desconecte-o.
  2. Em seguida, desligue o Time Machine. Você não vai querer ele interagindo com você enquanto os ajustes são feitos. Vá lá no “Preferências do Sistema”, vá na área do Time Machine e desligue-o.
  3. Reconecte seu disco de backup.
  4. Desabilite temporariamente as ACLs no volume da Time Machine. Não precisa ficar com cara de Amélia se você não entendeu. Apenas digite os comandos abaixo:

    $ sudo fsaclctl -p '/Volumes/Backups do Time Machine/' -d
  5. Dentro do raiz do volume do Time Machine existe um arquivo invisível cujo nome corresponde ao identificador MAC antigo do seu micro precedido por ponto e sem os “:”, ou seja “.001ec21e1eca“. Esse arquivo terá de ser renomeado para refletir o valor do novo MAC. Aplique o mesmo processo ao novo MAC e você terá o novo nome para esse arquivo.

    $ cd /Volumes/Backups do Time Machine/
    $ mv .001ec21e1eca .0022412216f3
  6. O diretório com seus backups antigos possui um atributo extendido com o valor do MAC antigo. Atualize-o com o valor do MAC novo.

    $ cd /Volumes/Backups do Time Machine/
    $ sudo xattr -w com.apple.backupd.BackupMachineAddress 00:22:41:22:16:f3 Backups.backupdb/notebook
  7. Reabilite as ACLs no volume da Time Machine.

    $ sudo fsaclctl -p '/Volumes/Backups do Time Machine/' -e
  8. Desconecte/Ejete o seu disco de backup
  9. Re-habilite o Time Machine
  10. Reconecte o seu disco de backup

E é isso. Após tudo isso o Time Machine deverá iniciar um outro processo de backup — e esse deve demorar um pouco mais já que provavelmente seu micro estava há um bom tempo sem fazer backup.

Referências

Reparo no Macbook Pro

September 28th, 2009

Meu Macbook Pro estava com um problema estranho: desligava espontaneamente quando passava um tempo apenas na bateria, mesmo essa tendo carga. Bastava um “while true; do echo 1 > /dev/null; done” rodando em dois terminais para, em questão de minutos, o mac apagar. Mas apagar mesmo, de não voltar até que fosse ligado no cabo de força. E repetindo: a bateria ainda tinha (muita) carga.

Depois de muito adiar levei ele na assistência para ver se resolvia o problema. Antes de mais nada, tenho que dizer três coisas:

  1. Primeiro, Deus salve o momento em que fiz meu plano AppleCare — valeu cada centavo!
  2. Pela primeira vez na vida não me senti enganado por uma assistência técnica. Gostei muito do serviço lá da TecMania, aqui em Belo Horizonte mesmo. Recomendo mesmo. :-)
  3. Finalmente, PQP!, Time Machine!

O que ocorreu foi que depois de descartarem que o problema fosse a bateria, que parecia estar normal nos testes, resolveram trocar a placa lógica (logic board) do coitado. Trocaram e o problema persistiu. Pegaram uma bateria zerada que havia chegado a pouco por lá e tentaram reproduzir o problema. Como não conseguiram, deduziram que foi a bateria, e que a minha estava claramente defeituosa. Menos mal, fiquei com uma bateria nova e uma placa lógica nova sem pagar nada. Digo, tudo pago pelo AppleCare.

Tudo foi bem rápido. Mais rápido do que o esperava e quase tão rápido quanto eu gostaria. Todavia, depois de ter a placa lógica trocada, o MBP se comportou um pouco estranho:

  • O iTunes disse que não podia mais tocar as músicas da minha coleção porque não tinha permissão.
  • O Time Machine não reconhecia os backups antigos que eu tinha.
  • O VMWare Fusion passou a perguntar se eu tinha movido ou copiado minhas máquinas virtuais.

O que ocorreu foi que com a mudança da placa lógica, muitos programas acharam que eu tinha mudado de micro, o que não foi de fato o que ocorreu. No caso do iTunes foi só autorizar esse “novo” computador. O VMWare funcionou sem problemas depois que eu disse que “copiei” as máquinas virtuais. Com o Time Machine não foi bem assim…

Massacre virtual

June 5th, 2009

Tirar a poeira desse blog com as estatísticas do último massacre que eu cometi. Deixei de seguir 21 feeds RSS e de 2 twitters — um deles o do @buscadesconto, que mesmo útil, não tem a utilidade que eu esperava). Os feeds que eu deixei de seguir foram:

É uma miscelânia de blogs de amigos que foram desativados, blogs de programas que eu não uso mais e de coisas que, apesar de interessante, simplesmente tomam tempo demais :-) Os canais de video do google, por exemplo: tem muita coisa bacana, mas não tenho 1h para gastar vendo-os e cansei de me enganar que marcar para “ver depois” vai resolver já quem na prática, nunca vejo.

E é isso. Namastê, much love, peace out.

Ancient deities

February 14th, 2009

Mesmo não sendo o cara mais católico do mundo, gostei dessa citação:

Tim Bray: “Why should I hold ancient Near Eastern tribal deities to my notion of civilized moral standards?”

Src: QOTD — Ian Murdok’s Weblob.

DIY: Base para Lava Lamp

February 7th, 2009

Na falta de coisa melhor para postar, vamos tirar a poeira disso com um “antigo” vídeo de minha autoria, sobre como fazer uma base (tosca) para uma Lava Lamp.

Enquanto que uma garrafa de lava lamp custa uns R$ 25 no mercado, a base custa aprox. R$ 100. Isso é um absurdo, visto que a base nao passa de um suporte para a garrafa e uma lâmpada de 40W. Sendo assim, resolvi fazer uma para mim usando uma lata de Nescau 2.0 — e funcionou :-) Custo total inferior a R$ 30, incluíndo a garrafa de lava. A lampada que eu usei no final das contas foi uma dicróica de 50W.

E sim, eu sabia o que estava fazendo quando eu usei a furadeira :-)

Handbrake novo

November 27th, 2008

Só para tirar a poeira do blog — e iniciar uma nova seção do mesmo. Saiu uma nova versão do Handbrake, um probrama para Mac (com versões para Linux e Windows) que converte seus DVDs para vários formatos interessantes, entre eles os formatos suportados pelos iPod (5G), iPhone, Apple TV, PSP e muitos outros.

De especial a nova versão permite agora a conversão a partir de vídeos em qualquer formato, não somente em DVD. Sim! Agora você aquele seu amigo pode converter os vídeos .AVI do Family Guy que ele baixou da internet para o iPhone ou para o PSP dele :-) Bom lembrar que esse programa pode ser útil também para aqueles que querem diminuir o tamanho dos seus vídeos pois ele suporta a codec H.264, que consegue taxas de compressão muito boas — melhores do que as que se obtem com Divx e similares.

E é isso.

Via Wired Blog: Handbrake Still the Best DVD Converter, Now Handles Any Video Format.

Vida nova a um velho PDA

October 16th, 2008

Bacana a proposta de dar vida nova a um velho PDF e transformá-lo em um capenga mas usável notebook ou em um eReader.

MAKE @ Digital Nomads – Things to do and make with old Palm Pilots e Giving old PDAs a new life…

In plain English (except the post)

September 12th, 2008

Como faz tempo que eu não escrevo aqui, eu provavelmente deveria voltar com alguma coisa grande, bacana, para marcar o início de uma nova era (que provavelmente será sucedida por outro intervalo sem “posts” por um bom tempo). Devia, mas não vou.

Esse post é tão e simplesmente para apontar para um canal do YouTube que eu achei particularmente interessante: “Explanations in Plain English“. Não é um blog sobre inglês. Na verdade parece mais um “How Stuff works” animado — e em inglês ;-) . Os tópicos são bem interessantes: como as eleições nos EUA funcionam, o que é RSS, como funciona, para que serve e como você pode usá-lo e por aí vai. Tem videos sobre zumbis (?!), wikis, twiiter, social bookmarking e mais. Todos distribuídos em uma licença Creative Commons.

A temática dos vídeos, como pode-se ver pela pequena lista acima, é mais voltada para tópicos relacionados à Internet. O mais bacanas dele é a forma com que abordam seus assuntos: sem tecnicalidades, de maneira direta, clara e acessível — do jeito que seus familiares gostam ;-)

Olha, mãe, sou eu na TV!

July 21st, 2007

Filmaram a minha apresentação no I Workshop do UOL Bolsa Pesquisa (2006):

Espero que agora fique mais fácil explicar “O que diabos você faz mesmo nesse doutorado?” e responder “E quem paga as tuas contas?”. :-)

C++ blues

May 31st, 2007

C++ é uma linguagem fantástica, até a hora em que ela começa a lhe mostrar seus espinhos. Infelizmente, isso acontece com muita freqüência, o que torna programar nessa linguágem um trabalho de corno. E não são coisas complicadas (criar em tempo de execução classes usando apenas uma string com seu nome), mas as coisas simples as que mais irritam:

  • Você deve explicitamente chamar os construtores das classes pai.

    Isso é obvio mas… por quê? Se eu não estou acrescentando nenhum atributo à classe e quero preservar na classe derivada as mesmas assinaturas dos construtores da classe-pai para que re-escrever tudo? Talvez eu tenha passado tempo demais em python, onde todos os métodos (incluindo construtores) são virtuais.

  • Não se deve chamar métodos virtuais em construtores

    Novamente, depois que você adestrou seu cérebro para pensar na lógica de C++, isso também deveria parecer óbvio. Mas não parece. Isso é tão verdade que o Scott Myers tem uma entrada especificamente para isso no seu Effective C++, 3ª edição.

Fragmentos de um relacionamento

May 26th, 2007

Após um relato de uma semana de trabalho…

— Ti, cuidado para não estafar!
— Ju, eu não tenho tempo para isso.

Hot Hot Heat – Talk to me, dance with me

Fim da BrasNet

May 22nd, 2007

Quando comentaram comigo “A BrasNet fechou” eu pensei, “Bom, estava demorando para o inevitável acontecer”. Quase todo mundo usa MSN e Google Talk hoje em dia. Dentre as pessoas mais novas, quase nenhuma sequer conhece o IRC. Eu faço doutorado em computação e mesmo assim poucos dos meus colegas de laboratório (muitos deles da minha idade, diga-se de passagem) nem mais sabem o que é isso. E mesmo entre os que sabem, alguns não farão idéia do que eu estou falando a menos que eu chame IRC de “mirc“.

O fato é que, ao ler o relato do mantenedor da Brasnet sobre seu fechameto, me bateu uma grande nostalgia.

Eu também usei gopher, usei o Veronica, quando na época não existia mais nada similar. Adorava fazer consultas sobre células de combustível. Ainda me lembro do meu meu primeiro contato com o IRC, que também foi pela jacaré BBS, através de um terminal ligado à RNP no CEFET-CE, em meados de 1995. No dia, a conversa que rolava no #brasil era sobre a arte de enrolar um baseado — na época, eu mal tinha 14 anos. Eu estava lá quando os canais de estados brasileiros começaram a pipocar na EFNET, estava lá quando do surgimento da BrasNET e da BrasIRC. Conheci muitos amigos meus por lá e muitos dos que hoje são meus amigos são conhecidos de amigos meus do IRC.

Uma lástima a BrasNet fechar. Como diria Regina, com ela vão memórias de “um tempo que não volta nunca mais”.

Silêncio

April 22nd, 2007

Nada como um cross-post (original) para animar as coisas:

O do Véi já é notório, mas alguém mais está sabendo que o Noise3D está programado para fechar as portas em julho? Foi o que me disseram…

Aparentemente o problema é o de sempre: ao invés de pagar a entrada, as pessoas preferem economizar R$ 5,00 e ficar do lado de fora curtindo a música; ao invés de consumir dentro da casa, as pessoas preferem economizar R$ 0,25 ou menos e beber fora do estabelecimento. Nada contra o quem prefere economizar o fruto do seu suor, mas que se faça de maneira responsável. O que mais me entristece é que esses que mendigam pela entrada serão os mesmos que depois reclamarão que um dos melhores e mais descolados cantos de Fortaleza fechou. E se lamentarão, dirão que realmente era barato e se exonerarão da culpa que lhes é cabida. Uma pena, mas essa é a mentalidade de nossa amada cidade: provinciana. Reclamam que Fortaleza não é São Paulo mas se comportam como se estivessem indo a uma quermesse numa província de Juazeiro do Norte.

Não me entendam mal, eu amo nossa cidade. E como todo amor, ele é um pouco cego aos seus defeitos. Sei quais eles são, tenho pleno conhecimento deles, mas prefiro fingir não vê-los. O que não me impede de lamentar por eles. Até mesmo porque, depois que o nosso inferninho tiver fechado, o que restará em Fortaleza para preencher vácuo que ele criará? Amicis? Duvido: a despeito da interseção significativa dos dois públicos, as propostas das casas são bem diferentes. A Órbita, com suas pretensões de grande casa descolada e proposta de que fila grande é sinal prestígio da casa? Não, muito obrigado, prefiro sinceramente ir para o Mucuripe, pagar 25 reais só para sorrir mas saber que estou pagando por uma estrutura até mesmo barata para 25 reais, e não por um serviço de terceira categoria numa casa de segunda. Só sobra, a meu ver, o Fafi.

Aliás, aquela rua toda da Fafi tem um potencial não explorado enorme, mas não acho que alguém mais veja isso. Mesmo quem vê deve duvidar da viabilidade de tentar algo do gênero fora do circuito Dragão do Mar — até porque conseguir montar um modelo de negócio rentável no ramo de entretenimento no circuito alternativo em Fortaleza é algo que beira o impossível, que o diga o Noise.

Infelizmente é muito cômodo para mim falar disso em estando em BH. Mas quando estiver em julho em Fortaleza farei minha parte para aproveitar responsavelmente os últimos suspiros do Noise. Até lá, em sinal de protesto, que se faça barulho.

Erase and rewind

March 1st, 2007

Fazia tempo que eu não postava aqui e, já que eu estava devendo isso há algum tempo, resolvi que chegou a hora. Há muita coisa acontecendo mas pouca coisa para ser dita. De qualquer forma, aos informes.

Doutorado vai “intrigante e divertido”, obrigado. ;-)

O carnaval? Mais calmo que de costume mas bem interessante.

Space invading Garopaba - Um space invader na praia

Na verdade bem interessante. E molhado. Maldito período de chuvas…

Noutra frente o site todo migrou para um novo lugar. A antiga c9 sofreu um processo de re-estruturação e descentralização. Em outras palavras: ela foi para o saco ;-) Assim como o Sellaro, acabei vindo parar aqui na DreamHost. Não, ela não é uma solução de VPS com Xen, como eu gostaria. Não, eu não tenho acesso de root nessa máquina. Mas até que se se prove o contrário, está sim, bastante satisfatório. :-)

Essa migração não foi lá das mais tranquilas, particularmente no que diz respeito aos bancos de dados desse blog. Mesmo depois das medidas paleativas que eu tomei, o problema de corrupção de banco e dados ainda me perseguia. Aparentemente eu subestimei o tamanho da partição virtual em que os DBs ficavam e a capacidade dos spammers de gerarem conteúdo para lotar esses bancos. Por causa disso, o processo de geração automática e backups desses bancos se mostrou errático e inconsistente. O problema se mostrou grave a ponto de o último backup consistente e com conteúdo relevante ser um feito em meados de setembro de 2006. Pelo jeito que esse blog é movimentado, aparentemente não houveram grandes perdas que não pudessem ser manualmente restauradas.

Mas, como dizem os otimistas e masoquistas de plantão, há males que vêm para o bem. As coisas devem ficar mais redondas agora. Espaço em disco não será problema tão cedo, espero. Além disso a migração me forçou atualizar o código da minha script da programação d’A Obra para celulares para PHP5. Seu código ficou mais limpo, eficiente e reutilizável. Falo disso noutro momento.

Por hora é só. Olá e até a próxima.

Mano Chao – Mala Vida – Live @ Radio Buemba Sound System

Billet vor Pasárgada

July 9th, 2006

Paul van Dyk se apresentará dia 21 de julho aqui em Belo Horizonte. Espero que ele se divirta por aqui pois eu, eu vou-me embora para Pasárgada.

Lidando com falta de espaço em disco

June 15th, 2006

A C9, onde o blog fica hospedado, vez por outra sofre com problemas de falta de espaço em disco. Quando isso ocorre, não é incomum uma ou várias das tabelas do banco de dados desse blog ficarem corrompidas. Como isso estava ocorrendo com uma certa freqüência, resolvi arregaçar as mangas e tomar uma providência nada convencional para esse problema. Read the rest of this entry »

O que é isso? É um caranguejo estilizado?

June 7th, 2006

Não, não é, mas muito obrigado por perguntar :-)

***

A propósito, aquele meu patch já foi acrescentado ao Moin , na versão 1.5.3.

***

Ah! Pois é, rolou um tempo atrás outra edição do Bordel da Raquel, uma festa semestral da Comunicação Social da UFMG. Sobre ela.. bom… tudo que há para ser dito é que ir de chinelos havaianos para uma festa dessas não é uma boa idéia.

Não é de verdade não, né?

May 8th, 2006

Não, é não, é transfix!

I trust my Dealer

May 8th, 2006

Daniel Peixoto (da montage) e Eu

Show da Montage no Mary in Hell foi do caralho! Realmente, superou mas minha espectativas: os caras fazem um verdadeiro espetáculo!

Detalhe para a camisa do Noise3d :-P