La socio post la disfalo

Disfalita la civilizo, la manieroj de kompreni la vivon aliiĝis radikale, kaj bone kaj malbone.

La landoj militis en ferocaj militoj por ŝteli la risurcojn al aliaj regionoj, per senespera klopodo por konservi siajn riĉajn vivmanierojn. Malgraŭe la regionoj kaj landoj plej senavantaĝaj rezistis, kaj ili malfaciliĝis iliajn celojn, kiujn la socio malaprobis, do iamaniere la grandparton da risurcoj partigis la reginta klaso. La sklaveco kaj la genocido okazis en multaj landoj kaj regionoj. Sed la tensio neniam ĉesis.

Unu monaton, en la jaro 2050, oni faligis 18 atombombojn en kelkajn partojn de la mondo, kiuj formortigis multajn speciojn kaj malpliigis la homan populacion. La atombombojn estis senkompate faligitaj de potencaj nacioj unu al alia. Eble multaj faris tion pri rabio kaj kiel lasta montro de sia potenco, kvankam ili malaperus iujn minutojn poste; ĉiam fidelaj al sia nacio, ili efektivigis la ordojn.

Legu plu el La socio post la disfalo

Fadenoj en Python

La komputaj fadenoj permesas al ni fari taskojn samtempe. En Python ni povas uzi la modulon threading, sed estas multaj aliaj.

Ni kreos kelkajn simplajn fadenojn (threads).

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import threading
import time
import random

def sleeper(name, s_time):
    print('{} komencita je {}.'.format(
        name, time.strftime('%H:%M:%S', time.gmtime())))

    time.sleep(s_time)

    print('{} finiĝis je {}.'.format(
        name, time.strftime('%H:%M:%S', time.gmtime())))


for i in range(5):
    thread = threading.Thread(target=sleeper, args=(
        str(i + 1) + 'a fadeno', random.randint(1, 9)))

    thread.start()

print('Mi finiĝis, sed la aliaj fadenoj ne.')

Unue ni importis la bezonatajn modulojn: time, random kaj threading. Por krei je threads ni nur bezonas la lastan. Je time ni uzis por simuli takson kaj akiri ĝian tempo de komenco kaj fino; random havigas al nia takso hazardan daŭron.

La funkcio sleeper «dormas» (faras nenion) dum la tempo kiu ni specifas, diras al ni kiam komencis «dormi» kaj kiam finis «dormi». Kiel parametroj ni donas la nomon, kiu ni volas doni al la fadeno, kaj la tempon, dum kiu «dormos» la funkcion.

Poste ni kreas "por"-iteracion, kiu kreas 5 fadenojn, kiuj plenumas la sleeper-funkcion. En la konstruilo (threading.Thread) ni devas diri la funkcion por plenumi (target=sleeper) kaj la parametrojn, kiujn ni volas doni al ĝi (args=('str(i + 1) + 'a fadeno', random.randint(1, 9))).

1a fadeno komencita je 15:17:07.
2a fadeno komencita je 15:17:07.
3a fadeno komencita je 15:17:07.
4a fadeno komencita je 15:17:07.
5a fadeno komencita je 15:17:07.
Mi finiĝis, sed la aliaj fadenoj ne.
3a fadeno finiĝis je 15:17:13.
5a fadeno finiĝis je 15:17:13.
2a fadeno finiĝis je 15:17:14.
4a fadeno finiĝis je 15:17:14.
1a fadeno finiĝis je 15:17:16.

La resulto de la plenumo estas hazarda: ni ne scias kiu fadeno finos unue.

xdg-open

Tre utila komando estas xdg-open. Per ĝi ni povas plenumi iun ajn programon aŭ URLon el la komandlinio. Se mi plenumus xdg-open https://freakspot.net, malfermus sin la ĉefa paĝo el ĉi tiu retejo per Abrowser (mia defaŭlta retilo) kaj mi povus plenumi alian komandon. Unu malavantaĝo estas, ke ni nur povas aldoni unu parametron, do por malfermi du retpaĝojn, ni devus plenumi xdg-open dufoje.

ReTux: aventuro kontraŭ la fiŝa imposto

En la videludo ReTux, Tukso estas la ĉefrolulo de aventuro, en kiu li devos venki la Neĝan Reĝon, kiu klopodas trudi imposton pri fiŝoj. Neniu pingveno ŝatas, ke oni forprenu riajn fiŝojn.

Legu plu el ReTux: aventuro kontraŭ la fiŝa imposto