VST 3 je nově pod licencí MIT. S verzí 3.8.0 proběhlo přelicencování zdrojových kódů z licencí "Proprietary Steinberg VST3 License" a "General Public License (GPL) Version 3". VST (Virtual Studio Technology, Wikipedie) je softwarové rozhraní pro komunikaci mezi hostitelským programem a zásuvnými moduly (pluginy), kde tyto moduly slouží ke generování a úpravě digitálního audio signálu.
Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.10. Podrobný přehled novinek v poznámkách k vydání.
V Londýně probíhá dvoudenní Ubuntu Summit 25.10. Na programu je řada zajímavých přednášek. Zhlédnout je lze také na YouTube (23. 10. a 24. 10.).
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.
autoresponder unix - n n - - pipe
flags= user=nobody argv=/usr/local/sbin/autoreply/autoreply.pl $sender $mailbox
Skript se podívá do sql databáze, zda příjemce mailu má aktivní automatickou odpověď a zda již odesílateli tuto odpověď již v minulosti neposlal a pak pošle autoreply. Nicméně dále mám ještě přes /etc/postfix/mysql-virtual.cf nadefinované mimojiné forwardy. A to konkrétně:
email=jmeno@mojedomena.cz destination=jmeno@mojedomena.cz, kolega@mojedomena.czTím sice docílím toho, že mail je doručen do "mojí" schránky i do schránky kolegy, ale autoresponder v tomto případě nepředá skriptu v proměnné $mailbox jmeno@mojedomena.cz, ale kolega@mojedomena.cz. Poradí někdo, jak docílit toho, aby v tomto případě předal skriptu adresu jmeno@mojedomena.cz? Díky.
Řešení dotazu:
${mailbox}
This macro expands to the complete local part of a recip-
ient address. For example, with an address
user+foo@domain the mailbox is user+foo.
A command-line argument that contains ${mailbox} expands
to as many command-line arguments as there are recipi-
ents.
Ukaz ten skript autoreply.pl. Hadam, ze skript spatne prebira nebo zpracovava vsechny parametry.
#!/usr/bin/perl
use DBI;
use Mail::Mailer;
use MIME::Words qw(:all);
open CONF, "/usr/local/sbin/autoreply/db.conf";
#open LOG, ">/tmp/mailreply.txt";
while ($radek= {CONF}) {
chomp($radek);
{
$radek=~m/^(\w+)\s+(\S+).*$/;
$conf{$1}=$2;
}
}
close CONF;
$email=$ARGV[0];
$emailto=$ARGV[1];
#print LOG $email."\n";
#print LOG $emailto."\n";
@cas = localtime(time);
$year = 1900 + @cas[5];
$mon = "0".(1 + @cas[4]);
$day = @cas[3];
$hour = @cas[2];
$min = @cas[1];
$sec = @cas[0];
$datum = sprintf("%04d%02d%02d%02d%02d%02d", $year, $mon, $day, $hour, $min, $sec);
$dsn = "DBI:mysql:database=$conf{database};host=$conf{server};port=$conf{port}";
$reply = DBI -> connect($dsn , $conf{username} , $conf{password});
die "$DBI::errstr" if $DBI::err;
$setlatin = $reply -> prepare("SET character_set_results=latin2");
$setlatin -> execute();
$setlatin = $reply -> prepare("SET character_set_connection=latin2");
$setlatin -> execute();
$setlatin = $reply -> prepare("SET character_set_client=latin2");
$setlatin -> execute();
$select = $reply -> prepare("select id,recipient,Subject,message from autoreply where recipient='$emailto' and valid_from<'$datum' and valid_to>'$datum'");
$select -> execute();
die "$DBI::errstr" if $DBI::err;
while (($id,$recipient,$Subject,$message) = $select -> fetchrow()) {
$poslano = $reply -> prepare("select id from autoreply_sent where replyid=$id and mail_from='$email'");
$poslano -> execute();
die "$DBI::errstr" if $DBI::err;
$rownumber = $poslano -> rows();
if ($rownumber == 0) {
printf "Bude poslana zprava na mail ".$email." ve zneni ".$message;
my $mailer = Mail::Mailer->new("sendmail");
my $charset = 'ISO-8859-2';
my $mailmssg = $message;
$mailer->open({From => $emailto,
To => $email,
Subject => encode_mimewords($Subject, Charset => $charset),
'MIME-Version' => '1.0',
'Content-Type' => "text/plain; charset=$charset",
'Content-Transfer-Encoding' => '8bit',
});
print $mailer $mailmssg;
$mailer -> close();
$poslano = $reply -> prepare("insert into autoreply_sent (replyid, mail_from) values('$id', '$email')");
$poslano -> execute();
die "$DBI::errstr" if $DBI::err;
}
}
$emailto=$ARGV[1];Takze se do skriptu ta druha adresa nedostane i kdyby tam nakrasne byla. Ted je otazka jestli se predavaji adresy vsechny na zaklade toho preposilani (@#ARGV), nebo si je bude muset dohledat na zaklade uzivatele v databazi sam a nasledne preposlat na vsechny.
open LOG, ">/tmp/mailreply.txt";a nekde si tam pridej:
foreach my $arg(@ARGV) { print LOG "$arg\n"; }
Posli mail a podivej se jake parametry to predalo.
Tiskni
Sdílej: