Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.
Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.
plot 1:($2+$3+...)
#!/bin/bash # USAGE: mergefuncs FILE... # Martin Cizek <cizek@webland.cz> [ $# -gt 0 ] || exit 1; awk ' function complete_last() { for (i = idx; i <= count; i++) res[i] = res[i] " 0" idx = 1 have_prev = 0 } BEGIN { xi = 0 idx = 1 } ARGIND < ARGC/2 { if (length($1)) x[xi++] = (double)$1 next } !sorted { count = asort(x) sorted = 1 lastind = ARGIND } /[^ \t]/{ if (lastind != ARGIND) complete_last() lastind = ARGIND while (idx <= count && x[idx] <= $1) { if ((have_prev && x[idx] == prev_x) || x[idx] == $1) res[idx] = res[idx] " " $2 else if (have_prev && x[idx] >= prev_x) res[idx] = res[idx] " " (prev_y + ($2-prev_y)*(x[idx]-prev_x)/($1-prev_x)) else res[idx] = res[idx] " 0" idx++; } } /[^ \t]/&&!have_prev { have_prev = 1 prev_x = (double)$1 prev_y = (double)$2 } END { complete_last() for (i = 1; i <= count; i++) print x[i] " " res[i] } ' "$@" "$@"
join -e 0 -j 1 files...
Tiskni
Sdílej: