O Linux Vai um Dia Conquistar o PC?

No site The Register encontro um artigo de opinião escrito pelo veterano repórter de tecnologia e entusiasta do GNU/Linux, Steven J. Vaughan-Nichols, do qual transcrevo trechos para depois comentar.

Linux Mint
Área de trabalho do esplêndido Linux MintImagem: WikiMedia Commons

[…] tendo coberto o mundo do desktop Linux (…), acho que usei mais dele do que qualquer outra pessoa que também tenha uma vida além do PC. Em suma, eu amo o desktop Linux. Muitas distribuições do Linux para desktop são ótimas. Eu sou um grande fã do Linux Mint há anos. Também gosto, em nenhuma ordem específica, do Fedora, openSUSE, Ubuntu e MX Linux. Mas você sabe o que? Isso é um problema. Temos muitas distribuições de desktop Linux excelentes, o que significa que nenhuma delas consegue ganhar participação de mercado suficiente para causar qualquer impacto real no mercado geral.

[…]Além de mais de 200 distribuições, existem 21 interfaces de desktop diferentes e mais de meia dúzia de gerenciadores de instalação de software, como o Debian Package Management System (DPKG), Red Hat Package Manager (RPM), Pacman, Zypper e muitos outros. Depois, há toda uma gama desses novos contêineres para instalar programas, incluindo Flatpak, Snap e AppImage. Eu mal consigo ver todos e isso sendo parte do meu trabalho! Como esperar que os usuários comuns entendam tudo isso? É impossível. Nenhum dos principais distribuidores Linux – Canonical, Red Hat e SUSE – realmente se importa com o desktop Linux. (…) seu dinheiro vem de servidores, contêineres, nuvem e Internet das Coisas (IoT). Desktop? Por favor. Devemos apenas ficar felizes por eles gastarem tanto no desktop.

[…]Agora, dito tudo isso, não quero que você tenha a impressão de que não acho que o desktop Linux seja importante. Eu acho. Na verdade, acho crítico. A Microsoft, você vê, está abandonando o desktop tradicional baseado em PC. (…) em favor da “nuvem”. Isso significa que o futuro do sistema operacional de desktop estará nas mãos da Apple, com o macOS, e nas nossas, com o Linux. Como alguém que se lembra da transição de mainframes, controlados centralmente, para PCs, de uso individual, não quero retornar a um mundo onde todo o poder pertence à Microsoft ou a qualquer outra corporação.

“O desktop Linux nunca será tão grande quanto o Windows já foi”, escreve Vaughan-Nichols no encerramento. “Entre a ascensão dos serviços de nuvem e o domínio do smartphone, não é possível isso acontecer. Mas ele ainda pode se tornar o desktop convencional mais popular.”

Linux precisa de padrões

Foi oportuna a ênfase nos usuários avançados. De muitas maneiras, eles são o centro de gravidade em um ecossistema de tecnologia.

Quase todos os usuários avançados/técnicos que conheço querem “padrões”. As distribuições Linux estão repletas de padrões por baixo do capô, mas não há um padrão de certificação de hardware (portanto, encontrar periféricos compatíveis é sempre estranho, além de arriscado) e não há uma interface de usuário padrão. Os usuários técnicos querem essas duas coisas. Um técnico que seja obrigado a dar instruções de suporte técnico ao usuário, ensinando a ele comandos de terminal porque não há uma Interface Gráfica padrão é um técnico que um dia dará as costas ao “desktop Linux”.

Três posições – ao meu ver equivocadas – que a comunidade FOSS [Free Open Source SoftwareSoftware Livre] assume, e que levam a essa situação são:

1. Pregar que o “’Linux’ é um sistema operacional”. Fora do âmbito técnico essas palavras alienam o ouvinte. Apenas os técnicos entendem ou se interessam por esse jargão. Para qualquer pessoa com mentalidade de consumidor (que inclui a maioria dos usuários avançados) isso não significa nada. Aliás, tenho receio de ter perdido leitores no início deste texto, com todas aquelas siglas e nomes esquisitos. Se você ainda está aqui, receba minha admiração pela sua capacidade de foco(*). É preciso vender o Linux como uma solução a problemas comuns e não um ‘sistema operacional’. Não me ocorre no momento nenhum remédio para esse problema crítico de comunicação, mas ele tem que ser superado.

2. Inconsistência nas interfaces de usuário. “Interfaces são compromissos” (aprendi isso em Análise de Sistemas). A fragmentação do Linux é ainda maior quando se fala nos ambientes gráficos de usuário disponíveis (GNOME, KDE, MATE, etc). Interfaces são compromissos para todos os envolvidos. Se uma determinada categoria de stakeholder experimenta o computador como algo caótico, nunca previsível, o sistema todo pode desmoronar. Os computadores devem fornecer consistência ou então enfrentar o opóbrio.

3. Opções demais para instalação e atualização. O “empacotamento” da distribuição sempre foi hostil, tanto ao desenvolvedor de aplicativos quanto ao usuário, de novo por razões de fragmentação do ecossistema. Cada distribuição tem seu gerenciador de pacotes particular. Uma tentativa de solução proposta é o padrão universal Snap no qual se baseia o popular Snapcraft. Segundo a Wiki “Snapcraft é uma ferramenta para desenvolvedores empacotar seus programas no formato Snap. Ele roda em qualquer distribuição Linux suportada por Snap, macOS e Microsoft Windows. O Snapcraft compila os pacotes de forma a garantir que o resultado de uma compilação seja o mesmo, independentemente de qual distribuição ou sistema operacional ele é compilado”.

Faça como o Windows

Para merecer a atenção e o investimento do público em geral, os desenvolvedores de desktops FOSS precisam voltar sua mentalidade para as questões: a) Como fazer para que as pessoas fiquem empolgadas o suficiente com a plataforma para começar a escrever aplicativos para ela? b) Como juntar desenvolvedores de aplicativos e usuários finais da maneira mais satisfatória possível?

As respostas para isso podem variar às vezes, mas geralmente se parecem com:

  • Integrar o sistema verticalmente
  • Manter o visual consistente – mas não espartano

A maioria dos usuários avançados prefere Windows ou OS X exatamente por esses motivos!

Em oposição, o FOSS – como eu o o conheço – sempre tende a enfatizar a integração horizontal, a resolução de dependências através de bibliotecas, UIs descartáveis e APIs espartanas – todas as respostas erradas para desafiar a Microsoft no campo do desktop!

Além disso, se você tiver uma coleção de APIs para desktop, elas apenas serão úteis se todo o conjunto tiver versões padrão. Mesmo assim a comunidade de distribuição Linux não se importa em misturar as versões upstream conforme cada um achar melhor – isso seria perfeitamente razoável em um mundo em que todos os “desenvolvedores” fossem hackers de sistema.

O Google (Alphabet) aparentemente descobriu a solução para a maioria dos problemas acima com o Android, construído a partir do Kernel do Linux, mas sempre pronto para substituí-lo/alterá-lo/descartá-lo.

__

(*) A propósito disto, respeito muito a inteligência das pessoas que se propõem a ler este blog, e não faço concessões ao fácil [:wink]

Arroz-feijão? Sim. E Funciona? Pode Apostar

Em servidores Linux, pode ser incrivelmente difícil qualquer processo se completar se o disco estiver sem espaço. Comandos de cópia e até mesmo as exclusões podem falhar ou demorar, quando a memória tenta “swap” para um disco que está cheio e há pouco a se fazer para liberar grandes lotes de espaço. Mas, e se houvesse uma maneira de liberar um grande espaço em disco nos momentos em que você realmente precisa? A resposta: Digite o comando dd[1].

Red beans and rice – prato do sul dos EUA

Como decisão de ano-novo, todos os meus servidores têm agora um arquivo espacer.img de 6 a10 GB vazio, que não faz absolutamente nada, exceto ocupar espaço. Dessa forma, em um momento de crise de disco cheio, posso simplesmente excluí-lo e ganhar algum tempo crítico para depurar e corrigir o problema. Oito Giga é uma quantidade significativa de espaço, mas o armazenamento é tão barato nos dias de hoje que acumular esse espaço vazio é basicamente imperceptível… um volume pequeno para se notar normalmente, mas que faz toda a diferença do mundo quando se precisa.

Então é isso. É por isso que eu mantenho um arquivo inútil no disco em todos os momentos: para poder um dia deletá-lo. Esta solução é super simples, trivial para implementar e fácil de utilizar. Verdadeiro arroz-feijão. Obviamente, a solução real é não deixar o servidor de banco de dados sem espaço, mas, como todo administrador sabe, às vezes os servidores ficam cheios devido a erros simples ou falhas inesperadas de design. Quando chega a hora, é bom ter um plano B, porque, caso contrário, você está enrolado com um disco cheio e um dia muito ruim pela frente.

[1] dd é um utilitário de linha-de-comando para sistema UNIX e derivados, cujo propósito é converter e copiar arquivos;

Para criar uma imagem de um HD: Em vez de fazer um backup do disco, você pode criar um arquivo de imagem do disco, como sugerido acima, e salvá-lo em outros dispositivos de armazenamento. Há muitas vantagens em fazer o backup de seus dados para uma imagem de disco, sendo uma a facilidade de uso. Este método é tipicamente mais rápido que outros tipos de backups, permitindo que você restaure rapidamente os dados após uma catástrofe inesperada. Exemplo:

dd if = /dev/hda of = ~/hdadisk.img

Criando e Editando Música com Linux

Sou um aventureiro no mundo da música, minha segunda paixão, e sempre procurei maneiras de construir pontes entre ela e minha primeira paixão, a computação. Em um passado mais ou menos recente andei fazendo experimentações com composição musical digital, usando software como Sybellius e outros (com resultados discutíveis ), e hoje estou sempre atento a oportunidades de usar meus conhecimentos computacionais no campo da produção musical. Pensando no assunto, resolvi fazer um post enfocando o tema, abordando o uso de software livre, notadamente Linux. Sei que meus leitores (conheço todos :)) vão apreciar.

Existem tem muitas opções quando se trata de editores de áudio para o Sistema Operacional Linux. Não importa se você é um produtor profissional ou quer apenas aprender a criar música, os aplicativos editores de áudio serão sempre fundamentais.

Para uso profissional, uma EAD/DAW (Estação de Áudio Digital – Digital Audio Workstation) é sempre recomendada. No entanto, quase ninguém precisa de todas as funcionalidades de uma estação completa; portanto é sempre bom conhecer também alguns dos editores mais simples.

Neste post, falaremos sobre algumas EADs e editores básicos de áudio que estão disponíveis como soluções de código aberto gratuito para Linux e (provavelmente) para outros sistemas operacionais. Não nos concentraremos em todas as funcionalidades que as EADs oferecem, mas sim nas capacidades básicas de edição. De uma certa maneira, você pode considerar este post como a lista das cinco melhores EADs para o LinuxOS.

Instruções de instalação: você encontrará (espero) todos os editores de áudio mencionados aqui no seu AppCenter, centro de software ou gerenciador de pacotes. Não é do escopo deste texto abordar os processos de instalação de cada um deles. No caso de você não os encontrar documentados, dirija-se ao site oficial para informações.

  1. Audacity

Audacity é um dos editores de áudio mais básicos e capazes ainda disponíveis para o Linux. É uma ferramenta multi-plataforma, livre (free as in freedom) e de código aberto. Talvez você já a conheça.

Melhorou muito se comparado a quando começou a ser ‘trending’. Eu já o utilizei para “tentar” fazer karaokes removendo a voz de trilhas de áudio. Ainda é possível fazer isso nas versões ativas – dependendo da fonte dos dados.

Características:

Suporta plug-ins VST (Virtual Studio Technology) que incluem efeitos. Contudo, não espere que ele suporte instrumentos VST.

Gravação de áudio ao vivo através de um microfone ou um mixer.
Capacidade de exportação / importação de múltiplos formatos e vários arquivos ao mesmo tempo.
Suporte de plugin: ladspa, lv2, nyquist, vst e plug-ins de efeitos de áudio.
Edição fácil com funções cortar, colar, excluir e copiar.
Modo de visualização tipo espectrograma, para análise de frequências.

Visite o site

  1. LMMS

A LMMS é uma estação de trabalho digital gratuita multi-plataforma. Inclui todas as funcionalidades básicas de edição de áudio, bem como muitos recursos avançados.

É possível mixar sons, organizá-los ou criá-los usando instrumentos VST. Além disso, o pacote inclui algumas amostras, predefinições, instrumentos VST e efeitos para começar a aprender. Além disso, você também recebe um analisador de espectro para (alguma) edição avançada de áudio.

Características:

Playback via MIDI.
Suporte a instrumentos VST.
Suporte nativo multi-amostra.
Compressor embutido, limitador, delay, reverb, distorção e potenciador.

Visite o site

  1. Ardour

Ardour é outra estação de trabalho de áudio digital livre e aberta. Qualquer que seja a interface de áudio de seu sistema, o Ardour irá suportá-la. É possível adicionar faixas multicanais ilimitadas. As faixas multicanais também podem ser encaminhadas para diferentes mixers para facilidade de edição e gravação.

Você também pode importar um vídeo para editar o áudio, e exportar a coisa toda. Ele vem com muitos plugins embutidos e também suporta plugins VST.

Características:

Edição não linear.
Empilhamento vertical das janelas de trabalho para facilidade de navegação.
Strip silence (removedor de infrassom), push-pull trimming (alternador de fase para eliminar distorção), e o plugin Rhythm Ferret para edição transiente e de gate.

Visite o site

  1. Cecilia

Cecilia não é um software editor de áudio comum. Ele é indicado para designers de som profissionais (ou para você, se estiver no processo de se tornar um). É, tecnicamente, um ambiente de processamento de sinal de áudio. Ele permite que você crie sons de (literalmente) torcer o ouvido.

Ele vem com módulos e plugins para construção de efeitos sonoros e síntese. É adaptado para um uso bem específico – se é isso que você estava procurando, não procure mais!

Características:

Módulos avançados:
UltimateGrainer – um processador de granulação de última geração,
RandomAcumulador – acumulador de gravação de velocidade variável,
UpDistoRes – Distorção com Upsampling e filtro Lowpass ressonante.
Salvamento automático de modulações.

Visite o site

  1. MIXXX

Se você quer mixar e gravar enquanto pilota um Virtual DJ, o Mixxx é uma ferramenta perfeita para a tarefa. Você monitora os BPMs, a chave, e utiliza o recurso Master Sync para sincronizar ritmo e batidas da música.

Suporta equipamento DJ personalizado também. Logo, se você tiver um (ou um midi), você pode gravar mixagens ao vivo usando esta ferramenta.

Características:

Transmissão e gravação de mixes DJ.
Capacidade de conectar equipamento e executar ao vivo.
Detecção de chave e BPM.

Visite o site