V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Rozeslat dopisy se mi nakonec podařilo s pomocí následujícího skriptu:
#!/bin/sh # export from="Administrator ankety <webmaster@domena.cz>" export smtp=mail.domena.cz export ttycharset=iso-8859-2 cp respondenti-kody-original.txt respondenti-kody.txt for OSOBA_EMAIL in `cat respondenti-mail.txt`; do KOD=`head -n1 respondenti-kody.txt`; sed -e '1,1d' respondenti-kody.txt > pomocna; cat pomocna > respondenti-kody.txt; cat zacatek-dopisu.txt > dopis; echo $KOD >> dopis; cat konec-dopisu.txt >> dopis; echo "Odesilam mail s kodem $KOD na adresu $OSOBA_EMAIL"; mail -s "Pristupovy kod" $OSOBA_EMAIL < dopis; done rm pomocna rm dopis rm respondenti-kody.txtKaždý řádek souboru respondenti-mail.txt obsahuje jednu mailovou adresu, každý řádek v respondenti-kody-original.txt pak jeden platný přístupový kód – těch samozřejmě musí být alespoň tolik, co mailových adres. Samotný text dopisu skládám ze dvou souborů zacatek-dopisu.txt a konec-dopisu.txt, mezi něž vkládám inkriminovaný kód.
S čím jsem si dlouho nevěděl rady a co jsem nakonec vyřešil poněkud nehezky, bylo vyextrahování správného kódu ze souboru – jaksi se mi nepodařilo najít příkaz, který by vypsal pouze n-tý řádek z tohoto souboru. Takže si vždy zkopíruju ten první a následně jej ze souboru smažu, hloupé, že? Asi by bylo lepší mít maily i kódy v jednom souboru, vždy adresu a kód na jednom řádku a nějak to ve skriptu z toho vypreparovat – něco mi říká, že to by byl úkol pro awk – ten taky ještě neumím :(
Ještě poznámka k znakové sadě – program mail sám (z LOCALES) pozná, že mám systém v UTF-8, já však raději chci poslat dopisy v ISO-8859-2, proto to nastavení.
Tiskni
Sdílej:
cat soubor | head -n cisloradku | tail -n 1
Např. programNR == 100, NR == 200vypíše záznamy (řádky) 100 až 200.
man sed
azurit@azurit:~$ cat pokus.txt prvy druhy treti stvrty azurit@azurit:~$ grep -n '.*' pokus.txt | grep '^2:' | sed -e 's/2:\(.*\)/\1/g' druhy
sed -e "$n ! d"nebo méně elegantně ale efektivněji (hlavně pro delší soubory)
sed -e "$n ! d ; $n q"
read
.
for OSOBA_EMAIL in `cat respondenti-mail.txt`nepřečte Hynek Vychodil...
cat respondenti-mail.txt | while read OSOBA_EMAIL
sed 's: :\n:g' respondenti-mail.txt > '~'; mv '~' respondenti-mail.txt
#!/bin/sh # export from="Administrator ankety <webmaster@domena.cz>" export smtp=mail.domena.cz export ttycharset=iso-8859-2 citac=1 cat respondenti-mail.txt | while read OSOBA_EMAIL do KOD=`sed -ne "$citac p" respondenti-kody-original.txt`; citac=$((citac + 1)) cat zacatek-dopisu.txt > dopis; echo $KOD >> dopis; cat konec-dopisu.txt >> dopis; echo "Odesilam mail s kodem $KOD na adresu $OSOBA_EMAIL"; mail -s "Anketa" $OSOBA_EMAIL < dopis; sleep 0.5; done rm dopis