Automatização de intalações

Com o Windows migrando para um formato loja para seus apps, talvez não seja interessante mais para todo tipo de usuário e softwares, a dica que darei hoje. Contudo, muitos aplicativos ainda não são distribuídos por ela, ou talvez jamais cheguem a ser.

E um software que ajuda muito nessa tarefa é o Chocolatey. Trata-se de uma aplicação, conectada a um repositório, onde os usuários criam scripts relacionados aos diretórios de download de diversas ferramentas. Os próprios usuários mantém esses scripts, mas eles passam por uma moderação para tentar evitar arquivos e códigos maliciosos, sendo assim, é possível dizer que instalar aplicações por ele é tão seguro quanto pelo download comum.

Isto posto, desenvolvi um script Powershell, que baixa o próprio Chocolatey e o utiliza para instalar silenciosamente, todas as aplicações que uso regularmente:

O script acima utiliza o comando upgrade do choco, pois ele instala quando não encontra, ou faz a atualização caso o mesmo já se encontre instalado, ou seja, você pode usar o mesmo script para atualizações futuras.

Se você desejar, pode verificar os softwares disponíveis como pacotes choco, em seu diretório, clicando aqui e customizar meu script como lhe convenha. Neste link você pode também, verificar os detalhes de cada script de instalação, caso queira saber exatamente de onde são baixados os arquivos e todos os comandos.

Basta fazer o download do arquivo (clicando no nome do arquivo na parte de baixo da janela dele no post), ou copiar o seu conteúdo e salvar com a extensão ps1, usada pelo Powershell (você pode clicar no botão “view raw” para ver somente seu conteúdo na tela).

Outra dica relacionada à essa, é o uso de um arquivo para modificação do registro. Com ele, fica disponível no menu de contexto do Windows (botão direito do mouse), a opção para executar um script Powershell diretamente como administrador.

Basta executar o arquivo (da mesma forma que sugerido para o primeiro arquivo do post) e aceitar a modificação do registro.

Abs.

Bluetooth Pioneer + Zenfone

Resolvi registrar essa dica após as dificuldades que passei para configurar corretamente o Bluetooth do meu novo celular Zenfone 4 com meu som do carro Pioneer MVH-X588BT.

Não encontrei nada na internet sobre o meu problema, então, quem sabe este post possa ajudar alguém no futuro.

Usava o Bluetooth do som com meu antigo Moto G4 Plus sem nenhum contratempo, porém, com o celular novo, a conexão ocorria com sucesso, mostrava estar tocando, mas o áudio não saía. Testei o celular com uma caixinha de som Bluetooth e tudo funcionou perfeitamente.

Tentei formatar o som, reconectar mais de uma vez e nada. Pesquisei na internet e não achei também nenhuma informação sequer.

Foi então que, em um golpe de sorte e lógica, uma opção me chamou a atenção na configuração de mídias compartilhadas (ao clicar sobre o dispositivo em questão no Bluetooth do celular). Entre as opções “Usar para” abaixo, me chamou a atenção o item “Usar áudio de alta qualidade”.

Screenshot_20180803-083553

E era justamente ele o causador do problema. Foi só desmarcar a opção e o áudio começou a funcionar corretamente.

Abs.

WhatsApp: usando 2 contas no mesmo aparelho

Todo mundo que possui aparelhos com dois chips, caso um deles seja profissional, já se deparou com esse problema. Como usar o app do WhatsApp nos dois?

No início do ano, a empresa lançou uma versão “Business” do app, voltada para o uso empresarial. Ela contém inclusive alguns recursos específicos, como TAGs que o usuário pode usar para marcar grupos e mensagens (exemplo: “Pedido concluído”), facilitando a usabilidade também como um controle de demandas.

Contudo, um outro uso muito interessante foi proporcionado por esse lançamento: o fato de finalmente podermos acessar duas contas diferentes (uma para cada chip), no mesmo aparelho e de forma oficial.

Já existiam outra maneiras mais nebulosas de se atingir isso, usando apps de terceiros, usando o mecanismo de usuários do Android (que nem todos os fabricantes implementam e ainda por cima, não permite o login em dois usuários simultâneos), entre outras.

Contudo nenhuma delas é tão prática quanto essa e sem a segurança que um método oficial oferece. Embora eu ainda queira pesquisar um pouco mais, pois o modo que a empresa valida as contas é um pouco obscuro (recebi ligações com códigos de confirmações assim como SMS), até agora não tive problemas e mesmo com um certo receio de algum bloqueio na conta, venho usando com sucesso e feliz por aposentar meu segundo aparelho.

Abs.

Contribuindo em projetos no GitHub

Contribuir em projetos opensource no GitHub já é um assunto bem comentado. É um prazer, é útil e está cada vez mais facilitado.

Se engana quem pensa que é necessário um grande conhecimento para poder contribuir, como é o caso no Stack Overflow, onde você precisa ser muito bom e estar extremamente atento para conseguir responder uma pergunta.

Mas o Stack é assunto pra outro post, meu intuito aqui é demonstrar como começar e claro, contar como foi minha primeira contribuição.

Há alguns repositórios prontos para lhe ajudar a entender como o processo funciona e no meu caso eu usei este: first-contributions.

Nele você encontrará um passo-a-passo de como proceder com o fork (que é o primeiro passo, onde você copia o repositório), a alteração, commit, pull request, enfim…

O arquivo README  possui traduções para outras línguas e você não encontrará nenhuma maior dificuldade para começar.

Pois bem, dado este primeiro passo, você está pronto a procurar projetos do seu interesse ou que você possa contribuir de verdade ou de forma mais significativa.

O importante é lembrar que nem toda contribuição decorre de grandes e inteligentes códigos, podendo ser simplesmente uma pequena correção, até mesmo gramatical ou uma tradução.

E aproveito essa deixa pra comentar sobre minha primeira real contribuição!

Veja que o seu nome fica gravado como um contribuidor do projeto, o que é bem gratificante, podendo até mesmo servir como algo interessante no seu currículo virtual.

Você pode acessar esse projeto aqui e saber mais sobre ele nesse meu outro post.

O projeto em questão era muito interessante e apresentava o README apenas em inglês e eu fiz a tradução para o Português. Embora não seja um projeto muito famoso, isso não importa, é grande a satisfação de ajudar e agora ele pode ser acessível a mais pessoas, quem sabe?

Sendo assim, realizei o processo, fiz o fork, submeti a pull request e o mantenedor do repositório aceitou minha contribuição. Excitante!

E é isso.

Porém, contribuir é viciante e logo já comecei ter ideias e escrever novas funcionalidades para o projeto.

Recomendo fortemente que você invista nesse tipo de contribuição (inclusive são bem vindas nos meus repositórios, ok?) e quem sabe você não possa realizar ainda melhores feitos e ajudar toda uma comunidade que utilize o projeto e de quebra aprender muito na jornada.

Um abraço.

Projeto: document-generator

documents

Há tempos tenho várias ideias para melhor controle de documentações em projetos, já que atuo diretamente criando e mantendo arquivos desse tipo há anos trabalhando como analista.

Obviamente que os contextos são muitos e por diversas vezes encontramo-nos em processos já bem maduros, nos quais temos pouca liberdade de propormos inovações.

Mas uma coisa que sempre foi um mantra pra mim é: trate a documentação com o mesmo carinho que o código, afinal, são tudo “apenas texto”.

Hoje em dia, com os repositórios de arquivos em nuvem, o cenário do controle e compartilhamento de arquivos vem mudando muito, mas ainda carece de algumas funcionalidades que os desenvolvedores possuem às mãos em seus repositórios de código, seja ele git, svn, ou qualquer outro. Como por exemplo, o controle de alterações com observações e a centralização.

Porém, não é nenhum pouco recomendável guardar arquivos binários nesses repositórios (além de ser “impossível” rastrear mudanças), bem como não é interessante escrevermos documentação em texto puro, tampouco HTML, que acaba não sendo tão prático e demanda ao menos um conhecimento básico.

Nesse contexto, a linguagem markdown cresce como uma forte candidata. É inclusive a linguagem utilizada nas documentações dos repositórios no GitHub. Porém, os navegadores (ainda talvez) não leem arquivos “.md” e exibem como HTMLs. E é aí que entra a ideia da transformação de arquivos markdown em HTML.

Já há muitos projetos prontos, com as mais diversas tecnologias que se propõem a esse tipo de trabalho e eu escolhi um deles para me basear e fazer uma versão ainda mais enxuta, ao menos na intenção de difundir a ideia e lembrando que, sempre é possível utilizar-se do projeto original e a plenitude de suas funcionalidades.

Exemplo de arquivo gerado pelo projeto:

O layout fornecido pelo projeto original apresenta sim alguns problemas e há muito espaço para evolução (eu sequer cheguei a testar mais deles), mas o template escolhido gera uma página como a da imagem acima, sendo possível navegar nos tópicos pelo menu à esquerda.

Com os arquivos gerados, é possível também publicá-los num website, inclusive até mesmo dentro do próprio sistema para o qual foi destinado, sendo ainda mais prático que um compartilhamento tradicional de arquivos e suas várias versões nos e-mails de cada um…

Para baixar e utilizar o projeto, acesse o repositório do mesmo no meu GitHub:

document-generator

Lá você encontrará mais orientações e garanto que será bem fácil começar. Caso se interesse e tenha dúvidas, ou mesmo sugestões, basta entrar em contato.

Abraço à todos.

Ferramentas de estudo e produtividade: Ouvir páginas Web

Hoje darei mais uma dica que julgo muito interessante para aprendizado de idiomas, embora a ferramenta possa ser utilizada para diversos fins.

“Text-to-speech” e o nome utilizado para essa tecnologia, que consiste em aplicações que leem textos e transformam em voz e há vários deles no mercado para diversos fins. O próprio Pocket, que já indiquei aqui no blog, possui uma funcionalidade com essa tecnologia, permitindo que você escute os textos dos links que salvou.

Mas encontrei uma forma muito prática de fazer isso diretamente no navegador (Google Chrome), através da extensão Read Aloud. Basta você clicar no link e adicionar.

Feito isso, será adicionado um botão no canto superior direito da sua tela e ao acioná-lo, o texto começará a ser lido!

Para forçar a leitura de apenas um trecho da página, basta selecionar o mesmo com o mouse antes de acionar o botão. Eu achei isso uma ótima maneira de poder conferir minimamente, a pronúncia das palavras quando faço minhas leituras em inglês.

Abraço

Oracle SQL Developer – Relatórios Mestre x Detalhes

Olá a todos. Hoje vou falar de um recurso muito útil deste cliente de banco de dados. Embora a aplicação possa ser utilizada com diversos SGBD, devido ao suporte a ODBC, o recurso que vou apresentar hoje só funciona em bancos de dados Oracle (pelo menos até a última vez que eu testei).

É muito comum para analistas e administradores de sistemas em geral, a necessidade de consultar diretamente a base de dados a todo momento e muitas vezes, poder salvar seus scripts já basta. Contudo, a possibilidade de encadear muitas consultas de uma só vez, em modo “mestre x detalhes”, de modo fácil e dinâmico, é muito bem vinda.

Acredito que todo mundo que tenha chego até aqui na leitura, já saiba do que se trata, em todo caso, em vez de explicar o conceito, vou apresentar-lhes o passo-a-passo e com certeza vocês enxergarão as vantagens e aplicabilidade dessa ferramenta.

Com o aplicativo aberto, clique com o botão direito do mouse no item “Relatórios Definidos pelo Usuário”, conforme print abaixo:

Caso esta janela não esteja aparecendo, basta selecioná-la no menu Exibir > Relatórios

Será apresentada uma janela / formulário para preenchimento. Os campos até aqui são auto-explicativos, só vale lembrar que você deve escrever sua consulta “original” ou mestre, no campo SQL.

Preencha conforme desejado e salve. Logo após, o relatório deve aparecer na pasta exibida no print acima. Selecione agora o próprio relatório com o botão direito do mouse e acione a opção editar.

Será apresentada novamente a janela de edição, desta vez, contendo a opção de Relatório Filho. Clique em adicionar filho e escolha um nome para o mesmo.

A mágica ocorre no relatório filho, pois ele pode se valer de variáveis provenientes da consulta meste, conforme o print abaixo:

Repare que eu usei na cláusula where uma variável Oracle. Ela deve ter o mesmo nome de qualquer coluna do resultado da consulta mestre. Caso a sua query mestre possua prefixos, como por exemplo tb_users.userid, lembre-se de utilizar um alias para a coluna e usar o mesmo alias como o nome da variável.

E é só isso. Assim que você clicar no relatório, a query mestra será executada automaticamente e ao clicar sobre quaisquer linhas do resultado, o relatório filho será executado baseado na sua seleção.

Na imagem acima vemos a execução de um relatório com um relatório filho. As informações sensíveis foram apagadas

É possível criar quantos relatórios filhos você desejar e para abrir mais de um relatório de uma vez, será necessário selecionar para executar em outra aba.

Também podemos salvar o relatório como um arquivo XML e com isso compartilhá-los ou mesmo fazermos backups.

Espero que gostem e considerem essa dica e principalmente esta funcionalidade, tão útil quanto eu.

Até a próxima.

Testando aplicações em diferentes versões de browsers

Olá. O post de hoje é uma dica.

Analistas que fazem testes funcionais de software, muitas vezes, precisam testar as aplicações em diferentes versões do mesmo browser, versões antigas específicas, ou mesmo versões descontinuadas.

O software que vou apresentar não se destina exatamente a isso e nem vou me ater a ficar dissertando sobre sua história e tudo mais, já que é possível encontrar informações desta natureza muito facilmente. Só gostaria de dizer uma coisa: ele utiliza “containers”, como o famoso Docker.

Porém eu achei ele muito mais fácil de usar e mais direcionado para certos fins, como você pode comprovar pela animação que criei abaixo:

Ele é um software pago, mas com permissão de uso, então, basta criar uma conta, instalar, escolher o App que quer “emular” e pronto!

Até mais

Podcast – A Netflix grátis de Rádios

Eu odeio fazer exercícios. Você também? Eu sei que o título do post não parece ter nenhuma relação com isso, mas aguarde. Você se identificou comigo neste ponto? Então vem comigo…

Particularmente, a minha maior dificuldade mental em fazer meus necessários exercícios é uma sensação de “tempo perdido” que domina o meu ser. 🙂

Eu sei. Pode parecer engraçado para muitas pessoas. Mas como eu me sinto simplesmente um rato de laboratório quando estou sobre uma esteira ou mesmo caminhando ao ar livre, precisei procurar uma solução para o meu problema, e ela é: faça algo que julgue mais proveitoso ao mesmo tempo.

Nossa, descobri a roda…não é isso…muitas pessoas leem livros na bicicleta ergométrica ou escutam músicas mas, além de odiar bicicletas ergométricas, eu estou realmente cansado de ouvir sempre as mesmas músicas do The Killers, Weezer, Metallica, Nando Reis e por aí vai. E não, eu não ouço músicas novas ou me inscrevo no Spotify. Eu simplesmente não sou assim 🙂 (ou talvez eu seja apenas um quase velho).

Eu ouço Podcasts (quando não áudio livros, mas isso é outra história…).

Eu separei abaixo, meus episódios prediletos, dos meus podcasts favoritos. Sou ouvinte já há bastante tempo deles (pelo menos do Jovem Nerd e do Anticast) e há episódios que são simplesmente fenomenais demais para não serem compartilhados.

O primeiro deles, é da equipe do SciCast e é simplesmente obrigatório para todo nerd que se preze e seja fã de vida alienígena (ou a saga da procura por ela).

Você pode ouvi-lo, diretamente pela barra que coloquei acima (o que é chamado “embedar” em um neologismo oriundo da palavra em inglês embed e significa embarcar um conteúdo em sua página), assim como pode procurar pelos episódios e podcasts em algum aplicativo para celulares. Eu uso e recomendo o Podcast Addict embora existam várias opções.

Com ele você pode controlar o que quer baixar, quais episódios já assistiu ou não,  retomar de onde parou, montar playlists, escutar em velocidade aumentada para dar tempo de consumir mais, entre outras funcionalidades interessantes e ele é baseado primariamente, na tecnologia RSS, que eu já expliquei aqui no blog.

Aproveito a apresentação deste, para lembrar meu livro preferido. Que não foi citado diretamente no episódio acima, embora o autor o seja. Lembrando que o episódio não é sobre ficção.

Se eu contar porque fiz isso, estarei dando um spoiler do episódio e/ou do livro…

Mas a lista de episódios recomendados não acabou.

Esse logo abaixo é sobre o Nazismo (em todos os conteúdos, quando os apresentadores não são especialistas e normalmente o são, eles convidam pessoas do ramo ao programa). E é para quem adora história.

Já o pessoal do Jovem Nerd faz o melhor e mais descolado podcast do Brasil, seja em minha opinião ou em seus números que, embora não os tenha de antemão, são sempre reverenciados pelos podcasts de outras pessoas (vide o episódio 294 abaixo e por último). Eles possuem um “ar de superprodução” e são editados profissionalmente por uma empresa, ganhando vinhetas divertidíssimas e deixando tudo mais prazeroso de ouvir. Mas sem perder o conteúdo produtivo (em certos programas classificados como tal).

Eu escolhi colocar outro em especial, que é sequencial ao de cima. Para destacar as “seções” que eles incluem no programa, como introdução, leitura de e-mails sobre o episódio anterior, propagandas, etc. E também para destacar um conteúdo em especial.

Ao 13:30 do episódio acima é lido um e-mail muito relevante e interessante, complementando (no caso corrigindo), uma informação passada pelo convidado no episódio anterior (Nossa Língua Portuguesa) aos 40:25 daquele episódio! Você pode posicionar o mouse em cima da barra se estiver em um PC para facilitar a escolha de um tempo exato.

Por isso mesmo, recomendo fortemente que você assista todos esses episódios por inteiro, sem pular nenhum pedaço (embora essa seja mais uma das vantagens do formato). Eles formam programas muito coesos. Não só complementam o episódio anterior formando uma narrativa sequencial, como dentro do mesmo episódio, muitas piadas e histórias são remontadas mais a frente…

Para terminar, vou deixar um podcast sobre podcasts! Trata-se de uma análise do “mercado” de podcasts no Brasil, inclusive com comparações ao contexto americano, realizado pelo Anticast:

Ufa…acho que dissertei sobre tudo que queria. 🙂

Vou deixar também um link para o meu arquivo OPML, que contém todos os podcasts que sigo, assim você pode importá-lo no seu aplicativo se quiser.

OPML: baixar

Abraço a todos

PS.: Nossa, já estava me esquecendo da referência à Netflix no título do post. Ela nos apresentou um modelo tão disruptivo de distribuição de conteúdo anos atrás, que virou quase um sinônimo de streaming. É comum ver expressões como “Netflix de Livros”, ou coisa parecida…e foi nisso que pensei. Podcast seria algo como um “streaming de rádios”.

 

OBD – Minha primeira experiência

Bom, se há um assunto que eu não domino e sequer havia pensado que um dia trataria dele aqui no blog, seriam carros. Porém, vou falar mais especificamente de uma tecnologia que conheci há pouco e por isso mesmo, sei menos ainda sobre o assunto, mas que me chamou muito a atenção.

É óbvio que, para quem é do ramo, as informações que passarei aqui serão irrisórias, mas como sempre, minha intenção é comentar minhas experiências, minhas descobertas, escrever sobre qualquer coisa que me interesse ou que possa existir alguém que não saiba!

Há também o problema de que esse conhecimento talvez chegue atrasado para a maioria pessoas, já que os novos e futuros carros inteligentes disporão de outros meios muito mais interessantes para dar informações à seus donos ou ocupantes.

Eu estou falando do OBD:

OBD (do inglês On-Board Diagnostic) designa um sistema de autodiagnóstico disponível na maioria dos veículos automóveis que circulam atualmente. A conexão ao sistema consiste em um conector padronizado que foi sancionado como obrigatório na Europa e nos Estados Unidos para todos os veículos produzidos desde 1996, e no Brasil a partir de 2010 com o padrão de segunda geração OBD2 (ou ODBII). A medida tem a finalidade de popularizar o serviço de reparo eletrônico, reduzindo drasticamente o custo das oficinas, possibilitando o consumidor pagar mais barato por esse gênero de serviço. Além disso, a padronização e abertura dos protocolos de comunicação trouxeram ao mercado equipamentos extremamente baratos possibilitando a compra dos mesmos pelos próprios consumidores para “diagnóstico em casa”. Atualmente existem no mercado equipamentos de diagnóstico na ordem de $20 dólares com interface USB e tecnologia Bluetooth para sincronização com um computador ou aparelho celular.

Fonte: https://pt.wikipedia.org/wiki/OBD

Pois bem…você já deve ter visto inclusive o seu mecânico usando essa interface no seu carro, mas provavelmente através de um leitor exclusivo e maior, algo semelhante a um leitor de cartão de crédito e com fio.

O que eu comprei é igualzinho à este da foto do post. Ele se encaixa nessa interface e lê dados da ECU do veículo e você consegue se conectar a ele com seu celular, através do bluetooth.

No pacote veio alguns aplicativos para Android prontos para instalação e foi muito legal para mim, brincar com as informações disponíveis. No meu caso, eu já sabia que meu carro tem um problema no catalisador (meu mecânico leu e me deu a mesma informação há pouco tempo atrás) e pude então, constatar que eu estava recebendo a informação correta. (Nota: cuidado com o pacote que comprar, no CD de instalação que recebi vieram softwares “piratas” com keygens que podem contaminar o seu computador. Como não utilizei os softwares para Windows e nos de Android não precisei “gerar” nada, acredito estar seguro, mas não posso afirmar…).

Segue algumas telas:

Caso minha atenção não se volte para alguma outra bugiganga tecnológica num futuro próximo 🙂 , pretendo explorar mais e voltar aqui e escrever novos posts.

Enquanto isso, fica apenas esse pequeno post mostrando minha rápida experiência com o OBD.

Abraço a todos.