The everyday adventures and discoveries of a software development engineer.

Consertar um MacBook Pro 2011 em 2020, pra quê?

Depois de escrever os posts aqui e aqui sobre como arrumei meu MacBook Pro 15" early 2011, algumas pessoas me enviaram mensagens perguntando o porque de investir tempo em um mac "com defeito" e "velho". Separei alguns (bons) motivos para consertar um mac "velho" e mante-lo: 1. Hardware A configuração básica do MBP2011 era Intel Quad Core i7 2.0 GHz (Intel Sandy Bridge), 6MB Cache L3, enquanto se comparar com um MBP2016 temos um Intel Quad Core i7 2.4 GHz, 6MB Cache L3. Ignorando fatores como os avanços de engenharia dos

MacBook Pro 2011 GPU (Update 2020)

Alguns meses atrás escrevi um post descrevendo o processo que utilizei para consertar meu MacBook Pro early-2011 15", cuja GPU AMD Radeon (dGPU) havia "morrido". Desde então utilizei muito pouco essa maquina, apenas para tarefas que dependiam de algo específico (como gravar ou ler DVDs) que não conseguiria obter utilizando o MacBook Pro 2016. Alguns dias atrás, enquanto utilizava o Macbook Pro 2011, o HD queimou, me deixando uma oportunidade interessante de fazer umas instalação limpa do macOS do macOS High Sierra (10.13.6) driblando os problemas da GPU AMD Radeon. Por que o High Sierra?

GoLang: Preparando o ambiente de desenvolvimento

 development, go, golang

Para iniciar o desenvolvimento com Go é necessário preparar o ambiente que utilizaremos para desenvolver. O guia a seguir foi criado com base em macOS, mas pode também ser utilizado no Linux. Para saber mais sobre como instalar em outras plataformas consulte a seção de Downloads do site oficial do Golang. Instale o compilador do Go utilizando Homebrew: $ brew install go Alternativamente, baixe o pacote de instalação diretamente do site oficial do Golang Configurar os diretórios e variáveis de ambiente Crie um diretório para armazenar os módulos, códigos-fonte, binários, etc utilizados pelo Go. Este será o seu workspace. $ mkdir -p

Java Optionals: orElse ou orElseGet ?

 development, java

No Java 8 foram introduzidos os Optionals. Estes são extremamente uteis em vários cenários onde não há certeza de retorno de valores validos. Uma função que tende a causar um pouco de confusão é a .orElse e .orElseGet. A princípio parecem iguais mas há diferenças substaciais entre elas no que diz respeito a funcionalidade e performance. Ao observar a assinatura dos métodos public T orElse(T other) public T orElseGet(Supplier<? extends T> other) Podemos ver claramente que .orElse() retorna um valor do tipo T e aceita um valor do mesmo tipo, enquanto .orElseGet() retorna um valor do

MacBook Pro 2011 GPU (Consertado!)

O MacBook Pro 2011 de 15" foi minha introdução ao mundo Apple, e sempre considerei uma máquina sensacional que me prestou bons 6 anos de trabalho intenso. Mas.. como muitos sabem essa versão (2011) do MacBook Pro tem uma falha na GPU AMD Radeon X3000 (discrete gpu ou dGPU) que com o tempo e uso intenso o chipset apresenta problemas. Os sintomas mais comuns são: Travamento com tela cinza ou preta durante o processo boot Imagens distorcidas Alguns dizem que o problema é o tipo de solda e que basta o reballing e melhorar a refrigeração pra resolver o