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í.
#!/usr/bin/perl -w
use strict;
use DBI;
my $new_handle = DBI->connect("dbi:Pg:dbname=rtdb",'rtuser','****');
$new_handle->{pg_enable_utf8}=1;
$new_handle->do("SET client_encoding TO 'UTF8'");
my $old_handle = DBI->connect("dbi:mysql:dbname=rtdb",'rtuser','****');
$old_handle->do("SET NAMES 'utf8'");
$old_handle->do("SET CHARACTER SET 'utf8'");
my @tables = qw/Attachments/;
foreach my $table (@tables) {
print "Migrating $table...\n";
# Find all the rows in the table
my $sth = $old_handle->prepare("SELECT * FROM $table") || die $@;
$sth->execute || die $@;
copy_table_rows($table, $sth);
}
sub copy_table_rows {
my $table = shift;
my $sth = shift;
while (my $row = $sth->fetchrow_hashref) {
my @keys;
my @values;
my @placeholders;
foreach my $key (keys %$row) {
push @keys, $key;
push @values, $row->{$key};
push @placeholders, '?';
}
my $insert = "INSERT into $table (".join(',',@keys).") VALUES (".join(',',@placeholders).")\n";
my $sth= $new_handle->prepare($insert) || die $@;
$sth->execute(@values) || die $@ . "\n ".join(",",@values);
}
}
$old_handle->disconnect();
$new_handle->disconnect();
Ten skončí s chybou:
DBD::Pg::st execute failed: ERROR: invalid byte sequence for encoding "UTF8": 0xed6d2c HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". at ./rt3-on-mysql-to-pg.pl line 45. Use of uninitialized value $values[2] in join or string at ./rt3-on-mysql-to-pg.pl line 45.A v tabulce je jen prvních zhruba 30 záznamů. Podle chybové hlášky, z dokumentace a pomocí google jsem získal dojem, že problém bude ve špatném kódování vkládaných znaků do databáze Pg. Nemůžu ale přijít na způsob, jak to opravit. Nastavení client_encoding, NAMES ani CHARACTER SET nepomohlo. Co ještě můžu vyzkoušet?
push @values, decode("utf8",$row->{$key});
a vkládání zpět do databáze:
$sth->execute(@values) || die $@ . "\n ".encode("utf8",join(",",@values));
Skript zpracuje úspěšně 3500 řádků v tabulce (předtím 30). Pak ale opět skončí s chybou:
DBD::Pg::st execute failed: ERROR: invalid byte sequence for encoding "UTF8": 0xfd
use locale; binmode(STDOUT, ":encoding(UTF-8)"); binmode(STDIN, ":encoding(UTF-8)");ani nastavení
LANG=en_US.UTF-8 a LC_ALL=en_US.UTF-8 nepomohlo.
Vypadá to na problém se sloupcem Content. Když ho vyřadím z exportovaných dat, tak se import povede.
my $sth = $old_handle->prepare("SELECT Created,id,TransactionId,Parent,MessageId,Subject,Filename,ContentType,ContentEncoding,Headers,Creator,Created FROM $table) || die $@;
Sloupec Content je v MySQL typu longblob v PostgreSQL typu bytea. Takže otázka zní: Jak dostat v perlu data ze sloupce longblob do sloupce typu bytea?
Tiskni
Sdílej: