2011.08.28 in #5
Quick note on character encoding and using the JSON module
Flavio Poletti goes into a detailed description on how strings are handled within Perl regarding bytes and characters and how you should handle them. Then he explains how to use the JSON module to avoid issues with Unicode.
2011.09.09 in #7
Flavio Poletti introduces his 'yet to be fully released' module to make it easy to handle the environment in DotCloud
2011.11.19 in #17
Dist::Zilla, Pod::Weaver and bin
Flavio Poletti fights Dist::Zilla and Pod::Weaver in public. And wins! There is a certain value when someone describes the path to the solution and not only the solution. That helps people accept, that they are not expected to come up with a solution out of the blue. It also helps people learning the fine art of problem solving.
2012.03.24 in #35
Flavio Poletti created a command line tool that can take files and act on their lines as elements of sets to find out union and intersect and even to subtract one from the other. It looks interesting though I'd like to see an explanation of the use case his co-worker had that prompted the creation of this tool.
2012.03.28 in #36
Logging in Dancer
Flavio Poletti writes about the use of Log4perl together with Dancer.
2012.04.06 in #37
Parse::RecDescent and number of elements read on the fly
Flavio Poletti explains how he parses some grammar that has parts that are declared dynamically. Sort of changing the rules as you go along. I have a feeling that there should be an easer way to solve this but have not checked it deeply. Maybe you could do it? Maybe using Marpa?
2012.08.07 in #55
How to create Origami envelopes using Perl
I love it when people do nice things with Perl. I don't mean nice code, but nice results. Like in this case Flavio Poletti took a nice images, manipulated it a bit and created a printable PDF. All that using Image::Magick.
2013.12.26 in #127
Potrace is a tool to transform bitmaps into vector graphics. Graphics::Potrace, written by Flavio Poletti provides the Perl binding to it.
2015.02.15 in #186
"deployable" is a handful of tools to help you with remote management of multiple servers. It was born when there was no Puppet or Chef in town.
2015.04.26 in #196
Flavio presents his wrapperl script, which is on github. It provides a mechanism for localising scripts to multiple different environments.
2015.04.27 in #197
A general profile photo that looks in the camera
Flavio reminds us all that when you put a picture of a person on a slide (or a blog post, or an e-mail), make sure the person does not look away from the text. Either the person on the side should look at the text, s/he should straight ahead. The latter will indicate that the person on the page is interested in the reader.
2015.09.02 in #215
Changes, nags and git hooks
Want Dist::Zilla to check that the Changelog of your module has been updated before releasing a new version? Flavio did, and discovered that he was naught but a configuration away of total bliss.
2015.12.27 in #231
teepee — a command-line tool that takes JSON or YAML (eg retrieved from some API using
curl) and lets you slice and dice parts of it.
2016.01.23 in #235
2016.04.01 in #245
If I am not mistaken it is a templating engine using tags that resemble the tags of Template::Toolkit and input data in PSKV format. That might stand for Pipe Separated Keys and Values.
2016.05.19 in #252
Travis-CI and Perl
Notes from Flavio on using Travis-CI with perl projects.
2016.06.11 in #255
Do you document your functions as =headN or in a list as =item ? (Editor: I think POD should have semantic tags such as =function and =method)
2016.10.10 in #273
Dokku - Your Tiny PaaS
Flavio introduces Dokku, a tiny platform-as-a-service, which aims to make it easy to deploy a single service on a machine. The example he presents is a simple Mojolicious app.
2016.11.27 in #279
WebService::Fake - but still usable!
Working on something interfacing to a web service, but don't want to hit the real web service during development? Well, you know the saying: fake it till you can make it (build on production).
2017.03.01 in #293
Telegram Keyboard Button Encoding
Telegram is a messaging service, one of the best-known features of which is end-to-end encryption of your messages. In the client you can define custom buttons, and Flavio has used Perl to abuse this feature.
2018.01.06 in #337
Some Maths for Dobble
2018.01.14 in #338
A Simple Telegram Bot
Flavio gives us a great how-to for building bots with Bot::ChatBots::Telegram.
2018.04 in #352
A tiny post about a small app to draw random pictures, I hope you will enjoy!
2019.04.08 in #403
Hi from dibs... and more
A collection of articles about dibs, the Docker image build system
2019.04.08 in #403
Dibs - Remote Packs
2020.01 in #444
Reading QR Codes from Perl
2020.01.07 in #442
A RANDOM Maze with Curses
A brilliant thought provoking blog by Flavio. Please checkout the blog to learn about Curses.
2020.01.14 in #444
Scrape a Thread of Tweets
2020.01.20 in #444
2020.04 in #457
Euclid's Elements, illustrated
2020.04.07 in #455
More constraint programming
2020.04.12 in #455
Many articles by Flavio
I did not have his blog in my feed reader so now you just get a link to all his recent post, but from now on I hope I'll be able to include more of his posts.
2020.04.20 in #457
Allocating games in tournaments - 6 players matches, premium
also: Allocating games in tournaments - a program
2020.04.22 in #457
The Spatial Game of Ur
2020.04.23 in #457
Conway's Game of Life
Also: Conway's Game of Life - Sweeping counting
2020.04.25 in #457
2020.04.28 in #458
Ouch in Mojolicious
Flavio shared how to use Ouch in Mojolicious.
2020.05.05 in #459
Sorting an incidence matrix
2020.05.08 in #459
Resolving a (Steiner) design - constraints and search
2020.05.08 in #459
Vue this blog
Getting started to convert a plain blog to use Vue.js
2020.05.10 in #459
Content negotiation in Mojolicious
2020.05.11 in #460
A 4-faces die from a 6-faces die
Flavio sharing ideas how to deal with 4-faces die.
2020.05.14 in #460
Counting tags in this blog
Flavio shared Perl solution for counting tags in blog.
2020.05.19 in #461
A Quiz from my past self
What is Ordeal::Model::ChaCha20 ?
2020.05.20 in #461
Global string matching quirks
Looking at the source code of Ordeal::Model::Parser
2020.05.21 in #461
A parser for Ordeal::Model
2020.05.22 in #461
2020.05.25 in #462
Ordeal::Model::Parser: parsing generics
Flavio shared generics parsing function using Ordeal::Model::Parser.
2020.05.26 in #462
Flavio shared domain parsing function using Ordeal::Model::Parser.
2020.05.28 in #462
Flavio shared his experience with Git::Wrapper. Must Read.
2020.05.29 in #462
ETOOBUSY automated publishing
Falvio shared his fun with automated publishing.
2020.05.30 in #462
Post status on Mastodon
Falvio shared his work on Mastodon.
2020.06.01 in #463
Post status on Twitter
use MojoX::Twitter; that leverages the excellent Mojo toolkit that is shipped with Mojolicious.
2020.06.02 in #463
Notifications for busypub
busypub, a little Perl program to automate publishing blog posts that were written beforehand.
2020.06.08 in #464
Some CC0 images
Interesting facts about the change in licensing of images by Pixabay.
2020.06.09 in #464
Fun project similar to iGal. Worth checking out.
2020.06.10 in #464
Find out more about Path::Tiny.
2020.06.11 in #464
Rebase and retag
Find out more about busypub system.
2020.06.12 in #464
Rebase and retag, but manually
Interesting take on Git hooks.
2020.06.13 in #464
Multipath TCP - reminder to study
Have fun with Multipath TCP.
2020.06.20 in #465
Restart from skfold
I was wondering why have Flavio not posted for so long
2020.06.21 in #465
skfold is usable!
skfold is a universal scaffolding tool. It sounds like a very nice project. It could be extended to all kinds of non-Perl projects to provide an 'easy way to get started with X'. The question though how can you make skafold easily distributable? Asking the users to install Perl and on top of that install skafold would probably limit the reach of the project.
2020.06.22 in #466
skfold - getting started with simple files
Quick and short introduction to skfold by Flavio.
2020.06.23 in #466
skfold - repeated files
In this blog, Flavio dealing issues with skfold.
2020.06.24 in #466
skfold - one-off files
Flavio sharing tips to use dibs module.
2020.06.25 in #466
Today I Learned: fatpack and PERL5LIB
Flavio shared the issue and fix using PERL5LIB.
2020.06.26 in #466
Finally getting skfold fatpacked.
2020.06.27 in #466
Dice for Bargain Basement Bathysphere (of Beachside Bay)
Flavio shared dice game in this blog.
2020.06.28 in #466
skfold - documentation
Deal with skfold documentation.
2020.07 in #471
Benchmarking simplified implementations of NestedLoops
Iterative counterparts of recursive function are not always more efficient.
2020.07 in #471
Iterator from loop
A way to turn an exhaustive loop into an iterator.
2020.07.01 in #467
Docker base images for Perl
Check out ,perldi,the GitHub repository of Docker images for Perl developer
2020.07.02 in #467
SVG documentation cleanup proposal
There are several modules on CPAN dealing with SVG and some of them has issues with their documentation.
2020.07.04 in #467
SVG DOM tree visit
I have written about SVG extensively. I event maintained the SVG module for some time and now Manwar is the maintainer. So I am happy Flavio is playing with it.
2020.07.06 in #468
What is Bézier curves? well read the short blog to find out more about it.
2020.07.07 in #468
Posts publishing routine in a script
In the blog, Flavio shared his automation script for publishing.
2020.07.08 in #468
Derivatives of Bézier curves
If you read the earlier blog about Bézier curves then you are going to find this interesting as well.
2020.07.09 in #468
Extremes for Bézier curves
In this blog, Flavio take us through the mathematic formula behind the derivative for Bézier curves.
2020.07.10 in #468
This was fun reading, as it solved the encoding issue in one of Flavio script.
2020.07.11 in #468
Parsing toolkit in cglib
Find out about Parser for Object::Model. I am not sure if I understood the point behind it.
2020.07.12 in #468
Parsing SVG paths
A complete solution to parsing SVG path, pretty serious coding.
2020.07.14 in #469
SVG path bounding box: segments
Where Flavio start looking into the SVG path bounding box... starting simple.
2020.07.15 in #469
SVG path bounding box: merge multiple boxes
Merging many bounding boxes together.
2020.07.20 in #470
Ellipses (for SVG): mapping to SVG representation
Flavio dealing with Ellipses in this short blog.
2020.07.21 in #470
Ellipses (for SVG): finding the center
Flavio continued playing with Ellipses finding the center.
2020.07.22 in #470
Ellipses (for SVG): parameter values
In this blog, Flavio trying to figure out parameter values.
2020.07.23 in #470
Ellipses (for SVG): transformation implementation
Time to de some transformation now in this blog.
2020.07.24 in #470
SVG path bounding box: arcs of ellipses
Exploring bounding box in this short blog.
2020.07.25 in #470
Trigger rebuild of blog in GitHub Pages
Interesting blog dealing with breakdown of GitHub services.
2020.07.26 in #470
Some Time Later
Flavio is having too much fun with SVG. Check it out yourself.
2020.07.27 in #471
NestedLoops from Algorithm::Loops
2020.07.28 in #471
A simplified recursive implementation of NestedLoops
A possible implementation that is compatible in interface but only offers a subset of the functionalities.
2020.07.29 in #467
skfold - a Docker image
Flavio responds to the question I asked 2 weeks ago about the ease of installation of skfold with 3 different answers. Which one do you like?
2020.07.30 in #467
suexec with user id 0
2020.08 in #475
A card layout - in Perl
2020.08.03 in #472
Support of dynamic dimensions for nested loops
Flavio nested lLoops implementation of the iterator solution.
2020.08.04 in #472
Deep clone of a data structure in Perl
Flavio shared various method of deep cloning.
2020.08.05 in #472
Encrypting with OpenSSL enc
Deep secret of openssl command is exposed in the blog.
2020.08.06 in #472
Find out the power of Log::Log4perl::Tiny as shared by Flavio.
2020.08.07 in #472
SVG path in a rectangle
Detailed SVG analysis with regard to dealing with rectangle.
2020.08.08 in #472
Term::ANSIColor and (lack of) the terminal
Did you ever want to have colourful terminal? Please checkout the blog for answer.
2020.08.09 in #472
JSON::PP - an unsung hero?
Flavio shared the little secret JSON::PP has been part of core Perl since May 2011.
2020.08.10 in #473
Module::Runtime helps you load modules whose name you don’t know beforehand.
2020.08.11 in #473
Digest and identifiers
Digest comes handy for generating quick and dirty identifiers.
2020.08.12 in #473
A couple thoughts about Perl 7
2020.08.14 in #473
Base64 in Perl
2020.08.15 in #473
Automated Mozart, by larsen
Larsen (aka. Stefano Rodighiero) used Markov chains to generate music automatically, starting from an example MIDI file. Alas, after some time his Automatic Music with Perl became a bit stale and the pointer to the code was lost...
2020.08.17 in #474
Rational numbers in Perl
Ever had to deal with rational numbers, please check out the blog for short introduction.
2020.08.18 in #474
Quick-and-dirty capturing of STDOUT in Perl
Another short and sweet introduction about capturing STDOUT.
2020.08.19 in #474
Take it as a gentle reminder about the cool distribution.
2020.08.20 in #474
Interesting take on hash-based message authentication code.
2020.08.21 in #474
HMAC in Perl
Flavio introduction to Digest::SHA.
2020.08.22 in #474
SVG Ellipses again: representing with NURBS
In this blog, Flavio shared the further discussion on SVG Ellipses.
2020.08.23 in #474
A card layout
Flavio playing with card layout in this blog.
2020.08.30 in #475
TechWorld with Nana
2020.09 in #477
Ordeal::Model gets a Raw backend
Ordeal::Model is a Perl module that basically serves the needs of ordeal, a small semi-public web application to randomly draw cards.
2020.09 in #479
Another look at parsing XML... this time with more meat inside.
2020.09.02 in #480
PWC080 - Count Candies
Thoroughly discussed the task in great detail.
2020.09.04 in #476
Fixing an example in Mojolicious
Flavio fixed bug he found in a Cookbook for Mojolicious.
2020.09.08 in #477
EventSource and buffering
If your application serving the EventSource web service is behind a (reverse) proxy, you might want to know how to disable buffering.
2020.09.09 in #477
CORS quick note
2020.09.10 in #477
Sending 204 'No Content' from Mojolicious
Set status to 204 AND pass an empty text/data too.
2020.09.11 in #477
New release of Bot::ChatBots::Telegram
Just upgrading the dependency.
2020.09.12 in #477
Trying Cairo: a Docker image
Cairo is a 2D graphics library with support for multiple output devices.
2020.09.13 in #477
Trying Cairo in Perl
2020.09.14 in #478
A wrapper for asciinema
It is nice introduction to Asciineme for me. Never heard of it before.
2020.09.18 in #478
I loved the discussion of task. It is fun to see how others look at a particular problem. There is plenty to learn from it.
2020.09.19 in #478
PWC - Left Rotation
Flavio discussed various aspects of task. It is worth reading the discussion.
2020.09.21 in #479
CSS sprites can be cute
2020.09.22 in #479
PWC079 - Count Set Bits
Flavio made the blog to his daily blog routine. Cool attempt.
2020.09.23 in #479
PWC079 - Trapped Rain Water
A very interesting approach to Trapped Rain Water task. Nice work.
2020.09.24 in #479
Disabling autohistory in Term::ReadLine
It's possible to disable the autohistory feature in Term::ReadLine backends and take control of how to populate history.
2020.09.25 in #479
REX - Shallow XML parsing
Shallow parsing of XML with a regular expression.
2020.09.27 in #479
Looking at the internals of Mojolicious is always interesting.
2020.09.28 in #480
An update to quenv
Short blog post about quenv - quick environment
2020.09.29 in #480
One year of posting on ETOOBUSY
Finally completed one year of daily posting on ETOOBUSY.
2020.09.30 in #480
PWC080 - Smallest Positive Number
Nice and simple solution to the Smallest Positive Number task.
2020.10.01 in #480
Area of a triangle
Interesting way to figure out the area of a triangle.
2020.10.03 in #480
PDF::Reuse - deep diving in the past
Nice use of PDF::Reuse.
2020.10.04 in #480
Blog: align master to commit
Handy tips to align master.
2020.10.06 in #481
Area of a triangle, again
How the triangle's area should be really calculated.
2020.10.07 in #481
Stockpiling blog posts
Sometimes I can write a few posts ahead of time... but stockpile them for publishing when I run out of time. Git helps.
2020.10.08 in #481
PWC081 - Common Base String
Thorough analysis of Common Base String task.
2020.10.09 in #481
PWC081 - Frequency Sort
Interesting discussion about the Frequency Sort task.
2020.10.11 in #481
A little shell script to keep a Perl program under check.
2020.10.13 in #482
PWC082 - Common Factors
Flavio continued fun with weekly challenge task Common Factors.
2020.10.14 in #482
PWC082 - Interleave String (but not really!)
Flavio discussing interleave string task with question.
2020.10.20 in #483
Stein's algorithm for GCD
Flavio read about Stein's algorithm for calculating the greatest common divisor between two integers and found it interesting.
2020.10.21 in #483
PWC083 - Words Length
Regex at its best, must read.
2020.10.22 in #483
PWC083 - Flip Array
Flavio shared detailed analysis of Flip Array task.
2020.10.28 in #484
PWC084 - Reverse Integer
Flavio continued his daily blog posts with yet another one sharing his solution to Reverse Integer.
2020.10.29 in #484
PWC084 - Find Square
Flavio discusses the Find Square task with great detail in this blog post.
2020.11.01 in #484
Add line numbers to code snippets
Flavio shared a tip to add line numbers to code snippets.
2020.11.03 in #485
Fantasy Name Generator - a parser
A parser for the grammar in Fantasy Name Generator
2020.11.04 in #485
Global matching in scalar context
2020.11.05 in #485
PWC085 - Triplet Sum
You don't want to miss this discussion on the subject. It is always fun to read Flavio's blog.
2020.11.06 in #485
PWC085 - Power of two integers
Flavio made the task look like a walk in the park. I loved this approach.
2020.11.08 in #485
2020.11.11 in #486
PWC086 - Pair Difference
Flavio shared his solution to Pair Difference with a cool discussion.
2020.11.12 in #486
PWC086 - Sudoku Puzzle
Flavio made a difficult task look simple. Amazing blog post.
2020.11.13 in #486
Find fishy Pods in Kubernetes
Flavio was playing with Kubernetes in his blog post to figure out pods.
2020.11.14 in #486
Pointer to element
Flavio shared a gem of code to traverse a hash of hashes to get to a specific item.
2020.11.15 in #486
Hanging Persistent Volumes in Kubernetes
Flavio continued playing with Kubernetes with regard to Persistent Volumes.
2020.11.18 in #487
PWC087 - Longest Consecutive Sequence
Flavio took the discussion to another level. Highly Recommended.
2020.11.19 in #487
PWC087 - Largest Rectangle
Flavio once again shared nice ideas. Must Read.
2020.11.23 in #488
Variables, loops, and redirections
Interesting discussion about the very basics of variables, loops and redirections.
2020.11.24 in #488
Put a file in a Kubernetes Pod
Flavio has another gem of a blog post showing how to put a file in a Kubernetes pod.
2020.11.26 in #488
PWC088 - Array of Product
Flavio continued his weekly challenge journey, having so much fun.
2020.11.27 in #488
PWC088 - Spiral Matrix
Flavio's style of question and answer in his blog post makes me think again and again.
2020.11.29 in #488
Peek in containers
Take a peek into containers with this short blog post.
2020.12 in #481
A cheap trick to manipulate PERL5LIB
Manipulating PERL5LIB for locally installed programs.
2020.12.01 in #489
PWC089 - GCD Sum
I love Flavio in the same spirit as he mentioned me in this blog post. He is simply incredible.
2020.12.02 in #489
PWC089 - Magical Matrix
Flavio's engaging writing skill is very addictive. Please check it out yourself.
2020.12.03 in #489
The blessing of forgetting
Forgetting is good because you can enjoy the (re)discovery.
2020.12.11 in #490
PWC090 - DNA Sequence
One might say there is not much to talk about in DNA task. I would recommend Flavio's blog post to disprove that point.
2020.12.12 in #490
PWC090 - Ethiopian Multiplication
Straight to the solution without any discussion.
2020.12.15 in #491
PWC091 - Count Number
Flavio showing the power of Perl regexes. If that's not enough, then you also get non-regex solution as well.
2020.12.16 in #491
PWC091 - Jump Game
Flavio made the Jump Game task look like schoolboy job. Impressive.
2020.12.17 in #491
Advent of Code 2020 - Day 13
2020.12.18 in #491
Multidimensional Conway's Game of Life
Addressing Conway's Game of Life with a different approach for a multidimensional infinite space.
2020.12.20 in #491
Try Marpa to blow a mosquito with a cannon.
2020.12.22 in #492
PWC092 - Isomorphic Strings
Flavio knows the art of breaking task into pieces and then everything looks so simple and easy. Great job.
2020.12.23 in #492
PWC092 - Insert Interval
Flavio pictorial breakdown of Insert Interval task is really cool. Must Read.
2020.12.24 in #492
The Definitive Conway's Game of Life
Flavio introducing the Conway's Game of Life.
2020.12.26 in #492
Generalized Chinese Remainder Theorem
Flavio playing with Chinese Remainder Theorem. Nice trick with numbers.
2020.12.28 in #493
PWC093 - Max Points
As expected, Flavio took us to the another planet with great story line. Highly Recommended.
2020.12.29 in #493
PWC093 - Sum Path
Flavio dealt with 'Sum Path' task in a unique way. Interesting take, must read.
2020.12.31 in #493
2020 in retrospect
2021.01 in #497
AoC 2016/19 - Dynamic Josephus
I was very happy to get past puzzle 19 from the 2016 edition of Advent of Code, but let's admit two facts: I didn't demonstrate that the heuristic is actually a rule; This wouldn't help in some other general case.
2021.01 in #497
Permutations with Heap's Algorithm
All permutations over N objects can be generated by Heap's Algorithm.
2021.01.02 in #493
Dijkstra Algorithm - as functions only
2021.01.06 in #494
PWC094 - Group Anagrams
Flavio's style of blogging is very interesting. Reading his blog is a kind of magic; it always keeps you engaged.
2021.01.07 in #494
PWC094 - Binary Tree to Linked List
Flavio showing the power of code reuse and proving the point - 'Don't reinvent the wheel'.
2021.01.11 in #495
AoC 2016/11 - New algorithm: A*
On with Advent of Code puzzle 11 from 2016: moving to the A* algorithm.
2021.01.12 in #495
AoC 2016/11 - New representation
Adopting a new, more compact representation.
2021.01.13 in #495
PWC095 - Palindrome Number
Flavio is being a daily-blogging star. Please find yet another powerful discussion about 'Palindrome Number' task.
2021.01.14 in #495
PWC095 - Demo Stack
Before I read anything else, I check the section 'The questions' as it explains the technical errors in the task. It really scares me everytime.
2021.01.15 in #495
AoC 2016/11 - New parsing
Parsing inputs to fit the New representation.
2021.01.16 in #495
AoC 2016/11 - New identifier
A new identifier sub for the new representation.
2021.01.17 in #495
AoC 2016/11 - New heuristic
2021.01.18 in #495
AoC 2016/11 - New successors
2021.01.19 in #496
AoC 2016/11 - Part 2 solution
Setup search using AstarX.pm
2021.01.20 in #496
PWC096 - Reverse Words
Flavio using the power of regex to solve the "Reverse Words" task. Nice and easy to follow.
2021.01.21 in #496
PWC096 - Edit Distance
Straight implementation of pseudocode from Wikipedia. No fancy stuff. A pure Perl solution.
2021.01.22 in #496
AoC 2016/11 - Optimization
2021.01.23 in #496
AoC 2016/15 - Chinese Reminder Theorem - again!
Thank you Flavio for the refresher, it is always fun to revisit.
2021.01.24 in #496
AoC 2016/19 - Josephus problem
Never heard of it before, thanks to Flavio, I learnt something new today.
2021.01.25 in #497
AoC 2016/19 - Halving Josephus
Realizing the folly of their present-exchange rules, the Elves agree to instead steal presents from the Elf directly across the circle. If two Elves are across the circle, the one on the left (from the perspective of the stealer) is stolen from. The other rules remain unchanged: Elves with no presents are removed from the circle entirely, and the other elves move in slightly to keep the circle evenly spaced.
2021.01.27 in #497
PWC097 - Caesar Cipher
Flavio is not scared of an eval-based solution. Must Read.
2021.01.28 in #497
PWC097 - Binary Substrings
Flavio kept the binary substrings solution simple using just a for loop.
2021.01.30 in #497
Iterator-based implementation of Permutations
An iterator-based implementation of Permutations with Heap's Algorithm. You saw it coming.
2021.01.31 in #497
AoC 2016/24 - Brute-force for a Traveling-Salesman-like problem
On with Advent of Code puzzle 24 from 2016: a brute-force approach to a problem similar to the Traveling Salesman Problem.
2021.02 in #501
How to make Perl much more readable by formatting the code. Though I am not sure having a variable called $star = '*'; is a good idea, neither do I easily understand multi-level ternary operators.
2021.02.02 in #498
AoC 2017/12 - Rediscovering Union-Find
Union-Find algorithm implemented in Perl.
2021.02.03 in #498
PWC098 - Read N-characters
You don't want to miss the Questions section followed by the solution. Great work.
2021.02.04 in #498
PWC098 - Search Insert Position
Flavio seems to have endless energy to carry on blogging on daily basis for months. The best part is that the quality is top of the range.
2021.02.05 in #498
xmpl - an example web application
A web application to demonstrate a persistent key-value store.
2021.02.06 in #498
xmpl - the key/value API
Explore the model behind the API for xmpl web application.
2021.02.08 in #499
xmpl - on-file key/value store
We will take a closer look at the implementation of an on-file key/value store in xmpl. This post is part of a series.
2021.02.09 in #499
xmpl - remote key/value store
We will take a closer look at the implementation of a remote key/value store in xmpl. This post is part of a series.
2021.02.10 in #499
PWC099 - Pattern Matching
Flavio made good use of Perl regexes to solve the "Pattern Match" task.
2021.02.11 in #499
PWC099 - Unique Subsequence
Flavio presented us two flavours: recursive and regex versions. Highly Recommended.
2021.02.12 in #499
xmpl - the API for browsers
We will take a closer look at the implementation of the API available to the browsers in xmpl. This post is part of a series.
2021.02.13 in #499
xmpl - the "healthz" API
A closer look at the implementation of the “healthz” API in xmpl. This is a series of posts.
2021.02.14 in #499
xmpl - the metrics API
A closer look at the implementation of the metrics API in xmpl. This is a series of posts.
2021.02.17 in #500
PWC100 - Fun Time
Flavio's beautifully laid out solution is very pleasing.
2021.02.18 in #500
PWC100 - Triangle Sum
I enjoy the story behind the solution. The solution itself is so trivial.
2021.02.22 in #501
Mojo::UserAgent introductory notes
Some notes about using Mojo as a web client.
2021.02.23 in #501
xmpl - remote key/value store healthz revisited
Changing approach to establish the health of a KVStore::Remote object for xmpl. With rationale.
2021.02.28 in #501
xmpl - visibility API
So you thought that the neverending series about xmpl was over, didn't you?!? Yet another little facility...
2021.02.28 in #501
IPC::Cmd considered harmful
I prefer to use Capture::Tiny, but it is not in the core. (Which is a whole separate discussion.) The post got extensive feedback on Reddit.
2021.03.03 in #502
PWC102 - Rare Numbers
For me, the section "The questions" is more important than "The solution". He explained in great detail.
2021.03.04 in #502
PWC102 - Hash-counting String
Flavio threw out a challenge to readers of his blog. Find out more about it.
2021.03.08 in #503
One of the virtues of Perl is the long backward compatibility, but the developers of Mojolicious play by a different ruleset. They are ready to break backward compatibility to allow for development. It certainly has a disadvantage when it bites you, but maybe that's a better choice than being stuck with features that could be provided in a better way, or that were just plain wrong even when they were introduced. Perl has plenty of both. By being ready to pay the price of incompatible changes Mojolicious can clean up those issues.
2021.03.09 in #503
dibspack-basic enhancement for packages
2021.03.10 in #503
PWC103 - Chinese Zodiac
Flavio is on fire with his task analysis. Always pleasure to read his blog. Keep it up.
2021.03.11 in #503
PWC103 - What's playing?
The typo in the original task description seems to have confused him a lot. Anyway he got it in the end. Great.
2021.03.13 in #503
A path function in dibs
2021.03.15 in #504
A very interesting find by Flavio that can make testing apps hassle-free.
2021.03.16 in #504
Quick introduction to teepee.
2021.03.17 in #504
PWC104 - FUSC Sequence
Flavio making good use of the bit operator to get the job done. Interesting.
2021.03.18 in #504
PWC104 - NIM Game
Interactive game by Flavio. Have fun.
2021.03.23 in #505
Mininet topology visualization with Graphviz
2021.03.24 in #505
PWC105 - Nth root
I am not sure if I understood the line "the exponentiation operator in Perl is right associative". I wish the was more discussion on this subject.
2021.03.25 in #505
PWC105 - The Name Game
I absolutely love "the questions" section and had a laugh. Keep up the humour.
2021.03.26 in #505
Poor man's sequence diagrams
2021.03.27 in #505
Mininet topology visualization with Graphviz from Perl
2021.03.28 in #505
... and at first I thought Flavio is talking about xkcd...
2021.03.29 in #505
2021.03.30 in #506
A pull request for Crypt::LE
Flavio's contribution to Crypt::LE is very handy. Please check it out.
2021.03.31 in #506
PWC106 - Maximum Gap
Flavio's style of blogging is really cool as you don't just get a fine solution but also fun discussion as well.
2021.04 in #507
2021.04. in #506
Flavio shared the power of Date::Parse. Find out the secret for yourself.
2021.04.01 in #506
PWC106 - Decimal String
Flavio went beyond what was expected in the task. I need to revisit hi blog post to get to the bottom of it.
2021.04.06 in #507
Fatpack makes it easy to create a single-file distribution from your perl-only application. So how can you distribute Fatpack itself as a Fatpack?
2021.04.07 in #507
PWC107 - Self-descriptive Numbers
Flavio was curious to know the reason behind the weekly challenge. Well, the motto is to have fun and share knowledge. Thanks for your participation.
2021.04.08 in #507
PWC107 - List Methods
Flavio's fun story around the task is very creative. You don't want to miss it either.
2021.04.09 in #507
Readonly::Tiny is better than constant.
2021.04.14 in #508
PWC108 - Locate Memory
Flavio makes good use of the core Perl library. Nice interpretaion.
2021.04.15 in #508
PWC108 - Bell Numbers
Flavio shares the power of state variables. Please check it out yourself.
2021.04.17 in #508
Another trick for PERL5LIB
Flavio shared a really useful trick dealing with PERL5LIB.
2021.04.19 in #509
All positive integer sums, as an iterator
2021.04.20 in #509
All partitions of a set - preliminary considerations
2021.04.21 in #509
PWC109 - Chowla Numbers
Very nicely organised one-line subroutines. Looks elegant and clean. Great work.
2021.04.22 in #509
PWC109 - Four Squares Puzzle
Flavio never just solves the task but also gives us more than just solution. You don't want to miss out.
2021.04.23 in #509
All partitions of a set - rearranging addends
2021.04.25 in #509
All partitions of a set into same-sized subsets
2021.04.28 in #510
PWC110 - Valid Phone Numbers
Flavio never misses the opportunity to surprise us. Thanks for the short and sweet discussion on the subject.
2021.04.29 in #510
PWC110 - Transpose File
Flavio shared a special use of open(). Thanks for sharing the knowledge.
2021.04.30 in #510
Heail - head and tail together
Flavio once again created a very handy tool, Heail, in this blog post.
2021.05 in #511
xmpl - the page configuration API
xmpl allows you to set up a quick webbish example application that provides, at its basic level, a key-value store. With time, it has grown to support a few additional integrations, e.g. it supports Prometheus-compatible metrics and Kubernetes-compatible 'healtz' endpoints.
2021.05.01 in #510
JSONify a string
Flavio continued with his daily blogging series and presents how to stringify CSS as JSON.
2021.05.05 in #511
PWC111 - Search Matrix
I am amazed how algorithm complexity is calculated. I still don't understand it, sorry.
2021.05.06 in #511
PWC111 - Ordered Letters
Flavio always surprises me with his analysis. This time we get a Unicode lesson.
2021.05.07 in #511
All partitions of a set - W. Luis Mochán style
2021.05.08 in #511
Avoid the 'butterfly operator' with command-line options
2021.05.09 in #511
2021.05.12 in #512
PWC112 - Canonical Path
Flavio presented a very concise regex solution to the Canonical Path task. Thanks for sharing.
2021.05.13 in #512
PWC112 - Climb Stairs
Flavio shared a very interesting story and a unique algorithm. Well done. Keep it up.
2021.05.14 in #512
Thank you Flavio for a detailed discussion on this subject.
2021.05.17 in #513
Killing spiders - a fresh look on Chowla Numbers
2021.05.19 in #513
PWC113 - Represent Integer
Flavio shared the mathematical expression for the task. Lot to learn from his work. Keep up the great work.
2021.05.20 in #513
PWC113 - Recreate Binary Tree
I have a high regard for those who present the tree like structure. Although it is not part of the task, some did it on their own. Thank you.
2021.05.25 in #514
Flavio continued with his daily blog series and introduced Term::Twiddle with a nice short video.
2021.05.26 in #514
PWC114 - Next Palindrome Number
When I see no questions being asked in the blog post, it means a lot. It reminds me of my early days with Raku.
2021.05.27 in #514
PWC114 - Higher Integer Set Bits
Flavio used brute force method to get the desired result. Small and compact solution.
2021.06 in #517
The real PAUSE workaround
2021.06 in #517
Plot data on the terminal
2021.06.01 in #515
Open, sysopen, read, sysread... oh my!
open and read are usually fine
2021.06.04 in #515
Crypt::URandom might come handy for portability.
2021.06.05 in #515
Using Crypt::Argon2 is probably a better alternative to Bcrypt password hashing.
2021.06.06 in #515
Notes/tutorial for using Mojolicious::Plugin::Authentication.
2021.06.07 in #516
A practical use case showing the power of Mojolicious::Plugin::Authentication.
2021.06.09 in #516
PWC116 - Number Sequence
I enjoyed Raku solution more as it reminds me how I started using Raku. Brilliant job.
2021.06.10 in #516
PWC116 - Sum of Squares
Flavio's commentary on Raku features in interesting. Once again, the Raku solution wins the race for me. Thanks for sharing.
2021.06.12 in #516
use VERSION - but how?
Flavio sharing an interesting use of VERSION.
2021.06.13 in #516
EPAN - Exclusive Perl Archive Nook
Flavio's 10-year-old code is finally out in public.
2021.06.14 in #517
PAUSE parses the text in your code to see which modules you provide. Unfortunately that means it also includes names that are only mentioned in the documentation or in strings that never get executed. This can lead to unpleasant side-effects. How can you avoid these?
2021.06.16 in #517
PWC117 - Missing Row
Flavio's regex magic for the Missing Rows task is mindblowing. It took me some time to understand it. Thanks for sharing.
2021.06.17 in #517
PWC117 - Find Possible Paths
Flavio's extensive discussion of the Find Possible Paths task is something you don't want to miss. It is the kind of discussion I always look for in a PWC blog. Thank you Flavio.
2021.06.18 in #517
More robust self-recursion
2021.06.20 in #517
One complete year, yay!
Only one year? It feels as if Flavio has been posting for ages... Congratulations!
2021.06.23 in #518
PWC118 - Binary Palindrome
Bitwise operations are rare these day.s Thank you Flavio for reminding us of them.
2021.06.24 in #518
PWC118 - Adventure of Knight
Usually Flavio keeps his blog posts short and sweet but for this task he went into more detail to share a behind the scenes story.
2021.06.28 in #519
A block... blocks
Unsurprisingly, a BLOCK in Perl blocks a lot of things, including a package statement.
2021.06.30 in #519
PWC119 - Swap Nibbles
2021.06.31 in #515
Random bytes and co.
Generating some randomness for seeds, using some salt for flavoring.
2021.07.01 in #519
PWC119 - Sequence without 1 on 1
2021.07.03 in #519
To write a CLI with a hierarchy of sub-commands. Something like the Git command-line interface client.
2021.07.04 in #519
2021.07.05 in #520
App::Easer "multilevel" example
Cool example of App::Easer for you to try.
2021.07.07 in #520
PWC120 - Swap Odd/Even bits
Flavio explained the bit operations so brilliantly that any layperson can understand. Thank you for sharing the knowledge.
2021.07.08 in #520
PWC120 - Clock Angle
The highlight of Flavio's post is not limited to Perl but also Raku. You will find lots of magic from both world.
2021.07.09 in #520
App::Easer finally uploaded to CPAN.
2021.07.13 in #521
Finding Vim snippets in Bash
A little Bash program (with completions) to show Vim snippets.
2021.07.14 in #521
PWC121 - Invert Bit
Flavio seems to be enjoying Raku lot more than Perl these days. You have made good progress, good luck.
2021.07.15 in #521
PWC121 - The Travelling Salesman
Flavio is one of the few selected members who attempted to solve The Travelling Salesman task. His solution is well documented for anyone to read. Thanks.
2021.07.17 in #521
Web nostalgia: MojoX::Mechanize
Back when the web was simpler, the clients were dumb and Perl ruled as the server frontend, interfaces were IMHO more clearly defined and somehow standardized.
2021.07.18 in #521
More commenting... maybe?
My code might use some more commenting, maybe? - A reflection on The Weekly Challenge
2021.07.19 in #522
Brute forcing a puzzle
Flavio came up nice little puzzle and showed the fun behind the scenes. Nice puzzle, could be a nice easy task for the weekly challenge.
2021.07.20 in #522
A toy RSA implementation
Although it says toy, in my opinion it is a serious talk. Thanks Flavio for sharing it with us. You made it look so easy.
2021.07.21 in #522
PWC122 - Average of Stream
2021.07.22 in #522
PWC122 - Basketball Points
2021.07.24 in #522
Brute forcing "The monkey and the coconuts"
Flavio is in a puzzle mood this week. It is always pleasure to read his blog. Enjoy.
2021.07.25 in #522
More on monkeys and coconuts
More on the monkey and coconut puzzle. More fun and laughs.
2021.07.28 in #523
PWC123 - Ugly Numbers
You can never get bored of reading blog posts by Flavio. I most enjoyed the discussion of the task itself which was then followed up with code. Keep up the great work.
2021.07.29 in #523
PWC123 - Square Points
Flavio touched on a bit that I hadn't even thought of when I proposed the task. At times, I doubt my ability to analyze a task. I am learning every week from Flavio. Thanks for sharing.
2021.08.01 in #523
International Space Station passage
2021.08.03 in #524
Well, in the blog, Flavio promoting a book, Think Bayes, that he is reading at the moment. Nice introduction, I must say. Bookmarking it for later reading.
2021.08.04 in #524
PWC124 - Happy Women Day
Flavio also took the task seriously and presented a really cool solution.
2021.08.05 in #524
PWC124 - Tug of War
Keeping up his tradition, Flavio, presents solutions in Perl and Raku. I loved the reasoning behind his approach.
2021.08.10 in #525
Newbies luck hitting a bug on the first try.
2021.08.11 in #525
PWC125 - Pythagorean Triples
Flavio's love for Raku shows in his daily blog posts. Nice read for someone new to Raku.
2021.08.12 in #525
PWC125 - Binary Tree Diameter
Flavio gave Perl the first preference and shared a well-documented solution. Keep up the great work.
2021.08.15 in #525
2021.08.16 in #526
Patched the inconsistency in how default-child and children behave.
2021.08.17 in #526
binmode option added and utf8 option is documented now.
2021.08.18 in #526
PWC126 - Count Numbers
The best part of this blog post is the performance matrix at the end showing two different approaches. Smart approach.
2021.08.19 in #526
PWC126 - Minesweeper Game
Well-documented solution to the Minesweeper Game task. Bonus you get a Raku version as well.
2021.08.24 in #527
Pod::Markdown and Pod::Markdown::Github for the win!
Convert POD documentation to Markdown with one (or two) command-line tools.
2021.08.25 in #527
PWC127 - Disjoint Sets
Flavio plays with Raku consistently and it shows in the quality of his contributions. Keep it up.
2021.08.26 in #527
PWC127 - Conflict Intervals
Great example to help you learn Raku. Cool translation of Perl code. Thanks for sharing.
2021.08.27 in #527
unit sub MAIN (...);
How to define command line options in Raku
2021.09.01 in #528
PWC128 - Maximum Sub-Matrix
Flavio once again shares bonus Raku magic along with Perl. You don't want to miss it.
2021.09.02 in #528
PWC128 - Minimum Platforms
Flavio went into the finer details of the Minimum Platforms task. I wonder at times, how did I miss the point.
2021.09.05 in #528
Today I Learned: Portable Grayscale Map
Flavio discusses something I have never touched before. Thanks for sharing.
2021.09.06 in #529
Advent of Code 2018, puzzle 6: get the job done!
2021.09.07 in #529
Fun with Advent of Code 2018
If you’re looking for some diversion or something to do some exercising (e.g. learning some Raku), Flavio suggests you giving Advent of Code a try.
2021.09.08 in #529
PWC129 - Root Distance
Flavio continued his fun with Raku, There are plenty to learn every week by just reading his blog. You don't want to miss the fun ride.
2021.09.09 in #529
PWC129 - Add Linked Lists
Flavio being very kind in his observation about the task. Thanks for sharing the knowledge with us every week.
2021.09.10 in #529
Crop an image with ImageMagick
ImageMagick is an amazing set of command-line tools for doing image manipulation.
2021.09.11 in #529
No voids, please
A small filtering program to rename files removing spaces and tabs.
If you are not yet subscribed, you can do it now. Free of charge:
Just ONE e-mail each Monday. Easy to unsubscribe. No spam. Your e-mail address is safe.
This newsletter is about the Perl Programming languages.