(Português) Primeiros passos com Docker

Sorry, this entry is only available in Brazilian Portuguese. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

Docker é um sistema de virtualização, porém, não tradicional. Enquanto em um ambiente de virtualização tradicional nós temos um S.O. completo e isolado (Virtualbox, Xen etc), dentro do Docker nós temos recursos isolados que utilizam bibliotecas de kernel em comum (entre host e container), isso é possível pois o Docker utiliza como backend o nosso conhecido LXC. (conhecido de quem????)

O Docker possibilita o empacotamento de uma aplicação ou ambiente inteiro dentro de um container, e a partir desse momento o ambiente inteiro torna-se portável para qualquer outro Host que contenha o Docker instalado.

Isso reduz drasticamente o tempo de deploy de alguma infraestrutura ou até mesmo aplicação, pois não há necessidade de ajustes de ambiente para o correto funcionamento do serviço, o ambiente é sempre o mesmo, configure-o uma vez e replique-o quantas vezes quiser.

Para desenvolvedores, a criação de uma imagem para a aplicação, garante que o resultado obtido no ambiente de desenvolvimento será o mesmo nos ambientes de homologação e de produção.

O Docker agiliza o processo de levantar ambientes de testes. Basta um comando e uma aplicação estará pronta para rodar em instantes, sem a necessidade de executar o velho passo a passo de instalação que consome algumas horas de trabalho.

Instalar Docker no Mint

Siga a instalação disponível neste link

https://www.simon-hardy.com/blog/post/install-docker-on-linux-mint-18

Por padrão, apenas o usuário root pode executar comandos da docker. Para permitir que seu usuário de trabalho possa executar comandos na Docker, siga os seguintes passos:

sudo usermod -aG docker seu_usuario

sudo setfacl -m user:seu_usuario:rw /var/run/docker.sock

Primeiros passos

Para entender como operar o Docker, vamos começar por algo simples. Vamos rodar uma aplicação como  o OTRS (sistema de help desk)

O comando básico é o seguinte:

docker run --name meu_otrs -d ligero/otrs_easy

Sobre o comando acima:

run: é comando utilizado para criar um container

–name, é importante para facilitar o trabalho de gestão dos containers. Se você não passa um nome, o Docker cria um por conta própria e pode ser difícil de lembrar do que se trata, depois de ter uma dezenas de containers criados

-d (detached), significa que o container vai rodar como um “serviço”, ou seja, você não terá acesso ao shell do mesmo durante o momento da criação, apenas depois se desejar

ligero/otrs_easy, nome da imagem que será executada como base do container.

O Docker verifica inicialmente se imagem existe na máquina local, caso contrário tenta encontrá-la no site hub.docker.com

Voltando aos nossos primeiros passos, você pode verificar como está o andamento da inicialização de sua docker, através do comando logs:

docker logs meu_otrs

O sistema irá exibir todo o log de inicialização do container. No exemplo do OTRS, quando você ver a linha abaixo, saberá que a aplicação já está pronta para ser acessada:

2018-02-16 17:51:07,501 INFO success: apache2 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)

Cada imagem terá sua própria maneira de informar que está pronta para utilização

Neste exemplo estamos criando um container OTRS que responde na porta 80 do container. Cada Container recebe um IP dinâmico. Precisamos saber qual é o ip que foi concedido para o container, de tal forma que possamos acessá-lo através do navegador. Para isso podemos acessar o Shell do container, através do comando abaixo:

docker exec -ti meu_otrs /bin/bash

Explicando:

-ti de forma resumida, é necessário colocar esta opção para fazer com que o terminal de sua máquina se conecte no terminal do container

/bin/bash o shell que deseja executar

Dentro do shell do container, execute:

ip a

Para fechar o bash do container, pressione Crtl+P+Q

Você também pode executar um comando no container diretamente, sem abrir um terminal do mesmo. Veja como obter o ip diretamente:

docker exec meu_otrs ip a

Com o IP obtido, acesse então o navegador

http://ip_do_container/otrs/index.pl

Formas mais avançadas de se criar um container

Executando uma versão específica da imagem:

Por padrão, quando escolhemos uma imagem, tal como ligero/otrs_easy, o docker vai tentar obter a última versão da mesma, ou seja, neste caso, ligero/otrs_easy:latest.

Você pode sempre escolher qual versão deseja rodar de uma determinada imagem, por exemplo:

docker run --name meu_otrs -d ligero/otrs_easy:5.0.26

Você irá encontrar as versões disponíveis para execução de cada aplicação em sua documentação ou na aba “tags” de seu repositório no hub.docker.com.

Mapeando portas do container para sua máquina

Que tal executar esta aplicação acima e fazer com que ela responda em http://localhost/otrs/index.pl ao invés do http://ip_do_container/otrs/index.pl?

Isto é possível através do parâmetro -p:

docker run --name meu_otrs -p 80:80 -d ligero/otrs_easy:5.0.26

Do lado esquerdo, temos a porta do container (80), do lado direito, a porta na qual queremos fazer o mapeamento em nossa máquina.

Note que se houver algum outro serviço rodando na porta 80 de sua máquina, não será possível mapear a porta deste container. Neste caso você pode escolher outra porta local, por exemplo, 8080:

docker run --name meu_otrs -p 80:8080 -d ligero/otrs_easy:5.0.26

Variáveis de inicialização

Muitas imagens, permitem uma customização de paramêtros durante sua inicialização através das variáveis de ambiente.

O OTRS por exemplo, permite que seja definido o idioma padrão da aplicação, durante sua execução. Para isso, usamos a opção -e junto com o parâmetro que é indicado na documentação da imagem:

docker run --name meu_otrs -e OTRS_DEFAULT_LANGUAGE=pt_BR -p 80:80 -d ligero/otrs_easy:5.0.26

O conjunto de variáveis de inicialização que permitem parametrização dos containers está disponível na documentação de cada imagem.

Usando volumes persistentes

Um ponto importante sobre os containers Docker, é que seus dados, a princípio, são voláteis, ou seja, quando você remover um container com o comando “rm”, todos os arquivos deste container serão apagados.

No entanto, há uma forma de criar volumes ou pastas persistentes, ou seja, pastas que são armazenadas no seu computador e não são apagadas quando o container é apagado:

docker run -ti --name meu_otrs -v otrs_mysql:/var/lib/mysql -v otrs_app:/opt/otrs -p 80:80 -e OTRS_DEFAULT_LANGUAGE=pt_BR ligero/otrs_easy:5.0.26

Observe no comando acima, que criamos um volume de nome otrs_mysql, que será mapeado na pasta /var/lib/mysql da container e armazenará os arquivos do mysql, e um outro volume otrs_app que armazenará os dados da aplicação.

O Docker armazena estes volumes na pasta /var/lib/docker/volumes da máquina hospedeira.

Você também pode fazer o mapeamento de uma pasta já existente na máquina hospedeira para dentro do container. Neste caso, basta passar o caminho completo da mesma:

docker run -ti --name meu_otrs -v /opt/clientex/mysql:/var/lib/mysql -v /opt/clientex/otrs:/opt/otrs -p 80:80 -e OTRS_DEFAULT_LANGUAGE=pt_BR ligero/otrs_easy:5.0.26

Gerenciando os containers

Verificando os containers em execução

Para verificar quais containers estão em execução no momento, utilize o comando ps:

docker ps

Você terá acesso a uma tabela com as seguintes informações de cada container:

  • CONTAINER ID: Id gerado de forma automática. Quando você for realizar alguma operação no container como parar, apagar ou reiniciar, você poderá utilizar seu ID ou seu nome.
  • IMAGE: Imagem que deu origem ao container. No nosso exemplo, seria ligero/otrs_easy:5.0.26
  • COMMAND: o comando de inicialização do container. Um comando padrão é especificado pelo criador da imagem, mas também há a possibilidade de se rodar um container com um comando de inicialização persolinalizado.
  • CREATED: Tempo desde sua criação.
  • STATUS: Quando tempo desde a última vez que foi inicializado.
  • PORTS: Porta expostas do container.
  • NAMES: Nome do container.

Você pode ver também uma listagem de todos os containers, incluindo os que estão em pausa ou paralizados com o seguinte comando:

docker ps a

Parando e retomando a execução de um container

Sim! Você pode parar um container para retomar sua execução posteriormente. O ato de parar um container não implica na exclusão de seus arquivos

Para para um container, execute o comando:

docker stop nome_do_container

Para inicializá-lo:

docker start nome_do_container

Importante: Ao inicializar um container novamente, ele poderá pegar um IP diferente do que o que havia na execução anterior.

Removendo definitivamente um Container

Para remover um container, utilize o seguinte comando:

docker rm nome_do_container

O container precisa estar parado para que ação seja executada. Se quiser excluir um container em execução, utilize a opção -f:

docker rm -f nome_do_container

Criando uma imagem personalizada, a partir de um container em execução

Não é muito usual nem muito recomendado, mas você pode criar uma imagem local de seu container, com os arquivos que você modificou durante a execução do mesmo. Isto pode ser útil para estudos e replicações rápidas. Para isso, utilize o comando abaixo:

docker commit meu_container nomedaminhaimagem:1.2.3

Note que o “nomedaminhaimagem”, pode ser criado neste caso de forma livre, pois você está apenas criando uma imagem local. Você pode também especificar a versão desta imagem, como fizemos no comando acima.

Para criar um novo container a partir desta imagem modificada, basta utilizar o comando run apontando para ela:

docker run --name meu_container nomedaminhaimagem:1.2.3

Novamente, este recurso não é muito utilizado, visto que uma das coisas mais belas da utilização da Docker, são as receitas de criação das imagens (Dockerfile). Através da Dockerfile, qualquer pessoa sabe exatamente como aquela imagem foi gerada. Através do recurso de commit no entanto, não será possível saber quais modificações deram origem a uma determinada imagem.

Gerenciando Imagens

Verificando as imagens locais

Para verificar todas as imagens que estão em seu computador e o respectivo tamanho de cada uma delas, execute o comando abaixo:

docker images

Removendo uma imagem

Para remover uma imagem, execute:

docker rmi nome_da_imagem:versao

Se existirem containers criados com esta versão da imagem a ser apagado, você deverá utilizar a opção -f para forçar a exclusão:

docker rmi -f nome_da_imagem:versao

Este post foi publicado por mim também no Blog da Complemento:

Primeiros passos com Docker

(Português) O impacto que gerei, com o opensource

Sorry, this entry is only available in Brazilian Portuguese. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

Olá! Passando aqui no meu blog, para compartilhar um post que fiz no Facebok, após uma visita ao Senado Federal em Julho de 2018:

Nos últimos dois dias realizei um trabalho para área de TI do Senado Federal. Não tinha noção, mas no universo da TI que navego, sou conhecido como “Richieri” (E eu sempre achei que Richieri ou “Richieri do Acordeon” nunca seria um bom nome artístico, quem diria hahha).

Tenho um blog antigo onde compartilhei muito conhecimento e virei referência para um monte de gente e esse é o endereço (richieri.com) e por isso me conhecem assim.

Teve gente que abriu empresa seguindo meus passos e pedindo meus conselhos, teve gente que resolveu seus problemas corporativos lendo meus materiais, gente que ganhou muito dinheiro (ou ao menos economizou muito dinheiro) usando meus tutoriais, sem me dar nada em troca é claro, e isto é o opensource e está tudo certo . E lá no Senado, muitas pessoas queridas vieram me agradecer nos últimos dias pela dedicação que tive e tenho em compartilhar conhecimento, de forma aberta.

Teve até um rapaz veio me agradecer e disse que me usou de referência no TCC dele e isso é muito gratificante para mim  sou referência Acadêmica, logo eu, o cara da Aprendizagem Informal, quem diria hahahah. Confesso que isso não dá muito dinheiro, às vezes até não dá dinheiro, mas quando você senta com uma Gestora de TI do Senado, que diz que o Senado adotou uma tecnologia opensource graças a um Webinar que você realizou há alguns anos atrás e aos materiais que publicou, bem, isso é bem gratificante!

Que bom que contribuí de forma espontânea e altruísta com muitas pessoas. Que bom que ajudei muitas empresas e ONGs. E que bom que ajudei muitos e muitos órgãos públicos municipais, estaduais e federais como prefeituras, tribunais, secretarias, ministérios, Câmara dos Deputados, Senado e órgãos militares a melhorarem seus processos de forma a atender melhor as pessoas e economizarem muiiiiito nosso dinheiro (algumas dezenas de milhões de reais), compartilhando conhecimento de forma voluntária. Bom este deve ter sido parte do meu “Seva” até agora 

Gratidão!

Ronaldo Richieri

Complemento

http://www.complemento.net.br

(Português) Reflexões sobre o Amor e o Amar

Sorry, this entry is only available in Brazilian Portuguese. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

Por que colocamos o amor num altar tão alto, que é necessário buscá-lo novamente para poder amar?

Para amar, basta ser. O amor não deve ser uma coisa que vamos ali e pegamos, colocamos numa sacola e depois pesamos para poder falarmos “eu amo você mais do que amo o outro ou a outra”. Como poderia?

O amor não é algo que está lá fora e que temos então que se viver experiências de transcendência para então sentir a permissão para poder exercê-lo.

O amor é a base que constitui nosso ser, e não estou falando algo esotérico, etéreo ou uma frase de prateleira. É cientfíco! Somos seres em que o amor compõe nossa matriz biológica. O amar enquanto emoção fundante da espécie humana, traduzida no cuidado e no acolhimento com a criança para que ela possa viver e na cooperação que nos permitiu desenvolver linguagem e cultura.

A abelha nasce na confiança de que haverá flores e nectar no planeta! Sua estrutura biológica está pronta para isso e as flores e o nectar estão lá! Os humanos nascem na certeza de que serão cuidados por alguém. Sua biologia é assim! Não é possível uma criança crescer sem ser vista e amada por alguém. Veja, não há raça humana sem isto, pois as crianças não viveriam. Nosso organismo, ou seja, nossa estrutura biológica só é assim por que temos que ser amados, por que assim como o nectar para a Abelha, o amor está aqui esperando por nós e é necessariamente manifesto por outro ser humano. Não há ninguém vivo que não tenha sido cuidado por outro ser humano, por que é necessário sermos cuidados para sobrevivermos.

Então esta é a condição fundante de nossa espécie, não está a venda, não precisa ser alcançada, não temos como pesá-la na balança. Não há como negociá-la, nem como aumentá-la para beneficiar alguém como o “nosso amor”. Tudo o que podemos fazer, é negá-lo! Negar esta nossa fonte, subvertendo nossa condição primeira, dizendo que inclusive nosso padrão é:

1 – Nunca fale com estranhos

2 – Vou fazendo amizade até conquistar a confiança de alguém

3 – OK, agora temos intimidade e eu posso amá-lo, ou não gostei dele e não vou amá-lo.

O amor nos constitue. Amar outro ser humano é natural, e é necessário para vivermos plenamente o nossa corporalidade humana, biológica e cultural.

(Português) Solilóquio sobre Explicação, Experiência e Erro

Sorry, this entry is only available in Brazilian Portuguese. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

Reflexões a gatilhadas pela leitura do livro Cognição, Ciência e Vida Cotidiana de Humberto Maturana

Em nosso dia a dia, vivemos a vida mergulhados em experiências. A cada momento, temos uma nova experiência, mas enquanto a vivemos, não dizemos “estou vivendo uma experiência”. Apenas vivemos imersos naquilo que estamos fazendo.

Posteriormente ao ter-se vivido a experiência, podemos tecer comentários por sobre ela ou mesmo tentar explicá-la. Sim, diferente de outros animais (ao menos, até onde se sabe), nós seres humanos podemos além de observar a experiência enquanto acontece, também conseguimos criar explicações que tentam descrever a experiência que vivemos.

Um grupo de formigas por exemplo, ao carregar alimentos de um lugar para outro, apenas o fazem seguindo seus instintos e desejos. Depois do trabalho realizado, uma formiga não tem a possibilidade de falar à outra “Nossa, como estava pesada aquela folha hoje” ou “E a hora que bateu aquele ventão? Quase morri!”. Não, elas não podem (até onde se sabe rs). Nós seres humanos temos esta capacidade de meta-observação, ou seja, de poder observar o que vivemos, explicar a experiência e até mesmo refletir e conversar sobre as explicações que criamos para uma experiência.

Mas enquanto vivemos e estamos imersos numa experiência, não temos como diferenciar se o que estamos vivendo é certo ou errado. Apenas vivemos! O erro ou acerto, é um comentário que surge posteriormente a se ter vivido uma experiência, quando comparamos a explicação de uma experiência com outra. Não é possível comparar uma experiência com outra, o que comparamos são as explicações das experiências. Percebe como isto é liberador/libertador?! O erro não existe, até que se julgue! Não podemos viver nada como erro (ou acerto), apenas vivemos, guiados pelos desejos, sentires e “quereres” que são despertados em nosso ser biológico e cultural (biológico-cultural).

Temos mais dois detalhes importantes:

  • As explicações não substituem a experiência!
  • Podemos explicar a mesma experiência de diversas formas e novas experiências nos fazem reformular explicações de experiências do passado.

Temos a capacidade inclusive de explicar a mesma experiência de diversas formas! E a explicação que damos hoje ao sentirmos, por exemplo, dor na garganta é “estou gripado”. Vamos ao médico e descobrimos que na verdade trata-se de algum tipo de alergia. Depois podemos ter uma experiência espiritual ou transcendental e descobrir (ou criar uma nova explicação sobre aquela vivência) que na verdade se tratava de um mal da alma, ou um processo de somatização relacionada ao nosso dia a dia e a nossa psique. Seja qual for a explicação, a experiência não está mais lá e não é possível recuperá-la. Todas as explicações que criamos a posteriori ou que alguém cria para nós (um médico ou terapeuta por exemplo), servem para nós desde que a aceitemos como válida:

“As explicações são reformulações da experiência aceitas por um observador”

Se o médico disser “é gripe” e aceitarmos esta explicação, então aceitamos esse explicar e nossas emoções podem inclusive se alterarem. Se ele disser “é virose”, podemos não aceitar esta explicação e nosso emocionar-se será diferente. Se ele disser “é câncer”, provavelmente teremos um peso muito maior em nossa cabeça, por que se aceitamos a explicação de alguém em algum nível, podemos começar a agir no dia a dia e colocar estas explicações como lentes em nosso viver, e as palavras resgatam emoções que construímos ao longo de nossa vida.

Seja qual for ou quais forem as explicações aceitas, a experiência não está mais lá e vamos nos relacionando com novas experiências e com as explicações de outras experiências que conservamos como válidas dentro de nós. Estas explicações abrem novas possibilidades e também por muitas vezes nos limitam.

Alguém pode explicar: “Sofri muito em meu ultimo relacionamento amoroso e nos separamos” e isto criar emoções que “fecham” seu corpo quando surge a possibilidade de se relacionar novamente com outra pessoa. Note, é a explicação de uma experiência que está gatilhando emoções que podem vir a limitar seu viver neste momento. Depois de algum tempo, esta pessoa pode viver diversas experiências de auto-conhecimento, terapias, psicanálise e dizer: “Tive um relacionamento maravilhoso enquanto durou e a separação foi o ato mais amoroso que pudemos ter um com o outro” e, a partir deste momento, com a mudança de explicação, esta pessoa pode se sentir mais aberta a outros relacionamentos.

A experiência já ocorreu, mas as explicações surgem e vão nos modelando em nossos sentires e em nossas emoções. Mas veja novamente que liberador/libertador! Experiências que virão no futuro podem alterar a explicação que damos de algo que ocorreu no passado e nos causa dor, desde que estejamos abertos a novas experiências.

(Português) A Cilada de comprar um veículo Zero no grupo Automec de Sorocaba

Sorry, this entry is only available in Brazilian Portuguese. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

Novidades sobre este post: A Automec ligou após a repercussão do post e dizem que vão vir em casa pegar meu carro, refazer toda a revisão e alinhamento. Vão deixar um carro reserva com seguro para mim neste período. Vamos aguardar e ver o que se concretiza.

No final de 2012 realizei um “sonho” materialista. Comprei um veículo zero km. A velha promessa de você vai gastar menos, afinal, é um caro zero, o que pode dar de errado com ele?

Pois é, por anos tive um Siena, 2002. Nossa… como gastei… bom, pelo menos eu achava. A cada 6 meses eram pelo menos R$ 1.000,00. Ok, vamos comprar um novo…. Bom, depois de muita pesquisa, cheguei num carro que era perfeito para mim. Pesquisei mesmo, muito! Cheguei ao Agile. Tinha Airbag e EBD, essencial por que este ano eu iria viajar muito, preciso de segurança. Outro ponto forte então para mim, tem piloto automatico. Mais um ponto forte, preciso carregar caixas de som, o bagageiro é enorme, dá pra levar as mesmas coisas ou até mais do que eu levava no Siena.

Eis que passam-se os primeiros 5.000 km e vem a primeira troca de óleo… R$ 200,00 pilas pra trocar óleo!!!!! Na Automec! Como pode? Eu gastava R$ 60,00 pra trocar o do Siena…. Xi, lá vem!

10.000 km, primeira revisão. R$ 500,00 paus! em menos de 3 meses de uso do carro… o ouuuu, isso não parece que vai acabar bem…

7 meses depois que peguei o carro, chegam os 20.000 km.. a 2a revisão. Sabe quanto eles cobraram? R$ 1.300,00!!!!!!!! 7 meses de carro e eu já iria pros meus R$ 2.000,00 de gastos, 2k em 6 meses. Absurdo! Mais ainda pelo fato de no site da Chevrolet, dizer que a revisão para este veículo, nesta quilometragem, custaria R$ 416,00. Como pode?

E aí a coisa começou a ficar muito estranha… estranhei o orçamento e resolvi me informar sobre do que se tratava cada um dos itens que compunham os R$ 1.300,00.

Bom, como é de se esperar, tudo na Automec é caro, bem acima do valor de mercado. A começar pelo jogo de palhetas do limpador de para brisas dianteiro, R$ 70 e poucos o par. Você compra isto para outros carros em lojas renomadas por R$ 30 ou R$ 40.

A famosa troca de óleo. R$ 150,00 desta vez.

E para minha surpresa, havia um item de R$ 200,00, referente a limpeza de bicos de injeção. Estranho, olha o que diz o manual do meu carro:

Jpeg

Isso mesmo, no próprio manual da montadora, a qual a Automec representa, diz que não é necessário fazer limpeza  de injetor de combustível.

A seguir, disseram que era necessário fazer a descarbonização da camara de combustão, ou seja, mais R$ 150,00… bom, existe uma parte do manual com 5 ou 6 paginas (da pagina 202 a 207) que diz o que é necessário fazer como manutenção preventiva e essa não é uma das coisas que está lá…

Enfim, além de tudo, cobraram mais R$ 300,00 de mão de obra, não bastasse a facada dos preços das peças.

Obviamente fui cortando pra fazer só o essencial. No fim também “pedi” para que fizessem o alinhamento e balanceamento. Mas este item cabe um parenteses:

Alinhamento e Balanceamento na Automec

Quando fiz a minha primeira revisão dos 10.000 na Automec, pedi para que fosse feito o alinhamento e o balanceamento. Você paga R$ 100,00… já é um preço completamente fora de propósito, mas enfim.. Fui pegar o carro e estava puxando para a direita. Tive que levar o carro lá novamente… resumindo, precisei voltar na Automec por mais 4 vezes, conversar com o gerente da Oficina, por que eles não conseguiram entregar o carro alinhado! Precisei perder mais de um dia de trabalho pra me dedicar ao carro, por conta da incompetencia da Automec em executar o serviço com qualidade de uma vez.

Bom, mesmo assim, na revisão de 20.000, quando me ofereceram o serviço de alinhamento e balanceamento eu disse que não queria fazer, por conta do ocorrido anterior. Eles disseram que não se repetiria e que eu podia confiar no serviço. Eu disse então que gostaria que eles fizessem um teste antes de me entregar o carro, para que eu não tivesse que voltar lá pra refazer o alinhamento 4 vezes, como tinha sido da outra vez.

Resultado

Quando deixei o carro para revisão pela manhã na Automec, resolvi bater uma foto do marcador de kilometragem do veiculo:

Jpeg

Resolvi então bater uma foto do painel também na hora de retirar o carro, para verificar se realmente haviam andado com o carro para testar o alinhamento.

Bom, peguei o carro e logo de cara vi que estava puxando para o lado esquerdo. Resolvi verificar então a foto da manhã com a foto do fim do dia:

Jpeg

 

E aí ficou claro que não haviam feito o teste, afinal o carro só tinha se movimentado 600 metros, sendo que para testar seria necessário andar ao menos 4km.

Liguei, reclamei e por fim me devolveram os R$ 100,00 referentes ao serviço de alinhamento e balancemaneto. O problema é que o carro ficou pior de que quando deixei por lá.

Acontece que o carro não estava puxando, agora está.

Estranhamente, o carro fazia de 8 a 9 km/l de alcool e começou a fazer de 6 a 7.

Finalmente, o que me deixou com mais pulga na orelha, é que realmente não acredito que algum serviço tenha sido realizado. Mesmo depois de ter passado pela inspeção, o carro continuou a mostrar a mensagem de alerta de inspeção! Ou seja, nada foi feito! A não ser o pagamento que fiz para a Automec. Veja:

JpegE como diz no manual do proprietário:

insp

Desta maneira, só me cabe recomendar aos leitores, que não confiem nesta agencia de veículos e não comprem carros por lá. Se não há outra agencia de veiculos da Chevrolet em Sorocaba, paciencia, troque de marca! Infelizmente, ficou constatado que participei de uma especie de cilada, onde paguei e o serviço não foi entregue. O próprio visor do carro está denunciando isto.

(Português) Workshop de OTRS no FISL 2013

Sorry, this entry is only available in Brazilian Portuguese. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

Nesta quarta feira, 3 de Julho de 2013, apresentei o OTRS para pessoas do Governo, iniciativa privada, desenvolvedores e estudantes da PUC de Porto Alegre, juntamente com os camaradas Thiago Pacheco, Fabricio Pacheco e Leonardo Thietbohl Rodrigues, com quem formei a Complemento.

Para nós foi um grande prazer realizar esta apresentação e descobrir que nosso trabalho de anos de divulgação das soluções de software livre tem repercutido. Várias pessoas me agradeceram pessoalmente (inclusive um rapaz do Ministério das Comunicações), pelos módulos e artigos que sempre fiz questão de produzir e publicar na comunidade.

Recebemos também um convite da direção da Associação do Software Livre para participar de um jantar realizado para os palestrantes e ver um dos pais do software livre, Jon Maddog Hall, vestido de monge, com brincos e pirceings.

Mais uma pra recordar.

(Português) Secretaria de Cultura de Sorocaba abandonada? Tem alguém aí?

Sorry, this entry is only available in Brazilian Portuguese. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

Me lembro de como conheci as festas juninas. Um vizinho meu de idade, de nome Pedro, todo ano fazia fogueira em homenagem ao Santo de mesmo nome. Sentávamos em roda a fogueira, soltávamos balões de jornal, não iam muito longe, mas era o suficiente para olharmos para o alto, para o céu estrelado e com aquele azul escuro, e claro ao mesmo tempo, clareado pelo luar.
Sempre ao som da sanfona, da música caipira tradicional, das músicas tradicionais como Pula a Fogueira ou na maioria das vezes com o bom e velho Gonzagão que também louvava os santos em suas músicas.

Herdamos as festas juninas (ou joaninas como eram chamadas inicialmente) dos países europeus. Sua essência é multi cultural, porém, no Brasil, ela tomou proporções imensas no Nordeste, antes de que qualquer região. Lá, por uma série de coincidências, a festança servia para agradecer aos Santos pelas chuvas que normalmente haviam acontecido nos meses anteriores, visto que é uma região que ainda hoje sofre demasiadamente com a seca.
Talvez por isso então, associamos as festas juninas com o nordeste e consequentemente com as músicas tradicionais de lá, no caso, o forró pé de serra, como ritmo tradicional da festa. Por isso Campina Grande é a capital do São João. De forma nenhuma excluímos os outros ritmos da festança, mas é interessante lembrar desta referência Brasileira para com a festa.

Aí entra uma questão pertinente a qualquer entidade que tenha como objetivo incentivar e realizar a preservação do patrimônio histórico e cultural de um estado ou de um município.
Segundo estudos recentes, 25% da população de Sorocaba é Nordestina e consequentemente trazem consigo raízes culturais daquela região.

Bom, qualquer cidadão que fizesse uma pesquisa de 10 minutos na internet sobre festas juninas, suas origens e disseminação no Brasil e em nossa cidade, passearia por estes elementos que expus aqui. Era isso ao menos que eu esperava que a Secretaria de Cultura da minha cidade (Sorocaba) fizesse, porém, infelizmente, não parece que nosso secretário de cultura (pesquisador na área da Pedagogia do Teatro e do Espaço Teatral, Sociologia do Teatro e Dramaturgia http://www.sorocaba.sp.gov.br/secretarias/5/), bem como as demais pessoas que trabalham na Secretária de cultura, tenham perdido 10 minutos de seus preciosos tempos para fazer uma pesquisa e um planejamento para a festa junina de Sorocaba no que diz respeito ao critério cultural.

Sobre um falso pretesto de que a prefeitura não dispunha de verba para realização de tal festa, a secretaria de cultura terceirizou a curadoria e a contratação de atrações da mesma para uma casa noturna de Sertanejo de Sorocaba.

Resultado, 30 shows contratados, sendo 70% deles sertanejos universitários, 29% de bandas de pagode e 1 mísero porcento para dividir entre Rock, MPB e Música Caipira de Raíz.
Forró? O que é isto mesmo? Luiz Gonzaga? Aquele nordestino que completou 100 anos no ano passado e saiu filme? Quem é mesmo? Quadrilha? O que é isto mesmo? Contação de histórias? Brincadeiras Juninas? Adivinhação? O que é isso mesmo?

Resultado cultural dos R$ 300.000,00 gastos na festas (inicialmente): ao invés de louvarmos aos Santos, São João, a chuva, a boa ventura, a diversidade cultural, vamos louvar aos “camaros amarelos”, aos “tche tche re rês”, os “ai seu te pego”, os “beber beber beber”, os “bará bará bará”, tudo isto com o dinheiro suado dos nossos impostos.

A Festa Junina, bem como a Virada Cultural, foi encarada pela prefeitura de Sorocaba como um “problema a resolver” e não como uma oportunidade de investir de forma efetiva em ações culturais transformadoras e enriquecedoras.

Mais uma pra amargurar quem votou no PSDB…

libXtst.so.6: cannot open shared object file: No such file or director

This error occurred trying to open some Java applications.

My Operation System is Linux Mint Nadia 64 bits (same base of Ubuntu 64 bits).

libXtst was already installed, but the error still happen. I could solve it installing the 32 bits version of the lib:

sudo apt-get install libxtst6:i386

Hope it helps you to!