Textový editor Zed dospěl do verze 1.0. Představení v příspěvku na blogu.
Vývojáři svobodného 3D softwaru Blender představili (𝕏, Mastodon, Bluesky) nejnovějšího firemního sponzora Blenderu. Je ním společnost Anthropic stojící za AI Claude a úroveň sponzoringu je Patron, tj. minimálně 240 tisíc eur ročně. Anthropic oznámil sponzorství v tiskové zprávě Claude for Creative Work.
VNC server wayvnc pro Wayland kompozitory postavené nad wlroots - ne GNOME, KDE nebo Weston - byl vydán ve verzi 0.10.0. Vydána byla také verze 1.0.0 související knihovny neatvnc.
Bylo oznámeno vydání Fedora Linuxu 44. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora IoT pro internet věcí, Fedora Cloud pro cloudové nasazení a Fedora CoreOS pro ty, kteří preferují neměnné systémy. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách
… více »David Malcolm se na blogu vývojářů Red Hatu rozepsal o vybraných novinkách v GCC 16, jež by mělo vyjít v nejbližších dnech. Vypíchnuta jsou vylepšení čitelnosti chybových zpráv v C++, aktualizovaný SARIF (Static Analysis Results Interchange Format) výstup a nová volba experimental-html v HTML výstupu.
Byla vydána verze R14.1.6 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Jon Seager z Canonicalu včera na Ubuntu Community Hubu popsal budoucnost AI v Ubuntu. Dnes upřesnil: AI nástroje budou k dispozici jako Snap balíčky, vždy je může uživatel odinstalovat. Ve výchozím nastavení budou všechny AI nástroje používat lokální AI modely.
Nový ovladač Steam Controller jde do prodeje 4. května. Cena je 99 eur.
Greg Kroah-Hartman začal používat AI asistenta pojmenovaného gkh_clanker_t1000. V commitech se objevuje "Assisted-by: gkh_clanker_t1000". Na social.kernel.org publikoval jeho fotografii. Jedná se o Framework Desktop s AMD Ryzen AI Max a lokální LLM.
Ubuntu 26.10 bude Stonking Stingray (úžasný rejnok).
QDir::separator() a dávat si bacha na používání správných lomítek ve Windows. Ale mě jsou windows špehovátka stejně ukradený. Jenom je cílem tohoto zápisku upozornit na bludy šířené uživateli Qt.
Tiskni
Sdílej:
Né, práci ještě nemám.Za předpokladu, že bych stvořil technoklášter, kde by lidi mohli meditovat nad algoritmy a programovat od rána do večera, aniž by byli rušeni problémy běžných smrtelníků; šel by jsi k nám šířit programátorskou moudrost, studovat učení, které těší strojového boha a pást beránky?
Naštěstí je tu jedno chytré, kterému je to ukradené ... použít unicode verzi (třeba CreateFileW) a skutečnou absolutní cestu ("\\?\C:\bla\bla/bla"), tak se cesta pošle rovnou k filesystému a nebude se jednat o "C:\bla\bla\" + "bla", ale o "C:\bla\" + "bla/bla".Skutečně? Zkoušel jsi to? Já tomu nevěřim. V dokumentaci ke
CreateFile se píše:
lpFileName [in]
The name of the file or device to be created or opened. You may use either forward slashes (/) or backslashes (\) in this name.
Imho žádným rozumným způsobem nevytvoříš '/' ve filename ve windows, a i kdybys to nějak nahackoval, běžné windows aplikace vč. exploreru s tím nepočítají, je to zakázany znak, tudíž je zcela na místě v Qt nepoužívat QDir::Separator.
Naming Conventions The following fundamental rules enable applications to create and process valid names for files and directories, regardless of the file system:
- Use any character in the current code page for a name, including Unicode characters and characters in the extended character set (128–255), except for the following reserved characters:
- / (forward slash)
Z toho mi vyplívá, že to nemáte používat, pokud chcete kompatibility se všemi filesystémy (né jen NTFS). Nezní to tedy jako zákaz, ale doporučení.
Dále
The Windows API has many functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters. This type of path is composed of components separated by backslashes, each up to the value returned in the lpMaximumComponentLength parameter of the GetVolumeInformation function (this value is commonly 255 characters). To specify an extended-length path, use the "\\?\" prefix. For example, "\\?\D:\very long path".A dále
There is no need to perform any Unicode normalization on path and file name strings for use by the Windows file I/O API functions because the file system treats path and file names as an opaque sequence of WCHARs. Any normalization that your application requires should be performed with this in mind, external of any calls to related Windows file I/O API functions.A dále poznámka, že shell (průzkumník) je hodně hloupej a na takových cestách se může rozbít.
The shell and the file system have different requirements. It is possible to create a path with the Windows API that the shell user interface is not able to interpret properly.A nejedná se jen o shell, ale o spoustu (většinu) programů. Všetně programů od MS. To ale neznamená, že budu, jako ten kdo napsal zápisek, vnucovat špatné chování, aby se i jeho program rozbil.
A nejedná se jen o shell, ale o spoustu (většinu) programů. Všetně programů od MS. To ale neznamená, že budu, jako ten kdo napsal zápisek, vnucovat špatné chování, aby se i jeho program rozbil.Nechápu, kdes došel k tomu, že to je špatné chování. Jestli potřebuješ Qt k napsání low-level filesystem utilit, tak použiješ specializované funkce, to je jasné. Běžné Qt I/O API je high-level abstrakce, u které je naopak dobře, že se chová stejně jako Win shell. Přijde mi to jako snaha být papežtější než papež.
\\?\) a žádné změny se v tomto ohledu neplánují.
Tedy kdo používá long paths hodně riskuje. Ano, ve Windows světě je tohle obrovský problém již od nepaměti a žádné řešení se stále nerýsuje
(viz. např. diskuze https://github.com/daokoder/dao-modules/issues/67).
Skript:
#!/bin/sh
function usage()
{
echo "Usage: $0 <label> <device>"
exit 1
}
dev="$2"
label="$1"
[ $# -eq 2 ] || usage
[ -b "$dev" ] || usage
dd if=/dev/zero of="$dev" bs=1M count=1
mkudffs --media-type=hd --blocksize=512 --utf8 --lvid="$label" --vid="$label" --fsid="$label" "$dev"
Ještě bych moh zkusit jak to pude přečíst/zapsat/smazat pod sedmičkama...
Pismenka jednotek jsou ten nejhorsi hell na svete. A ty spatny lomitka tomu jeste pridavaj.
char path[] = "c:\test\con"; FILE *f = fopen(path, "w");