Lançada musl 1.1.19

Lançada musl 1.1.19
Lançada musl 1.1.19
Musl é uma biblioteca C para Linux que visa a substituição da tradicional GlibC trazendo muitos recursos que por anos não existem na glibc. Musl torna os programas mais enxutos, mais leves, mais estáveis, mais seguros e mais poderosos.

Existe casos de quando adotar ou não a musl. Aqui tem uma lista onde encontramos as diferenças funcionais entre musl e gilbc.
E na lista a seguir uma lista do que falta na musl para substiruir a glibc por completo:
Tendo estas duas listas, sabemos quando aplicar uma e quando aplicar a outra (por hora).


Neste lançamento foram adicionados novos recursos como:
  1. Funcionalidade a iconv incluindo suporte a stateful encodings (até agora, ISO-2022-JP e UTF-16/32 com BOM-determined endianness)
  2. Conversão a encondings japonês baseado em JIS-based (anteriormente apenas de direcion havia suporte)
  3. Codeset EBCDIC (até agora IBM1047)
  4. e DOS Cyrillic (CP866)
  5. Dados de caracteres tem sido atualizados para alignment com Unicode 10.0
  6. A função da extensão fopencookie stdio e extensões strftime padding foram adicionadas
  7. Muitas melhorias com compatibilidades menores e correções de bug foram feitas

Baixe a musl-1.1.19 clicando aqui
Confiram a assinatura PGP na musl-1.1.19
Rich faz um agradecimento especial aos patrocinadores da musl:
  • Justin Cormack
  • Les Aker
  • Neal Gompa
  • Hurricane Labs (hurricanelabs.com)
  • The Midipix Project (midipix.org)

Mais um pacote não GNU - Procps-ng

comando-top-que-faz-parte-do-pacote-procps
Comando top que faz parte do pacote Procps
Pois é, parece que esse assunto não tem fim. Essa semana mostrei quatro pacotes que possuem conjunto de comandos que utilizamos diariamente/frequentemente e que não tem vinculo com o projeto GNU. Mas como não me contentei somente com esses quatro pacotes, resolvi mostrar mais um aqui que pertence ao Linux (e não ao GNU ;). Antes de continuar falando sobre o pacote, confiram o vídeo sobre os quatro pacotes anteriores caso ainda não tenha visto:


Esse é o procps, que possui os comandos que utilizamos para manipular os processos (apesar que o kill se encontra no Util-Linux). Vou me ater apenas a tradução do que já está escrito no próprio site oficial do projeto.

procps é um conjunto de utilidades de linha de comando e tela-cheia que fornece informações fora do pseudo-filesystem mais comumente localizado em /proc. Esse filesystem fornece uma simples interface as estruturas de dados do kernel. Os programas do procps geralmente concentram nas estruturas que descrevem os processos rodando no sistema.

Os seguintes programas são encontrados no procps:
  • free - Reporta de memória livre e utilizada no sistema
  • kill - Envia um sinal para um processo baseado no PID
  • pgrep - Lista processos baseados no nome ou ouros atributos
  • pkill - Envia um sinal para um processo baseado no nome ou outros atributos
  • pmap - Reporta mapa de memória de um processo
  • ps - Reporta informações de processor
  • pwdx - Reporta diretórios atuais de um processo
  • skill - Versão obsoleta do pgrep/pkill
  • slabtop - Exibe informações do kernel slab cache em tempo real
  • snice - da um renice em um processo
  • sysctl - Lê ou escreve parâmetros do kernel em tempo de execução
  • tload - Representação gráfica da media de carregamento do sistema
  • top - Visualização dinâmica em tempo real de processos em execução
  • uptime - Exibe há quanto tempo o sistema está rodando
  • vmstat - Reporta estatísticas da memória virtual
  • w - Reporta usuários logados e o que eles estão fazendo
  • watch - Executa um programa periodicamente, exibindo saída em tela cheia

4 Conjunto de Comandos que NÃO TEM NADA A VER Com o GNU



Esta semana na série Muito além do GNU resolvi desmistificar um assunto muito mal explorado por toda galera que gosta de defender GNU a todo custo:
Que todos os comandos que utilizamos (menos os gerenciadores de pacotes) fazem parte do pacote coreutils do GNU.
Chega a ser ridículo mas sim, eu já recebi esse tipo de comentário pelo menos umas quatro vezes no canal. Uma prova disso foi que até comentário que chegou a ser apagar; mas não tem problema, o print do comentário está aqui:
ifconfig faz parte do pacote net-tools do... projeto GNU? Algo errado não está certo.
ifconfig faz parte do pacote net-tools do... projeto GNU? Algo errado não está certo.

A unica coisa que eu percebo é a falta de estudo que essa galera tem, a arrogância de acharem que GNU é indestrutível e ainda de defenderem o que não conhecem.

Resolvi então neste vídeo tratar de quatro pacotes que não tem vinculo com o pacote coreutils do GNU e que sem esses pacotes o sistema operacional fica quase inútil. Na verdade não seríamos capaz nem mesmo de formatar a máquina:


Os comandos dos pacotes Util-Linux, nettools e Iproute2 são pertencentes ao Linux, não ao GNU. Até mesmo o nome do primeiro já sugere tal coisa, não seria nem mesmo necessário debater o assunto. Inclusive todos eles se encontram hospedados no site do kernel.

Façamos uma pequena analise um pouquinho mais a fundo. O comando date por exemplo, que é um comando utilizado para verificar hora e data (e alterar hora e data também inclusive), faz parte do pacote coreutils do GNU (digite o comando man date e verifique a licença no final do manual ou digite o comando info coreutils date). OK, isso está certo.

Porém já o comando hwclock, que serve para verificar data e hora do hardware (vindo do BIOS, UEFI, Chip PROM ou qualquer coisa do tipo) e que serve também para alterar sua hora e data (tanto do hardware como do hardware para o sistema e vice versa) faz parte do pacote Util-Linux (digite man hwclock e verifique a linha sobre o autor. Ou digite info coreutils hwcloc e veja o resultado desastroso).

Já o comando cal foi escrito por Wolfgang Helbig da comunidade FreeBSD e o comando calendar veio da versão 7 do Unix da AT&T. O próprio SSH é originado dos BSDs para o Linux:

 

Na imagem abaixo temos uma lista de comandos que fazem parte do Util-Linux:

Lista de comandos do pacote Util-Linux
Lista de comandos do pacote Util-Linux

E na próxima abaixo temos uma lista de comandos que fazem parte do coreutils do GNU:

Lista de comandos do pacote coreutils
Lista de comandos do pacote coreutils

A conclusão que eu chego é que eu percebo em muitos usuários que se apaixonam pelo projeto uma inocência muito grande e defendem com unhas e dentes e a todo custo sem o minimo de conhecimento básico. Isso se torna culpa dos usuários mesmo não se interessarem em ler, pesquisar e se aprofundar.

O que as empresas usam? #2


Tivemos a primeira parte desta série onde debatemos o que grandes empresas utilizam para desenvolver e utilizarem como soluções. Agora vamos a segunda e ultima parte. Agradeço a meu grande amigo Jan Palach por esa ajuda onde foi um debate entre desenvolvedor e sysadmin (melhor papo não teria para constatar a coisa).

Netflix

Além de diversas tecnologias, utiliza NodeJS em containers Docker. A definição mais precisa do que é o NodeJS está em seu site oficial, NodeJS é um ambiente para rodar aplicações escaláveis escritas em Javascript, em resumo é um runtime baseado na engine V8 do Chrome (está escrita em C++).

De acordo com documentos de Brandam Gregg, Netflix é um ambiente muito misto onde utilizam FreeBSD na parte de Streaming e Linux em seus clouds:


Twitter

O twitter já chegou a utilizar o Ruby on Rails como plataforma de desenvolvimento principal, na época, a tecnologia se encontrava em evidência porém com alguns problemas, quem não lembra da baleia no twitter? Que era algo quase diário? Após uma sucessão de problemas, eles perceberam que o stack não funcionava para o negócio deles e trocaram para Scala uma linguagem baseada na JVM.

---------------------------------
Até onde me recordo que estive trabalhando lá, há mais de 10 anos atrás os supercomputadores e algumas workstations eram Solaris. A grande parte das workstations eram Linux e Windows, como eu era responsável por manter os ambientes da pós graduação(labs) funcionando. Tínhamos na época RedHat e Conectiva nos Linux, rodando compiladores intel, softwares como Octave, Matlab, e outros. Nos Windows tínhamos mais ou menos as mesmas combinações de softwares. Nos laboratórios do HemoLab(http://hemolab.lncc.br/) outro projeto no qual já trabalhei lá, os sistemas operacionais das workstations eram Ubuntu e um servidor Debian, hoje em dia não sei precisar como está. O LNCC é um centro de computação e pesquisa muito grande, então há muitos projetos simultâneos acontecendo, alguns projetos fazem uso intenso de plataformas Windows como alguns labs que trabalham com reconstrução tridimensional baseado no processamento de imagens médicas, mas quase sempre, os projetos mesclam tecnologias. Até mesmo máquinas Indy da Silicon Graphics existiam no local, quando trabalhei lá. Quanto à linguagens de programação, independente do SO ou plataforma, as mais utilizadas por lá eram Fortran, C++ e outras. Fortran ainda é muito utilizada no campo de pesquisa pelo seu excelente desempenho na criação de rotinas matemáticas e solvers numéricos.

PHDSoft


Empresa nacional líder no segmento de CAD aplicado à manutenção e prevenção de ativos. A época que passei por lá, era terceirizado e seu stack tecnológico era todo .net. As ferramentas da microsoft comandavam o stack tecnológico.(Não posso entrar muito em detalhes, pois não tenho permissão..)

Como podem ver, muito você encontra no highscalability onde são escritos artigos por pessoas que realmente vivenciam o dia a dia das empresas alvo, e no infoq, que é bastante bom também. Outro local excelente para aprender sobre desenvolvimento, é o Dr. Dobbs, mas lá é apenas para os fortes. :)

Compre na imago brinquedos

Compre na imago brinquedos
Utilize o cupom de desconto TOCADOTUX e ecnomize 5% na sua compra