26. 12. 2016

Rodinná

Jana Březíková si pro dceru Marušku objednala básničku do recitační soutěže. Básničku ze života, básničku optimistickou, o lásce, rodině, přírodě a zvířátkách. Nuže tady je.

Ani taťka
ani mamka
nemaj’ na psa
nervy,
proto chovám
v teráriu
roztomilé
želvy.

Jedna z nich, ta
veliká, ta
jmenuje se
Ema,
když dostane
svačinu, tak
za chvilku ji
nemá.

Druhá z nich, ta
maličká, co
Emě říká
„ženo“,
tato dosud –
chudinka – však
ještě nemá
jméno.

Tak to bylo
donedávna
před tou tragé-
dií,
nebýt jí, tak
obě želvy
s námi dosud
žijí.

Ukázalo se, že Maruška bude na soutěži nakonec recitovat jinou básničku. Jakoukoliv, ale jinou!

24. 12. 2016

Logistická

Všichni už se
na Vánoce
neskonale
těší,

co naleznou
po krabicích,
na stromeček
věší.

Z rádia i
gramofonu
koledy se
linou,

ten krátí čas
cukrovím a
tamten medo-
vinou.

V předvánoční
atmosféře
jedna věc je
jistá:

není snadné
dodat všechno
správně na svá
místa.

Ježíšek si
letos dárky
neoznačil
čipy;

táta dostal
podprsenku,
máma troje
slipy.

18. 12. 2016

Polygrafická

— Pojď se mnou
miláčku
nahoru,

podlehnem’
společně
Amoru

v RGB
barevném
prostoru.

— Vědoma
starého
zlozvyku

pokud jde
o tvoji
praktiku,

z hrdosti
či možná
ze zvyku

udělám
já ti to
ve CMYKu.

12. 12. 2016

Zapadající

Zírám v němém
úžasu
na slunce a
mraky,

když den míří
k přesčasu;
Stůj a zírej
taky.

27. 11. 2016

AMOROUS

WRITING
ALL IN
UPPERCASE

ABOUT
LOVE AND
ABOUT GRACE:

SADLY
THAT IN
ANY PLACE

I WILL
NEVER
SEE YOUR FACE.

YOU, MY
LOVELY
DATABASE.

19. 11. 2016

Alegorická

Prstem po kraji
sklenice

jezdím a zvuky
z ulice

tonou v tvém tichém
vrnění

dřív, než se scéna
promění.

Než ticho přejde
v crescendo,

než oslovím tě
„legendo“,

než u poslední
myšlenky

strhneš mi ruku
do sklenky.

6. 11. 2016

Definitivní

Na zdi mu tam visí,
přitom respekt budí,
dneska jako kdysi.
Bohatí či chudí

z jeho vypínače
mají špatné spaní,
někdo ihned pláče,
slzy kryje dlaní.

Chování všech lidí
je stereotypní,
když tam nápis vidí:
„Vesmír — stiskem vypni“.

28. 10. 2016

23. 10. 2016

Zkreslená

Svět už teď
není to,
co dřív býval.
Přes okno
jež nikdo
neumýval

jeví se
snad méně
nebezpečný,
nejsou tam
ženy či
dámy, slečny,

nejsou tam
vášně či
touhy, chtíče,
je prázdné
sedadlo
u řidiče.

Ve stavu
útlumu,
apatie
pomůže
možná psy-
chologie.

Psycholog
jasně řek’
(je to cvok, no):
„Zvedni tu
prdel a
umyj okno!“

16. 10. 2016

Literární

Pavouci
3D-
ruko-
pisem
ovinou
knihy
spis za
spisem.

Sic s grama-
tickým
kompro-
misem
o nich psát
básně
uměl
bysem.

13. 10. 2016

Mimozemská

Řeknu to hned
v úvodu:
bez zjevného
důvodu
létají tu
talíře
neznámého
původu.

Snad se brzy
unavíš,
snad naštvanost
přejde.
Uklidni se,
miláčku,
takhle to dál
nejde.

Právě došly
zásoby
kusů za pár
kaček,
teď létají
talíře
slavných drahých
značek.

30. 8. 2016

Linux na emulovaných procesorech (MIPS, S390X, PPC64, ARM64, …)

Pokud chce programátor psát přenositelné programy v C++, měl by si pohlídat, aby se správně překládaly a správně fungovaly na různých hardwarových platformách. Každý procesor má jinou šířku registrů, některý používá little endian a jiný big endian. Správně napsaný program by měl fungovat ve všech případech, bez ohledu na tyto rozdíly.

Není ovšem snadné získat přístup k potřebnému množství různých typů počítačů a procesorů. Naštěstí Linux a jeho nastroje qemu, debootstrap a chroot umožňují provozovat emulované prostředí jednotlivých procesorů i na běžně dostupném hardwaru, jak je hezky popsáno v článku Arm64Qemu. Můžeme takto pracovat s procesory, které podporuje Debian, a které zároveň podporuje QEMU.

Příprava hostitelského prostředí

Uvedený článek používá jako hostitelský systém Debian, ovšem ve verzi Stable jsou chyby, které znemožňují spouštění programů sestavených pro některé procesory. Proto použijeme Ubuntu (Server), kde jsou novější verze potřebných programů a tyto chyby jsou tam opraveny.

Doinstalujeme potřebné blíčky:

apt-get install \
 qemu \
 qemu-user-static \
 binfmt-support \
 debootstrap

Instalace Linuxu pro danou hardwarovou platformu

Linuxovou distribuci Debian Jessie pro procesor MIPS nainstalujeme do adresáře debian-mips tímto příkazem:

qemu-debootstrap \
 --arch=mips \
 --keyring /usr/share/keyrings/debian-archive-keyring.gpg \
 --variant=buildd \
 --exclude=debfoster \
 jessie \
 debian-mips \
 http://ftp.debian.org/debian

Vykonání příkazu nějakou dobu trvá, protože všechny potřebné soubory se stahují z internetu.

Spuštění emulovaného Linuxu

Nainstalovanou linuxovou distribuci spustíme příkazem:

chroot debian-mips

Existenci emulovaného prostředí snadno ověříme příkazem:

uname -a

Konfigurace prostředí v emulovaném Linuxu

Jako první nainstalujeme v emulovaném prostředí tyto balíčky:

sudo apt install \
 vim \
 sudo \
 dialog \
 locales

Potřebujeme mít možnost editovat soubory (vim), mít k dispozici administrátorská práva i pro jednotlivé vybrané uživatele (sudo), používat textová dialogová okna v příkazu dpkg-reconfigure (dialog) a mít možnost zvolit národní prostředí (locales).

Zvolíme národní prostředí, např. cs-CZ.UTF-8:

dpkg-reconfigure locales

Zvolíme správnou časovou zónu, např. Europe/Prague:

dpkg-reconfigure tzdata

Vytvoříme účet obyčejného uživatele:

adduser username

Vložíme tohoto uživatele do skupiny sudo, abychom mu umožnili používat příkaz sudo:

adduser username sudo

Konfigurace schroot

Abychom mohli spouštět emulované prostředí i z normálního uživatelského účtu, nainstalujeme příkaz schroot:

apt install schroot

Do jeho konfiguračního souboru /etc/schroot/schroot.conf vložíme tento blok:

[mips]
type=directory
description=Debian stable mips
users=username
directory=/home/username/debian-mips
preserve-environment=true

A upravíme soubor /etc/schroot/default/fstab tak, že odkomentujeme řádek začínající /home. Tím zajistíme, aby emulovaný systém měl svůj vlastní domovský adresář a nepoužíval domovský adresář sdílený s hostitelským systémem.

Spouštění pomocí schroot

Do emulovaného systému se pak dostaneme příkazem:

schroot -c mips

13. 7. 2016

Doktorská

Vlasy jí rozcuchal,
natrhnul drEs.
Byl jako drOga, než
odletěl kdes’.

DrObounký, menší než
Napoleon,
měl však svůj šarm a drAjv
ten drZý drOn.

3. 6. 2016

Vybíravá

Už jsem z toho
unavená,
trápí mě to
kolik dní

— oba jsou to
muži milí,
oba muži
nevšední —

tak si hledám
kritérium,
které všechno
zohlední.

Přestože jsou
oba hodní
a oba dva
pohlední,

stejně nejvíc
se mi líbí
z obou dvou ten
prostřední.

20. 5. 2016

Metabolická

Na okno
ťukal
sen.

Vyšel jsem
za ním
ven

a on mi
řekl
jen:

Dříve než
začne
den,

den plný
různých
změn,

budeš mít
vytvo-
řen

urobi-
lino-
gen.

15. 4. 2016

Seznam vypnutých varování překladače gcc/clang

Pokud potřebujeme zjistit, která varovaní překladače gcc/g++ nebo clang/clang++ jsou vypnutá, můžeme to udělat následujícím příkazem:

$ g++ -Wall -Q --help=warning | grep "\[disabled\]"
  -Wabi                           [disabled]
  -Wabi-tag                       [disabled]
  -Waggregate-return              [disabled]
  ...
  -Wwrite-strings                 [disabled]
  -Wzero-as-null-pointer-constant [disabled]
  -Wzerotrip                      [disabled]

Vypsaný seznam správně zohledňuje vliv ostatních parametrů, které řídí úroveň varování, např. -Wall.

9. 4. 2016

Dobrosrdečná

Přátel on měl
vždycky dost,
z okna viděl
na hrad Kost.

Vždycky plný
radosti,
byl to dobrák
od Kosti.

3. 4. 2016

Lyrická

Na molu
v mollové
tónině
hrál Vašek
na flétnu
Gábině.

Gábina
tváří se
povadle,
tváře má
smutné a
propadlé.

Václave,
a co jsi
čekal?
Gábina
raději
metal!

24. 3. 2016

Organizační

Do Boží
mlýnice
sypou
čas,

melou tam
osudy
lidských
mas.

Chytne-li
mlynáře
ischi-
as,

to se pak
rozezní
z nebe
hlas:

"Dnes máme
zavřeno,
zítra
zas.

Což pro vás
znamená
tento
vzkaz:

Dnes každý
za sebe
sám se
spas."

3. 2. 2016

Acer Aspire E11 a tuhnoucí Ubuntu

Když se na notebook Acer Aspire E11 nainstaluje Ubuntu 15.10, tak po nějaké době běhu počítač přestane na cokoliv reagovat. Nejvýraznější je to při používání programu Chromium, ale dělá to i v případě Firefoxu.

Dotazem na Ask Ubuntu jsem si ověřil, že s podobným problémem se potýkají i ostatní. Počáteční rady nevedly k cíli, ale závěrečná rada ano. Týká se tzv. C stavů procesoru neboli různé hloubky uspání.

Aby notebook Acer Aspire E11 začal pořádně fungovat s Ubuntu 15.10, je potřeba upravit soubor /etc/default/grub, konkrétně řádek na němž se nastavuje proměnná GRUB_CMDLINE_LINUX_DEFAULT. K původní hodnotě proměnné je potřeba přidat parametr intel_idle.max_cstate=2. Výsledný řádek tedy bude:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=2"

Následně je potřeba uplatnit provedené změny a vygenerovat občerstvenou konfiguraci zaváděče příkazem update-grub.

Notebook Acer Aspire E11 má pravděpodobně chybu v hardwaru, která znemožňuje jeho probuzení ze stavů C3 a vyšších. Přidaný parametr zajišťuje, že nejhlubší úrovní uspání procesoru bude pouze C2.

25. 1. 2016

PDF OCR

Máme PDF soubor, který obsahuje naskenované stánky anglické knihy, a potřebujeme jej převést na holý text. Pokud možno na Linuxu a z příkazové řádky. Pojďme na to.

Nejdříve soubor PDF rozbijeme na jednotlivé stránky: Jedna stránka — jeden bitmapový soubor:

pdftoppm input.pdf page

Získáme spoustu souborů page-001.ppm, page-002.ppm, atd.

K převodu obrázků na text použijeme program tesseract. Připravíme si makefile, který nám zajistí převod všech souborů:

SRC := $(wildcard *.ppm)
DST := $(patsubst %.ppm,%.txt,$(SRC))

all: $(DST)

%.txt: %.ppm
 tesseract $< $(basename $@)

Vlastní převod spustíme jednoduše pomocí make. Vytvoří se nám soubory page-001.txt, page-002.txt, atd. Tyto sloučíme do jediného výstupního textového souboru takto:

cat page-???.txt >output.txt

A máme hotovo.

9. 1. 2016

Projektivní

Rorschachu,
jakožto
tvoje žena
jsem tvými
skvrnami
znechucena.

Po celém
domě už
rudá vzteky
nacházím
všude ty
tvoje fleky.

Skvrna jak
žena od
pasu dolů,
další jak
dvě láhve
alkoholu.

Nepáchej
doma furt
tolik škody,
zajdi si
raději
do přírody.

Venku se
zbavíš své
posedlosti,
nebudeš
furt myslet
na blbosti.

7. 1. 2016

Politická

Naše péče o přírodu
globálně je pojata.
My přírodu zachráníme,
rostliny i zvířata.

Zajistíme do budoucna
přírodu bez úhony.
Naši snahu nezastaví
fyzikální zákony.

Lide zdejší, lide prostý,
příroda to ocení,
od teď nesmíš používat
energii k topení.

1. 1. 2016

Instalace Ubuntu Serveru na HP ProLiant MicroServer Gen8

HP Proliant MicroServer Gen8 je krásný maličký nízkospotřebový server. Není problém na něj nainstalovat Ubuntu Desktop, není problém na něj nainstalovat Ubuntu Server v případě, že se používá jediný disk. Naopak je značně obtížné na něj nainstalovat Ubuntu Server, pokud mají disky pracovat v režimu RAID.

Toto by měl zařídit zaváděč GRUB. Bohužel server odmítá zavést systém z disku, pokud na něm nenajde žádný oddíl jemu známého typu.

Další problém je způsoben tím, že při instalaci systému z USB flash disku je jiné pojmenování disků během instalace a jiné pak za běhu, kvůli čemuž dochází k dalším problémům při zavádění systému.

Následující postup je sice kostrbatý, ale aspoň vede k cíli.

  • Při instalaci systému ručně vytvoříme diskové oddíly. Vytvoříme RAID oddíly podle potřeby, ale kromě toho aspoň na jednom disku musí být oddíl typu ext4 s přípojným bodem /boot.
  • Systém nainstalujeme standardním způsobem.
  • Po rebootu se objeví výzva
    grub rescue>
  • Zadáme příkaz set a vypíše se mimo jiné
    PREFIX=(hd0,msdos1)/boot/grub
    První oddíl má přípojný bod /boot, takže se v něm už adresář boot nenachází a uvedená cesta je tedy špatně. Změníme ji příkazem
    set PREFIX=(hd0,msdos1)/grub
  • Když je cesta ke GRUBu správně, můžeme zavést modul pro další fázi GRUBu pomocí
    insmod normal
    a pustit pokračování pomocí
    normal
    Systém naběhne.
  • V běžícím systému vytvoříme novou a správnou konfiguraci GRUBu pomocí
    update-grub
  • Znovu nainstalujeme GRUB pomocí
    grub-install /dev/sda

Hotovo. Konečně.

Dvojková

V binárním světě
biolog,
archeolog i
geolog
dají si grog či
jiný mok
a popřejí si
nový rok
11111100000.