Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
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 #!/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");