V Brně na FIT VUT probíhá třídenní open source komunitní konference DevConf.CZ 2025. Vstup je zdarma, nutná je ale registrace. Na programu je celá řada zajímavých přednášek, lightning talků, meetupů a workshopů. Přednášky lze sledovat i online na YouTube kanálu konference. Aktuální dění lze sledovat na Matrixu, 𝕏 nebo Mastodonu.
Vyloučení technologií, které by mohly představovat bezpečnostní riziko pro stát, má umožnit zákon o kybernetické bezpečnosti, který včera Senát schválil spolu s novelami navazujících právních předpisů. Norma, kterou nyní dostane k podpisu prezident, počítá rovněž s prověřováním dodavatelů technologií pro stát. Normy mají nabýt účinnosti od třetího měsíce po jejich vyhlášení ve Sbírce zákonů.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.6.
Po Red Hat Enterprise Linuxu a AlmaLinuxu byl v nové stabilní verzi 10.0 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.
Bylo vydáno Eclipse IDE 2025-06 aneb Eclipse 4.36. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Americká filmová studia Walt Disney a Universal Pictures podala žalobu na provozovatele populárního generátoru obrázků pomocí umělé inteligence (AI) Midjourney. Zdůvodňují to údajným porušováním autorských práv. V žalobě podané u federálního soudu v Los Angeles označují firmu za „bezednou jámu plagiátorství“, neboť podle nich bez povolení bezostyšně kopíruje a šíří postavy z filmů jako Star Wars, Ledové království nebo Já, padouch, aniž by do nich investovala jediný cent.
Ultra Ethernet Consortium (UEC), jehož cílem je optimalizace a další vývoj Ethernetu s důrazem na rostoucí síťové požadavky AI a HPC, vydalo specifikaci Ultra Ethernet 1.0 (pdf, YouTube).
Francouzský prezident Emmanuel Macron chce zakázat přístup na sociální sítě pro děti do 15 let. Francie podle něj tento krok udělá sama do několika měsíců, i pokud se na něm neshodnou další státy Evropské unie. Reaguje tak na úterní vraždu vychovatelky, kterou ve východofrancouzském městě Nogent pobodal 14letý mladík. Jednotlivé sociální sítě podle něj mají možnost věk ověřit a vymáhat zákaz pomocí systémů na rozpoznávání tváří.
Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem zůstává El Capitan od HPE (Cray) s výkonem 1,742 exaFLOPS. Druhý Frontier má výkon 1,353 exaFLOPS. Třetí Aurora má výkon 1,012 exaFLOPS. Nejvýkonnější český počítač C24 klesl na 165 místo. Karolina, GPU partition klesla na 195. místo a Karolina, CPU partition na 421. místo. Další přehledy a statistiky na stránkách projektu.
Oficiálně byl vydán Android 16. Detaily na blogu a stránkách věnovaných vývojářům.
Jen tak, před nedávnem, z dlouhé chvíle vzniklo toliko kódu…
#include "iostream" using namespace std; class CsSuccesor { public: CsSuccesor(); CsSuccesor(CsSuccesor &that); ~CsSuccesor(); CsSuccesor& Succesor(CsSuccesor &that); friend ostream& operator <<(ostream &stream, CsSuccesor succesor); CsSuccesor& operator =(CsSuccesor &that); CsSuccesor& operator +(CsSuccesor &that); CsSuccesor& operator -(CsSuccesor &that); unsigned long long int ToInteger(); private: CsSuccesor *m_pSucc; }; CsSuccesor::CsSuccesor() { m_pSucc = NULL; } CsSuccesor::CsSuccesor(CsSuccesor &that) { m_pSucc = NULL; if (that.m_pSucc != NULL) { m_pSucc = new CsSuccesor(*(that.m_pSucc)); } } CsSuccesor::~CsSuccesor() { if (m_pSucc != NULL) { delete m_pSucc; m_pSucc = NULL; } } CsSuccesor& CsSuccesor::Succesor(CsSuccesor &that) { m_pSucc = new CsSuccesor(); if (that.m_pSucc != NULL) { m_pSucc->Succesor(*(that.m_pSucc)); } return *this; } ostream& operator <<(ostream &stream, CsSuccesor succesor) { if (succesor.m_pSucc) { stream << "Succ(" << *(succesor.m_pSucc) << ")"; } else { stream << "Zero"; } return stream; } CsSuccesor& CsSuccesor::operator =(CsSuccesor &that) { if (this != &that) { if (m_pSucc != NULL) { delete m_pSucc; m_pSucc = NULL; } if (that.m_pSucc) { m_pSucc = new CsSuccesor(*that.m_pSucc); } } return *this; } CsSuccesor& CsSuccesor::operator +(CsSuccesor& that) { CsSuccesor* out = new CsSuccesor(); if (m_pSucc != NULL) { out->m_pSucc = new CsSuccesor(*m_pSucc + that); } else { if (that.m_pSucc != NULL) { out = new CsSuccesor(that); } } return *out; } CsSuccesor& CsSuccesor::operator -(CsSuccesor& that) { CsSuccesor* out = new CsSuccesor(*this); if (that.m_pSucc != NULL) { if (m_pSucc != NULL) { delete out; out = new CsSuccesor(*m_pSucc - *that.m_pSucc); } } return *out; } unsigned long long int CsSuccesor::ToInteger() { return (m_pSucc != NULL ? m_pSucc->ToInteger() + 1 : 0); } int main() { CsSuccesor succ1; cout << succ1 << '\n' << succ1.ToInteger() << '\n'; CsSuccesor succ2(succ1); cout << succ2 << '\n' << succ2.ToInteger() << '\n'; CsSuccesor succ3(succ1.Succesor(succ2)); cout << succ3 << '\n' << succ3.ToInteger() << '\n'; CsSuccesor succ4 = succ3; cout << succ4 << '\n' << succ4.ToInteger() << '\n'; CsSuccesor succ5 = succ3 + succ4; cout << succ5 << '\n' << succ5.ToInteger() << '\n'; CsSuccesor succ6 = succ5 - succ3; cout << succ6 << '\n' << succ6.ToInteger() << '\n'; return 0; }
…netvrdím, že ve všech rysech je to dokonalé, ale zábavné a hravé.
Tiskni
Sdílej:
void do(int A[], int s) {
int i, j, k, l;
k = size / 2;
while (k > 0) {
for (i = k; i < s; i++) {
j = i;
l = A[i];
while ((j >= k) && (A[j-k] > l)) {
A[j] = A[j - k];
j = j - k;
}
A[j] = l;
}
if (k == 2)
k = 1;
else
k = (int) (k / 2.2);
}
}
Eliminace poznámek a (tím blbým způsobem jsou i vhodné názvy proměnných formou poznámek a přesto znám programátory, kteří používají jména jako: xx, yy, xxx, yyy, xxxx, yyyy) substituce názvů proměnných jejich stručnějším ekvivalentem, zde imho naprosto znečitelnila tento (jinak profláklý) kus kódu.
Ono to zcela jistě bylo myšleno jako ironie, ale někdo by se té citace mohl chytnout.
(Přebráno s mírnou úpravou z wikipedie.)
void do(int A[], int s) { int i, j, k, l; k = size / 2; while (k > 0) { for (i = k; i < s; i++) { j = i; l = A[i]; while ((j >= k) && (A[j-k] > l)) { A[j] = A[j - k]; j = j - k; } A[j] = l; } if (k == 2) k = 1; else k = (int) (k / 2.2); } }
#!/bin/bash echo "Nejaky text" echo "Nejaky text" echo "Nejaky text" echo "Nejaky text" echo "Nejaky text" echo "Nejaky text"
CsSuccesor& CsSuccesor::operator -(CsSuccesor& that) { CsSuccesor* out = new CsSuccesor(*this); if (that.m_pSucc != NULL) { if (m_pSucc != NULL) { delete out; out = new CsSuccesor(*m_pSucc - *that.m_pSucc); } } return *out; }tak se mi udelalo nevolno a ted jdu uz radsi spat... jen tak na okraj - pan je Javista ???
Nechybi, ta je tam implicitni - po urcite dobe bude prislusny proces automaticky ukoncen operacnim systemem.Alebo ujom z elektrarni