Byla vydána nová verze 10.7 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Přibyly balíčky HomeBox a Scrypted.
OpenRGB (GitLab) dospěl do verze 1.0 (YouTube). OpenRGB (dříve OpenAuraSDK) je svobodný multiplatformní software umožňující nastavení podsvícení celé řady různých „herních“ komponent a periferií.
Dnes startuje prodej headsetu Steam Frame. Počínaje dneškem se tedy můžete zapsat na seznam pro jeden z následujících modelů: Steam Frame 256 GB za 1 049 EUR a Steam Frame 1 TB za 1 279 EUR.
Vládní CERT upozorňuje na kritickou zranitelnost v GitLab Community Edition (CE) a Enterprise Edition (EE). Zranitelnost CVE-2026-85706 typu path traversal v Repository Commits API dosahuje skóre CVSS 10.0. Kvůli nedostatečnému omezení cest a chybějícímu vynucení autentizace může za určitých podmínek neautentizovaný útočník číst libovolné soubory ze serveru GitLab, a získat tak přístup k citlivým datům a konfiguraci instance.
Linux může běžet nativně na ESP32-S3 – bez emulace a rovnou s 9,7″ e-paperem.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 7.0.0. Pro sandboxing se na Linuxu nově používá Landlock místo Bubblewrap. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Správce fotografií Shotwell byl vydán ve verzi 33.0 (GitLab). Hlavní novinkou v tomto vydání po dvou letech je přechod na GTK4.
Na YouTube byly publikovány videozáznamy přednášek a na Flickru fotografie z konference EuroPython 2026.
Byl vydán Debian 13.7, tj. sedmá opravná verze Debianu 13 s kódovým názvem Trixie. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
Jiří Eischmann se v příspěvku Fiasko jménem W Social na svém blogu věnuje evropské sociální síti W: "W Social je příkladem toho, že se problémy sociální sítí nedají řešit od exekutivního stolu. Když na začátku tohoto roku v Davosu oznámili vznik nové sociální sítě W Social, politici se mohli přetrhnout ve chvalozpěvech. Konečně evropská sociální síť a ještě s ověřením identity. … Jak se ukázalo, když v Davosu W Social oznamovali, neměli kromě
… více »
$posts= preg_split('/From (.+) na (.+) (Mon|Tue|Wed|Thu|Fri|Sat|Sun) (.{3}) (.{2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})/', implode(file('test.txt')), -1, PREG_SPLIT_NO_EMPTY);
while(list($key,$value)= each($posts)){
$post_split= preg_split('/Message-ID: (.+)/',$value);
$head= $post_split[0];
$message_text= $post_split[1];
preg_match('/From: (.+) na (.+) \((.+)\)/',$head,$from);
preg_match('/Subject: (.+)/',$head,$message_subject);
$post= $from[0]."\n".$message_subject[0]."\n\n".trim($message_text)."\n";
echo "$key\n<br>".nl2br(htmlspecialchars($post))."<br>\n<hr>\n";
}
Potrebuju nacist soubor a ten pak naparsovat na castiNic vic, nic min to nedela. Ja jsem jen potreboval ten kod vylepsit aby byl efektivnejsi
#!/usr/bin/env perl
use strict;
use warnings;
my $msg={};
my $header='';
my $firstFrom = qr(^From (.+) na (.+) (Mon|Tue|Wed|Thu|Fri|Sat|Sun) (.{3}) (.{2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})$);
my $headerLine = qr(^\S+:);
sub ParseHeader {
my @headerLines = split m($/), $_[0];
my $ret = {};
@$ret{qw(usr site dayOfWeek month day hour min sec year)} =
shift(@headerLines) =~ /$firstFrom/;
foreach my $line (@headerLines) {
# tady si udelej co chces se zbytkem hlavicky a nacpi do $ret
}
return $ret;
}
sub PrintMsg {
my $msg = shift;
return unless ref $msg eq 'HASH' and %$msg;
use Data::Dumper;
print Data::Dumper->Dump([$msg],['msg']);
}
while (<>) {
chomp;
?$firstFrom?o and $header = $_ and next;
if ($header) {
/$headerLine/o and $header .= "$/$_" and next;
if (/^\s*$/) {
PrintMsg ($msg); # end of header - print msg
$msg = ParseHeader($header);
$header = '';
reset;
next;
}
# falesna hlavicka
$msg->{content} .= "$/" . $header;
$header = '';
next;
}
%$msg and $msg->{content} .= "$_$/" and next;
/\S/ and die 'Header not found';
}
#!/usr/bin/env perl
use strict;
use warnings;
my $msg={};
my @header;
my $firstFrom = qr(^From (.+) na (.+) (Mon|Tue|Wed|Thu|Fri|Sat|Sun) (.{3}) (.{2}) (\d{2}):(\d{2}):(\d{2}) (\d{4})$);
my $headerLine = qr(^\S+:);
sub ParseHeader {
my $ret = {};
@$ret{qw(usr site dayOfWeek month day hour min sec year)} =
shift() =~ /$firstFrom/;
foreach my $line (@_) {
# tady si udelej co chces se zbytkem hlavicky a nacpi do $ret
}
return $ret;
}
sub PrintMsg {
my $msg = shift;
return unless ref $msg eq 'HASH' and %$msg;
use Data::Dumper;
shift @{$msg->{content}} while $msg->{content}[0] =~ /^\s*$/;
pop @{$msg->{content}} while $msg->{content}[$#{$msg->{content}}] =~ /^\s*$/;
print Data::Dumper->Dump([$msg],['msg']);
}
while (<>) {
chomp;
?$firstFrom?o and push @header, $_ and next;
if (@header) {
/$headerLine/o and push @header, $_ and next;
if (/^\s*$/) {
PrintMsg ($msg); # end of header - print msg
$msg = ParseHeader(@header);
@header = ();
reset;
next;
}
# falesna hlavicka
push @{$msg->{content}}, @header;
@header = ();
next;
}
%$msg and push @{$msg->{content}}, $_ and next;
/\S/ and die 'Header not found';
}
PrintMsg($msg);
Tiskni
Sdílej: