Je třetí sobota v září a proto vše nejlepší k dnešnímu Software Freedom Day (SFD, Wikipedie).
Bogdan Ionescu rozběhl webový server na jednorázové elektronické cigaretě.
Byla vydána beta verze Ubuntu 25.10 s kódovým názvem Questing Quokka. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 25.10 mělo vyjít 9. října 2025.
Bola vydaná nová verzia 4.13 security platformy Wazuh. Prináša nový IT hygiene dashboard, hot reload dekodérov a pravidiel. Podrobnosti v poznámkách k vydaniu.
Americký výrobce čipů Nvidia investuje pět miliard dolarů (přes 100 miliard Kč) do konkurenta Intel, který se v poslední době potýká s vážnými problémy. Firmy to včera oznámily ve společné tiskové zprávě. Dohoda o investici zahrnuje spolupráci při vývoji čipů pro osobní počítače a datová centra. Akcie společnosti Intel na zprávu reagovaly výrazným růstem.
Dlouholetý balíčkář KDE Jonathan Riddell končí. Jeho práci na KDE neon financovala firma Blue Systems, která ale končí (Clemens Tönnies, Jr., dědic jatek Tönnies Holding, ji už nebude sponzorovat), někteří vývojáři KDE se přesunuli k nově založené firmě Techpaladin. Pro Riddella se již nenašlo místo. Následovala debata o organizaci těchto firem, které zahraniční vývojáře nezaměstnávají, nýbrž najímají jako kontraktory (s příslušnými důsledky z pohledu pracovního práva).
V Amsterdamu probíhá Blender Conference 2025. Videozáznamy přednášek lze zhlédnout na YouTube. V úvodní keynote Ton Roosendaal oznámil, že k 1. lednu 2026 skončí jako chairman a CEO Blender Foundation. Tyto role převezme současný COO Blender Foundation Francesco Siddi.
The Document Foundation, organizace zastřešující projekt LibreOffice a další aktivity, zveřejnila výroční zprávu za rok 2024.
Byla vydána nová stabilní verze 7.6 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 140. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána verze 1.90.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
$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: