Obrovská poptávka po plynových turbínách zapříčinila, že datová centra začala používat v generátorech dodávajících energii pro provoz AI staré dobré proudové letecké motory, konvertované na plyn. Jejich výhodou je, že jsou menší, lehčí a lépe udržovatelné než jejich průmyslové protějšky. Proto jsou ideální pro dočasné nebo mobilní použití.
Typst byl vydán ve verzi 0.14. Jedná se o rozšiřitelný značkovací jazyk a překladač pro vytváření dokumentů včetně odborných textů s matematickými vzorci, diagramy či bibliografií.
Specialisté společnosti ESET zaznamenali útočnou kampaň, která cílí na uživatele a uživatelky v Česku a na Slovensku. Útočníci po telefonu zmanipulují oběť ke stažení falešné aplikace údajně od České národní banky (ČNB) nebo Národní banky Slovenska (NBS), přiložení platební karty k telefonu a zadání PINu. Malware poté v reálném čase přenese data z karty útočníkovi, který je bezkontaktně zneužije u bankomatu nebo na platebním terminálu.
V Ubuntu 25.10 byl balíček základních nástrojů gnu-coreutils nahrazen balíčkem rust-coreutils se základními nástroji přepsanými do Rustu. Ukázalo se, že nový "date" znefunkčnil automatickou aktualizaci. Pro obnovu je nutno balíček rust-coreutils manuálně aktualizovat.
VST 3 je nově pod licencí MIT. S verzí 3.8.0 proběhlo přelicencování zdrojových kódů z licencí "Proprietary Steinberg VST3 License" a "General Public License (GPL) Version 3". VST (Virtual Studio Technology, Wikipedie) je softwarové rozhraní pro komunikaci mezi hostitelským programem a zásuvnými moduly (pluginy), kde tyto moduly slouží ke generování a úpravě digitálního audio signálu.
Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.10. Podrobný přehled novinek v poznámkách k vydání.
V Londýně probíhá dvoudenní Ubuntu Summit 25.10. Na programu je řada zajímavých přednášek. Zhlédnout je lze také na YouTube (23. 10. a 24. 10.).
Gemini CLI umožňuje používání AI Gemini přímo v terminálu. Vydána byla verze 0.10.0.
Konference OpenAlt 2025 proběhne již příští víkend 1. a 2. listopadu v Brně. Nabídne přibližně 80 přednášek a workshopů rozdělených do 7 tematických tracků. Program se může ještě mírně měnit až do samotné konference, a to s ohledem na opožděné úpravy abstraktů i případné podzimní virózy. Díky partnerům je vstup na konferenci zdarma. Registrace není nutná. Vyplnění formuláře však pomůže s lepším plánováním dalších ročníků konference.
Samsung představil headset Galaxy XR se 4K Micro-OLED displeji, procesorem Snapdragon XR2+ Gen 2, 16 GB RAM, 256 GB úložištěm, operačním systémem Android XR a Gemini AI.
ps ax spousty procesů "-l". Je to jen kvůli překlepům a podobně. Navíc se zdá, že to bere trochu paměti a taky se zbytečně zvětší seznam procesů. Jednou jsem to zkoušel killnout a... dopadl jsem špatně.
Dá se nějak zabránit jejich vytváření? Žerou paměť, nebo se tak jen tváří?
Řešení dotazu:
$ ps a | grep -- -l 5566 pts/0 Ss 0:00 -l 31941 pts/1 Ss+ 0:00 -l 4171 pts/2 Ss 0:00 -l 6081 pts/2 S+ 0:00 grep --color=auto -- -l
kill 5566, nebo kill -9 5566?
$ hh -l: hh: command not foundale v tuhle chvíli se tam novej nevytvořil. Je to jen někdy, zkusím to vypozorovat.
Prostě zabije shell.
$ ps ax | grep -- -l 31941 pts/1 Ss+ 0:00 -l 4171 pts/2 Ss+ 0:00 -l 9133 pts/0 Ss+ 0:00 -l 9159 pts/3 Ss+ 0:00 -l 9166 pts/4 Ss+ 0:00 -l 9171 pts/5 Ss+ 0:00 -l 9174 pts/6 Ss+ 0:00 -l 9179 pts/7 Ss+ 0:00 -l 9183 pts/8 Ss+ 0:00 -l 9188 pts/9 Ss+ 0:00 -l 9195 pts/10 Ss+ 0:00 -l 9200 pts/11 Ss+ 0:00 -l 9204 pts/12 Ss+ 0:00 -l 9209 pts/13 Ss+ 0:00 -l 9217 pts/14 Ss 0:00 -l 9238 pts/14 S+ 0:00 grep --color=auto -- -la když spustím xterm, je tam bash. Huh.
echo $1? To skoro vypadá, že se u tebe jmenuje bash -l
. Správný výpis je totiž
$ hh bash: hh: command not foundNemáš někde nějaký symlink, nebo něco rakového?
echo $1 nevypíše nic. Bash se nejmenuje -l, není to ani symlink ani alias. V xtermu je to jak píšeš, v tty je -bash. V Yakuake to dělá jen jako user, po sux - už ne. V .bashrc mám jen
export GTK2_RC_FILES=$HOME/.gtkrc-2.0To je AFAIK proto, abych měl Qt skin u GTK+ aplikací.
Takže bug v YaKuake... zajímavé je, že se tak děje jen před su.Protože su spustí další shell, kterému nastaví nultý parametr (jméno programu) správně.
[david@amd64 ~] $ echo $0 -l root@amd64 ~ [ r10.61G h43.56G p129M s1035M | 1/88 0.37 ] [17:21] # echo $0 -/bin/bash
echo $0 a ne 1
, díky za opravu.
src/ a tam editujte část
args.append("-l");
shell = getenv("SHELL");
if (shell == NULL || *shell == '\0')
shell = "/bin/sh";na
args.append("-/bin/bash");
shell = getenv("SHELL");
if (shell == NULL || *shell == '\0')
shell = "/bin/bash";To mi pomohlo...
[david@amd64 ~] $ hh bash: hh: command not found
shell_session.cpp.
/usr/local/bin/, takže by to teď fungovalo jen na Linuxu.
Ale co, já a hrabat se v kódu Céčka. Sotva napíšu printf. Takže na to, že je to můj první patch, můžeme být rádi, že to nemaže hardisk...
Takže na to, že je to můj první patch, můžeme být rádi, že to nemaže hardisk...
Dělám si srandu.
vývojářůmJe jenom jeden a právě jsem mu to poslal.
- args.append("-l");
shell = getenv("SHELL");
if (shell == NULL || *shell == '\0')
shell = "/bin/sh";
+ args.append(shell);
+ args.append("-l");
Ty zdrojáky jsem nečetl, takže netuším jak ten program ve skutečnosti funguje...
[david@amd64 ~] $ echo $0 /bin/bash [david@amd64 ~] $ hh bash: hh: command not found
- args.append("-l");
shell = getenv("SHELL");
if (shell == NULL || *shell == '\0')
shell = "/bin/sh";
+ args.append(strrchr(shell, '/') ? strrchr(shell, '/') : shell);
+ args.append("-l");
x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../. -I../src -I/usr/kde/3.5/include -I/usr/qt/3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O2 -march=athlon64 -fomit-frame-pointer -pipe -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -c -o shell_session.o shell_session.cpp shell_session.cpp: In constructor `ShellSession::ShellSession(QWidget*, const char*)': shell_session.cpp:50: error: wrong type argument to unary minus /usr/kde/3.5/bin/dcopidl2cpp --c++-suffix cpp --no-signals --no-stub dcop_interface.kidl x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../. -I../src -I/usr/kde/3.5/include -I/usr/qt/3/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor -Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG -DNO_DEBUG -O2 -O2 -march=athlon64 -fomit-frame-pointer -pipe -Wformat-security -Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common -c -o dcop_interface_skel.o dcop_interface_skel.cpp make[2]: *** [shell_session.o] Error 1 make[2]: *** Waiting for unfinished jobs.... tabbed_widget.cpp: In member function `int TabbedWidget::removeItem(int)': tabbed_widget.cpp:95: warning: comparison between signed and unsigned integer expressions tabbed_widget.cpp: In member function `void TabbedWidget::selectNextItem()': tabbed_widget.cpp:117: warning: comparison between signed and unsigned integer expressions tabbed_widget.cpp: In member function `virtual void TabbedWidget::mouseReleaseEvent(QMouseEvent*)': tabbed_widget.cpp:275: warning: comparison between signed and unsigned integer expressions tabbed_widget.cpp:277: warning: comparison between signed and unsigned integer expressions make[2]: Leaving directory `/var/tmp/portage/yakuake-2.7.3/work/yakuake-2.7.3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/yakuake-2.7.3/work/yakuake-2.7.3' make: *** [all] Error 2
Jdu raději hrát, dělám akorát škodu...
Tiskni
Sdílej: