Chris White - It's the little things
I spend most of my terminal time in bash and vim, so little slowdowns in either disproportionately drain my time and energy. Since mid-2019, I have smoothed over warts in those tools by creating new shortcuts and by learning more about what the software already offers!
Colorize the bash prompt!
Last word in bash (filename)
!$
VIM
:b
:V% - visually select block
https://github.com/magicmonty/bash-git-prompt
https://github.com/cxw42/git-log-compact
https://github.com/cxw42?tab=repositories&q=&type=&language=&sort=stargazers
Mojolicious Gardening - Joel Berger
Mojolicious apps come in two flavors, Lite or Full. Lite apps are great for proof of concept but Full is better for robust apps. Can you move up from Lite to Full? Absolutely, we call it "growing"!
http://npw2018.oslo.pm/npw2018/talk/7476
Growing Guide:
https://docs.mojolicious.org/Mojolicious/Guides/Growing
Jason McIntosh - Whim: A Webmention multitool for the command line - Lighting Talks - Day 3
Whim is a brand-new command-line tool (written with Mojo!) that lets you receive, process, display, and send webmentions from the command line.
https://jmac.org/webmention/
https://www.adamdjbrett.com/blog/enabling-webmentions-in-11ty/
Webmention is a recent, W3C-approved technology that aims to promote the proliferation of independent websites through a simple protocol of open, cross-domain notifications.
I have been obsessed with this technology for the past two years, and I will try to explain why, sharing a lot of resources for further study.
Mojolicious Nine Point Oh! with Joel Berger
Mojolicious Core Team member Joel Berger discusses some of the features of the recent Mojolicious 9.0 release and how they can improve your web (and async) applications.
Data::Random::Contact - Generate random contact data
use Data::Random::Contact;
my $randomizer = Data::Random::Contact->new();
my $person = $rand->person();
my $household = $rand->household();
my $organization = $rand->organization();
DESCRIPTION
This module generates random data for contacts. This is useful if you're working an application that manages this sort of data.
It generates three types of contacts, people, households, and organizations.
Use v5.20 subroutine signatures – The Effective Perler
If you declare use v5.36; (or a later version, like v5.38 or v5.40) at the top of your script, subroutine signatures are enabled automatically, and you no longer need to suppress any warnings.
The Great Perl Toolchain Summit CLI Throwdown 2026 · olafalders.com
A roundup of the command-line tools and terminal setups shared at the 2026 edition of our now-annual CLI throwdown at the Perl Toolchain Summit.
- eza
- superpowers
- fastgron
- fx
- dyff
The <(...) syntax runs a command and presents its output as if it were a file (pipe), which lets you feed command output to programs that expect a filename.
# See how the contents of two directories differ
diff <(ls dir-one) <(ls dir-two)
https://www.olafalders.com/2025/06/03/the-great-pts-cli-throwdown/
- yazi
- tailscale
- neovim plugins
- bat
- typos
- shutter (linux)
Other tools
- ncdu - ncdu (NCurses Disk Usage) is an interactive, text-based disk space analyzer.
Big O Notation | May 2026 | The Weekly Challenge
Today, I will focus mostly on Time Complexity from the Perl point of view.
- O(1) - Constant Time
- O(n) - Linear Time
- O(log n) - Logarithmic Time
- O(n ^ 2) - Quadratic Time
- O(n log n) - Linearithmic Time
- O(sqrt n) - Square Root Time
- O(n ^ 3) - Cube Time
- O(2 ^ n) - Exponential Time
- O(n!) - Factorial Time
Chandra: Cross-Platform Desktop GUIs in Perl - DEV Community
Building desktop applications has traditionally been a challenge in the Perl ecosystem. While we have... Tagged with perl, c, xs, programming.
Beautiful Perl feature: "heredocs", multi-line strings embedded in source code
A piece of "heredoc" data can appear anywhere in a Perl expression. It starts with an initial operator written either << or <<~. The second variant with an added tilde ~, available since Perl v5.26, introduces an indented heredoc, where initial spaces on the left of each line are automatically removed by the interpreter.
Empty string as delimiter
The delimiter string can also be .. an empty string! In that case the heredoc content ends at the next empty line; this is an elegant way to minimize noise around the data.
Several heredocs can start on the same line, as in this example:
my @blogs = $dbh->selectall_array(<<~END_OF_SQL, {}, split(/\n/, <<~END_OF_BIND_VALUES));
Beautiful Perl feature : fat commas, a device for structuring lists - DEV Community
A fat comma in Perl is a construct that doesn't involve a typographic comma! Visually it consists of an expression followed by an arrow sign => and another expression. This is used in many contexts, the most common being for initializing hashes or for passing named parameters to subroutines:
Notes on using regular expressions in Python and Perl
Summary of how to work with regular expressions in Python. Compares Python with Perl and points out some gotchas.
GitHub and the Perl License | Mikko Koivunalho [blogs.perl.org]
The Solution: Separate License Files
The simplest and most effective solution is to provide each license in its own dedicated file. This allows Licensee to easily identify and display both licenses. This is perfectly valid because the Perl 5 license explicitly allows for distribution under either the Artistic License or the GPL. Providing both licenses separately simply makes it clearer which licenses apply and how they are presented.
My Guilty Perl Obsession
Perl came for free. How much have I contributed in return? Absolutely nothing.
I work as what I’d call an inside-contractor.
I’m a speed-dial (is that still a thing?) phone call away.
Occasionally, a client will call me a dozen times in a day.
I’m closer than their coleague in the next office.
GitHub - obra/Youtube2Webpage: I learn much better from text than from videos
I learn much better from text than from videos.
Youtube-to-Webpage is a Perl script to create a webpage from a Youtube video with a transcript generated from the video's closed captions paired with screenshots of the video.
./yt-to-webpage.pl project-name "videoURL"
Generating Content with ChatGPT - Perl Hacks
Back in January, I wrote a blog post about adding JSON-LD to your web pages to make it easier for Google to understand what they were about. The example I used was my ReadABooker site, which encourages people to read more Booker Prize shortlisted novels (and to do so by buying them using my Amazon
Please add info into DOC how to run PSGI under CGI · Issue #566 · plack/Plack · GitHub
Please put this into synopsys of 'plackup' $ SCRIPT_NAME='/' REQUEST_METHOD='GET' SERVER_NAME='www.test' SERVER_PORT='5000' plackup -s CGI t.pl
Also:
https://github.com/plack/Plack/issues/598
https://github.com/plack/Plack/issues/147
https://github.com/plack/Plack/pull/159/files
https://github.com/plack/Plack/pull/217
https://github.com/plack/Plack/pull/235
jwz: Now I have two problems (Mastodon PHP comments)
Lazyweb, why doesn't this regexp match in Perl 5.32.1, 5.34.3 or 5.18.2 but does in PHP and JS: perl -le 'print 0 + ("ABCDE" =~ m/ABCF|BCDE|C(G)/);' Changing nearly any character, including the C before the G, or removing the parens, makes it match.