Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Byl vydán Mozilla Firefox 138.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 138 je již k dispozici také na Flathubu a Snapcraftu.
Šestnáctý ročník ne-konference jOpenSpace se koná 3. – 5. října 2025 v Hotelu Antoň v Telči. Pro účast je potřeba vyplnit registrační formulář. Ne-konference neznamená, že se organizátorům nechce připravovat program, ale naopak dává prostor všem pozvaným, aby si program sami složili z toho nejzajímavějšího, čím se v poslední době zabývají nebo co je oslovilo. Obsah, který vytvářejí všichni účastníci, se skládá z desetiminutových
… více »Richard Stallman přednáší ve středu 7. května od 16:30 na Technické univerzitě v Liberci o vlivu technologií na svobodu. Přednáška je určená jak odborné tak laické veřejnosti.
Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.04.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.
TmuxAI (GitHub) je AI asistent pro práci v terminálu. Vyžaduje účet na OpenRouter.
Byla vydána nová verze R14.1.4 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání. Podrobný přehled v Changelogu.
Bylo vydáno OpenBSD 7.7. Opět bez písničky.
V Tiraně proběhl letošní Linux App Summit (LAS) (Mastodon). Zatím nesestříhané videozáznamy přednášek jsou k dispozici na YouTube.
package Test::Crawler; use Moose; use WWW::Mechanize; has client => ( is => 'ro', isa => 'WWW::Mechanize', default => sub { WWW::Mechanize->new }, ); has handler => ( is => 'ro', isa => 'CodeRef', default => sub {}, ); sub crawl { my ($self, $url, $visited) = (@_, {}); # Already seen that. return if $visited->{$url}++; # Not seen yet, get. $self->client->get($url); $self->handler->($url, $self->client); # Follow all links. my @uris = map { $_->URI } $self->client->links; for my $uri (@uris) { # Skip mailtos, ftp and such. next if $uri->scheme; # Skip external links. next if $uri->host; $self->crawl($uri->rel, $visited); } } 1;Pak už stačí crawler pustit v rámci testu a do handleru napsat kód pro validaci HTML a cokoliv dalšího. Pro začátek kontroluju visící odkazy:
use Test::More; use Test::Crawler; use Test::WWW::Mechanize::Catalyst; sub handle_link { my ($url, $mech) = @_; ok $mech->response->is_success, "failed to fetch: $url"; } my $mech = Test::WWW::Mechanize::Catalyst->new(catalyst_app => 'Foo'); Test::Crawler->new(client => $mech, handler => \&handle_link)->crawl('/'); done_testing;Už během psaní crawleru jsem našel pár chybných URL (dobře schovaných v dynamicky generovaném RSS feedu), takže podobný test se jistě užije. Jen pro tu validaci by asi doopravdy bylo dobré začít používat místní validátor, abych nespamoval online služby.
Tiskni
Sdílej: