Linus Torvalds vydal jádro Linux 6.19. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).
Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.
Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.
BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.
Byl představen cross-assembler xa.sh, napsaný čistě v Bourne shell skriptu. Tento nástroj umožňuje zpracovávat assemblerový kód pro Intel 8080, přičemž je možné snadno přidat podporu i pro další architektury, například 6502 a 6809. Skript využívá pouze různé běžné unixové příkazy jako jsou awk, sed nebo printf. Skript si lze stáhnout z GitHubového repozitáře projektu.
Byla představena nová verze modelu Claude Opus 4.6 od společnosti Anthropic. Jako demonstraci možností Anthropic využil 16 agentů Claude Opus 4.6 k vytvoření kompilátoru jazyka C, napsaného v programovacím jazyce Rust. Claude pracoval téměř autonomně, projekt trval zhruba dva týdny a náklady činily přibližně 20 000 dolarů. Výsledkem je fungující kompilátor o 100 000 řádcích kódu, jehož zdrojový kód je volně dostupný na GitHubu pod licencí Creative Commons.
Kultovní britský seriál The IT Crowd (Ajťáci) oslavil dvacáté výročí svého prvního vysílání. Sitcom o dvou sociálně nemotorných pracovnících a jejich nadřízené zaujal diváky svým humorem a ikonickými hláškami. Seriál, který debutoval v roce 2006, si i po dvou dekádách udržuje silnou fanouškovskou základnu a pravidelně se objevuje v seznamech nejlepších komedií své doby. Nedávné zatčení autora seriálu Grahama Linehana za hatecrime však vyvolává otázku, jestli by tento sitcom v současné Velké Británii vůbec vznikl.
Společnost JetBrains oznámila, že počínaje verzí 2026.1 budou IDE založená na IntelliJ ve výchozím nastavení používat Wayland.
Společnost SpaceX amerického miliardáře Elona Muska podala žádost o vypuštění jednoho milionu satelitů na oběžnou dráhu kolem Země, odkud by pomohly zajistit provoz umělé inteligence (AI) a zároveň šetřily pozemské zdroje. Zatím se ale neví, kdy by se tak mělo stát. V žádosti Federální komisi pro spoje (FCC) se píše, že orbitální datová centra jsou nejúspornějším a energeticky nejúčinnějším způsobem, jak uspokojit rostoucí poptávku po
… více »Byla vydána nová verze 2.53.0 distribuovaného systému správy verzí Git. Přispělo 70 vývojářů, z toho 21 nových. Přehled novinek v poznámkách k vydání.
std::string ReadLine() const
{
constexpr size_t BUFF_SIZE = 1024;
char* buffer = new char[BUFF_SIZE];
char* pointer = buffer;
DWORD readedBytes, length = 0;
auto line = std::string();
while (true) {
if (ReadFile(handle, pointer, static_cast<DWORD>(1), &readedBytes, nullptr))
{
if (*pointer == '\r' || *pointer == '\n' || readedBytes == 0)
{
line.append(buffer, length);
pointer = nullptr;
delete[] buffer;
return line;
}
else
{
if (length == BUFF_SIZE) {
line.append(buffer, length);
length = 0;
pointer = buffer;
}
else {
pointer++;
length++;
}
}
}
else {
delete[] buffer;
throw SomeException();
}
}
}
Řešení dotazu:
char c; ... ReadFile(handle, &c, 1, &readedBytes, nullptr) ... line.append(c);
std::string ReadLine(const size_t bufferSize = 1024) const
{
char* buffer = new char[bufferSize + 1];
char* pointer = buffer;
DWORD readedBytes, length = 0;
auto line = std::string();
while (true) {
if (ReadFile(handle, pointer, static_cast<DWORD>(1), &readedBytes, nullptr))
{
if (*pointer == 'r' || *pointer == 'n' || readedBytes == 0)
{
line.append(buffer, length);
pointer = nullptr;
delete[] buffer;
return line;
}
else
{
if (length == bufferSize) {
line.append(buffer, length + 1);
length = 0;
pointer = buffer;
}
else {
pointer++;
length++;
}
}
}
}
}
si eště jakoby voprav to slovíčko 'readed' ;D
bufferSize = std::numeric_limits<DWORD>::max().
Tiskni
Sdílej: