Gemini CLI umožňuje používání AI Gemini přímo v terminálu. Vydána byla verze 0.10.0.
Konference OpenAlt 2025 proběhne již příští víkend 1. a 2. listopadu v Brně. Nabídne přibližně 80 přednášek a workshopů rozdělených do 7 tematických tracků. Program se může ještě mírně měnit až do samotné konference, a to s ohledem na opožděné úpravy abstraktů i případné podzimní virózy. Díky partnerům je vstup na konferenci zdarma. Registrace není nutná. Vyplnění formuláře však pomůže s lepším plánováním dalších ročníků konference.
Samsung představil headset Galaxy XR se 4K Micro-OLED displeji, procesorem Snapdragon XR2+ Gen 2, 16 GB RAM, 256 GB úložištěm, operačním systémem Android XR a Gemini AI.
Před konferencí Next.js Conf 2025 bylo oznámeno vydání nové verze 16 open source frameworku Next.js (Wikipedie) pro psaní webových aplikací v Reactu. Přehled novinek v příspěvku na blogu.
Sovereign Tech Fund oznámil finanční podporu následujících open source projektů: Scala, SDCC, Let's Encrypt, Servo, chatmail, Drupal, Fedify, openprinting, PHP, Apache Arrow, OpenSSL, R Project, Open Web Docs, conda, systemd a phpseclib.
Bylo vydáno OpenBSD 7.8. S předběžnou podporou Raspberry Pi 5. Opět bez písničky.
Valkey (Wikipedie) byl vydán v nové major verzi 9.0. Valkey je fork Redisu.
Byly publikovány informace o kritické zranitelnosti v knihovně pro Rust async-tar a jejích forcích tokio-tar, krata-tokio-tar a astral-tokio-tar. Jedná se o zranitelnost CVE-2025-62518 s CVSS 8.1. Nálezci je pojmenovali TARmageddon.
AlmaLinux přinese s verzí 10.1 podporu btrfs. XFS bude stále jako výchozí filesystém, ale instalátor nabídne i btrfs. Více informací naleznete v oficiálním oznámení.
Společnost OpenAI představila svůj vlastní webový prohlížeč ChatGPT Atlas. Zatím je k dispozici pouze na macOS.
#!/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: