Pro testování byl vydán 4. snapshot Ubuntu 26.04 LTS (Resolute Raccoon).
Ben Sturmfels oznámil vydání MediaGoblinu 0.15.0. Přehled novinek v poznámkách k vydání. MediaGoblin (Wikipedie) je svobodná multimediální publikační platforma a decentralizovaná alternativa ke službám jako Flickr, YouTube, SoundCloud atd. Ukázka například na LibrePlanet.
TerminalPhone (png) je skript v Bashi pro push-to-talk hlasovou a textovou komunikaci přes Tor využívající .onion adresy.
Před dvěma lety zavedli operátoři ochranu proti podvrženým hovorům, kdy volající falšuje čísla anebo se vydává za někoho jiného. Nyní v roce 2026 blokují operátoři díky nasazeným technologiím v průměru 3 miliony pokusů o podvodný hovor měsíčně (tzn., že k propojení na zákazníka vůbec nedojde). Ochrana před tzv. spoofingem je pro zákazníky a zákaznice všech tří operátorů zdarma, ať už jde o mobilní čísla nebo pevné linky.
Společnost Meta (Facebook) předává React, React Native a související projekty jako JSX nadaci React Foundation patřící pod Linux Foundation. Zakládajícími členy React Foundation jsou Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion a Vercel.
Samsung na akci Galaxy Unpacked February 2026 (YouTube) představil své nové telefony Galaxy S26, S26+ a S26 Ultra a sluchátka Galaxy Buds4 a Buds4 Pro. Telefon Galaxy S26 Ultra má nový typ displeje (Privacy Display) chránící obsah na obrazovce před zvědavými pohledy (YouTube).
Byla vydána grafická knihovna Mesa 26.0.1 s podporou API OpenGL 4.6 a Vulkan 1.4. Je to první stabilní verze po 26.0.0, kde se novinky týkají mj. výkonu ray tracingu na GPU AMD a HoneyKrisp, implementace API Vulkan pro macOS.
Byla vydána nová verze 4.6 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
Byla vydána nová verze 3.23.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opravuje 11 bezpečnostních chyb.
Španělský softwarový inženýr oznámil, že se mu podařilo na dálku ovládat sedm tisíc robotických vysavačů po celém světě. Upozornil tak na slabé kybernetické zabezpečení těchto technologií a jejich možné a snadné zneužití. Nesnažil se hacknout všechny robotické vysavače po světě, ale pouze propojil svůj nový DJI Romo vysavač se zařízením Playstation. Aplikace podle něj ihned začala komunikovat se všemi sedmi tisíci spotřebiči a on je
… více »internal static string SwitchStateVoltage = "0.00".Replace(",",".");
tak to hubuje - nesprávný formát vráceného řetězce!Mues napsat presne co to vraci a zaroven log z toho software?
return Convert.ToDouble(SerialCommands[id]);upravit na:
return Convert.ToDouble(SerialCommands[id], CultureInfo.InvariantCulture);a pridat uplne nahoru:
using System.Globalization;Mimochodem ta konverze je tam jeste minimalne jednou tak to muzes opravit i s tim..
Já bych použil trochu jinou podobu. Vyčetl bych si, jaký decimal separator používá systém a tím bych tečku nahradil.
Už jsem to tam někdy i udělal (zkusím dohledat, ale nic na tom neni) a při nějakém prohlížení kódu mě docela pobavil komentář "nehradí tečku desetinným oddělovačem, ať je jím cokoliv"
Funguje mi to ve windows i linuxu a bez ohledu na to, jaký je nastavený jazyk a co je desetinný oddělovač (třeba nahrazuju tečku tečkou, ale to mi může být ukradené). Totéž je možná potřeba udělat s thousend separator.
Pro váš případ teda třeba takto.
internal static string SwitchStateVoltage = "0.00".Replace(aktuální_decimal_separátor,".");
Jen doplním moje řešení, ze kterého jsem udělal standard (mám to ve více programech), je to funkce, která jako vstup dostává text a jako výstup vrací double/float, přičemž tohle je zrovna verze, která vrací nulu pokud ten textový řetězec neni platný (tady se to tak hodilo, jinak třeba může vyvolat výjimku nebo použít jinou hodnotu). Jak jsem zjistil, zrovna v tom programu, ze kterého to kopíruju jsem na mnoha místech použil i TimeSeparator a Dateseparator a možná i něco dalšího, ale spíš při převodu hodnot na text.
function gp_val_float (const vstup : string):double;
begin
Result := (StrToFloatDef(StringReplace(vstup,'.',DecimalSeparator,(.rfReplaceAll.)),0));
end;
Tohle je teda v Lazarusu (syntaxe Pascalu) ale v jakémkoliv jiném jazyce to musí být úplně stejné, pokud mám k dispozici funkci, která očekává řetězec v národním tvaru (já jako programátor ovšem nemůžu tušit, jaké jazykové nastavení bude mít uživatel) a já mám řetězec v nějakém pevném (např. anglickém) tvaru, tak se s tím musím takto popasovat.
To, že mi kompilátor proměnnou DecimalSeparator označuje jako deprecated je celkem jedno, to jsem už v nějakém programu taky řešil (místo ní je tam nějaká struktura, kde je všechno národní nastavení soustředěné a ta se má přednostně používat), to jsou už jen technické detaily, kde si tohle nastavení zjistit. Jde o ten princip, že namísto natvrdo zadaného řetězce platného pro daný stroj, je lepší udělat to univerzálně.
Tiskni
Sdílej: