Firma X zaslala předžalobní výzvu vývojáři projektu Nitter (Wikipedia), open-source alternativního frontendu k sociální síti X (ex-Twitter), a provozovatelům instancí jako XCancel, které umožňovaly číst příspěvky bez přihlášení, reklam a javascriptu. Údajně se dopouštějí „sběru dat“. Zdrojový kód Nitteru vývojář archivoval. Vývoj již dříve přerušil v roce 2024 po tehdejším omezení API X. X je dceřiná společnost SpaceXAI Elona Muska, provozující mj. kontroverzního chatbota Grok.
Bylo vydáno Ubuntu 26.04.1 LTS, tj. první opravné vydání Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek a oprav na Discourse.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Zprávu o stavu kybernetické bezpečnosti ČR za rok 2025 (pdf). Incidentů ubylo, sofistikovanost útočníků roste.
Open source softwarový stack AMD ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán v nové major verzi 10.0. S ROCm.AI. Přehled novinek v aktualizované dokumentaci.
Finanční skupina Partners se stala minulou neděli obětí kybernetického útoku, při kterém se útočníci dostali k některým osobním údajům klientů. Společnost o tom informovala ve čtvrtek. Ujišťuje, že peníze klientů nejsou v ohrožení. „Kybernetický útok zasáhl část IT infrastruktury naší společnosti. Ihned po zjištění útoku jsme s pomocí externích bezpečnostních odborníků začali intenzivně pracovat na minimalizaci škod. Útočníci se
… více »Americká technologická společnost Meta Platforms se dohodla, že zaplatí až zhruba 18 miliard dolarů (asi 373 miliard Kč) za mimosoudní urovnání sporu o závislosti dětí na sociálních sítích a provede významné změny pro jejich používání mladistvými. Téměř tři desítky států USA firmu v roce 2023 obvinily z toho, že sítě Facebook a Instagram vědomě navrhla tak, aby u dětí vyvolávaly závislost, a zatajovala tyto dopady před veřejností. Firma se
… více »Byl publikován aktuální přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Blíží se vydání podporující čipy M3. Vývojáře lze podpořit na GitHub Sponsors a Open Collective.
Kancelářský balík LibreOffice byl vydán ve verzi 26.8. Mimo jiné vylepšuje typografii a kompatibilitu s formáty MS Office, více v poznámkách k vydání.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.8. Přehled novinek v poznámkách k vydání.
Byla vydána nová verze 23.1.0, tj. první stabilní verze z nové řady 23.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++, Polly a Flang.
/*Pri prekladu zakomentovat podle potreby*/
#define OS_LINUX_OPT
#define OS_LINUX_USR_LOCAL
#define OS_LINUX_USR
#define OS_WINDOWS
char* grabFile(char* filespec) {
char p[256];
#ifdef OS_LINUX_USR
strcat(p,"/usr/local/myprogram/");
strcat(p,filespec);
#endif
#ifdef OS_WINDOWS
strcat(p,getProgramDirectory());
strcat(p,"\\");
strcat(p.filespec);
#endif
return p;
}
(Priznavam,ze tento kod neni bezpecny, snadno lze zpusobit preteceni)
... a tak nejak. Prikladem podobneho ucinneho vyuziti preprocesoru
jsou zdrojove kody ke hre Wolfenstein 3D.
$HOME, což může představovat vše od /home/vyskocil/usr/program v práci, až po /homes/eva/xv/xvysko02/usr/program ve škole
.
getProgramDirectory(), kterou si ovsem musite napsat.A pak je opravdu jedno, kde ten program je.
Tudiz si zavedeme: OS_LINUX_ANYWHERE
char* grabFile(char* filespec) {
char p[256];
#ifdef OS_LINUX_ANYWHERE
strcat(p,getProgramDirectory());
strcat(p,"/");
strcat(p,filespec);
#endif
return p;
....
}
getProgramDirectory() proste vezme nulty parametr prikazove radky
a odsekne z nej vse za poslednim lomitkem a je to. Tak se program
najde, at uz je kdekoliv.
namespace fs = boost::filesystem;
// inicializace cesty
fs::path tmpPath( FileOption, fs::native );
// pokud cesta neni kompletni
// (neobsahuje C:\ nebo "/root/..")
// pripoj pracovni adresar (workingDir)
File = tmpPath.is_complete()
? tmpPath
: workingDir/tmpPath; //spojeni cest
if( !fs::exists( File ) )
{
std::cerr << "\nerror: File "
<< File.string()
<< "\ndoes not exist.\n";
return 1;
}
else if( fs::is_directory( File ) )
{
std::cerr << "\nerror: Argument for the file "
<< File.string()
<< "\nis a directory.\n";
return 1;
}
samozrejme v cestach k souborum bude potreba zmenit lomitka za zpetna lomitkaTo je pěkná blbost.
Tiskni
Sdílej: