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.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.
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.