Dell XPS 13 é o melhor laptop para programadores Linux?

A linha de notebooks Dell XPS é uma das mais caras da empresa e, provavelmente, do mercado.
Com acabamento e componentes “de primeira”, contudo, estes equipamentos são as alternativas da Dell aos concorrentes da Apple ou da Sony/Positivo (Vaio), entre outros.

Leves, os notebooks XPS podem ser facilmente carregados de um canto a outro (em casa ou no escritório) — o que favorece as pessoas que gostam ou precisam trabalhar em ambientes diferentes.

Em artigo recente, no LinuxJournal, o colunista Petros Koutoupis fez uma análise do Dell XPS 13 Developer Edition Laptop, um produto do projeto Sputnik da Dell.

O projeto não tem correspondente no Brasil, mas o notebook está lá, presente nos canais de venda da empresa — com algumas diferenças.

O modelo testado por Koutoupis, vendido nos EUA, vem com 16 Gb de memória RAM e Ubuntu 18.04 LTS pré-instalado. No Brasil, a Dell insiste em vender uma máquina incrível como essa, com um sistema operacional ruim (você sabe qual…) — o que significa que vamos ter o (delicioso) trabalho de formatar e instalar o nosso SO preferido.

O review do Dell XPS 13

Sob o ponto de vista do colunista do LinuxJournal, o equipamento apresenta alguns pontos negativos. E vamos falar deles primeiro:

  • Não é um grande problema, mas é desagradável ainda se deparar com a tecla “windows” (tecla Super). Talvez não seja tão caro a Dell nos fazer a gentileza completa, substituindo o layout desta tecla por algo mais agradável.
  • A sensibilidade do touchpad e do touchscreen irão pedir um tempo para você se acostumar. No caso da tela sensível ao toque, pode acontecer de ativar o Dock do Ubuntu involuntariamente, ao ajustar a tela. O mesmo vale para a proximidade das teclas direcionais com as teclas PgUp e Pgdn — pedem um tempo para se acostumar.
  • A posição da câmera, na parte inferior da tela, oferece um péssimo ângulo (de cima para baixo) para você se mostrar para as pessoas. E, se você se preocupa com a privacidade, neste local, não é tão fácil tapar a câmera.
  • Além da entrada para fones de ouvido e cartão microSD, o resto é USB-C. Portanto, planeje a compra de adaptadores, caso pretenda conectar equipamentos antigos ao laptop.
  • Por fim, o autor relatou alguns problemas com o modo hibernação — a maquina não voltava, obrigando-o a desligar e ligar novamente o sistema. Isto significa que você provavelmente terá que fazer alguns ajustes: desligando a hibernação ou estendendo o período antes da suspensão.

Entre os pontos positivos, o autor destacou os seguintes:

  • O design externo — linhas simples e leveza do produto.
  • Tela sensível ao toque, extensa e suporte a 4K.
  • O áudio é de ótima qualidade — o que inclui um microfone que permite realizar videoconferências com total clareza.
  • O consumo de energia é muito bom. Além disso, o laptop permite checar o nível da bateria através de indicadores de led, na parte lateral, sem a necessidade de ligar ou sair do modo de suspensão. O autor deu nota máxima para este quesito.
  • A performance é tudo o que se espera deste produto da Dell — ou seja, é excelente.

conclusões

Koutoupis relatou ter tido uma experiência muito positiva com a máquina &mdash: “é poderosa e plenamente capaz de lidar com todo tipo de situações encontradas por desenvolvedores”.

Por ser leve, oferece mobilidade facilitada, permitindo que você o carregue para todos os lugares e retome o seu trabalho de maneira muito eficiente.

O sistema operacional Ubuntu brilha e mostra perfeita integração ao hardware.

Vale o investimento, de acordo com Petros.

Referências

Artigo de Petros Koutoupis: https://www.linuxjournal.com/content/review-dell-xps-13-developer-edition-laptop.
Página da Dell no Brasil: https://www.dell.com/pt-br/shop/notebooks-dell/novo-xps-13/spd/xps-13-9370-laptop.
Informações sobre o projeto Sputnik: https://elias.praciano.com/2017/06/conheca-o-projeto-sputnik-uma-parceria-entre-a-canonical-e-a-dell-para-oferecer-laptops-com-ubuntu-para-desenvolvedores/.
Outros posts sobre produtos Dell: https://elias.praciano.com/?s=dell+notebook.
Página da loja Dell na Amazon: https://amzn.to/2PuiyuQ.

Como estabilizar vídeo com o ffmpeg

Estabilização de imagens em vídeo pode ser feita de diversas formas, com diferentes métodos. Às vezes é possível combinar os métodos e estabilização, para obter resultados ainda melhores.
Se for para usar apenas um, o melhor método é aquele feito pelo hardware de filmagem, que compensa as tremidas ou movimentos involuntários da mão de quem está segurando o equipamento.

Ainda assim, ele não é 100% perfeito e pode ser complementado com uma estabilização via software — e é sobre isso que vamos falar neste post.

A estabilização do vídeo pode ser realizada de diversas formas, como afirmei no começo.
Quando ela é mecânica (física):

  1. O sistema (motor) de estabilização pode ficar embutido no corpo da câmera ou filmadora. Neste caso, é comumente chamado IBIS (In Body Image Stabilization, ou estabilização de imagem dentro do “corpo”, em uma tradução livre) ou, ainda, ICIS (In Camera Image Stabilization).
  2. Alguns fabricantes optam por colocar o sistema de estabilização da imagem dentro das lentes, quando se trata de uma câmera profissional que permite a troca deste acessório. O resultado é o mesmo, mas permite vender câmeras mais baratas e os usuários compram lentes estabilizadas apenas se necessitarem.
  3. Existe também a opção de usar estabilização tanto na câmera quanto na lente. Os dois sistemas podem trabalhar em conjunto para obter resultados ainda melhores.

A estabilização por software é muito usada em câmeras mais baratas e em celulares (onde não há espaço para embutir um sistema de estabilização físico).

há também métodos externos bastante eficientes para obter filmes com imagens estáveis e sem tremores indesejados — por exemplo, gimbals, tripés ou apenas apoiar a câmera sobre uma superfície estável.

Neste post, vamos abordar a técnica de estabilização por software. Embora exista programas GUI (de interface gráfica) plenamente capazes de fazer “a mágica”, vamos abordar o procedimento via CLI, com o ffmpeg.

O procedimento é rápido e muito eficiente… mas se você não gosta de digitar comandos, este artigo não é para você.

A estabilização de imagens em vídeo, via software, é realizada através de um corte (cropping), o que vai dar em uma perda na qualidade do resultado final.
Claro que você pode fazer uma estabilização leve e ter menos perda.
Se achar que o impacto na qualidade final da sua filmagem é aceitável, pode optar por uma aplicação mais pesada do recurso.
A escolha é sua.

Equipamento físico usado na minha filmagem

Só por curiosidade, o equipamento usado na minha filmagem é uma câmera Canon T6 (ou 1300D), com uma lente Canon EF-S 55-250mm f/4-5.6 IS STM.

Neste caso, trata-se de uma lente que possui mecanismo de estabilização de imagem.

O problema é que ao usar o extremo da lente, a estabilização nunca é perfeita. E eu achei que poderia obter um resultado ainda melhor se acrescentasse o recurso de estabilização por software ao meu vídeo.

Meu software de estabilização de imagem

Como já ficou claro no título, vamos usar os recursos presentes no ffmpeg, presente na maioria das distribuições Linux e que já tem compilado, dentro de si, a biblioteca para estabilização de imagens de vídeo, libvidstab.

O processo funciona com um recorte na imagem, que cria margem para os lados “absorverem” os movimentos mais abruptos.
O zoom é um dos “efeitos colaterais” do uso deste recurso.

Veja um exemplo de um dos quadros do vídeo original, abaixo:

Imagem original de vídeo ffmpeg
Vídeo original: beija1.mov

Veja um exemplo do mesmo quadro do vídeo após a estabilização:

Imagem de vídeo com estabilização cropada
Vídeo final: beija1-stab.mov

Percebeu a diferença (e o recorte)?. Tenha isso em mente: quanto mais estabilização você aplicar, via software, maior será o recorte da imagem em vídeo.

Como aplicar estabilização de imagem a vídeos com o ffmpeg

A ferramenta de edição e manipulação de vídeos, ffmpeg, possui diversos recursos para melhorar o seu trabalho.
Para obter estabilização, use a opção ‘-vf’ com o parâmetro ‘vidstabtransform’. Veja como é simples.

Para obter melhores resultados, contudo, recomendo rodar primeiro a detecção de estabilização. Com este procedimento, é criado um pequeno arquivo ‘transforms.trf’, no diretório local, em que os parâmetros e as variáveis de trabalho são registradas.

Veja como eu criei um arquivo transforms.trf em relação ao arquivo de vídeo ‘beija1.mov’ (substitua este nome pelo do seu arquivo, aí):


ffmpeg -i beija1.mov -vf vidstabdetect -f null -

Aguarde o andamento do processo e, em seguida, rode o procedimento de estabilização:


ffmpeg -i beija1.mov -vf vidstabtransform=smoothing=30:input="transforms.trf" beija1-stab.mov

Acima, substitua o nome do arquivo final ‘beija1-stab.mov’, pelo que você achar melhor.
Se não ficar satisfeito com o resultado da estabilização, altere o valor de ‘smoothing=30’ para um número mais alto. Tente 60, 120 etc.

Conclusão

Se achar interessante, pressione Ctrl+D para guardar esta página nos seus favoritos, para uma futura referência sobre o assunto.
Para o meu caso, o valor do smoothing mais adequado foi 600. Veja o que é melhor para você aí.

Leia mais dicas:

  1. Dicas de uso do ffmpeg: https://elias.praciano.com/?s=ffmpeg+vídeo
  2. Dicas de edição de vídeo: https://elias.praciano.com/tag/edicao-de-video/
  3. Dicas de edição de imagem: https://elias.praciano.com/tag/edicao-de-imagem
  4. Dicas relacionadas à câmera Canon T6 ou EOS 1300D: https://elias.praciano.com/tag/canon

Conheça este utilitário de linha de comando para controlar discos no Linux

Unidades de armazenamento externas ou internas podem ser acessadas e controladas com o utilitário de linha de comando (CLI) udisksctl.
O programa permite realizar diversas operações avançadas nas unidades conectadas.

Obter informações, verificar o status, monitorar unidades, montar/desmontar dispositivos, travar/destravar unidades criptografadas, desligar completamente ou configurar o SMART etc. — são algumas das tarefas que podem ser executadas com este pequeno utilitário.

Abra um terminal e me acompanhe nas experiências que seguem.

Como obter informações sobre um dispositivo de armazenamento conectado ao meu computador

O utilitário tem autocompletar para facilitar a digitação, portanto use a tecla TAB para tornar mais eficiente o uso dele.

A opção status permite ver as unidades atualmente conectadas ao seu sistema:


udisksctl status

MODEL                     REVISION  SERIAL               DEVICE
--------------------------------------------------------------------------
Hitachi HTS545050A7E380   GG2OA6C0  TE85123RJG3K4W       sda     
SanDisk SSD i100 24GB     11.56.04  123200143249         sdb     
WDC WD5000BPVT-22HXZT1    01.01A01  WD-WXD1A41D1154      sdc     
TOSHIBA MK5059GSXP        GT001L    51NAP03LT            sdd     
SanDisk Cruzer Blade      1.26      4C530699960225111162 sde

Como você pode ver, acima, as informações obtidas e mostradas pelo utilitário são bem detalhadas.

Use a opção info para obter informações específicas sobre um objeto (lembre-se de telcar TAB para completar a digitação):


udisksctl info --drive SanDisk_Cruzer_Blade_4C530699960225111162

A opção dump irá mostrar uma quantidade de dados muito maior, sobre todas as unidades possíveis:


udisksctl dump

Os dados detalhados das unidades podem ocupar diversas páginas de terminal. Use a tecla de espaçamento, para passar as páginas e a tecla Q para sair do modo de visualização do comando.

Sugiro usar o comando grep para obter informações específicas:

udisksctl dump | grep Hitachi
    Drive:                      '/org/freedesktop/UDisks2/drives/Hitachi_HTS545050A7E380_TE85123RJG3K4W'
    Id:                         by-id-ata-Hitachi_HTS545050A7E380_TE85123RJG3K4W
    Symlinks:                   /dev/disk/by-id/ata-Hitachi_HTS545050A7E380_TE85123RJG3K4W
    Drive:                      '/org/freedesktop/UDisks2/drives/Hitachi_HTS545050A7E380_TE85123RJG3K4W'
    Id:                         by-id-ata-Hitachi_HTS545050A7E380_TE85123RJG3K4W-part1
    Symlinks:                   /dev/disk/by-id/ata-Hitachi_HTS545050A7E380_TE85123RJG3K4W-part1
    Drive:                      '/org/freedesktop/UDisks2/drives/Hitachi_HTS545050A7E380_TE85123RJG3K4W'
    Id:                         by-id-ata-Hitachi_HTS545050A7E380_TE85123RJG3K4W-part2
    Symlinks:                   /dev/disk/by-id/ata-Hitachi_HTS545050A7E380_TE85123RJG3K4W-part2
/org/freedesktop/UDisks2/drives/Hitachi_HTS545050A7E380_TE85123RJG3K4W:
    Id:                         Hitachi-HTS545050A7E380-TE85123RJG3K4W
    Model:                      Hitachi HTS545050A7E380

Para monitorar uma unidade use a opção monitor, seguida do nome do dispositivo:


udisksctl monitor SanDisk_Cruzer_Blade_4C530699960225111162 
Monitoring the udisks daemon. Press Ctrl+C to exit.
14:55:24.735: The udisks-daemon is running (name-owner :1.1046).

A unidade, acima, está desmontada e “dormente”. Se houver alguma atividade ligada a ela, o terminal irá mostrar.
Quando quiser terminar o programa tecle Ctrl+C.

Como trabalhar com unidades criptografadas usando o udisksctl

As opções lock e unlock se referem às unidades alvo de criptografia.
No exemplo, abaixo, uso um drive USB criptografado com LUKS.

Para destravar, use unlock e forneça a senha:


udisksctl unlock -b /dev/sde

Passphrase: 
Unlocked /dev/sde as /dev/dm-0.

Para travar novamente, use lock:


udisksctl lock -b /dev/sde

Locked /dev/sde.

O comando pode ser útil dentro de scripts de backup que necessitem de alguma criptografia, para manter os seus dados ainda mais seguros.

Como comprar um notebook para durar 10 anos

Se você for cuidadoso(a) com as suas coisas, é perfeitamente possível manter um laptop por aproximadamente 10 anos — talvez um pouco mais ou um pouco menos.
Além do necessário cuidado com o equipamento, faz bem também planejar algumas atualizações que podem ser necessárias durante este período.

A sorte também será uma aliada importante durante esta aventura.

Eu não ligo para coisas materiais…

Eu detesto esta frase!

A frase “eu não ligo para coisas materiais” passa a falsa impressão de que a pessoa “não é materialista” e, possivelmente, possui valores mais elevados.

Acredito que as pessoas dizem isso para justificar sua falta de cuidados com objetos pessoais.

Na minha experiência, isto é uma bobagem. Na realidade, ser cuidadoso(a) com aparelhos eletrônicos de uso pessoal, é bom para a natureza — porque você vai produzir menos lixo.

Se você gasta menos comprando eletroeletrônico, pode investir mais na sua “elevação espiritual”, se isto for importante para você. E este investimento pode ser feito com a compra de livros, viagens, saídas com os amigos, idas ao cinema/teatro etc.

Prolongar a vida útil de um equipamento de uso pessoal ou profissional é um ótimo projeto.

Use a sessão de comentários, abaixo, para me contar o que pensa sobre o tema. 😉

A bateria do notebook

Se você mora em um local com temperaturas extremas (muito frio ou muito quente), a bateria pode sofrer um desgaste adicional durante este período e poderá ser um dos primeiros itens a demandar substituição.

A troca pode ser evitada se o notebook passar a ser usado apenas como um desktop (ou PC de mesa).

As baterias têm componentes tóxicos para o meio ambiente e precisam ser descartadas de maneira correta.

Leia mais sobre os cuidados que você deve ter, para que a bateria dure mais.

Comprar uma bateria extra, junto com o equipamento não é necessário. Mas, se fizer isso, reveze o uso das baterias — caso seja possível retirar e colocar facilmente o item.

Eu só me preocuparia em comprar uma segunda bateria (nova ou usada) se isto fosse realmente necessário.

A memória RAM

Este item pode vir a precisar de upgrade, no meio do caminho.
Se não quiser adquirir o laptop, já com uma “quantidade excessiva” de memória RAM — o que pode pesar no seu orçamento inicial — você pode planejar esta compra alguns anos à frente.

Comprar depois é vantajoso, por conta da depreciação do valor do item.

O sistema de armazenamento

O disco rígido ou o SSD é um dos maiores gargalos do sistema, como um todo.

Mantê-lo sempre limpo e com uma ocupação sempre abaixo de 75-80% vai ajudar a manter a eficiência do dispositivo. Eventualmente, durante o período do projeto “10 anos”, poderá ser necessário formatar a unidade de armazenamento algumas vezes.

Você pode adquirir logo um SSD de altíssima capacidade ou pode planejar a troca do equipamento no meio do caminho. A primeira opção é a mais cara.

O sistema operacional

Se você optar pelo uso do Microsoft Windows, o ideal é evitar ao máximo fazer um upgrade de versão.
Neste caso, faça apenas as atualizações de segurança.

As novas versões do sistema operacional, geralmente, são mais pesadas e exigem hardware mais atual.

O sistema operacional da Apple costuma ser mais estável neste sentido. Junto com o hardware, formam um conjunto bastante consistente.

Outra opção interessante é o Linux. A distro Debian é uma das mais estáveis e conta com suporte de longo prazo de 2 anos. Eventualmente, o time de suporte pode extender este período para alguma versão.

No caso do sistema operacional Ubuntu, o tempo de suporte de longo prazo (LTS) é de 5 anos — o que significa fazer apenas uma ou duas atualizações obrigatórias de versão, durante todo o período.

Eu optaria pelo Linux, com atualização a cada 2 anos — e aproveitaria este momento para formatar todo o sistema de armazenamento.

Conclusão

Manter um mesmo sistema computacional por 10 anos é uma opção que pode ser cara, na saída, mas trazer benefícios pela estabilidade que te proporciona.

Mesmo que você formate e faça upgrade do sistema operacional a cada 2 anos, trata-se de um hardware que você já conhece e que não vai trazer surpresas com componentes incompatíveis.

Se você optar pela compra do notebook mais avançado disponível no mercado, hoje, terá uns 2 anos para fazer inveja aos seus amigos e, possivelmente, não terá que se preocupar em fazer atualizações de hardware até o fim do projeto.

Me conte como você tocaria um projeto desta natureza, nos comentários! Eu adoraria conhecer outras ideias e dicas. 😉

Passo a passo para formatar um drive no Linux usando criptografia forte.

Qualquer drive, seja um pendrive, um cartão de memória ou um HD externo pode ser formatado facilmente no Linux, com as ferramentas de gestão de discos.
O programa pode ser disparado a partir do próprio Nautilus, se você usa alguma distro com o GNOME (Debian, Ubuntu etc.)

Se você tem interesse em conhecer melhor o utilitário, leia Como formatar um drive no Linux, onde o assunto é abordado de maneira mais extensa (e genérica).

Neste post, vou mostrar como realizar o procedimento de maneira rápida, usando o sistema de arquivos EXT4 com o LUKS.

Como formatar uma unidade com criptografia LUKS

Localize a unidade a ser criptografada no painel esquerdo do Nautilus.
seleção de volume no Nautilus

Em seguida, clique com o botão direito do mouse sobre a unidade escolhida e selecione formatar.
Formatar no Nautilus para Linux

Dê um nome ao volume a ser inicializado.
Opções de formatação

Se estiver com tempo para esperar, vale a pena selecionar a opção “Apagar”, que irá remover todos os dados do drive selecionado, em segurança. Fica o aviso de que esta opção é de execução demorada — a desculpa perfeita para ir tomar um café, se quiser.
Opções de formatação

A criptografia LUKS só pode ser selecionada para sistemas de arquivos EXT4, do Linux.

Se executar este processo em um drive externo USB, por exemplo, vai precisar instalar suporte a EXT4 e criptografia LUKS, para conseguir ler seu conteúdo no Windows.

Quando terminar de fazer seus ajustes nesta janela, clique em “Próximo”.

Na próxima tela, você terá que definir e confirmar a sua senha.
Se deixou a opção “Apagar” desligada, então o processo será bem rápido.
Senha para formatação com criptografia

Daqui para frente, toda vez que for usar o drive, a senha cadastrada será pedida.
Nautilus volume criptografado

Na imagem, acima, é possível notar que, antes de dar a senha e montar a unidade, nem o nome do volume será exibido no Nautilus.
A criptografia LUKS em unidades EXT4 é uma maneira segura e conveniente (fácil) de armazenar arquivos com informações sensíveis e confidenciais.