Limitação de recursos com o cgroups – parte 1

cgroups-1_abertura.png

Os control groups — ou cgroups para encurtar — foram criados em 2006 por Paul Menage e Rohit Seth, integram o Linux desde a versão 2.6.4 (janeiro de 2008) e de forma bem simplificada consistem em um mecanismo que se encarrega de limitar, contabilizar e isolar recursos do sistema. Junto com o Linux Namespaces compõe a infraestrutura que implementa os contêineres neste sistema operacional.

Mas os cgroups não são de uso exclusivo dos contêineres e é possível utilizá-los para limitar e isolar os recursos do sistema também para os processos na “máquina física” e nesta primeira parte: processador.

ATENÇÃO — Após a publicação corrigi a concordância no texto já que cgroups está no plural e não no singular.

Continuar lendo

O comando ‘fold’

fold-1_abertura.png

O comando fold é um daqueles programas desconhecidos que sempre são instalados¹, que acabamos descobrindo por acaso e que depois ficamos nos perguntando como conseguíamos viver sem. 🙂

Basicamente o fold serve para quebrar as linhas de um arquivo texto para fazê-lo “caber” corretamente na largura da sua tela, impressora ou mesmo então para uma página web — sim, é o que uso para arrumar as saídas dos comandos para publicar aqui,

(¹) Ele integra o pacote GNU core utilities.

Continuar lendo

REST em Python com Bottle – parte 2

rest-2_abertura

Na primeira parte, a REST foi deixada funcional porém sem a opção responsável pela atualização da base de dados. Agora, além da implementação desta, há também (meio que como um bônus) algumas poucas palavras sobre o funcionamento do front-end desenvolvido¹ para justamente testar a API — até tinha pensado em exemplos que utilizassem o curl mas no final acabei optando por uma abordagem mais prática.

(¹) Desenvolvido nada, tinha uma grande parte dele já pronta… 🙂

Continuar lendo

REST em Python com Bottle – parte 1

rest-1_abertura

Algo que acabei não gostando quando da conclusão do LED Blink foi justamente da implementação da REST ter ficado incompleta — mesmo que a ideia nunca fosse implementá-la por completo por não haver necessidade. Então resolvi fazer uma implementação completa, dentro de uma nova aplicação (um cadastro “bem básico” de usuários) aproveitando a mesma infraestrutura já usada com o LED Blink, ou seja, Pyton com Bottle, SQLite no lado do servidor (o back-end) e Bootstrap e JQuery na lado do cliente (o front-end).

Esta primeira parte contempla quase toda a implementação da REST exceto pela atualização (“update”) que preferi deixar para a segunda parte junto com o o HTML (ficará bem mais fácil).

Continuar lendo

Telas do speccy no MSX – parte 3

tbzscmcb-3_abertura

Depois do hiato da semana passada segue continuação da série sobre a construção de um visualizador de telas do ZX Spectrum para MSX-DOS. Só para recordar a primeira parte tratou da organização da memória de vídeo do speccy, das diferenças dela com a do MSX e de como compensar as tonalidade das cores. Na segunda parte foi sobre como reorganizar os dados do arquivo SCR para apresentá-los na VRAM do MSX e, claro, como fazer a carga dele usando diretamente as rotinas da BDOS.

Há também uma parte complementar com um pequeno programa em Python que converte telas do ZX para dumps da VRAM em arquivos binários do MSX.

Nesta parte, conforme foi prometido, é a recuperação e tratamento dos argumentos passados pela linha de comando do MSX-DOS e como o assunto é meio chato tentarei ser breve — eu juro 😀

Continuar lendo

Hoje não tem publicação nova!

ops

Pois é, hoje não haverá publicação nova aqui neste blog. Mas isto não é motivo para deixar de trazer algo interessante!

Por exemplo, a ideia de Dan Walsh para explicar como funcionam as políticas do SELinux no formato de um livro para colorir. Daí é imprimir, pegar uma caixa de lápis de cor (giz de cera, canetinha etc), ler o conteúdo, pintar as ilustrações e, no final, parar de desabilitar o recurso em cada nova instalação de RHEL/CentOS ou Fedora. 🙂