Wine no FISL 13

**Post atualizado com o vídeo da palestra**

Muito, muito, muito obrigado a todos que apareceram e participaram da palestra. Há muito tempo eu venho querendo palestrar no FISL e ajudar a construir esse evento e vocês tornaram isso uma realidade :D

A sala estava abarrotada de gente, se eu calculei certo isso significa aproxidamente umas 200 pessoas !!?!? Isso é insano galera, principalmente no primeiro horário da manhã…

Espero que todos tenham gostado, se divertido e aprendido um pouco. Também espero que estejam um passo mais perto de largar a dependência do Windows, ou que pelo menos consigam melhorar a sua experiência com o Linux (ou MacOS ou BSD …)!

Dêem uma olhada nos slides e links recomendados logo abaixo caso queiram aprender mais :)

Qualquer dúvida e comentário pode e deve ser deixado aqui.

Vídeo

Mais informações

Onde: Fórum Internacional do Software Livre

Que Sala: Sala 41D

Data: Dia 26/07, quinta-feira às 10:00

Material

cron é para os fracos…

…o negócio é usar sleep e operador &&

Amantes do terminal: vocês já quiseram rapidamente agendar uma tarefa simples para ser rodada mais tarde? Pode ser um aviso quando o seu bolo acaba de assar, ligar os torrents enquanto você dá uma saidinha, tocar um despertador depois de algumas horas.

Muitos diriam para você usar um cronjob… mas eu não! Foda-se esse cron e seus cronjobs, eu sempre esqueço como essa merda funciona. A minha resposta para isto é muito mais simples: use a função sleep.


$ sleep 3600 && deluge

Este exemplo abre o meu software favorito de torrents depois de uma hora. Note que você tem que calcular o tempo de espera em segundos. Este exemplo a seguir fecha os torrents depois de 5 horas:


$ sleep $((3600*5)) && pkill deluge

O $((3600*5)) é o tempo de 5 horas em segundos. Sim, é assim que se faz matématica no bash … POKER FACE.

A magia toda da coisa vem de um dos conceitos mais simples do bash, o fato de que o operador && espera que o primeiro programa acabe com sucesso para executar o segundo. Outra coisa divertida de se fazer é chamar o zenity, para mostrar uns avisos para gente:


# aviso depois de 10 minutos
$ sleep $((60*10)) && zenity --text "Seu bolo está pronto!" --info

As possibilidades são infinitas. Podemos misturar programas como o aplay ou o mpg123 para tocar sons e músicas. Se você não quer ter que abrir vários terminais e quiser aproveitar o terminal que você está usando você pode usar o operador & (apenas um & galera) para abrir processos em background.


# toque uma música depois de 30 min e alegre o ambiente com o efeito surpresa
$ sleep $((60*30)) && mpg123 CarelessWhisper.mp3 & # roda em background

Os mais criativos podem usar loops e variáveis para criar um poderoso sistema de agendamento de tarefas… de novo :)

usar cronjobs é para os fracos …

…desde que seja para tarefas triviais, caso você queira agendar coisas importantes e tal, dêem uma lida sobre ele ou outras soluções parecidas. É isso, bom dia a todos!

Variations on the Slices of PI

Algumas semanas atrás, enquanto assistia àlgumas apresentações do UBIMUS tive uma idéia para uma composição musical utilizando os dígitos do PI. O que eu esperava era obter algum resultado sonoro decorrente da distribuição numérica dos dígitos, distribuição que ainda não se sabe se é normal ou uniforme (com uma maior probabilidade de ser a primeira) , diferentemente de uma sequência aleatória que é uniforme e parece ruído aos nossos ouvidos.

A primeira idéia foi jogar os dígitos para o DAC (“onde sai o som do computador”) como se fossem samples PCM de 8-bits. Isto não dá muito certo porque os dígitos são valores de 0-9 (joguei no /dev/dsp do Linux) enquanto 8-bits configuram valores de 0-255 e o resultado acaba sendo um som com volume bem baixo. Algo como visto nesta figura:

A próxima idéia então foi agrupar os dígitos tal que eles formassem valores de 0-255 para jogar no DAC. Eu fiz isso somando n números consecutivos e normalizando o valor encontrado para ficar na faixa 0-255 com uma regra-de-três. Os resultados podem ser vistos nas figuras abaixo:

Dígitos agrupados de 30 em 30

Dígitos agrupados de 42 em 42

Entretanto, sonoramente não configuraram nada de especial, ruído mesmo (embora um pouco diferente de ruído tradicional). Além disso os um milhão de dígitos que eu estava pegando não davam muitos segundos de áudio PCM… então eu resolvi trapacear! Sabe o que mais tem 8-bits? Uma mensagem MIDI.

O que eu fiz então foi pegar vários destes arquivos com números gerados à partir do PI e usar um programinha mágico chamado amidicat para interpretar esses números como mensagens MIDI e tocá-las num outro programinha chamado QSynth.

Aqui tem uma foto do setup todo, coisa de deixar computeiro orgulhoso:

Clique para ampliar

 

O resultado final? Eu gostei e pode ser ouvido aqui ou no player abaixo. Aviso: são 30 minutos de puro PI.

No final das contas como alguns amigos meus argumentaram esse resultado seria muito parecido se eu usasse dígitos aleatórios e usar mensagens MIDI é trapaça. Eu sei disso, entretanto sendo um pouco poético: Da mesma forma que a guitarra tocada pelo teu ídolo tem aquele som especial, as mensagens MIDI geradas pelo PI são estranhamente musicais. Lidem com isto.

Trabalhos (procrastinações) futuras

Talvez eu nunca faça isto por falta de tempo e tal, mas coisas legais que poderiam ser feitas com essa idéia.

  • Usar sequências aleatórias e/ou outros números irracionais
  • Achar maneiras mais legais de síntese para isto
  • Achar maneiras mais legais de agrupamento dos dígitos

Referências legais sobre a distribuição de dígitos do PI

Divirtam-se :)

Um pouco de Git

Há alguns dias atrás (21-25 de Maio) tivemos a Semana Acadêmica do Instituto de Informática da UFRGS e ela estava ótima. Muitas palestras, cursos e uma adesão legal dos estudantes. Um parabéns especial para o pessoal do PoaSec, que trouxe diversas palestras e pro Luis Armando pela palestra “Produtividade pessoal: hábitos, planejamento e ação” que me ajudou a começar minha quest por mais produtividade e menos stress.

E o que eu fiz na Semana Acadêmica? Bastantes coisas. Organizei o Coding Dojo, organizei uma reunião do Hackerspace Matehackers e ministrei pela segunda vez o curso “Git Over Here”. Sobre os dois primeiros pontos eu falo depois, mas agora queria registrar um pouquinho sobre o que aconteceu no curso e deixar umas informações a mais.

Primeiramente queria agradecer de novo a todos que participaram e que por ventura venham a estar lendo isto, também peço desculpas se teve alguma parte confusa da palestra. Os slides mais atualizados podem ser encontrados aqui. Eu mandei esta palestra e uma sobre o Wine (parecida com a que eu apresentei no FLISOL) para o FISL 13. Dependendo da bondade dos votantes que escolhem as palestras pode ser que eu apresente algo por lá.

Em têm mais algumas sobre Git. Eu venho há um tempo recheando esta página aqui na minha Wiki com algumas dicas e truques sobre o Git e adicionei algumas novas depois do curso. Exemplos do que tem ali são: comandos comuns, deixar o git com cores e abreviações, opções para deixar o log de commits mais detalhado, criar o seu repositório self-hosted e mais.

Pra fechar vou deixar aqui uma referência ao blog de um amigo meu que começou há pouco tempo a fazer uma série de posts sobre Git, espero que ele continue firme e forte! To achando bem legal, principalmente para quem está começando. Passa lá no Samurai Dev e dá uma olhada

Este post foi só um milhão de links, mas tem mais coisas por vir. Enquanto isso fiquem com esta verdade:

Usando o Prism para transformar sites em aplicativos

DEPRECATED

Este post está desatualizado, num futuro próximo eu vou escrever uma coisa um pouco melhor sobre o mesmo assunto

Este post é inspirado primeiramente por uma ferramenta ótima que eu descobri esses dias, por indicação do Kauê, o KanbanFlow. Esse site implementa um quadro kanban virtual que ajuda muito a organizar e fazer as tarefas que você precisa prontas. Eu não vou entrar muito em detalhes de como se deve usá-lo (ou de como eu estou usando-o). O que eu vou fazer é dar uma dica de como transformar um site qualquer, como por exemplo o KanbanFlow, em um “aplicativo de desktop” usando o Prism, um add-on do Firefox. Qual a vantagem de fazer isto? Bom o meu KanbanFlow passa disso:

Para isto:

Bem melhor para se concentrar e evitar distrações certo? Além de ficar numa janela separada do browser para evitar tentações. Então como você faz para conseguir essa façanha?

Em teoria usar o Prism para fazer esta conversão era para ser uma tarefa fácil, mas ele foi descontinuado pela Mozilla após o Firefox 4, mais ou menos. Como o código é open-source, um cara adotou o projeto e fez o WebRunner, que também faleceu e não se encontra mais em lugar algum. Daí vem a Mozilla de novo e inventa o Chromeless (?) para fazer a mesma coisa só que do jeito certo™… e enquanto isso a gente fica sem. O Chromeless aparentemente tem delírios de grandeza e ainda é ‘Highly Experimental’, ‘early stage’ e ‘insecure’. Neste momento não tem jeito fácil de instalar. Eu só quero um browser sem toda complicação. FUCK THIS SHIT.

Esta situação toda é uma merda e eu não sei porque estes projetos estão amaldiçoados, mas o fato é que instalando um Firefox mais velho ainda podemos usar o Prism. Sim é uma solução tosca, mas é uma solução. Note que você só vai usar o Firefox velho para acessar as aplicações do Prism, poderá continuar usando a versão mais atual para navegar na internet.

Ok, comofas?

  1. Baixe uma versão velha do Firefox, a que eu uso é 3.6 . No Ubuntu aqui eu baixo o tarball e jogo numa pasta em opt/firefox-3.6, imagino que no Windows o instalador funcione direitinho e no Mac nem faço idéia.
  2. Rode a versão velha do Firefox. Aqui eu faço /opt/firefox-3.6/firefox num terminal. Em outros sistemas operacionais seja preciso ir até a pasta em que o executável está e clicar nele. Certifique-se de que outra versão mais nova não está rodando, senão ele não irá abrir a versão velha.
  3. Instale o Prism
  4. Vá até o site que deseja transformar numa aplicação. Clique em Tools -> Convert Website To Application
  5. Um ícone estará criado no seu Desktop. Feche o Firefox velho. Você não precisa abrí-lo nunca mais.

É isso galera, está instalada a aplicação e você pode abrí-la clicando no atalho criado no seu Desktop. Os cookies e qualquer outras informações do site ficam guardadas sem problemas junto com as outras configurações do Firefox.

Desvantagens

Como eu disse é uma solução porca e têm alguns probleminhas em fazer isto, são eles:

  • O Firefox antigo não tem várias features que talvez o site que você quer acessar use, como por exemplo frescurinhas do HTML5 que estão super na moda. Sites como o Gmail e WordPress reclamam de versões antigas do Firefox, embora pareçam funcionar bem.
  • O Firefox antigo pode ter falhas de segurança conhecidas que foram corrigidas em versões mais novas. Eu diria que este risco é baixo por você só estar acessando um ou dois sites assim, mas ele existe.
  • É uma baita dificuldade para fazer tudo isto e no final do dia é uma gambiarra feia.

Por fim, eu espero ter ajudado e fica aqui a minha mensagem para a Mozilla:

Y U NO BRING PRISM BACK?

Ótimas bandas, downloads gratuitos

Atualizado em Setembro de 2014

Eu sou um cara que curte música, diversos estilos, essas coisas. Passei anos coletando música, em forma de física (CD) e digital. Numa época em que tanto se reclama de pirataria e não cansam de nos dizer que ao fazer o download de alguma música estamos “roubando” do artista eu resolvi fazer um apanhado de links para álbuns de bandas que, por livre espontânea vontade cedem suas músicas gratuitamente para download. Incidentalmente várias delas fazem um som muito bom, então recomendo que baixem e dêem uma escutada com carinho, compareçam nos shows desses caras, etc…

Quando possível, adicionei links para o Trama Virtual dos artistas, visto que eles descolam uma graninha com isso.

Mentira! o TramaVirtual parou de funcionar há algum tempo, o que é muito triste! Colocarei no lugar links para soundcloud e páginas oficias das bandas.

Na foto: banda INI.

INI

Banda excelente de Sorocaba que faz um rock alternativo bem pesado e difícil de descrever, mas muito fácil de curtir. Sou fã desses caras, já fui em dois shows que fizeram aqui em Porto Alegre e devo dizer que o som deles e a performance ao vivo têm uma energia incrível. A Caixa do Macaco, o primeiro CD da INI, pode ser ouvido no Soundcloud ou baixado no 4Shared e parece que eles estão gravando outro :D

Móveis Coloniais de Acaju

Conheci esses caras na Campus Party de 2012 e são pareceria pra caralho. Fazem um rock bem tranquilo,  bem escrito, com um ótimo instrumental um toque de MPB e com um tiquinho de ska. Todos os álbuns deles estão disponíveis para download no blog oficial.

Amplexos

Um som permeado de influência brasileiras e da cultura negra, vários efeitos de áudio e um trabalho de guitarra que aparece às vezes só pra te deixar boquiaberto :D

O disco “A música da Alma” pode ser baixado no site oficial

Campbell Trio

Ótima banda de post-punk rock Porto Alegrense que conheci faz alguns dias, por indicação de um tal Cristiano Dalbem. Fiquei impressionado com a qualidade das músicas e da produção. O CD The Campbell Trio Sings the Blues está disponível no Bandcamp. Deêm uma seguida também no Soundcloud

El Efecto

Outra indicada pelo tal do Dalbem e mais uma vez uma surpresa. Uma mistura de ritmos regionais brasileiros, rap e um rock bem pesadinho com um resultado muito bom. As letras são políticas com irreverência e os instrumentos e arranjos são executados de maneira maestral. Recomendo infinitamente! Todos CDs e diversas músicas estão disponíveis no site oficial.

Moldover

Essa cara loucão faz uma música eletrônica com guitarra. Além de de um som que mescla bem experimentação e complexidade com melodia ele é famoso por construir vários controladores musicais com os quais faz performances ao vivo muito bacaninhas (dêem uma procurada no youtube). O primeiro CD dele pode ser baixado no Bandcamp

… e muito mais

8bitpeoples

Este site é uma coalisão de artistas de música chiptune, a estética da música dos videogames antigos, que disponibilizam seus trabalhos gratuitamente. A lista de todos artistas pode ser acessada à partir da página principal. Recomendo começar pelo Anamanaguchi que faz uma mescla bem legal de rock e instrumentos tradicionais com elementos chiptune.

Synthtopia

Este site é um agregador notícias sobre música eletrônica com bastante ênfase em sintetizadores e equipamentos em geral. Volta e meia eles anunciam algum artista disponibilizado suas músicas gratuitamente. Este link tem uma lista de todos estes posts.

Bandcamp, Soundcloud, Youtube, etc…

… e é claro existem milhares de outros sites onde artistas compartilham suas músicas, mas tentei dar uma ênfase aqui aos que disponibilizam álbuns inteiros e de alta qualidade para download (e que eu conheço e curto). Vocês tem algum artista para recomendar e adicionar nessa lista?

Gambling With Secrets

Uma dica rápida sobre um série fenomenal de vídeos que deveria ter mais visualizações. Gambling With Secrets faz um misto perfeito entre contação de histórias, matemática e ciência da computação para ensinar sobre criptografia. Conceitos clássicos da área são ilustrados com analogias e metáforas visuais de maneira muito clara. O pano de fundo é a história dos dois protagonistas “fora da lei”, Bob e Alice, que precisam se comunicar de maneira segura na presença de um interceptador de mensagens, Eve.

Recomendo fortemente estes vídeos, não só para estudantes de ciência da computação ou matemática, mas para qualquer um que goste de problemas interessantes. Eu garanto que vocêirá aprender muito :)

A série ainda não acabou, está no episódio 6 de 7. Ela pode ser acompanhada no canal do Youtube The Art of The Problem.

GSoC, FLISOL, UBIMUS, …

Olá leitores do blog. Como sempre tenho andado ocupado, mas felizmente é um “ocupado” muito bom e estou no clima de escrever algumas abobrinhas aqui. Desde o post falando sobre o Google Summer of Code eu estive trabalhando ativamente para conseguir a minha aprovação e, de fato, consegui. Trabalharei novamente este ano com o Wine, implementando uma ferramenta para a calibração de Joysticks e umas coisitas mais. Mais informações sobre o projeto podem ser encontradas aqui.

Party hard!

Quanto à faculdade, o meu trabalho de conclusão de curso vai tomando forma aos poucos. Um paper que escrevi com meu orientador vai ser apresentado no Ubimus III e publicado na revista “Cadernos de Informática”. O título é “A Prospective Analysis of Analog Audio Recording with Web Servers” e logo depois de fazer as últimas correções eu publico ele aqui. Eu vou para São Paulo sexta-feira dar uma banda pela USP e apresentar o trabalho, além de encontrar lá uma galerinha da Computação e Música. Não sei o que esperar, mas acho que vai ser divertido e interessante.

Galerinha do FLISOL

Por fim, este final de semana foi bem cheio. No sábado passei a manhã e a tarde no FLISOL, dei uma palestra sobre o Wine e fiquei batendo um papo e ajudando quem queria instalar ou configurar o Wine. Conheci um monte de gente bala, inclusive o Ederson que criou o TrafegueBem. No domingo teve ensaio da minha banda em construção, que ainda vai dar o que falar, em pleno horário de grenal. Teve uns membros meio divididos entre tocar e assistir o jogo, mas rolou tudo bem.

No mais, estou com milhões de coisas para escrever no blog e não muito tempo. Espero conseguir aproveitar esses dias viajando e tirar este atraso :)

Palestra sobre Wine no FLISOL

Uma versão atualizada dessa palestra foi dada no FISL 13!

Salve galera. Estarei no dia 28/04, vulgo hoje, palestrando sobre o Wine no FLISOL 2012 em Porto Alegre. Eu espero ficar lá no ESADE o dia inteiro para ajudar o máximo de pessoas com a install fest, tanto de Linuxes quanto do Wine e aplicativos e jogar um papo fora.

Os slides da palestra Wine: Rodando aplicativos Windows em *nix estão aqui .

Façam bom proveito! Espero encontrar vocês lá :)

Participe do Google Summer of Code 2012!

Você sabe o que é o Google Summer Of Code? Basicamente é uma oportunidade de ser pago para trabalhar juntamente com algum projeto de código aberto. Do site oficial, em tradução livre por mim:

O Google Summer of Code é um programa global que oferece incentivos finaceiros a estudantes para que eles escrevam código para projetos de código aberto. Nós trabalhamos juntamente com as comunidades para identificar e financiar projeto interessantes durante este verão.

Para participar você precisa estar cadastrado numa instituição de ensino superior e estar habilitado para trabalhar no país em que você se encontra. Lembrando também que o verão deles é o nosso inverno. O programa ocorre entre Maio e Agosto.

Como eu faço para me inscrever?

Você precisa escolher uma organização para a qual gostaria de contribuir, se apresentar para o pessoal que já trabalha nela e durante o período de 26 de Março a 6 de Abril mandar uma proposta explicando o projeto no qual você trabalhará durante estes 3-4 meses.

As organizações então selecionarão algumas destas propostas enviadas por estudantes e proverão mentores que acompanharão os projetos. Os pagamentos por parte do Google são liberados na medida que os projeto vão avançando, desde que seu mentor considere que os objetivos estão sendo alcançados.

Eu participei do GSoC no ano passado pelo Wine e foi uma das melhores experiências que já tive. Muito trabalho duro, muito aprendizado, muitas pessoas interessantes, oportunidades e é claro, uma grana bueníssima.

Como eu sei que estou preparado?

O nível de exigência varia bastante dependendo da organização que você escolher, mas é seguro dizer que o que mais conta é a motivação, vontade de trabalhar e o planejamento do projeto. O crucial é fazer uma proposta que seja desafiadora o suficiente, terminável ao fim do programa e que contribua para a instituição. Obviamente note que o foco do programa é na entrega de código, logo são subentendidas capacidade de programar na linguagem usada pelo projeto, familiaridade com métodos de versionamento, boas práticas de programação e etc.

Mais informações

Interessado? Dirija-se aos links abaixo agora mesmo:

Outra ótima pedida é o canal de irc #gsoc-br no freenode.net. Lá geralmente ficam veteranos do programa, cheios de dicas para vocês. O número de brasileiros participando do programa é pequeno, na casa de 50 em 2011. Que tal mudar isto em 2012?

css.php