V pátek 28. srpna se v Praze uskuteční již osmý Mobile Linux Hackday. Jako obvykle se potkáme v pražské pobočce SUSE v Karlíně na Křižíkově, takže kromě mobilního Linuxu je to tentokrát i příležitost přijít se podívat na nově zrekonstruované kanceláře. Začínáme v 10:00, ale dorazit můžete samozřejmě kdykoliv v průběhu dne. Setkáním vás provede David Heidelberg, vývojář GPU ovladačů v Mesa 3D a jeden z hlavních lidí české komunity kolem … více »
Představen byl Raspberry Pi Compute Module 5 Programming Jig. Jedná se o zařízení umožňující připravit Compute Module 5 do plně funkčního stavu bez nutnosti použití dalších vstupně / výstupních desek. Podporuje automatizaci pomocí nástroje rpi-sb-provisioner. Podrobnosti v dokumentaci.
Hackeři ve Francii ukradli data více než půl milionu daňových poplatníků. Je to jeden z největších hackerských útoků v dějinách země. O útoku z konce června informovala až teď daňová správa. Teprve od pondělí dotčeným občanům zasílá e-maily s instrukcemi, jak postupovat dál. Hackeři se sice nedostanou k penězům dotyčných, hrozí ale věrohodné podvody. Hackeři získali třeba celá jména, údaje o rodinných příslušnících nebo také údaje o
… více »Společnost Framework představila nový Framework Laptop 12 s Intel Core Series 3, Thunderbolt 4, Wi-Fi 7, volitelnou čtečkou otisků prstů a podsvícenou klávesnicí s open-source firmwarem ZMK. Objednat lze s předinstalovanou Fedorou 44 KDE Plasma.
Byl vydán Mozilla Firefox 154.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 154 bude brzy k dispozici také na Flathubu a Snapcraftu.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).
Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.
Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).
Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.
Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.
Tak mám ve sém ~/bin další skript, bez kterého jsem jak bez ruky.
Čas od času je potřeba najít soubor, k tomu slouží příkaz find. Pro mě byl tento příkaz vždy trochu nešťastný, protože je příliš mocný a skoro nikdy jsem tam ty parametry napoprvé nenaskládal ve správném pořadí. Vyřešil jsem si to skriptem, který jsem nazval sifi - simple find (i když si stejně pokaždé vzpomenu na syfilis; aspoň se to líp pamatuje). Skript je triviální:
#!/bin/sh find . -name "$1"
Používám ho dost často při programování v Javě. Typicky vím, jak se nějaká třída jmenuje, ale nevím jak hluboko je pohřbená v balících:
svn revert `sifi PohřbenáTřída.java`
Když mí po přepínání větví začne zlobit pythoní aplikace, dost často to vyřeší
rm `sifi '*.pyc'`
Tiskni
Sdílej:
mkcd() { mkdir -p "$1" && cd "$1"; }. Jinak mám raději samostatné soubory, které můžu kopírovat, poslat, zálohovat...
Proto pouzivam zsh, pro dane priklady to vypadalo:
svn revert **/ZakopanaTrida.java
rm **/*.pyc
(pro zsh musi byt zapnuta option extendedglob, neco jako "setopt extendedglob" v ~/.zshrc). Plus zsh ma uzasny autocomplete (doplnuje treba i remote adresare/fajly ze svn nebo ssh, kdyz pisu "scp asdf.txt stroj_nekde:dir1/dir2")
Pro skripty porad pouzivam bash (kvuli prenositelnosti). Ale jako interaktivni shell je zsh hodne pohodlne, globbing zsh je brutalne silnej (vsechny moznosti nezna snad ani autor sam
), napr:
ls -l (#i)**/*nejaka*~*jina*(.)
vylistuje vsechny soubory libovolne hluboko '**', case insensitive '(#i)', ktere zaroven nematchujou '*jina*' a jsou obycejnym souborem '(.)'. Vetsinou takhle "silene" globy nepotrebuju, nekdy se to presto hodi. IMHO zsh-completion se mi zda taky lepsi nez bash-completion.
Nekdy se taky hodi zmv - hromadny prejmenovani souboru, podporuje stejny globbing a capture groups (jako zavorky u regexpu).
BTW sample zshrc kdyby to chtel nekdo zkusit.
Používám něco obdobného, ale navíc i pro prohledávání souborů podle obsahu. (Plus přidávám pár dalších drobností.)
# Hledani souboru podle jmena.
# (Pouziti: find-name /nejaky/adresar/ 'soubor*.txt')
find-name () {
local dir=$1
local name=$2
shift 2
find "$dir" -name "$name" $*
}
# Hledani souboru podle obsahu.
# (Pouziti: find-content /nejaky/adresar/ 'hledany retezec')
find-content () {
local dir=$1
local content=$2
shift 2
find "$dir" -type f -exec grep -il -- "$content" {} \; $*
}
# Porovnavani rozdilu mezi soubory/adresari bez vypisu podrobnosti.
# (Pouziti: ddiff /nejaky/adresar/ /nejaky/jiny/adresar/)
alias ddiff='diff --brief'
# Vypis absolutni cesty k souboru/adresari, volitelne i s kvalifikovanym
# domenovym jmenem ve tvaru prijimanem programem scp.
# (Pouziti: pt /nejaky/soubor/nebo/adresar
# fpt /nejaky/soubor/nebo/adresar)
pt () {
echo `readlink -f "$*"`
}
fpt () {
echo `hostname -f`:`pt "$*"`
}
# Vytvoreni adresare s okamzitym vstoupenim do nej.
# (Pouziti: mkdir-cd novy-adresar)
mkdir-cd () {
mkdir $* && shift $[$#-1] && cd $1
}
Skript je pěkný, na příkazové řádce se může hodit, ale…
Typicky vím, jak se nějaká třída jmenuje, ale nevím jak hluboko je pohřbená v balících
…nechceš zkusít nějaké IDE?
Např. v Netbeans zmáčknu Ctrl+O a začnu psát název třídy – hledá se nejen v aktuálním projektu, ale i v knihovnách a v JRE. Pak jen stačí zmáčknout enter a jsi přímo v té třídě. Podpora (nejen) SVN tam taky je.
(Btw ten web je zoufale hnusný, teď ho vidím poprvé a asi naposled. To první, co uživatel uvidí, je reklama přes celou obrazovku? Na pornowebech možná, ale tady?)