Firmu vede
od desíti
k pěti.
Ví to velcí,
ví to malé
děti.
V tomto stavu,
milá sestro,
bratře,
už jsme na dvou,
maximálně
na třech.
Chce to sílu,
chce to pevnou
vůli
zabránit mu
dosažení
nuly.
Firmu vede
od desíti
k pěti.
Ví to velcí,
ví to malé
děti.
V tomto stavu,
milá sestro,
bratře,
už jsme na dvou,
maximálně
na třech.
Chce to sílu,
chce to pevnou
vůli
zabránit mu
dosažení
nuly.
Robotický
vysavač – no
to je poklad
v domě.
Chtěl uklidit
spadlý řetěz,
shodil celý
stromek.
Je cítit
jehličí,
příjemné
emoce,
to mezi
vločkami
blíží se
Vánoce.
Máma i
táta jsou
v radostném
rozmaru,
ozdobí
stromeček,
okno i
almaru.
Ba i ty
sýkorky
schované
v krmítku
radostně
zobají
vánoční
nabídku.
Všude jen
úsměvy,
laskavé
pohledy,
gramofon
potichu
přehrává
koledy.
Do ticha
ozve se
zvolání
svědecké:
„Kdo sežral
v kuchyni
veškeré
linecké?!“
Pan a paní
Maxwellovi
na vánočním
banketu
pozřeli ne-
prozřetelně
každý půlku
magnetu.
Pan Maxwell je
přitahován
ke své ženě
velice,
nedokáže
dodržeti
společenské
hranice.
Stalo se to
na banketu
a ne za zdmi
ložnice:
takto vznikly
o Vánocích
Maxwellovy
rovnice.
Nikdy jsem nic
neuměl,
všichni se mi
smáli.
Teď se na ně
na všechny
dívám z výšky,
z dáli.
Teď jsem já pan
ředitel
a oni jsou
nuly.
Já si kouřím
doutníky,
oni Startky
hulí.
Teď jsem já pan
ředitel,
ne jak jiní
mnozí.
Já si řídím
bavorák,
je škodovka
vozí.
Nikdy jsem nic
neuměl,
co však na tom
sejde?
Teď jsem já pan
ředitel,
táhni z cesty,
šmejde!
Na zlatém
podnose
nese se
kančí,
na horní
palubě
čile se
tančí.
Do lodi
zatéká,
posádka
jančí,
na horní
palubě
pořád se
tančí.
Moc pozdě
nastalo
vystřízli-
vění.
A horní
paluba…
už dávno
není.
Potřebujeme minimalizovat logickou funkci, která pro hodnoty 1, 2, 3, 4, 5, 6 a 10 vrací 1, pro 11 a 14 může vracet cokoliv, a pro zbývající hodnoty vrací nulu. K výpočtu minimální logické funkce se používá Quine–McCluskey algorithm. Ve Wolfram language ho zavoláme následujícím způsobem:
BooleanMinimize[BooleanFunction[Reverse[{0,1,1,1,1,1,1,0,0,0,1,_,0,0,_,0}]]][a,b,c,d]
Dostaneme:
(!a && b && !d) || (!a && !c && d) || (!b && c)
Pomocí BooleanFunction si vytvoříme logickou funkci, které předložíme seznam očekávaných hodnot. Pozor, funkce očekává hodnoty v obráceném pořadí, proto musíme použít Reverse. Pomocí BooleanMinimize pak vypočítáme minimalizaci logické funkce. Výrazem [a,b,c,d] do obecné logické funkce dosadíme konkrétní jména proměnných.
Poetry je správce softwarových projektů napsaných v jazyce Python. Chová se velmi podobně jako Cargo, což je správce projektů v jazyce Rust.
Poetry nainstalujeme na Windows následujícím příkazem:
(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -
V případě konfliktů mezi různými verzemi Pythonu je možné závěrečný příkaz python nahradit absolutní cestou k souboru python.exe.
Nakonfigurujeme Poetry tak, aby se virtuální prostředí vytvářelo vždycky v aktuálním projektu:
poetry config virtualenvs.in-project true
Poetry máme nainstalováno a nakonfigurováno a můžeme ho začít používat.
Založíme nový projekt:
poetry new PROJNAME
Skočíme do vytvořeného adresáře:
cd PROJNAME
Přidáme projektové závislosti:
poetry add PKG1 PKG2 PKG3
Přidáme vývojové závislosti:
poetry add -D PKG4 PKG5 PKG6
Potřebné informace jsou uloženy v souboru pyproject.toml. Ten můžeme vložit repozitáře jako součást projektu. Na jiném počítači pak z tohoto souboru vytvoříme potřebné prostředí příkazem:
poetry install
V takovém prostředí můžeme spouštět libovolné příkazy takto:
poetry run ANYCOMMANDYOULIKE
Příkaz npm init vytvoří soubor package.json s nastavením projektu. Příkaz npm install nainstaluje závislosti projektu do adresáře node_modules. Spustitelné programy jsou uloženy v adresáři node_modules\.bin. Bohužel přímé spouštění těchto programů s cestou (např. node_modules\.bin\sass) nefunguje správně. Je potřeba toto lokální prostředí „aktivovat“, tj. zařídit, aby se cesta node_modules\.bin dostala do systémové proměnné PATH. Jednou z možností, jak to zařídit, je příkaz PowerShellu:
$Env:Path += ";$(npm bin)"
Po jeho vykonání můžeme spouštět programy nainstalované pomocí npm install bez cesty a všechno funguje správně.
Jak převést obsah starého pomalého a odcházejícího disku na nový rychlý SSD tak, aby zůstala zachována instalace Windows a všech programů a licencí?
Z USB flash disku zavedeme a bez instalace spustíme Ubuntu Desktop, takže můžeme využívat plný sortiment linuxových nástrojů. Který z nich ale vybrat?
Můžeme kopírovat celé disky stejným způsobem, jako kopírujeme soubory (sudo /dev/sda /dev/sdb), ale při prvním čtení prvního vadného sektoru ze zdrojového disku příkaz selže a není možné ho donutit k pokračování. Nebo je možné použít příkaz blokového kopírování (sudo dd if=/dev/sda of=/dev/sdb), který umožňuje ignorovat vadné bloky, ale zase je otázkou, jakou nastavit velikost kopírovaných bloků. Příliš malá velikost (např. 512 B) povede k dlouhé době kopírování, příliš velká velikost povede k přeskakování takto velkých bloků i v případě, že je v nich vadný byť jen jediný sektor.
Naštěstí existuje příkaz ddrescue. Tento příkaz se nejprve pokusí kopírovat celý obsah pomocí velkých bloků. Pokud kopírování některého bloku selže, jeho pozice se zapamatuje, ale kopírování běží dál až do konce. V dalším kole dochází ke kopírování problematických bloků po menších a menších částech, až se nakonec kopírují jednotlivé sektory. Tímto způsobem je program schopen fungovat rychle a efektivně, ale zároveň nedojde ke zbytečným ztrátám dat.
Použitá varianta příkazu
ddrescue -f -r3 /dev/sda /dev/sdb mapfile
správně zkopírovala celý obsah HD na SSD až na jediný vadný sektor.
# enlarge the 3rd partition (this example uses mmcblk0) growpart /dev/mmcblk0 3 # grow the volume to take up the rest of the disk resize2fs /dev/mmcblk0p4 # extend the root filesystem to take up the space # just added to the volume that it is in lvextend -l 100%FREE /dev/mapper/fedora-root # resize root partition for the server image (which uses xfs) xfs_growfs -d /Příkaz
growpart nefunguje a musíme ho nahradit příkazem sfdisk, do kterého je nutno ručně zadat ", +" (tj. čárka, mezera, plus, bez uvozovek), jak je popsáno v článku Resize by sfdisk. Příkaz resize2fs také negunguje a musíme ho nahradit příkazem pvresize. Výsledná posloupnost příkazů je pak:
sudo sfdisk -N 3 /dev/mmcblk0 --force sudo pvresize /dev/mmcblk0p3 sudo lvextend -l 100%VG /dev/mapper/fedora-root sudo xfs_growfs -d /Tento postup skončí úspěšně.
sudo dnf install edk2-aarch64 libguestfs-tools-c qemu-system-aarch64Poté spusťme vytvoření a instalaci virtuálního počítače.
sudo virt-install \
--name Fedora_27_AArch64 \
--ram 2048 \
--arch aarch64 \
--disk size=8 \
--os-variant fedora22 \
--location https://dl.fedoraproject.org/pub/fedora-secondary/releases/27/Everything/aarch64/os/ \
--extra-args "inst.ks=https://pwhalen.fedorapeople.org/kickstarts/Fedora-Minimal-AArch64.ks"
Poslední parametr zapíná KickStart, tj. použití předchystaných odpovědí pro instalační program, aby je člověk nemusel zadávat ručně a instalace proběhla automaticky. Výše uvedená konfigurace vytváří administrátorský účet „root“ s heslem „fedora“.
Existenci nainstalovaného virtuálního počítače můžeme zkontrolovat příkazem virsh.
virsh --connect qemu:///system list --allStejným příkazem můžeme virtuální počítač následně ovládat. Z hostitelského počítače se do virtuálního počítače můžeme připojit příkazem
ssh. Virtuální počítač vzhledem k softwarové emulaci není příliš rychlý, ale běží v něm standardní distribuce Fedora 27 a všechno funguje běžným a známým způsobem.
Déšť dopadal
zespoda mi
na tělo,
to když v létě
z ničeho nic
vzpršelo.
Sníh obarvil
nohavice
na bílo,
to když v zimě
překvapivě
vzsněžilo.
Z tváře ti slíznu
slzu, milá,
jež se tam náhle
objevila.
Z reakce tvojí
poznám brzy:
není to tvář a
nejsou slzy.
Přiznávám uvnitř
zpovědnice,
že jsem měl špatné
souřadnice.
Ty ses včera,
milý zlatý,
zase zlil jak
prase!
Slíbils, že to
neuděláš,
udělals to
zase.
Vločky se
snášejí,
na houslích
tají,
houslisté
namrzlé
hmatníky
mají.
Cellista
zoufalý
v každičkém
ohledu,
bodec mu
úplně
zamrzl
do ledu.
Klarinet
nehraje,
má volno –
svátek,
v mrazu mu
k hubičce
přimrzl
plátek.
Hornista
potichu
modlí se
k Bohu,
rampouch mu
vypadl
z lesního
rohu.
Trubka je
ve skladbě
pozadu
místy,
těžko je
zmáčknouti
zamrzlé
písty.
Varhaník
vytváří
zoufalé
grimasy,
klávesy
hrají mu
nechtěné
dvojhlasy.
Jenom pan
dirigent
vypadá
vesele,
mává si
rukama,
teplo mu
po těle.
Koncert se
povedl,
publikum
souhlasí;
Česká mše
vánoční
v mrazivém
počasí.
Znaje dobře
peněz cenu,
běžím těžit
kryptoměnu.
A ač těžím
v jednom kuse,
těžím s křížkem
po funuse.
Kup mi harddisk
jeden tera
a jednoho
jesetera.
Zkumavky jsme
vzali včera,
rajčata dnes
koupí dcera.
Zavrhneš
rozdíly
biolo-
gické,
kritiky
označíš
za zpáteč-
nické.
Už nikdy
nenazveš
pravými
jmény
ni žádné
muže a
ni žádné
ženy.
Namísto
bývalých
mužů a
žen
jednotní
lidé tu
zůstanou
jen.
Ač mi nikdo nevěří,
měl jsem v noci zvláštní sen.
V tom snu ležel v příšeří
pravidelný pětistěn.