Protože je už po aprílu, můžou strahováci opět zveřejnit program další Virtuální Bastlírny, aniž by připravená témata působila dojmem, že jde o žert. Vězte tedy, že již v úterý 7. dubna od 20:00 proběhne VB, kde se setkají bastlíři, technici, učitelé i nadšenci do techniky a kde i vy se můžete zapojit do družného hovoru, jako by všichni seděli u pomyslného piva. Co mají bastlíři tento měsíc na srdci? Pravděpodobně by nás musel zasáhnout meteorit
… více »Byla vydána verze 26.1 aneb čtvrtletní aktualizace open source počítačového planetária Stellarium (Wikipedie, GitHub). Vyzkoušet lze webovou verzi Stellaria na Stellarium Web.
VOID (Video Object and Interaction Deletion) je nový open-source VLM model pro editaci videa, který dokáže z videí odstraňovat objekty včetně všech jejich fyzikálních interakcí v rámci scény (pády, kolize, stíny...) pomocí quadmaskingu (čtyřhodnotová maska, která člení pixely scény do čtyř kategorií: objekt určený k odstranění, překrývající se oblasti, objektem ovlivněné oblasti a pozadí scény) a dvoufázového inpaintingu. Za projektem stojí výzkumníci ze společnosti Netflix.
Design (GitHub) je 2D CAD pro GNOME. Instalovat lze i z Flathubu. Běží také ve webovém prohlížeči.
Příspěvek na blogu herního enginu Godot představuje aplikaci Xogot přinášející Godot na iPad a iPhone. Instalovat lze z App Storu. Za Xogotem stojí Miguel de Icaza (GitHub) a společnost Xibbon.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za březen (YouTube).
ESP-IDF (Espressif IoT Development Framework), tj. oficiální vývojový framework pro vývoj aplikací na mikrokontrolérech řady ESP32, byl vydán v nové verzi 6.0. Detaily na portálu pro vývojáře.
DeepMind (Alphabet) představila novou verzi svého multimodálního modelu, Gemma 4. Modely jsou volně k dispozici (Ollama, Hugging Face a další) ve velikostech 5-31 miliard parametrů, s kontextovým oknem 128k až 256k a v dense i MoE variantách. Modely zvládají text, obrázky a u menších verzí i audio. Modely jsou optimalizované pro běh na desktopových GPU i mobilních zařízeních, váhy všech těchto modelů jsou uvolněny pod licencí Apache 2.0. Návod na spuštění je už i na Unsloth.
Cursor (Wikipedie) od společnosti Anysphere byl vydán ve verzi 3. Jedná se o multiplatformní proprietární editor kódů s podporou AI (vibe coding).
Průkopnická firma FingerWorks kolem roku 2000 vyvinula vícedotykové trackpady s gesty a klávesnice jako TouchStream LP. V roce 2005 ji koupil Apple, výrobu těchto produktů ukončil a dotykové technologie využil při vývoji iPhone. Multiplatformní projekt Apple Magic TouchstreamLP nyní implementuje funkcionalitu TouchStream LP na současném Apple Magic Trackpad, resp. jejich dvojici. Diskuze k vydání probíhá na Redditu.
#!/usr/bin/perl
use strict;
use warnings;
my @foo;
my @bar;
while(<>) {
push @foo, $_;
do { unshift @bar, @foo; @foo = (); } if @foo == 2;
};
print foreach @bar;
.. pokud jsem to teda pochopil spravne a melo to delat tohle:
> seq 1 6 | ./hehe
5
6
3
4
1
2
hehe .. netreba ukladat jako hehe, ale proti gustu zadnej disputat .. hehe
co se tyce permissions denied, tak to tipuju na opomenute `chmod +x hehe` .. hehe ;)
.. aneb. musis tomu priradit executable flag :D .. muehehe
seq 1 6 | sed 'N;s/\([^\n]*\)\n\(.*\)/\2\n\1/' | tac
shell brainfucks Vs perl brainpetting?
nemam rad kod, u kteryho musim za tejde badat, *jak *jsem *to *k *certu *tenkrat *myslel ..
bash$ time seq 1 1000000 | ./hehe > /dev/null real 0m1.189s user 0m1.764s sys 0m0.056s bash$ time seq 1 1000000 | sed -n 'h;n;p;g;p' | tac > /dev/null real 0m0.862s user 0m0.964s sys 0m0.048s
bash$ wc -c hehe 166 hehe bash$ wc -c <<<"sed -n 'h;n;p;g;p' | tac" 25
Sakra, hodit to do hold bufferu mne nejak vubec nenapadlo, dobry a elegantni!
Dobrý řešení, tady je ještě o 2 znaky kratší (a možná i rychlejší, ale neměřil jsem to), s vypuštěním mezer okolo svislítka dokonce o 4 znaky :)
$ wc -c <<<"sed -n 'h;n;G;p'|tac"
21
$
sed 'x;n;$G' | tac
pokud bych se povznesl nad prázdné řádky na konci :)
bash$ time seq 1 1000000 | ./hehe > /dev/null real 0m1.189s user 0m1.764s sys 0m0.056s bash$ time seq 1 1000000 | sed -n 'h;n;p;g;p' | tac > /dev/null real 0m0.862s user 0m0.964s sys 0m0.048s
ad.1) vase reseni aka 'h;n;p;g;p' je moc hezke .. neznal jsem.
ad.2) obe reseni maji presto jednu nevyhodu .. na skutecnem unixovem systemu se v lepsim pripade chovaji jinak nez na Linuxu (rozumej nepredvidatelne) .. v horsim nefungujou vubec :D .. ps. je to 1:1 (neprevidatelne:nefungujou .. a to neni dobra bilance ..)
testovano na:
SunOS t5240-s10u7 5.10 Generic_139555-08 sun4v sparc SUNW,T5240
FreeBSD 7.2-RELEASE
mistre :D .. ok, pokud chceme *nekde *zustavat tak si ujasneme pojmy ::
a) neskromne si myslim, ze sed umim stejne jako perl a ne-li lepe .. sed == REs a ty jsou vsude stejne
b) to co vy zovete sed je v pravem slova smyslu GNU-sed .. me hlavni zamereni se netyka paznechtu jmenem GNU ale POSIX compliant systemu (jako napr unixove systemy, neplest s Linuxem ktery je unix-like) .. vas kod bohuzel nefunguje jinde nez na Linuxu (osobne jsem zkousel bsd a solaris) .. mozna proto pristupuju k sedu a obecne ke GNU optimalizacim pomerne podezrivave a skepticky ..
c) tato uloha nema podle me co docineni s REs. to, ze to lze pomoci REs resit *take snad jeste neznamena, ze se tady budeme hadat a osocovat co kdo umi lepe a co je ciste .. to dle meho skromneho nazoru GNU-sed rozhodne neni.
cela tato diskuse zacala moji nevinnou poznamkou o brainfucku pomoci REs .. nemyslel jsem tim, ze vas brainfuck je spatne napsanej, pomalej nebo nedejboze *necistej. myslel jsem tim, ze v tomto pripade jste sice zvolil funkcni, nicmene brute-force metodu .. aneb jak by se to chovalo, kdyby to melo parsovat radky s nestandartni delkou
toto je primitivni operace ktera se sklada z jednoduche direktivy :: "kazde dva radky co jdou za sebou vem a umisti je *pred dvojku radku co byla predchozi .." .. jakekoliv dalsi laborovani a nebo manipulovani je *pointless ;)
nemyslim to nijak konfrontacne, ale pobavil jste me vasi neskryvanou znalosti GNU-sedu a zejmena receptem pro vsechny programatory, jak se stale udrzet v projektu .. obavam se, ze vase metoda mozna pomaha v jednodussich shellovych skriptech, nikoliv vsak v pripadech, kdy se brainfuck neskryva v necem tak mrzkem jako jednotlivy RE/algoritmus, ale v komplexnosti a provazani pouzitych metod :D
zdravim
sed -n 'h;n;p;g;p' | tac, myslím že je POSIX compliant.
Můžete si povšimnout, že tam není žádná RE, on sed je více než jen RE, je to hlavně o streamovém editování, ale nechci zacházet do hloubky, abyste to třeba zase nebral mylně jako nějaké poučování podobně, jako jste mylně interpretoval mou prostou úvahu o programátorech :D
Ja se omlouvam, ale co si mam predstavit (rikejte mi vojin Kefalin) pod takym pojmom "radky s nestandartni delkou"?:)
Troufl bych si rict, ze to je tim, ze umis dobre perl a neumis dobre sed:) Moje situace je presne obracena, Perlem nevladnu a na tvuj kod jsem se musel soustredit,... rekl bych, ze neni zadny X vs Y, je to vec zcela subjektivnich preferenci
sed rulez, jednoduché, čitelné, přímočaré, žádné velké programování ;)
Tiskni
Sdílej: