Português English

Blogs

Afie o Código Enferrujado feature
2023.04.23

Afie o Código Enferrujado

Era uma vez, no mundo dos parênteses e chaves, eu, um entusiasta dedicado do C#, iniciei uma emocionante aventura para explorar o intrigante reino do Rust. Este último surgiu como uma supernova, conquistando os corações e mentes de desenvolvedores em todo o mundo. Com seu foco em segurança, desempenho e concorrência, o Rust atraiu um grupo leal de fãs, e até mesmo o kernel do Linux sucumbiu ao seu encanto. Enquanto o Rust fazia ondas no universo da programação de sistemas, o C# atuava nos bastidores, exibindo com confiança suas novas habilidades de desempenho e preparado para encarar qualquer desafio.

Apesar do Rust me seduzir com seus recursos de segurança e rápido desempenho, sua sintaxe enigmática e opções de design peculiares logo me fizeram desejar o conforto familiar do C#. Ouvi dizer que o C# e o .NET 7 estavam se fortalecendo na academia de desempenho, então decidi retomar nosso relacionamento. Neste artigo, compartilharei minha jornada de retorno ao C# e compararei sua renovada potência com o Rust, usando alguns resultados de benchmarking.

C# Afia Sua Lâmina

Acontece que, enquanto eu flertava com o Rust, o C# estava aperfeiçoando suas habilidades como um mestre ferreiro. Os desenvolvedores do .NET se dedicaram incansavelmente para melhorar o desempenho do C# e do ambiente de execução .NET, resultando no afiado .NET 7.

O Computer Language Benchmarks Game destacou os frutos do trabalho árduo do C#, mostrando avanços notáveis no tempo de execução e no uso de memória. O C# agora rivaliza com o Rust nos benchmarks de desempenho, provando que não é mais um competidor discreto no cenário.

Enquanto isso, os benchmarks de frameworks web do TechEmpower colocaram o ASP.NET Core entre os melhores, demonstrando que o C# e o .NET podem entregar aplicativos web de alta performance com a precisão de uma lâmina bem forjada, competindo com frameworks web baseados em Rust, como o Axum.

“Novo” Superpoder do C#

Durante seu tempo na forja, o C# descobriu um novo superpoder: a compilação Ahead-of-Time (AOT). Essa habilidade permite que o C# compile o código em código nativo de máquina antes da execução, eliminando o processo de compilação Just-In-Time (JIT) mais demorado.

A compilação AOT não apenas diminui os tempos de inicialização, mas também aperfeiçoa a otimização do desempenho. As compilações AOT e JIT são como dois super-heróis com diferentes histórias de origem, cada um com seus pontos fortes e fracos. AOT, o mais proativo dos dois, compila o código em código nativo de máquina antes da execução, exibindo sua força para diminuir os tempos de inicialização e otimizar o desempenho. Por outro lado, o JIT, o herói mais calmo e reflexivo, compila o código durante a execução, dedicando tempo para otimizar com base no uso real do aplicativo.

O C#, sendo o camaleão voltado para aplicações e versátil que é, inicialmente escolheu o JIT como seu parceiro leal. No entanto, à medida que o C# percebeu que poderia atender a cenários de desempenho mais exigentes, como jogos, adotou o AOT, saindo de sua zona de conforto e expandindo seus horizontes.

  • Somente AOT
    • C
    • C++
    • Rust
  • Somente JIT
    • Java (principalmente JIT, mas pode usar AOT em casos específicos)
    • Ruby
  • Ambos AOT e JIT
    • C#
    • Go
    • Kotlin/Native (para plataformas nativas)

O Lado “Enferrujado” da Moeda

O Rust é, sem dúvida, uma linguagem fascinante, exibindo foco em segurança e desempenho notável. No entanto, sua sintaxe e escolhas de design às vezes podem parecer decifrar hieróglifos antigos. Com várias palavras-chave abreviadas, como fn, mut e impl, o Rust pode muito bem-estar se comunicando em código.

Além disso, a sintaxe do Rust se desvia significativamente de linguagens mais familiares, como C# e Java. Os conceitos de tempo de vida e propriedade do Rust podem deixar desenvolvedores acostumados a linguagens com gerenciamento automático de memória (garbage collection) confusos e perplexos.

Marque uma caixa sobre qual conceito você já ouviu falar:

  • Tempo de vida e propriedade
  • Verificador de Empréstimo
  • Sintaxe de correspondência de padrões com match e _ (coringa)
  • Tipos Option e Result para tratamento de erros
  • Genéricos baseados em traços
  • Macros com sintaxe!

Parabéns: você marcou Zero pontos!

Enquanto isso, o C# mantém sua elegante simplicidade, com palavras-chave significativas e escolhas de design que priorizam a legibilidade e a facilidade de uso. Com o tempo, o C# começou a adotar recursos modernos como correspondência de padrões, tipos de referência nulos e async/await, mantendo seu charme.

De Volta para O Futuro

Minha aventura no Rust foi, sem dúvida, uma experiência reveladora, permitindo-me apreciar as poderosas capacidades de ambas as linguagens. No entanto, a sintaxe enigmática e as escolhas de design do Rust me deixaram desejando o conforto quente e familiar do C#. Ao retornar ao C# mais recente, descobri uma linguagem que evoluiu e se adaptou, oferecendo uma combinação potente de desempenho, elegância e facilidade de uso.

Enquanto o C# e o .NET 7 desfrutam dos holofotes, eles pouco sabem que o .NET 8 está nos forno, pronto para nos deslumbrar com ainda mais melhorias. O boato é que o .NET 8 incorporará ainda mais funcionalidades de bibliotecas populares de terceiros, tornando-se uma opção ainda mais atraente para os desenvolvedores. Com o ritmo de inovação acelerando, o futuro do C# e do universo .NET parece mais brilhante do que nunca.

Então, meus colegas desenvolvedores, que minha história seja um testemunho da importância de manter a mente aberta e ousar explorar novos horizontes. No entanto, às vezes, a grama não é sempre mais verde do outro lado. No meu caso, descobri que o C# era a mistura de poder e familiaridade que eu estava procurando o tempo todo.

Ao navegar pelos mares tumultuados das linguagens de programação, lembre-se de considerar as necessidades específicas do seu projeto, os requisitos de desempenho e as preferências pessoais. Cada linguagem tem suas peculiaridades e encantos, e a escolha certa dependerá das suas circunstâncias únicas. No final, trata-se de encontrar a linguagem que faz seu coração bater e seu código voar.

Até Mais, Petrobras feature
2023.03.22

Até Mais, Petrobras

Em 2011, embarquei em uma jornada que transformaria minha vida pessoal e profissional. Ingressei na Petrobras, uma das maiores e mais importantes empresas do Brasil, e agora, após 15 anos de dedicação, incluindo os dois anos que passei estudando para o concurso público, encerro um ciclo marcado por desafios, conquistas e aprendizados.

O trabalho

O Trabalho

Meus primeiros anos na Petrobras foram dedicados à área de Tecnologia da Informação (TI), onde tive a oportunidade de trabalhar na implementação do sistema SAP e na gestão de viagens corporativas.

Após esse período, migrei para o core business da Petrobras, atuando no setor de Exploração e Produção (E&P). Foi uma época de grandes desafios e também de muitas conquistas. Tive a oportunidade de vivenciar o auge do pré-sal, um marco na história da indústria petrolífera brasileira, que trouxe um novo horizonte para o país e para a empresa. Essa fase me proporcionou uma visão ampla do negócio, permitindo-me compreender a complexidade e a importância do setor energético na economia.

Infelizmente, também estive presente durante um dos momentos mais críticos da história da Petrobras, quando ações criminosas foram descobertas no âmbito da Operação Lava-Jato. A empresa foi usada para financiar campanhas eleitorais e práticas corruptas, o que quase a levou à falência. Esse período foi extremamente desafiador, mas também nos ensinou muito sobre ética, transparência e resiliência.

Mas me orgulho muito de ter ajudado a companhia a superar esta fase, reorganizando processos, priorizando projetos, cortando custos, negociando e planejando.

Um dos aspectos que mais me orgulho na Petrobras é a capacidade da empresa de se reinventar e adaptar-se às mudanças. A adoção do trabalho híbrido é um exemplo disso, mostrando como a empresa soube se adaptar ao novo mundo de trabalho, valorizando a diversidade e a flexibilidade.

As pessoas

As Pessoas

A mudança de São Paulo para o Rio de Janeiro foi um marco importante em minha vida, pois deixei minha família para trás em busca de novas oportunidades e desafios. Os amigos que fiz na Petrobras foram fundamentais para minha adaptação à nova cidade e para o enfrentamento das dificuldades inerentes a essa transição. Essas amizades se tornaram uma extensão da minha família, preenchendo o vazio deixado pela distância dos entes queridos.

Durante esses 12 anos, tive a oportunidade de trabalhar com colegas e líderes extraordinários que me ensinaram, inspiraram e apoiaram em cada etapa da minha carreira. Foram momentos de muita troca, amizade e crescimento mútuo, pelos quais serei eternamente grato. São essas conexões humanas que tornam a experiência profissional verdadeiramente enriquecedora.

O obrigado

O Obrigado

Ao encerrar esse ciclo, olho para trás e vejo uma jornada repleta de desafios, superações e aprendizados. Sinto orgulho do profissional que me tornei e das contribuições que pude dar à Petrobras. Acredito que a empresa seguirá seu caminho de sucesso, enfrentando os desafios do futuro com a mesma determinação e resiliência que demonstrou ao longo de sua história.

Com o coração cheio de gratidão, encerro este capítulo da minha vida, pronto para iniciar uma nova jornada. Levo comigo a bagagem de conhecimentos adquirida, as amizades que construí e as memórias que compartilhamos. Embora seja um momento de despedida, sei que os laços que formamos perdurarão para além das paredes da Petrobras.

A todos os colegas e líderes que fizeram parte deste percurso, meu mais sincero agradecimento. Aprendi com cada um de vocês, e vocês deixaram sua marca em minha vida. Espero que nossos caminhos se cruzem novamente no futuro e que possamos continuar nos apoiando, mesmo em novos contextos profissionais.

Aos profissionais que permanecem na Petrobras, desejo muito sucesso, coragem e sabedoria para enfrentar os desafios que virão. Tenho certeza de que a empresa continuará a crescer e a prosperar, contribuindo para o desenvolvimento do país e para a construção de um futuro mais sustentável e justo.

O adeus

O Adeus

Encerro com uma mensagem de otimismo e esperança. Que possamos sempre nos reinventar, aprender com nossas experiências e seguir em frente, carregando em nosso coração o legado daquilo que vivemos e das pessoas que marcaram nossas vidas. E que cada novo ciclo seja uma oportunidade de crescimento, renovação e realização.

Obrigado, Petrobras, pelos 12 anos de aprendizado. Até breve!

O Desafio é a Nossa Energia

Home Assistant e o Nascer das Casas Inteligentes feature
2023.02.13

Home Assistant e o Nascer das Casas Inteligentes

As casas inteligentes estão se tornando cada vez mais populares à medida que a tecnologia continua avançando e se tornando mais acessível. Você pode controlar vários dispositivos e eletrodomésticos em sua casa por meio de um único aplicativo e assistente de voz. Lâmpadas, controle de temperatura, sistemas de segurança e muito mais.

Você pode controlar luzes por meio de plataformas como Google Assistant ou Amazon Alexa. Com lâmpadas inteligentes, você pode facilmente definir o clima em sua casa ajustando a cor, o brilho e a temperatura das luzes. Você também pode automatizar a iluminação definindo horários ou criando cenas, como acender as luzes ao entrar em uma sala ou escurecê-las para uma noite de cinema. O discurso de vendas típico “Possibilidades Infinitas” se aplica aqui!

Comecei a transformar a minha casa há cerca de um ano e estou adorando!

Faça Você Mesmo

Uma das opções mais acessíveis e personalizáveis para construir uma casa inteligente é usar o Home Assistant com um Raspberry Pi. Home Assistant é uma plataforma de código aberto que permite integrar e controlar vários dispositivos inteligentes em sua casa. É gratuito e pode ser facilmente instalado em um Raspberry Pi, tornando-o acessível a pessoas com diversos níveis de habilidade técnica. O Home Assistant suporta uma ampla variedade de luzes inteligentes, incluindo as de marcas populares como a Philips.

Um dos benefícios de usar o Home Assistant com um Raspberry Pi é que ele te livra de serviços pagos. Todas as empresas de dispositivos inteligentes oferecem um serviço de assinatura paga para desbloquear alguns recursos extras. A comunidade Home Assistant tem centenas de dicas e tutoriais para replicá-los por conta própria. Isso significa que você não precisa se preocupar com taxas de assinatura recorrentes ou ficar preso a uma plataforma específica.

Ao contrário dos serviços pagos, especialmente de empresas estrangeiras, você garante que suas informações e dados privados estão seguros e não estão sendo monitorados ou acessados por mais ninguém. Você tem controle total sobre seus dados e dispositivos e pode ter certeza de que suas câmeras de segurança, informações pessoais e outros dados confidenciais não serão compartilhados com terceiros. Esse nível de privacidade é crucial no mundo de hoje, onde as preocupações com a privacidade de dados estão se tornando mais difundidas. Ao escolher esta fazer sua própria solução de smart home, você pode aproveitar os benefícios de uma casa conectada sem se preocupar com as implicações de privacidade do uso de um serviço pago.

Node-RED, incluído como plugin, permite uma personalização e automação ainda maiores em sua casa inteligente. Você pode criar “fluxos” que automatizam várias tarefas, como gravar vídeos das câmeras de segurança quando um movimento é detectado, enviar notificações para seu telefone ou acender as luzes quando você entra em uma sala. Isso pode tornar sua casa ainda mais inteligente e responsiva às suas necessidades, liberando tempo e esforço que, de outra forma, seriam gastos em tarefas manuais. O plugin fornece uma interface visual para construir essas automações, facilitando a configuração e modificação de seus fluxos, mesmo que você tenha pouca ou nenhuma experiência em programação. Ao incorporar o Node-RED na configuração do Home Assistant, você pode levar sua casa inteligente para o próximo nível e torná-la verdadeiramente sua.

Eu tive que configurar um backup online. O Raspberry Pi tem um histórico de falhas, especialmente o micro-SD. Fico tranquilo sabendo que, mesmo que meu Raspberry Pi falhe, posso restaurar facilmente a configuração do Home Assistant sem problemas.

Carteira e Chaves Livres

Outra grande característica de uma casa inteligente é a capacidade de deixar suas chaves e carteiras para trás quando você sair de casa. Com fechaduras inteligentes e sistemas de pagamento por telefone, você pode controlar o acesso à sua casa e pagar as compras apenas com o telefone. Isso pode tornar a vida muito mais conveniente, pois você não precisará carregar um chaveiro ou uma carteira volumosa para onde quer que vá. Basta usar seu telefone para destrancar a porta da frente ou da garagem e pagar pelo café da manhã - tudo sem precisar vasculhar os bolsos ou a bolsa. A contrapartida é o único ponto de falha: caso eu perca meu telefone (ou seja roubado), não terei dinheiro e nem como entrar em minha casa.

Fiz a coisa certa ao começar a automatizar minha casa há um ano. Construir uma casa inteligente com o Home Assistant em um Raspberry Pi é uma opção econômica e personalizável para pessoas que desejam controlar seus eletrodomésticos e dispositivos a partir de um local central. Um aviso: é viciante ajustar cada dispositivo ou fluxo para se adequar ao seu gosto. Apenas tome cuidado para não entrar na toca do coelho!

Livros de 2022 feature
2022.12.31

Livros de 2022

Todo ano eu compilo uma lista (até este ano, somente em inglês) de jogos, livros e filmes/series que eu vi. Para a lista completa, veja a página de Ratings.

Continuo a ler (ouvir audiobooks na verdade) quase todos os dias nos últimos anos. Esta é na minha rotina diária quando passeio com os cães. É uma proposta bem diferente de deitar e dedicar algum tempo para lê-los. Eu gosto de uma tarefa secundária quando estou executando uma rotina simples, como… passear com os cachorros. Caso contrário, sinto que estou perdendo meu tempo apenas andando e não pensando.

Esta é a lista dos livros deste ano que devorei. Essas listas - definitivamente - não são completas. Como não estou atualizando meus registros pessoais do GoodReads nem escrevendo sobre eles neste blog, eles são apenas os que eu lembro. Posso editar este post se me lembrar de outros itens.

Este ano eu já compilei uma lista parcial em Julho, então nesta aqui estão só os livros do segundo semestre.

Ficção

  • The Silver ShipsThe Silver Ships (Silver Ships #1) (S.H. Jucha) (9★★★★★★★★★) Outra ótima recomendação de Steve Gibson no podcast Security Now. O autor conta histórias de ficção científica com muitos detalhes sobre personagens e tarefas comuns. O protagonista é muito inteligente.
  • LibreLibre (Silver Ships #2) (S.H. Jucha) (7★★★★★★★) O segundo livro captura um traço de caráter que sinceramente não gosto: sempre vencedor. Alex Racine enfrenta eventos raros e extremamente baixos e os supera diariamente. Por fim, comecei a me importar menos com ele porque sabia que muito pouco estava realmente em jogo. O ponto bom é o surgimento dos personagens de inteligência artificial.
  • MéridienMéridien (Silver Ships #3) (S.H. Jucha) (7★★★★★★★) SADEs (os personagens de inteligência artificial) brilham. O personagem principal novamente é muito poderoso/sortudo. A linha do tempo saltou vários anos no futuro, dando uma nova aparência para cada personagem.

Não Ficção

  • MindsetMindset: The New Psychology of Success (Carol S. Dweck) (5★★★★★) Pode-se resumir o Mindset em um único slide. As pessoas têm uma mentalidade fixa (acreditam que as pessoas não mudam, as coisas são o que são) ou uma mentalidade de crescimento (tudo está mudando e evoluindo, inclusive nós mesmos). É interessante, mas o livro é auto-indulgente (uma característica comum dos livros de auto-ajuda). Dweck repete seu mantra continuamente, explorando sua teoria em uma variedade de cenários. A maioria deles é ad hoc: ela justifica o já conhecido passado como a mentalidade das pessoas envolvidas foi A razão pela qual as coisas aconteceram como aconteceram.

Alguns livros para o próximo ano

(títulos em inglês)

  • Steve Jobs de Walter Issacson
  • How Democracies Die de Steven Levitsky, Daniel Ziblatt
  • The Law de Frederic Bastiat
  • Essays on Political Economy de Frederic Bastiat
  • Quiet de Susan Cain
  • Thinking Fast and Slow de Daniel Kadneman
  • Doomsday Book de Connie Willis
  • Sharp Objects de Gillian Flynn
  • Silver Ships 5-10 de SH Jucha
  • Mistborn 3-4 de Brandon Sanderson

Para mais livros, olher a lista dos meus livros lidos no GoodReads.

Wingspan feature
2022.11.29

Wingspan

Os jogos da Stonemaier ficaram famosos quando o proprietário, Jamey Stegmaier, começou a postar no seu blog todos os aspectos de sua campanha no Kickstarter. As pessoas se sentiram confiantes com suas lutas, pensamentos e soluções.

Depois de algum sucesso, Stonemaier criou outro hit. Desta vez, o jogo não foi desenhado por Jamey, mas pela novata Elizabeth Hargrave. Wingspan (que está atualmente no nível mais alto no BoardGameGeek) permite coletar pássaros que fornecem poderes especiais, que se acumulam turno após turno. Comprei como presente de Natal para minha esposa no ano passado e se tornou um dos mais jogados de nossa coleção.

Ovinhos

Pontos Positivos

Componentes e arte, Deus do Céu, são todos de alta qualidade e adoráveis. O tabuleiro, as cartas, a torre de dados, os ovos… ohhh… nem fale dos ovos coloridos. A cor não tem nenhum significado de jogo, mas eles são adoráveis. As pessoas sempre reagem ao ver aqueles ovinhos.

O cuidado na criação de cada cartão de pássaro é surpreendente. O texto das cartas é rico em detalhes, e a maioria deles tem uma implicação real no próprio jogo. Tamanho da ave, padrão de reprodução, tipo de alimentação… tudo é baseado na realidade!

Existem pássaros objetivamente melhores do que outros, mas os objetivos e bônus externos podem aumentar a utilidade dos pássaros em cada jogo. Considerando também a quantidade de cartas, pelo menos por uma questão de rejogabilidade, é uma grande vantagem.

O valor central deste jogo é o mecanismo de engine building (efeito cascata). Cada vez que você pegar um novo pássaro, seus poderes serão usados nas rodadas subseqüentes. Assim, ao final da partida, alguns combos muito poderosos serão criados. É muito gratificante acionar um combo que gera vários pontos!

Componentes do wigspan

Pontos Negativos

Este jogo é um multijogador solitário: embora você possa manipular um pouco os recursos e as cartas de pássaros, é melhor forcar em “fazer o seu melhor”. Meus sobrinhos estavam vidrados o tempo todo, mas principalmente comentando sobre a aparência dos pássaros e imaginando seus próximos passos.

É muito difícil acompanhar os tabuleiros de outras pessoas. Portanto, é realmente difícil contra-atacar. Ninguém fará anotações mentais rastreando outros jogadores. Mas para quem realmente faz isso, pode representar uma grande vantagem estratégica.

As habilidades são divertidas, mas exigem muita leitura para serem compreendidas. Embora o texto não seja longo, a fonte é um pouco pequena.

A torre de dados, apesar de bonita, está sujeita a danos ao longo do tempo. Já não o utilizo nas minhas partidas, de forma a preservá-lo.

Componentes do wigspan

Minha Nota: 9★★★★★★★★★
Bruno MASSA