Eu, a música e um sonho

Minha relação com a música vem desde que me entendo por gente. Ou seja, do tempo em que o rádio AM e FM eram os principais provedores de música. Na minha trajetória como ouvinte apaixonado por música passei pela era do LP, das fitas K7, do CD e do MP3. Atualmente uso o Deezer, como serviço de streaming, para ouvir minhas músicas preferidas em qualquer lugar, a qualquer momento.

Sempre gostei de ouvir música, o tempo todo. Mas, tinha algo além que eu desejava: tocar um instrumento musical. Um sonho desde o tempo de criança, que em 2023 resolvi, finalmente, realizá-lo.

Piano clássico. Sim, isso mesmo! Piano foi o escolhido para realizar meu sonho de tocar um instrumento musical, pois nos últimos três anos a música clássica e o piano instrumental passou predominar minhas listas de reprodução no Deezer. 👍

Após o gosto pela música instrumental de piano, interessei-me pelo estudo da teoria musical, passando a estudar por conta própria a respeito do tema. Afinal de contas, se pretendia tocar piano clássico, a teoria musical era pré-requisito obrigatório.

Foram cerca de dois meses estudando a respeito de teoria musical e desvendando o básico da linguagem, até então esquisita para mim, das partituras. Paralelo a isso, iniciei uma jornada em busca do instrumento musical que iria adquirir: um piano digital. Isso mesmo, um piano, não um teclado arranjador. Há uma diferença gritante em entre ambos. A pesquisa foi intensa até a escolha definitiva, mas valeu a pena e estou muito satisfeito com a aquisição.

Uma vez adquirido o instrumento, iniciei a jornada prática na data de 14 de junho de 2023, um dia após o recebimento e instalação do instrumento.

Nota: praticamente já conhecia o instrumento antes mesmo de manuseá-lo, pois já havia baixado seu manual pela Internet e lido completamente, conhecendo seus recursos e características operacionais. 🤓

Um iniciante que nunca havia chegado perto de um piano até então, iniciar a jornada de aprendiz sem um roteiro, sem um guia, sem um mestre é um desafio praticamente impossível. Sabendo disso, previamente, já estava acompanhando alguns bons pianistas e seus incríveis trabalhos disponibilizados na Internet. Acabei optando por seguir a metodologia de ensino do professor Felipe Scagliusi (aprendendopiano.com.br), um pianista clássico profissional que possui um curso chamado “Método Real de Piano” – que com certeza cursarei mais adiante, quando estiver mais destravado e familiarizado com o instrumento – mas que também disponibiliza, de forma gratuita, o “Minicurso de Piano para Iniciantes”, que como ele mesmo enfatiza: “o pontapé que você precisa para começar no piano e jamais pensar em desistir”. Essa foi a minha escolha; pela metodologia, pela excelente didática e pela experiência profissional do Felipe.

Hoje, 14 dias após o início de minha jornada, senti o prazer de tocar pela primeira vez – e de forma integral – a peça proposta na primeira aula do minicurso: Sinfonia nº 9, de Beethoven, adaptada para piano solo. A sensação de realização foi incrível, pois pela primeira vez eu estava tocando uma música no piano. Ainda meio travado, é verdade, mas já tocando a primeira música em apenas 14 dias de relacionamento com o instrumento, praticando todos os dias, por pelo menos uma hora!

Registro de meu oitavo dia de aprendizado, executando a Sinfonia nº 9 de Beethoven.

Das 4 aulas do minicurso, assisti apenas a primeira até agora, pois não queria ir adiante sem passar pelo primeiro desafio. E que desafio, hein? Na primeira aula já começar com uma peça clássica da música! Já ansioso pelas próximas aulas do minicurso e o quanto de conteúdo e aprendizado elas proporcionarão. 🙂

Antes de prosseguir com as próximas aulas, no entanto, vou dedicar mais alguns dias para aperfeiçoar meu dedilhado – que ainda engancha em alguns trechos mais rápidos da peça – bem como melhorar o andamento da música, até chegar no ponto de tocá-la com o andamento mais próximo do real.

Neste primeiro relato sobre minha experiência como “pianista aprendiz” quero deixar registrado meu agradecimento ao Felipe Scagliusi por disponibilizar gratuitamente o minicurso para iniciantes, bem como sua gentileza em responder a uma mensagem que enviei apresentando um vídeo onde toco os primeiros compassos da música objeto da aula 1, aos três dias de estudos, dando-me uma dica sobre onde eu deveria melhorar. Muito obrigado, Felipe! E vamos adiante, pois a jornada está apenas começando! 😉

Usando variáveis de ambiente no Node.js

As variáveis de ambiente (environment variables) são aquelas definidas fora do código de nossa aplicação, mas que mesmo assim podemos fazer uso delas.

Elas são armazenadas como ‘chave-valor’ num arquivo em separado, do tipo texto, que pode ser facilmente editado, de acordo com a nossa conveniência, sendo bastante úteis para configuração de ambiente operacional, onde podemos guardar definições de caminhos de arquivos, bancos de dados, URL, chaves de autenticação etc., pois seus valores podem ser alterados a qualquer momento, sem que precisemos recompilar a aplicação.

No Node.js podemos facilmente utilizar essas variáveis através do objeto process.env, que é um objeto global e, por isso, pode ser acessado em qualquer módulo da aplicação.

Existem várias formas para definição e leitura de variáveis de ambiente, mas neste artigo trataremos do uso do pacote dotenv, um módulo de dependência que carrega as variáveis de ambiente a partir de um arquivo texto externo à aplicação diretamente no objeto global process.env do Node.js.

A instalação pode ser feita usando o npm ou yarn, conforme comandos a seguir:

Figura 1. Comando de instalação do pacote dotenv usando o NPM.
Figura 2. Comando de instalação do pacote dotenv usando o Yarn.

Após a instalação do pacote dotenv na pasta raiz do projeto, devemos criar um arquivo chamado .env, que armazenará nossas variáveis de ambiente, conforme figura 3.

Figura 3. Aspecto de uma estrutura de projeto Node.js, onde vemos o arquivo .env na pasta raiz do projeto e seu conteúdo.

👉 Por convenção, uma variável de ambiente deve ser escrita com letras maiúsculas e seu valor não deve estar entre aspas.

No arquivo de definição da aplicação (app.ts, por exemplo) importamos o módulo dotenv usando um require antes de qualquer outro código, conforme código da figura 4.

Figura 4. Típico arquivo app.ts, onde importamos o módulo dotenv usando o require.

Com a importação do módulo dotenv, podemos ler qualquer variável de ambiente contida no arquivo .env, a partir do objeto process.env, conforme código de exemplo contido na figura 5, onde lemos a variável de ambiente HTTP_PORT.

Figura 5. Leitura da variável de ambiente HTTP_PORT, a partir de process.env.

⚠️ Para concluir, é importante lembrar do cuidado em se armazenar dados sensíveis no arquivo .env, como senhas de bancos de dados e chaves de criptografia. Por essa razão é altamente recomendável incluir a referência ao arquivo .env no arquivo .gitignore.

Renomeando arquivos de banco de dados no SQL Server

Renomear arquivos de bancos de dados no SQL Server não é como renomear um arquivo .DOCX do Word. Alguns procedimentos precisam ser seguidos para preservar a integridade do banco de dados. Abaixo descrevo como eu realizo tais procedimentos.

Primeiramente, no SQL Server Management Studio, renomeio o banco de dados desejado diretamente no Object Explorer, utilizando o menu de contexto, conforme figura 1.

Figura 1. Renomeando o banco de dados no Object Explorer do SSMS.

Após a execução do comando, o banco de dados deverá ser exibido com o novo nome, conforme figura 2.

Figura 2. Banco de dados renomeado no Object Explorer do SSMS.

Se isso fosse o bastante seria bom demais. Mas não é assim que funciona (a não ser que você não se importe em ter um nome físico do arquivo de banco de dados diferente do nome apresentado no Object Explorer, o que não é o meu caso). Meu desejo é ter o mesmo nome do banco de dados, tanto lógica como fisicamente, então o primeiro passo já foi feito. Vamos em frente!

Antes, porém, vou mostrar que apenas o procedimento acima não foi o bastante resolver a questão. Para isso, novamente no Object Explorer, utilizo o menu de contexto para exibir as propriedades do banco de dados que acabei de renomear, conforme figura 3.

Figura 3. Exibindo as propriedades do banco de dados no SSMS.

A janela de propriedades do banco de dados é apresentada. Clique na opção Files e preste atenção aos detalhes na figura 4.

Figura 4. Database Properties.

Mesmo indicando que as propriedades são do banco de dados renomeado para NOVO_NOME, as propriedades Logical Name e File Name permanecem como antes: NOME_ATUAL.

Depois de muito pesquisar, encontrei uma dica na Internet num post de 2009 do blog dba-sqlserver.blogspot.com e foi dessa dica que consegui resolver o meu problema e publicar este post.

💡 Dica: O script abaixo exibe os nomes lógico e físico do banco de dados.

Figura 5. Script para mostrar os nomes lógico e físico do banco de dados.

Repare que mesmo já tendo alterado o nome do banco de dados para NOVO_NOME, via Object Explorer, o resultado da execução do script acima mostra que os nomes lógico e físico ainda se mantêm como antes.

Figura 6. Resultado da execução do script para mostrar os nomes lógico e físico do banco de dados.

Partindo para a resolução do problema, os procedimentos, a partir deste ponto, são divididos em três fases: 

Fase 1 – Execução do script abaixo.

Figura 7. Script para definir novos nomes para os arquivos de dados e log do banco de dados.

Fase 2 – Renomeação dos arquivos .MDF e .LDF usando os comandos para renomear arquivos do Windows, via Windows Explorer ou Prompt de Comando.  

Fase 3 – Execução do script abaixo.

Figura 8. Script para reativar o banco de dados após renomeados os arquivos físicos.

Pronto! Se tudo ocorreu bem, ao executar novamente o script da figura 5 o resultado final deverá ser mostrado conforme imagem abaixo.

Figura 9. Resultado final mostrando os arquivos devidamente renomeados.

Este foi meu primeiro post sobre minha experiência como DBA usando o SQL Server. Que seja o primeiro de muitos outros que possam agregar conhecimento a respeito deste fantástico sistema gerenciador de bancos de dados.

Ingenuity faz história: o primeiro voo em Marte

Mais um marco histórico da genialidade humana na exploração espacial. A NASA confirmou que realizou com sucesso o primeiro voo de um artefato humano em outro planeta nesta segunda-feira, 19/04/2021.

O voo do Ingenuity foi autônomo. Ele voou por sistemas de orientação, navegação e controle a bordo, executando algoritmos desenvolvidos pela equipe do JPL da NASA.

Sombra do Ingenuity projetada no solo marciano quando planava a 3 metros de altura.

Como os dados devem ser enviados e devolvidos do Planeta Vermelho ao longo de centenas de milhões de quilômetros usando satélites em órbita e a Rede de Espaço Profundo da NASA, o Ingenuity não pode ser pilotado com um joystick, e seu voo não foi observável da Terra em tempo real.

Primeiro voo em Marte com o Ingenuity.

Outro fato também histórico: Na semana passada, durante os testes iniciais, um problema no software fez com que o helicóptero não conseguisse atingir a rotação mínima de 2400 rpm necessária para realização do voo. Corrigido o problema no algoritmo aqui na Terra, foi realizado o primeiro upload de uma versão completa de controle de um artefato em outro planeta, a uma taxa de transmissão de 0,4 Mbps. Depois dos testes no final de semana, o Ingenuity conseguiu atingir os requisitos, ficando pronto para o voo inaugural que aconteceu hoje.

De parabéns a NASA por mais uma missão inédita com sucesso e que, com certeza, abrirá as portas para novas missões com fins específicos de realização de sobrevoos em Marte.

Mais um grande feito da genialidade humana: tocamos num asteroide

Mais um grande feito da genialidade humana foi concretizado hoje, 20/10/2020.

A NASA conseguiu realizar com sucesso a manobra de “Touch-And-Go” (TAG) de sua sonda – OSIRIS-REx – no asteroide Bennu, que atualmente se encontra a mais de 320 milhões de KM da Terra.

Imagem 1. Concepção artística da sonda OSIRIS-REx orbitando o asteroide Bennu. Crédito da imagem: NASA.

O TAG é o procedimento em que a nave praticamente toca o solo do asteroide – que tem baixíssima gravidade – para em seguida disparar jatos de gás nitrogênio com o objetivo de levantar fragmentos de rochas e outros materiais para coleta com o seu braço robótico.

O processo de análise para confirmar se realmente o procedimento foi suficiente para a coleta mínima necessária – 60 gramas – de material pode levar até uma semana, mas independente do resultado o feito de hoje foi histórico. Uma vez confirmada a coleta necessária de material, a nave iniciará seu retorno à Terra, com previsão de chegada em 2023, quando os cientistas terão acesso ao material.

Imagem 2. Braço da sonda próximo à superfície do asteroide, em manobra de teste de aproximação realizada anteriormente. Crédito da imagem: NASA.

A sonda OSIRIS-REx possui reserva para realizar mais outras duas tentativas de coleta, caso a manobra de hoje não tenha conseguido amostras suficientes.

“Este foi um feito incrível – e hoje avançamos tanto na ciência quanto na engenharia e em nossas perspectivas para futuras missões para estudar esses misteriosos antigos contadores de histórias do sistema solar”, disse Thomas Zurbuchen, administrador associado da Diretoria de Missões científicas da NASA na sede da agência em Washington. “Um pedaço de rocha primordial que testemunhou toda a história do nosso sistema solar pode agora estar pronto para voltar para casa por gerações de descobertas científicas, e mal podemos esperar para ver o que vem a seguir”.

Figura 3. Momento em que a equipe do comando da missão, na NASA, recebeu os dados de telemetria confirmando a manobra com sucesso da sonda OSIRIS-REx.

O objetivo da missão da sonda OSIRIS-REx é chegar a Bennu – um asteroide próximo da Terra – e trazer uma pequena amostra de seu material de volta para estudo em nosso planeta. A missão foi lançada em 8 de setembro de 2016, a partir da Estação da Força Aérea do Cabo Canaveral. Como planejado, a espaçonave chegou a Bennu em 2018 e devolverá uma amostra a Terra em 2023.

Imagem 4. Sonda OSIRIS-REx realizando mapeamento completo no asteroide, desde a sua chegada em 2018, para definição do melhor local para o TAG. Crédito da imagem: NASA.

O asteroide Bennu oferece aos cientistas uma janela para o Sistema Solar primitivo, pois ele se formou há bilhões de anos e pode conter ingredientes primitivos que podem ter ajudado a semear a vida na Terra. A missão é um projeto conjunto da NASA e da Universidade do Arizona.

Imagem 5. Bennu é um asteroide próximo da Terra e atualmente está distante de nós 320 milhões de quilômetros, ou seja, mais de duas vezes a distância da Terra ao Sol. Crédito da imagem: NASA.

“A manobra TAG de hoje foi histórica”, disse Lori Glaze, diretora da Divisão de Ciência Planetária na sede da NASA em Washington. “O fato de termos tocado com segurança e sucesso a superfície de Bennu, além de todos os outros marcos que esta missão já alcançou, é um testemunho do espírito vivo de exploração que continua a descobrir os segredos do sistema solar.”

São acontecimentos como este que mostra a capacidade e a genialidade humana aplicada em prol do conhecimento científico na busca de respostas sobre a origem de nosso sistema solar e dos processos de criação dos planetas e até mesmo da vida. São acontecimentos como este que salvam o ano de 2020. 👍

Fonte: informações obtidas do site oficial da NASA.