<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.2">Jekyll</generator><link href="https://dx7.me/feed.xml" rel="self" type="application/atom+xml" /><link href="https://dx7.me/" rel="alternate" type="text/html" /><updated>2023-11-07T00:32:36-03:00</updated><id>https://dx7.me/feed.xml</id><title type="html">dx7.me</title><subtitle>Sobre teclados e programação.</subtitle><author><name>Rafael</name><email></email></author><entry><title type="html">Limitar a Carga da Bateria do Macbook | macOS Big Sur</title><link href="https://dx7.me/2021/08/06/limitar-carga-bateria-macbook-mac-big-sur/" rel="alternate" type="text/html" title="Limitar a Carga da Bateria do Macbook | macOS Big Sur" /><published>2021-08-06T00:00:00-03:00</published><updated>2021-08-06T00:00:00-03:00</updated><id>https://dx7.me/2021/08/06/limitar-carga-bateria-macbook-mac-big-sur</id><content type="html" xml:base="https://dx7.me/2021/08/06/limitar-carga-bateria-macbook-mac-big-sur/"><![CDATA[Como eu deixo o Macbook conectado na tomada praticamente o tempo todo, me preocupo com a saúde da bateria. Sabendo que baterias de lítio não deveriam ficar com carga em 100% o tempo todo, achei que seria uma boa limitar a carga da bateria e deixar carregar totalmente apenas quando tiver a intenção de usá-lo na bateria.

Eu não sei dizer o quanto isso é eficiente. A intenção é apenas tentar evitar que a minha bateria atual estufe, como as duas anteriores fizeram.

Eu uso as alternativas abaixo em um Macbook com processador Intel e macOS Big Sur. Não sei se funcionam bem em outros ambientes.

## Via App

Parece que tem outras pessoas com a mesma linha de pensamento e eu encontrei esse app: <https://github.com/sicreative/BatteryStatusShow>

É a maneira mais amigável de configurar a pois tem uma interface fácil e te dá várias informações adicionais.

![ pic1](https://raw.githubusercontent.com/sicreative/BatteryStatusShow/master/README/readme_pic1.png)
![ pic2](https://raw.githubusercontent.com/sicreative/BatteryStatusShow/master/README/readme_pic2.png)

## Via Linha de Comando
Se você quiser configurar via linha de comando, pode usar esse executável diretamente: <https://github.com/sicreative/BatteryStatusShow/blob/master/BatteryStatusShow/smcutil>


### CUIDADO!
Na leitura, o valor máximo atual é informado em DECIMAL. Na hora de alterar, você tem que passar o novo valor em HEXADECIMAL.


### Exemplos de uso

Para ler o limite de carga atual em percentual:
```$ smcutil -r BCLM```

Será informado o valor em decimal. Se retornar `100` significa que a carga está limitada em 100%. Esse é o padrão.

Para limitar a carga em 70%:
```$ sudo smcutil -w BCLM 46``` (valor passado em hexadecimal usando sudo)

Para voltar a carregar 100%:
```$ smcutil -w BCLM 64```


**Não tem validação de valor.** Então se você configurar um valor acima de 100%, pode danificar a bateria por sobrecarga.

Sempre confira o valor antes e depois de alterar para evitar problemas.

Pode ser que a carga fique ligeiramente (uns 2%) acima do configurado. Isso não afeta muito o objetivo aqui.


## Se tudo der errado

Nesse caso você pode fazer reset do SMC do Macbook para restaurar as configurações de fábrica em relação ao carregamento da bateria. Isso também restaura algumas outras configurações como luz do teclado, sensor de luz ambiente, etc. Esse procedimento não apaga seus arquivos do Macbook.

1. Clique no Menu Apple, “Desligar” e desligue o MacBook;
2. Pressione as teclas Shift + Control + Option do lado esquerdo do teclado integrado e o botão Liga/Desliga ao mesmo tempo;
3. Mantenha todos pressionados por 10 segundos e então solte tudo;
4. Ligue o MacBook.]]></content><author><name>Rafael</name></author><summary type="html"><![CDATA[Como eu deixo o Macbook conectado na tomada praticamente o tempo todo, me preocupo com a saúde da bateria. Sabendo que baterias de lítio não deveriam ficar com carga em 100% o tempo todo, achei que seria uma boa limitar a carga da bateria e deixar carregar totalmente apenas quando tiver a intenção de usá-lo na bateria.]]></summary></entry><entry><title type="html">Nginx a Partir do Diretório Atual</title><link href="https://dx7.me/2021/03/02/nginx-diretorio-atual/" rel="alternate" type="text/html" title="Nginx a Partir do Diretório Atual" /><published>2021-03-02T00:00:00-03:00</published><updated>2021-03-02T00:00:00-03:00</updated><id>https://dx7.me/2021/03/02/nginx-diretorio-atual</id><content type="html" xml:base="https://dx7.me/2021/03/02/nginx-diretorio-atual/"><![CDATA[Às vezes é muito útil executar um HTTP Server tendo como raiz o diretório atual.

Isso pode ser feito com o amplamente conhecido `python -m SimpleHTTPServer 8000` do Python 2. Funciona e já está instalado na maioria dos sistemas.

Mas eu quero fazer isso usando Nginx. Então eu criei um shell script chamado **nginxhere** para simplificar esse processo. Depois de instalar o Nginx no seu sistema, basta criar um arquivo com esse nome em algum diretório que esteja no seu path (exemplo: /usr/local/bin), permitindo assim execução em qualquer diretório. O conteúdo do arquivo é esse:

```
#!/bin/bash

trap 'rm -rf -- ${nginx_conf}' EXIT

nginx_conf=$(mktemp)
nginx_listen_port=${1:-8080}

cat <<END > ${nginx_conf}
  daemon off;
  error_log /dev/stderr error;

  events {
      worker_connections 256;
  }

  http {
      $(curl -Ls 'https://raw.githubusercontent.com/nginx/nginx/master/conf/mime.types')

      access_log /dev/stdout combined;
      autoindex on;

      server {
          listen ${nginx_listen_port};

          location / {
              root .;
          }
      }
  }
END

nginx -p $(pwd) -c ${nginx_conf}
```

Basicamente eu crio um arquivo temporário com uma configuração simples atendendo na porta 8080 e escrevendo os logs na saída padrão. É possível alterar a porta passando um valor válido como parâmetro do script. No final o Nginx é executado mostrando os logs no próprio terminal. Para finalizar basta fazer `Ctrl + c`.

Assim você pode executar simplesmente:

```
$ nginxhere
```

E já pode fazer requisições para a porta 8080 tendo como raiz o diretório que você executou o comando. Se quiser alterar a porta:

```
$ nginxhere 8000
```

E agora poderá receber requisições na porta 8000.

Isso simplifica muito o processo de executar um Nginx localmente.]]></content><author><name>Rafael</name></author><summary type="html"><![CDATA[Às vezes é muito útil executar um HTTP Server tendo como raiz o diretório atual.]]></summary></entry><entry><title type="html">Teclas do IBM Model M - IBM UK vs Lexmark US</title><link href="https://dx7.me/2021/02/20/comparacao-teclado-model-m-ibm-uk-vs-lexmark-us/" rel="alternate" type="text/html" title="Teclas do IBM Model M - IBM UK vs Lexmark US" /><published>2021-02-20T00:00:00-03:00</published><updated>2021-02-20T00:00:00-03:00</updated><id>https://dx7.me/2021/02/20/comparacao-teclado-model-m-ibm-uk-vs-lexmark-us</id><content type="html" xml:base="https://dx7.me/2021/02/20/comparacao-teclado-model-m-ibm-uk-vs-lexmark-us/"><![CDATA[Comparando as teclas (keycaps) de dois teclados IBM Model M 122
Terminal Keyboard.

As da esquerda produzidas pela IBM UK em 1996 e as outras pela Lexmark
US em 1994.

![Comparação das teclas (keycaps)](/assets/images/posts/2021-02-20-comparacao-teclado-model-m-ibm-uk-vs-lexmark-us/e8zh37lvw4h61.jpg "Teclas (keycaps): IBM UK vs Lexmark US")

É apenas uma comparação e não significa que um deles é melhor. Só não dá
para colocar as teclas de um teclado em outro pois fica uma diferença
perceptível.

No teclado completo a impressão da Lexmark dá uma aparência mais suave e
fica excelente.

![Teclado IBM UK](/assets/images/posts/2021-02-20-comparacao-teclado-model-m-ibm-uk-vs-lexmark-us/ibm-uk.jpg "Teclado IBM UK")
[Mais fotos](/teclados/ibm/model-m-1394167-0151213/)

![Teclado Lexmark US](/assets/images/posts/2021-02-20-comparacao-teclado-model-m-ibm-uk-vs-lexmark-us/lexmark.jpg "Teclado Lexmark")
[Mais fotos](/teclados/ibm/model-m-1395660-2460798/)]]></content><author><name>Rafael</name></author><summary type="html"><![CDATA[Comparando as teclas (keycaps) de dois teclados IBM Model M 122 Terminal Keyboard.]]></summary></entry></feed>