ETOOBUSY 🚀 minimal blogging for the impatient
All tagged posts will be sorted here.
# 2fa
# Alpine
# AoC 2016-11
- AoC 2016/11 - Optimization
- AoC 2016/11 - Part 2 solution
- AoC 2016/11 - New successors
- AoC 2016/11 - New heuristic
- AoC 2016/11 - New identifier
- AoC 2016/11 - New parsing
- AoC 2016/11 - New representation
- AoC 2016/11 - New algorithm: A*
- AoC 2016/11 - Part 2 introduction
- AoC 2016/11 - Part 1 solution
- AoC 2016/11 - Initial algorithm: Dijkstra
- AoC 2016/11 - Initial data structure
- AoC 2016/11 - Input parsing
- AoC 2016/11 - Introduction
# AoC 2016-19
# Aquarium
- Aquarium - exploiting redundant constraints
- Aquarium - search differently
- Aquarium - more cooperation from constraints
- Aquarium - cooperating constraint
- Aquarium - search the solution space
- Aquarium - constraints
- Aquarium - print puzzle
- Aquarium - parse puzzle input
# Autobiographical numbers
- Autobiographical numbers constraints - step up
- Autobiographical numbers constraints - luckier weighted sum
- Autobiographical numbers constraints - weighted sum
- Autobiographical numbers constraints - last is zero
- Autobiographical numbers constraints - basic
- Autobiographical numbers
# Curses::UI
# Javascript
# Linux
# Mojolicious
# OpenSSH
- Encrypt, the hard way - a caveat
- Encrypt, the hard way
- OpenSSH IdentitiesOnly
- Run an OpenSSH server as a regular, unprivileged user
- SSH through a proxy
- OpenSSH Server: ChrootDirectory
- Setting up an SFTP server
- OpenSSH Server: understanding Allow* and Deny* stuff
# OpenSSL
- Encrypt, the hard way - a caveat
- Encrypt, the hard way
- Certificate expiration date
- mTLS authentication for (nginx) Kubernetes Ingress
# Ordeal::Model
- Ordeal::Model::Parser: parsing
- Ordeal::Model::Parser: parsing generics, 2
- Ordeal::Model::Parser: parsing generics
- Ordeal::Model::Parser: entry point
- Ordeal::Model::Parser: grammar
- A parser for Ordeal::Model
- Global string matching quirks
# Perl
- PWC239 - Consistent Strings
- PWC239 - Same String
- PWC238 - Persistence Sort
- PWC238 - Running Sum
- PWC237 - Maximise Greatness
- PWC237 - Seize The Day
- PWC236 - Array Loops
- PWC236 - Exact Change
- PWC228 - Empty Array
- PWC228 - Unique Sum
- PWC227 - Roman Maths
- PWC227 - Friday 13th
- PWC226 - Zero Array
- PWC226 - Shuffle String
- PWC225 - Left Right Sum Diff
- PWC225 - Max Words
- PWC224 - Additive Number
- PWC224 - Special Notes
- PWC223 - Box Coins
- PWC223 - Count Primes
- PWC222 - Last Member
- PWC222 - Matching Members
- PWC221 - Arithmetic Subsequence
- PWC221 - Good Strings
- PWC220 - Squareful
- PWC220 - Common Characters
- PWC219 - Travel Expenditure
- PWC219 - Sorted Squares
- PWC218 - Matrix Score
- PWC218 - Maximum Product
- PWC217 - Max Number
- PWC217 - Sorted Matrix
- PWC216 - Word Stickers
- PWC216 - Registration Number
- PWC215 - Number Placement
- PWC215 - Odd One Out
- PWC214 - Collect Points
- PWC214 - Rank Score
- PWC213 - Shortest Route
- PWC213 - Fun Sort
- PWC212 - Rearrange Groups
- PWC212 - Jumping Letters
- PWC211 - Split Same Average
- PWC211 - Toepliz Matrix
- PWC210 - Number Collision
- PWC210 - Kill and Win
- PWC209 - Merge Account
- PWC209 - Special Bit Characters
- PWC208 - Duplicate and Missing
- PWC208 - Minimum Index Sum
- PWC207 - H-Index
- PWC207 - Keyboard Word
- PWC206 - Array Pairings
- PWC206 - Shortest Time
- PWC205 - Maximum XOR
- PWC205 - Third Highest
- PWC204 - Reshape Matrix
- PWC204 - Monotonic Array
- PWC203 - Copy Directory
- PWC203 - Special Quadruplets
- PWC202 - Widest Valley
- PWC202 - Consecutive Odds
- PWC201 - Penny Piles
- PWC201 - Missing Numbers
- PWC200 - Seven Segment 200
- PWC200 - Arithmetic Slices
- PWC199 - Good Triplets
# R
# RakuLang
- PWC239 - Consistent Strings
- PWC239 - Same String
- PWC238 - Persistence Sort
- PWC238 - Running Sum
- PWC237 - Maximise Greatness
- PWC237 - Seize The Day
- PWC236 - Array Loops
- PWC236 - Exact Change
- PWC228 - Empty Array
- PWC228 - Unique Sum
- PWC227 - Roman Maths
- PWC227 - Friday 13th
- PWC226 - Zero Array
- PWC226 - Shuffle String
- PWC225 - Left Right Sum Diff
- PWC225 - Max Words
- PWC224 - Additive Number
- PWC224 - Special Notes
- PWC223 - Box Coins
- PWC223 - Count Primes
- PWC222 - Last Member
- PWC222 - Matching Members
- PWC221 - Arithmetic Subsequence
- PWC221 - Good Strings
- PWC220 - Squareful
- PWC220 - Common Characters
- PWC219 - Travel Expenditure
- PWC219 - Sorted Squares
- PWC218 - Matrix Score
- PWC218 - Maximum Product
- PWC217 - Max Number
- PWC217 - Sorted Matrix
- PWC216 - Word Stickers
- PWC216 - Registration Number
- PWC215 - Number Placement
- PWC215 - Odd One Out
- PWC214 - Collect Points
- PWC214 - Rank Score
- PWC213 - Shortest Route
- PWC213 - Fun Sort
- PWC212 - Rearrange Groups
- PWC212 - Jumping Letters
- PWC211 - Split Same Average
- PWC211 - Toepliz Matrix
- PWC210 - Number Collision
- PWC210 - Kill and Win
- PWC209 - Merge Account
- PWC209 - Special Bit Characters
- PWC208 - Duplicate and Missing
- PWC208 - Minimum Index Sum
- PWC207 - H-Index
- PWC207 - Keyboard Word
- PWC206 - Array Pairings
- PWC206 - Shortest Time
- PWC205 - Maximum XOR
- PWC205 - Third Highest
- PWC204 - Reshape Matrix
- PWC204 - Monotonic Array
- PWC203 - Copy Directory
- PWC203 - Special Quadruplets
- PWC202 - Widest Valley
- PWC202 - Consecutive Odds
- PWC201 - Penny Piles
- PWC201 - Missing Numbers
- PWC200 - Seven Segment 200
- PWC200 - Arithmetic Slices
- PWC199 - Good Triplets
# Tournaments games allocation
- Allocating games in tournaments - a program
- Allocating games in tournaments - 6 players matches, premium
- Allocating games in tournaments - 6 players matches, again
- Allocating games in tournaments - 6 players matches
- Allocating games in tournaments - 3 players practicalities
- Allocating games in tournaments - premium games and players
- Allocating games in tournaments - example
- Allocating games in tournaments
# accounting
# ack
# acme2
# active directory
- Getting the `ntSecurityDescriptor` with an LDAP query
- ActiveDirectory password encoding in Perl and shell
- ActiveDirectory password reset with LDIF
- Active Directory time thing
- Active Directory Bit Fields
# advent of code
- AoC 2022/16 - OMG what an improvement
- AoC 2022/16 - Paying a debt
- AoC 2022/25 - Wind down, hot air up!
- AoC 2022/24 - These elves require a lot of patience...
- AoC 2022/23 - Unstable diffusion
- AoC 2022/22 - Dicey assumptions
- AoC 2022/21 - When Wolfram Alpha failed me...
- AoC 2022/20 - Merry go round
- AoC 2022/19 - Head cracking
- AoC 2022/18 - Cooling surface
- AoC 2022/17 - Tetris-ish accumulation
- AoC 2022/16 - Pressured shame
- AoC 2022/15 - Diamonds are squares in disguise
- AoC 2022/14 - Sand accumulation
- AoC 2022/13 - Nested lists
- AoC 2022/12 - Human-machine interface solution
- AoC 2022/11 - Monkey business
- AoC 2022/10 - Cathode Ray Tube
- AoC 2022/9 - That little tail...
- AoC 2022/8 - Messy tree patch
- AoC 2022/7 - ENOSPC - no space left on device
- AoC 2022/6 - Canned diversity
- AoC 2022/5 - Insane crane
- AoC 2022/4 - Poor planning
- AoC 2022/3 - Misplaced supplies and where to find them
- AoC 2022/2 - Rock Paper Scissors cheat guide
- AoC 2022/1 - Caloric snacks
- Advent of Code puzzle input downloader
- Advent of Code 2022 is coming
- AoC 2021/3 - Aiming for reuse
- AoC 2021/02 - Ready, set, go!
- AoC 2021/01 - Up and down
- AoC 2021/25 - Sea traffic jam
- AoC 2021/24 - Blockchain under the sea
- AoC 2021/23 - Then came amphipods...
- AoC 2021/22 - Add and remove
- AoC 2021/21 - Many-Worlds over Copenhagen
- AoC 2021/20 - Flashy enhancements
- AoC 2021/19 - GPS is smarter - part 3
- AoC 2021/19 - GPS is smarter - part 2
- AoC 2021/19 - GPS is smarter
- AoC 2021/18 - Fishy accordion
- AoC 2021/17 - Ballistic
- AoC 2021/16 - Bitstream decoding
- AoC 2021 completed!
- AoC 2021/15 - A* in the sea
- AoC 2021/14 - Exponential polymerization
- AoC 2021/13 - Transparent origami
- AoC 2021/12 - A trip in the caves
- AoC 2021/11 - Calm Dumbo Octopuses
- AoC 2021/10 - Syntax scoring
- AoC 2021/09 - Flood fill
- AoC 2021/8 - Treachery is contagious
- AoC 2021/7 - Median crabs
- AoC 2021/6 - Lanternfishes going round and round
- AoC 2021/5 - Hyperstuff
- AoC 2021/4 - Giant Squid overkill solution
- Advent of Code 2021 is onto us!
- Fun with Advent of Code 2018
- Advent of Code 2018, puzzle 6: get the job done!
- Pronunciation defects
- Advent of Code 2018/04 made me feel old
- AoC 2017 - completed!
- AoC 2017/12 - Rediscovering Union-Find
- AoC 2016/24 - Brute-force for a Traveling-Salesman-like problem
- AoC 2016/19 - Dynamic Josephus
- AoC 2016/19 - Halving Josephus
- AoC 2016/19 - Josephus problem
- AoC 2016/15 - Chinese Reminder Theorem - again!
- AoC 2016/11 - Optimization
- AoC 2016/11 - Part 2 solution
- AoC 2016/11 - New successors
- AoC 2016/11 - New heuristic
- AoC 2016/11 - New identifier
- AoC 2016/11 - New parsing
- AoC 2016/11 - New representation
- AoC 2016/11 - New algorithm: A*
- AoC 2016/11 - Part 2 introduction
- AoC 2016/11 - Part 1 solution
- AoC 2016/11 - Initial algorithm: Dijkstra
- AoC 2016/11 - Initial data structure
- AoC 2016/11 - Input parsing
- AoC 2016/11 - Introduction
- Advent of Code 2020 - Day 13
# aes
- AES - Higher level functions
- AES - Cipher
- AES - Key stuff
- AES - MixColumns
- AES - multiplications in GF(256)
- AES - ShiftRows
- AES - SubBytes
- AES is doable
# ag
# algorithm
- AoC 2022/16 - OMG what an improvement
- AoC 2022/16 - Paying a debt
- AoC 2022/25 - Wind down, hot air up!
- AoC 2022/24 - These elves require a lot of patience...
- AoC 2022/23 - Unstable diffusion
- AoC 2022/22 - Dicey assumptions
- AoC 2022/21 - When Wolfram Alpha failed me...
- AoC 2022/20 - Merry go round
- AoC 2022/19 - Head cracking
- AoC 2022/18 - Cooling surface
- AoC 2022/17 - Tetris-ish accumulation
- AoC 2022/16 - Pressured shame
- AoC 2022/15 - Diamonds are squares in disguise
- AoC 2022/14 - Sand accumulation
- AoC 2022/13 - Nested lists
- AoC 2022/12 - Human-machine interface solution
- AoC 2022/11 - Monkey business
- AoC 2022/10 - Cathode Ray Tube
- AoC 2022/9 - That little tail...
- AoC 2022/8 - Messy tree patch
- AoC 2022/7 - ENOSPC - no space left on device
- AoC 2022/6 - Canned diversity
- AoC 2022/5 - Insane crane
- AoC 2022/4 - Poor planning
- AoC 2022/3 - Misplaced supplies and where to find them
- AoC 2022/2 - Rock Paper Scissors cheat guide
- AoC 2022/1 - Caloric snacks
- AoC 2021/3 - Aiming for reuse
- AoC 2021/02 - Ready, set, go!
- AoC 2021/01 - Up and down
- AoC 2021/25 - Sea traffic jam
- AoC 2021/24 - Blockchain under the sea
- AoC 2021/23 - Then came amphipods...
- AoC 2021/22 - Add and remove
- AoC 2021/21 - Many-Worlds over Copenhagen
- AoC 2021/20 - Flashy enhancements
- AoC 2021/19 - GPS is smarter - part 3
- AoC 2021/19 - GPS is smarter - part 2
- AoC 2021/19 - GPS is smarter
- AoC 2021/18 - Fishy accordion
- AoC 2021/17 - Ballistic
- AoC 2021/16 - Bitstream decoding
- AoC 2021 completed!
- AoC 2021/15 - A* in the sea
- AoC 2021/14 - Exponential polymerization
- AoC 2021/13 - Transparent origami
- AoC 2021/12 - A trip in the caves
- AoC 2021/11 - Calm Dumbo Octopuses
- AoC 2021/10 - Syntax scoring
- AoC 2021/09 - Flood fill
- AoC 2021/8 - Treachery is contagious
- AoC 2021/7 - Median crabs
- AoC 2021/6 - Lanternfishes going round and round
- AoC 2021/5 - Hyperstuff
- AoC 2021/4 - Giant Squid overkill solution
- Advent of Code 2021 is onto us!
- Raku cglib: A* algorithm
- AoC 2017 - completed!
- Complexity ramblings
- AoC 2017/12 - Rediscovering Union-Find
- AoC 2016/24 - Brute-force for a Traveling-Salesman-like problem
- Iterator-based implementation of Permutations
- Permutations with Heap's Algorithm
- AoC 2016/19 - Dynamic Josephus
- AoC 2016/19 - Halving Josephus
- AoC 2016/19 - Josephus problem
- AoC 2016/15 - Chinese Reminder Theorem - again!
- AoC 2016/11 - Optimization
- AoC 2016/11 - Part 2 solution
- AoC 2016/11 - New successors
- AoC 2016/11 - New heuristic
- AoC 2016/11 - New identifier
- AoC 2016/11 - New parsing
- AoC 2016/11 - New representation
- AoC 2016/11 - New algorithm: A*
- AoC 2016/11 - Part 2 introduction
- AoC 2016/11 - Part 1 solution
- AoC 2016/11 - Initial algorithm: Dijkstra
- AoC 2016/11 - Initial data structure
- AoC 2016/11 - Input parsing
- AoC 2016/11 - Introduction
- The blessing of forgetting
- Simpler Priority Queue
- Priority Queue documentation
- Monte Carlo Tree Search - an implementation
- Monte Carlo Tree Search - basics
- Red Blob Games
- Stein's algorithm for GCD
- Support of dynamic dimensions for nested loops
- Iterator for NestedLoops
- Loop from iterator
- Iterator from loop
- Benchmarking simplified implementations of NestedLoops
- A simplified iterative implementation of NestedLoops
- A simplified recursive implementation of NestedLoops
- Algorithm::Loops
- Parsing SVG paths
- Parsing toolkit in cglib
- SVG DOM tree visit
- Resolving a (Steiner) design - constraints and search
- Resolving a (Steiner) design
- Torneo - a tournament management system
- Conway's Game of Life - Sweeping counting
- Allocating games in tournaments - a program
- Allocating games in tournaments - 6 players matches, premium
- Allocating games in tournaments - 6 players matches, again
- Allocating games in tournaments - 6 players matches
- Allocating games in tournaments - premium games and players
- Allocating games in tournaments - example
- Allocating games in tournaments
- Autobiographical numbers constraints - step up
- Autobiographical numbers constraints - luckier weighted sum
- Autobiographical numbers constraints - weighted sum
- Autobiographical numbers constraints - last is zero
- Autobiographical numbers constraints - basic
- Autobiographical numbers
- More constraint programming
- Dijkstra's Algorithm
- A binomial algorithm
- Basic Priority Queue with Heaps
- Depth First Visit of a Graph
- Generic Graph Representation
- Discrete Optimization
- The extended Euclid's algorithm
- A RANDOM Maze with Curses
- Removing loops from a path
- A Quest for Voronoi Diagrams - 2. Fortune's Implementation
- A Quest for Voronoi Diagrams - 1. The Problem(s)
# algorithms
# alien
# alpine
- LaTeX in Alpine Linux
- An update to quenv
- Timezone notes
- quenv - quick environment
- A Gnuplot Docker Image
- Gnuplot Headache
- Going Back on Alpine Linux 3.6
# anticipation
# aquarium puzzle game
- Aquarium - exploiting redundant constraints
- Aquarium - search differently
- Aquarium - more cooperation from constraints
- Aquarium - cooperating constraint
- Aquarium - search the solution space
- Aquarium - constraints
- Aquarium - print puzzle
- Aquarium - parse puzzle input
# ascii
# asciinema
# audio
# audiobook
# authentication
# awk
# base64
# bash
# basic
# bayes
# black lives matter
# blog
- Three days of pause
- kramdown Table of Contents in pages
- 1000th consecutive posting day
- A Jekyll performance trick
- Happy New Year!
- Blog posts rearrangement
- ETOOBUSY turns 1000
- ETOOBUSY on Codeberg
- Sunsetting Disqus in this blog
- Happy 2022! And a reflection
- One complete year, yay!
- Faster Jekyll
- GitHub SHA1 Link
- Stockpile of posts gets interactive
- Stockpile of posts gets shortcuts to items
- Stockpile of posts gets dates in listing
- Added series to the blog
- 2020 in retrospect
- Updating GitHub Pages stuff
- Stockpiling blog posts
- Blog: align master to commit
- One year of posting on ETOOBUSY
- Trigger rebuild of blog in GitHub Pages
- Blog post publishing: merciless lazyness
- Posts publishing routine in a script
- Dice for Bargain Basement Bathysphere (of Beachside Bay)
- Rebase and retag, automatically
- Rebase and retag
- Publishing time for busypub
- Generating busypub's LAST_URI
- Notifications for busypub
- ETOOBUSY automated publishing
- Counting tags in this blog
- Escape of the dead
- Vue this blog
- Announceable Summary for Posts
- Preview for Jekyll blog on GitHub Pages
- Jekyll blog on GitHub Pages
# board game
- Ordeal::Model gets a Raw backend
- Cardstom - more flexible
- Cardstom
- Some SVG cards
- A card layout - in Perl
- A card layout - extended
- A card layout
- Dice for Bargain Basement Bathysphere (of Beachside Bay)
- Escape of the dead
- The Spatial Game of Ur
# board games
# boardgamearena
- Torneo - a tournament management system
- Allocating games in tournaments - a program
- Allocating games in tournaments - 6 players matches, premium
- Allocating games in tournaments - 6 players matches, again
- Allocating games in tournaments - 6 players matches
- Allocating games in tournaments - 3 players practicalities
- Allocating games in tournaments - premium games and players
- Allocating games in tournaments - example
- Allocating games in tournaments
# bookmark
# bookmarks
# bounding box
- SVG path bounding box: arcs of ellipses
- SVG path bounding box: cubic Bézier curves
- SVG path bounding box: quadratic Bézier curves
- SVG path bounding box: merge multiple boxes
- SVG path bounding box: segments
# bézier
- SVG path bounding box: arcs of ellipses
- SVG path bounding box: cubic Bézier curves
- SVG path bounding box: quadratic Bézier curves
- Extremes for Bézier curves
- Derivatives of Bézier curves
- Bézier curves
# cairo
# carton
# cc0
# cglib
- Graph visit algorithms in cglib-raku
- Raku cglib: a priority queue
- Codingame library in Raku
- AoC 2017/12 - Rediscovering Union-Find
- Iterator-based implementation of Permutations
- Dijkstra Algorithm - as functions only
- Generalized Chinese Remainder Theorem
- The Definitive Conway's Game of Life
- Simpler Priority Queue
- Priority Queue documentation
- Resolving a (Steiner) design - constraints and search
- Resolving a (Steiner) design
- Autobiographical numbers constraints - step up
- Autobiographical numbers constraints - luckier weighted sum
- Autobiographical numbers constraints - weighted sum
- Autobiographical numbers constraints - last is zero
- Autobiographical numbers constraints - basic
- Autobiographical numbers
- More constraint programming
- The extended Euclid's algorithm
# charm
# chatbots
# cli
- Ledger & co.
- Assemble images in a PDF
- No voids, please
- Crop an image with ImageMagick
- ClouDNS CLI MVP is available
- ClouDNS CLI: update
- ClouDNS CLI
# client
- App::Easer release 2.008 is out
- Add a base URL to xlinx
- New App::Easer release 2.006
- App::Easer validations
- App::Easer V2 is out... and can be improved!
- App::Easer - moving ahead with tests
- App::Easer priorities in options collection
- App::Easer options collection
- App::Easer - more tests for V2
- App::Easer and Moo
- App::Easer - auto-commands reflection
- App::Easer - tree auto-command
- App::Easer V2 - tests ahead
- App::Easer V2 - an object in the object (sort of)
- App::Easer V2 - let's start!
- Evolving App::Easer
- App::Easer guides
- App::Easer smarter environment variables
- App::Easer new defaults handling
- Feature creeping in App::Easer
- App::Easer gets DWIM-mer
- Web nostalgia: MojoX::Mechanize
- App::Easer - new example
- App::Easer released on CPAN
- App::Easer "multilevel" example
- App::Easer example
- App::Easer
- Thread of tweets via API
- Tweets from a user
- Getting started with MojoX::Twitter
- Scrape a Thread of Tweets
- Extract links/images from files or URLs
# cloudflare
# cloudns
# codeberg
# coding
- MIME Header X-Unsent
- romail
- Tech Debt Metaphor Maximalism
- Coding consistency: design document
- Coding (eventual) inconsistency
- Zip bombs and quine.zip
- Coding discipline: resist premature generalization
- Coding discipline
- A wrapper/driver shell program for pgal
- Home-brewn sets
- AoC 2022/16 - OMG what an improvement
- AoC 2022/16 - Paying a debt
- AoC 2022/25 - Wind down, hot air up!
- AoC 2022/24 - These elves require a lot of patience...
- AoC 2022/23 - Unstable diffusion
- AoC 2022/22 - Dicey assumptions
- AoC 2022/21 - When Wolfram Alpha failed me...
- AoC 2022/20 - Merry go round
- AoC 2022/19 - Head cracking
- AoC 2022/18 - Cooling surface
- AoC 2022/17 - Tetris-ish accumulation
- AoC 2022/16 - Pressured shame
- AoC 2022/15 - Diamonds are squares in disguise
- AoC 2022/14 - Sand accumulation
- AoC 2022/13 - Nested lists
- AoC 2022/12 - Human-machine interface solution
- AoC 2022/11 - Monkey business
- AoC 2022/10 - Cathode Ray Tube
- AoC 2022/9 - That little tail...
- AoC 2022/8 - Messy tree patch
- AoC 2022/7 - ENOSPC - no space left on device
- AoC 2022/6 - Canned diversity
- AoC 2022/5 - Insane crane
- AoC 2022/4 - Poor planning
- AoC 2022/3 - Misplaced supplies and where to find them
- AoC 2022/2 - Rock Paper Scissors cheat guide
- AoC 2022/1 - Caloric snacks
- Advent of Code 2022 is coming
- Lured by overengineering
- pdfunnel
- A PDF GPS
- A PDF workaround
- A PDF void
- WebService::MyJSONs
- A possible SYNOPSIS for a MyJSONs module
- Software Tools for Hobby-Scale Projects
- A long due interface change in skfold
- AoC 2021/3 - Aiming for reuse
- AoC 2021/02 - Ready, set, go!
- AoC 2021/01 - Up and down
- AoC 2021/25 - Sea traffic jam
- AoC 2021/24 - Blockchain under the sea
- AoC 2021/23 - Then came amphipods...
- AoC 2021/22 - Add and remove
- AoC 2021/21 - Many-Worlds over Copenhagen
- AoC 2021/20 - Flashy enhancements
- AoC 2021/19 - GPS is smarter - part 3
- AoC 2021/19 - GPS is smarter - part 2
- AoC 2021/19 - GPS is smarter
- AoC 2021/18 - Fishy accordion
- AoC 2021/17 - Ballistic
- AoC 2021/16 - Bitstream decoding
- AoC 2021 completed!
- AoC 2021/15 - A* in the sea
- AoC 2021/14 - Exponential polymerization
- AoC 2021/13 - Transparent origami
- AoC 2021/12 - A trip in the caves
- AoC 2021/11 - Calm Dumbo Octopuses
- AoC 2021/10 - Syntax scoring
- AoC 2021/09 - Flood fill
- AoC 2021/8 - Treachery is contagious
- AoC 2021/7 - Median crabs
- AoC 2021/6 - Lanternfishes going round and round
- AoC 2021/5 - Hyperstuff
- AoC 2021/4 - Giant Squid overkill solution
- Advent of Code 2021 is onto us!
- A file fetcher idea
- A pull request for Path::Tiny
- A toy RSA implementation
- xmpl - enhancements by Mark Lawrence
- AoC 2017 - completed!
- xmpl - the page configuration API
- A few considerations about CoreDNS
- Readonly::Tiny
- Send notifications through Mailgun with HTTP::Tiny
- Poor man's sequence diagrams
- Refactor in dibspack-basic
- Command::Template
- xmpl - the identity API
- xmpl - visibility API
- Line noise
- xmpl - remote key/value store healthz revisited
- xmpl - the API for everything else
- xmpl - the metrics API
- xmpl - the "healthz" API
- xmpl - the API for browsers
- xmpl - remote key/value store
- xmpl - on-file key/value store
- xmpl - in-memory key/value store
- xmpl - the key/value API
- xmpl - an example web application
- AoC 2016/24 - Brute-force for a Traveling-Salesman-like problem
- Iterator-based implementation of Permutations
- Permutations with Heap's Algorithm
- AoC 2016/19 - Dynamic Josephus
- AoC 2016/19 - Halving Josephus
- AoC 2016/19 - Josephus problem
- AoC 2016/15 - Chinese Reminder Theorem - again!
- AoC 2016/11 - Optimization
- AoC 2016/11 - Part 2 solution
- AoC 2016/11 - New successors
- AoC 2016/11 - New heuristic
- AoC 2016/11 - New identifier
- AoC 2016/11 - New parsing
- AoC 2016/11 - New representation
- AoC 2016/11 - New algorithm: A*
- AoC 2016/11 - Part 2 introduction
- AoC 2016/11 - Part 1 solution
- AoC 2016/11 - Initial algorithm: Dijkstra
- AoC 2016/11 - Initial data structure
- AoC 2016/11 - Input parsing
- AoC 2016/11 - Introduction
- Hexagonal grids
- Cow-ment your code
- The blessing of forgetting
- Leader in etcd
- Variables, loops, and redirections
- Monte Carlo Tree Search - an implementation
- nayme - a Fantasy Name Generator
- Add line numbers to code snippets
- A POSIX shell-only Base64 decoder
- POSIX shell binary stuff
- SVG - embed images
- origalea
- Red Blob Games
- Ellipses (for SVG): transformation implementation
- Blog post publishing: merciless lazyness
- Parsing SVG paths
- skfold - documentation
- Fatpacked skfold
- skfold - one-off files
- skfold - repeated files
- skfold - getting started with simple files
- skfold is usable!
- Restart from skfold
- Rebase and retag, automatically
- Path::Tiny
- pgal
- Publishing time for busypub
- Timezone notes
- Notifications for busypub
- Post status on Twitter
- Post status on Mastodon - with Mojo::UserAgent
- Post status on Mastodon
- ETOOBUSY automated publishing
- Git::Wrapper
- A shell helper for dokyll
- Ordeal::Model::Parser: parsing
- Ordeal::Model::Parser: parsing generics, 2
- Ordeal::Model::Parser: parsing generics
- Ordeal::Model::Parser: entry point
- Ordeal::Model::Parser: grammar
- A parser for Ordeal::Model
- Global string matching quirks
- A Quiz from my past self
- Counting tags in this blog
- Resolving a (Steiner) design - constraints and search
- Resolving a (Steiner) design
- More constraint programming
- Aquarium - exploiting redundant constraints
- Aquarium - search differently
- Aquarium - more cooperation from constraints
- Aquarium - cooperating constraint
- Aquarium - search the solution space
- Aquarium - constraints
- Aquarium - print puzzle
- Aquarium - parse puzzle input
- Shell scaffolding script
- Shell variables tests: is it lengthy?
- Shell variables tests: is it true?
- Shell variables tests: is it defined?
- Shell logging helpers
- Building shell arguments list dynamically
- Shell quoting for exec
- Rich’s sh (POSIX shell) tricks
- Shell script help
- A shell approach
- debian-dev based on Debian 10
- debian-dev
- Gnuplot Video
- Gnuplot Parametric Mix
- Basic Priority Queue with Heaps
- Depth First Visit of a Graph
- Generic Graph Representation
- Writing Documentation
# color
# combinatorics
- All partitions of a set - W. Luis Mochán style
- All partitions of a set
- All partitions of a set into differently arranged subsets
- All partitions of a set into same-sized subsets
- Combinations iterator
- All partitions of a set - rearranging addends
- All partitions of a set - preliminary considerations
- All positive integer sums, as iterator
- All positive integer sums
- Fibonacci Sum part 2
- Fibonacci Sum part 1
# command line
- ffmprovisir
- Command-line programs containerization
- Docker Run Here
- Command-line Docker Applications - A way forward
- Command-line Docker Applications
# community
# computational geometry
# computer
# constraint programming
- Resolving a (Steiner) design - constraints and search
- Resolving a (Steiner) design
- Autobiographical numbers constraints - step up
- Autobiographical numbers constraints - luckier weighted sum
- Autobiographical numbers constraints - weighted sum
- Autobiographical numbers constraints - last is zero
- Autobiographical numbers constraints - basic
- Autobiographical numbers
- More constraint programming
- Aquarium - exploiting redundant constraints
- Aquarium - search differently
- Aquarium - more cooperation from constraints
- Aquarium - cooperating constraint
- Aquarium - search the solution space
- Aquarium - constraints
- Aquarium - print puzzle
- Aquarium - parse puzzle input
# container
# copyright
# cor
# corinna
# coursera
# cpan
- Fun trick with EPAN and Mojolicious
- Data::Tubes release and... how cool is CPAN Testers?!?
- Documentation improvements for epan
- The real PAUSE workaround
- PAUSE workaround
- EPAN - Exclusive Perl Archive Nook
- Rediscovering IPC::Exe
- WebService::Fake update
- SVG documentation cleanup proposal
# cpanm
# cryptography
- Cryptopals 38 - New insights from a kind reader
- Cryptopals 40 - Implement an E=3 RSA Broadcast attack
- Cryptopals 39 - Implement RSA
- Cryptopals 38 - Offline dictionary attack on simplified SRP
- Cryptopals 37 - Break SRP with a zero key
- Cryptopals Diversion 3 - SRP server and client
- Cryptopals 36 - Implement Secure Remote Password (SRP)
- Cryptopals 35 - Implement DH with negotiated groups...
- Cryptopals 34 - Implement a MITM key-fixing attack on Diffie-Hellman...
- Cryptopals 33 - Implement Diffie-Hellman
- Cryptopals 32 - Break HMAC-SHA1 with a slightly less artificial timing leak
- Cryptopals 31 - Implement and break HMAC-SHA1 with an artificial timing leak
- Cryptopals Diversion 2 - Simulating Time Leaks
- Cryptopals 30 - Break an MD4 keyed MAC using length extension
- Cryptopals 29 - Break a SHA-1 keyed MAC using length extension
- Cryptopals 28 - Implement a SHA-1 keyed MAC
- Cryptopals 27 - Recover the key from CBC with IV=Key
- Cryptopals 26 - CTR bitflipping
- Cryptopals 25 - Break "random access read/write" AES CTR
- Cryptopals 24 - Create the MT19937 stream cipher and break it
- Cryptopals 23 - Clone an MT19937 RNG from its output
- Cryptopals 22 - Crack an MT19937 seed
- Cryptopals 21 - Implement the MT19937 Mersenne Twister RNG
- Cryptopals 20 - Break fixed-nonce CTR statistically
- Cryptopals 19 - Break fixed-nonce CTR mode using substitutions (part 3)
- Cryptopals 19 - Break fixed-nonce CTR mode using substitutions (part 2)
- Cryptopals 19 - Break fixed-nonce CTR mode using substitutions (part 1)
- Cryptopals 18 - Implement CTR, the stream cipher mode
- Cryptopals Diversion 1 - A counter
- Cryptopals 17 - The CBC padding oracle
- Cryptopals 16 - CBC bitflipping attacks
- Cryptopals 15 - PKCS#7 padding violation
- Cryptopals 14 - Byte-at-a-time ECB decryption (Harder)
- Cryptopals 13 - ECB cut-and-paste
- Cryptopals 12 - Byte-at-a-time ECB decryption (Simple)
- Cryptopals 11 - An ECB/CBC detection oracle
- Cryptopals 10 - Implement CBC mode
- Cryptopals 9 - Implement PKCS#7 padding
- Cryptopals 8 - Detect AES in ECB mode
- Cryptopals 7 - AES in ECB mode
- Cryptopals 6 - Break repeated-key XOR
- Cryptopals 5 - Implementing repeated-key XOR
- Cryptopals 4 - Detect single-character XOR
- Cryptopals 3 - Single-byte XOR cipher
- Cryptopals 2 - Fixed XOR
- Cryptopals 1 - Convert hex to base64
- Cryptopals
# css
# csv
# curses
- Naming items in dew
- Dew - running a command, lazily
- Curses::UI data viewer becomes dew
- ESC like a Vim
- Curses::UI data viewer
- Back tab
- Curses::UI callbacks
- Curses::UI and signatures
- Asciiquarium
- Conway's Game of Life - Sweeping counting
- Conway's Game of Life
- A RANDOM Maze with Curses
- A Maze with Curses
- Curses boilerplate starter
# database
# date
# dbi
# debian
# development
# dibs
- Alpeanuts
- A path function in dibs
- dibspack-basic auto package management
- dibspack-basic enhancement for packages
- Refactor in dibspack-basic
- Docker image generation for skfold reshaped
- Docker base images for Perl
- suexec with user id 0
- skfold - a Docker image
- Jekyll in Docker
- Example dibs project - Hello Web World
- GitHub has a Docker Registry too
- debian-dev based on Debian 10
- GitLab Registry
- dibs update to 0.5.4
- Package Installers for dibspack-basic
- A Gnuplot Docker Image
- Documentation for suexec
- Dibs file for docker-mismatch
- Generating "Example on Certificates"
# dice
# digitalocean
# dissection
# dns
- ValiDNS is useable
- RDAP is the new WHOIS
- DNS over TCP
- DNS validation: validns
- A few considerations about CoreDNS
# dobble
- Double Dobble - slight improvement
- Double Dobble - easy optimization
- Quest for Double Dobbles
- Double Dobble - constraints
- Matt Parker on Dobble
# docker
- Alpeanuts
- Docker port exposure
- PlantUML Docker image
- A path function in dibs
- dibspack-basic auto package management
- dibspack-basic enhancement for packages
- Refactor in dibspack-basic
- Peek in containers
- ImageMagick in graffer
- graffer
- Generalized quenv
- An update to quenv
- Trying Cairo: a Docker image
- TechWorld with Nana
- Docker image generation for skfold reshaped
- Docker base images for Perl
- suexec with user id 0
- skfold - a Docker image
- Timezone notes
- A shell helper for dokyll
- quenv - quick environment
- Jekyll in Docker
- Example dibs project - Hello Web World
- GitHub has a Docker Registry too
- GitLab Registry
- dibs update to 0.5.4
- dockermi
- Docker Run Here
- Package Installers for dibspack-basic
- A Gnuplot Docker Image
- Gnuplot Headache
- Documentation for suexec
- Dibs file for docker-mismatch
- Command-line Docker Applications - A way forward
- Command-line Docker Applications
- Going Back on Alpine Linux 3.6
- Generating "Example on Certificates"
- Example on Certificates
- Try with Docker
- Troubleshooting Pods and Containers
# dokku
- EventSource and buffering
- Busybox (again)
- Timezone notes
- Setting environment variables in Dokku
- Notifications for busypub
- ETOOBUSY automated publishing
- Torneo - a tournament management system
# double dobble
- Double Dobble - slight improvement
- Double Dobble - easy optimization
- Quest for Double Dobbles
- Double Dobble - constraints
# drawing
# dwarf fortress
- MIME Header X-Unsent
- romail
- Email::Stuffer
- Email::Stuffer
- Send notifications through Mailgun with HTTP::Tiny
# encoding
# etcd
# exif
# fail2ban
# fatpacker
# ffmpeg
# filesystem
# floss
# font
# fun
- Terminal avatars
- Simple avatars
- International Space Station passage
- An economic-social view on "flat earth"
- Cow-ment your code
# gallery
# game
- Retheme, maybe?
- Tiny Epic Galaxies print-and-play dice
- Setris
- Friday card game - metadata
- Rearviewmirror on Kasai!
- Nim
- Ticket to Write - thoughts
- Ticket to Write - playable!
- Ticket to Write - chart
- Ticket to Write
- Terra Nil
- Steiner design S(2, 4, 28)
- Torneo - a tournament management system
- Allocating games in tournaments - a program
- Allocating games in tournaments - 6 players matches, premium
- Allocating games in tournaments - 6 players matches, again
- Allocating games in tournaments - 6 players matches
- Allocating games in tournaments - 3 players practicalities
- Allocating games in tournaments - premium games and players
- Allocating games in tournaments - example
- Allocating games in tournaments
- A RANDOM Maze with Curses
- A Maze with Curses
- Kasai!
- A Quest for Voronoi Diagrams - 2. Fortune's Implementation
- A Quest for Voronoi Diagrams - 1. The Problem(s)
# games
# generative
# geo-localization
# geoip
# geometry
# gist
# git
- Git sparse-checkout caveats
- Git worktree
- Unhappy about Gitea Ltd
- Light Git repository checkout
- Codeberg Pages
- Codeberg - signing up
- Codeberg
- Private git repos (settled!)
- Private git repos (some thoughts)
- Secrets in Git
- Gitolite image - Helm chart inside
- Gitolite image - Gitweb
- Gitolite image - Helm chart
- Gitolite - a dibs repository
- Gitolite - automatic main branch detection
- Gitolite
- Removing a Git commit
- Git Forest
- Stockpiling blog posts
- Blog: align master to commit
- Pinboard digging: A Grip on Git
- Dangit, Git!?!
- Rebase and retag, automatically
- Rebase and retag
- Git::Wrapper
- Dirty Git
- Text::Gitignore
# github
- GitHub Pages failed me
- GitHub SHA1 Link
- Trigger rebuild of blog in GitHub Pages
- SVG documentation cleanup proposal
- Notifications for busypub
- ETOOBUSY automated publishing
- Vue this blog
- GitHub has a Docker Registry too
- Certificate example on GitHub
- Announceable Summary for Posts
- Preview for Jekyll blog on GitHub Pages
- Hacktoberfest 2019
- Jekyll blog on GitHub Pages
# gitlab
# gitolite
- Private git repos (settled!)
- Gitolite image - Helm chart inside
- Gitolite image - Gitweb
- Gitolite image - Helm chart
- Gitolite - a dibs repository
- Gitolite - automatic main branch detection
- Gitolite
# gitweb
# gnuplot
# google docs
# gpg
# gpg-agent
# graffer
# graph
- PlantUML starter
- Plot data on the terminal
- PlantUML Docker image
- Hexagonal grids
- Dijkstra's Algorithm
- Removing loops from a path
# graphics
- SVG viewBox and px
- LibreSprite
- PNG Attachments in Romeo
- Playing with PNG files
- Graphics::Potrace
- Crop an image with ImageMagick
- Today I Learned: Portable Grayscale Map
- Poor man's sequence diagrams
- Gnuplot Video
- Gnuplot Parametric Mix
- Gnuplot Headache
# graphs
# graphviz
# grep
# gssapi
# gui
# gutenberg
# hacktoberfest
# handheld
# helm
# hexdump
# icons
# image
# imagemagick
- Frustrating results with PerlMagick
- PerlMagick PDF pages
- Assemble images in a PDF
- Crop an image with ImageMagick
# internet
# istio
# javascript
# jekyll
- kramdown Table of Contents in pages
- A Jekyll performance trick
- Blog posts rearrangement
- ETOOBUSY on Codeberg
- Faster Jekyll
- Added series to the blog
- Generating busypub's LAST_URI
- Notifications for busypub
- ETOOBUSY automated publishing
- A shell helper for dokyll
- Vue this blog
- Jekyll in Docker
- Announceable Summary for Posts
- Preview for Jekyll blog on GitHub Pages
- Jekyll blog on GitHub Pages
# job
# jq
# json
- csv2json
- JSON Pure Perl Pretty Print
- Remove objects from an array with jq
- encode_json does encoding
- JSON::PP - an unsung hero?
- Reformatting JSON with jq
# kerberos
- Example LDAP with on-the-fly Kerberos authentication
- Perl GSSAPI options
- A bare-bones kinit in Perl
- Trying Kerberos
# keyboard
# kubernetes
- Deleting a stuck Kubernetes namespace
- Bump Kubernetes services
- Gitolite image - Helm chart inside
- Helm template command
- Fiddling with Kubernetes worker nodes
- Kubernetes Endpoints
- Create a Kubernetes-ready user
- mTLS authentication for (nginx) Kubernetes Ingress
- Basic Authentication for (nginx) Kubernetes Ingress
- TLS for Kubernetes Ingress
- Mounted ConfigMap quirks
- Put a file in a Kubernetes Pod, I insist
- Put a file in a Kubernetes Pod
- Hanging Persistent Volumes in Kubernetes
- Find fishy Pods in Kubernetes
- Print all resources in a Kubernetes namespace
- TechWorld with Nana
- Aspen Mesh
- Kubernetes operators
- Kata Containers
- Quick note on kubectl taint
- Troubleshooting Pods and Containers
- K9s - Kubernetes CLI To Manage Your Clusters In Style!
# latex
# ldap
- Getting the `ntSecurityDescriptor` with an LDAP query
- LDAP groups expansion
- Online LDAP Test Server
- Perl in an RFC about LDIF
- LDIF Tutorial (link & gist)
- ActiveDirectory password reset with LDIF
- LDIF binary data
- Active Directory time thing
- Active Directory Bit Fields
- LDAP filter to search for absence of an attribute
- Example LDAP with on-the-fly Kerberos authentication
- LDAP program: eldap
- Perl LDAP
# ldif
- Perl in an RFC about LDIF
- LDIF Tutorial (link & gist)
- ActiveDirectory password encoding in Perl and shell
- LDIF binary data
# learning
# letsencrypt
# life
# link
# linux
- LaTeX in Alpine Linux
- MS SQL Server from Perl in Linux
- Linux live distros
- Local to remote port forwarding with socat
- /dev/full
- Issue for RRDTool in Alpine Linux
- AnyEvent for Netcat?
- Proxy setup for Netcat in Perl
- Reinventing Netcat in Perl
- Netcat... in Perl
- Netcat... what a mess!
- iptables for SSH only
- List all iptables rules
- Enter entr
- perl-c-ontinuos
- Busybox (again)
- Where does this belong in the filesystem?
- Check your account expiration... before it's too late!
- Going Back on Alpine Linux 3.6
- Kata Containers
- Busybox - multipurpose executable
# log
# loop
# mac os x
# madness
# markdown
# mastodon
# maths
- Monty Hall - the comeback!
- The Monty Hall problem - ABCPlayer
- The Monty Hall problem
- Think Bayes in Raku - Suite class, take 2
- Think Bayes in Raku - Pmf class, take 2
- Think Bayes in Raku - Suite class
- Think Bayes in Raku - Pmf class
- Double check a puzzle result
- Orthogonal vectors
- Double Dobble - slight improvement
- Double Dobble - easy optimization
- Quest for Double Dobbles
- Double Dobble - constraints
- All partitions of a set - W. Luis Mochán style
- Matt Parker on Dobble
- All partitions of a set
- All partitions of a set into differently arranged subsets
- All partitions of a set into same-sized subsets
- Combinations iterator
- All partitions of a set - rearranging addends
- All partitions of a set - preliminary considerations
- All positive integer sums, as iterator
- All positive integer sums
- Generalized Chinese Remainder Theorem
- Multidimensional Conway's Game of Life
- Red Blob Games
- Stein's algorithm for GCD
- Area of a triangle, again
- Area of a triangle
- Fibonacci Sum part 2
- Fibonacci Sum part 1
- SVG Ellipses again: representing with NURBS
- Rational numbers in Perl
- Be Rational
- SVG path bounding box: arcs of ellipses
- Ellipses (for SVG): transformation implementation
- Ellipses (for SVG): parameter values
- Ellipses (for SVG): finding the center
- Ellipses (for SVG): mapping to SVG representation
- Ellipses (for SVG): parameter and angles
- SVG path bounding box: cubic Bézier curves
- SVG path bounding box: quadratic Bézier curves
- Extremes for Bézier curves
- Derivatives of Bézier curves
- Bézier curves
- A Quiz from my past self
- Unbounding the x axis in the rejection method
- Same rejection method?
- Rejection method
- A D4 from a D6 - squeeze more
- A D4 from a D6, with time guarantees
- A 4-faces die from a 6-faces die
- Steiner design S(2, 4, 28)
- Torneo - a tournament management system
- Some Bayes helps - more
- Some Bayes helps
- Euclid's Elements, illustrated
- Conway's Game of Life - Sweeping counting
- Conway's Game of Life
- Allocating games in tournaments - a program
- Allocating games in tournaments - 6 players matches, premium
- Allocating games in tournaments - 6 players matches, again
- Allocating games in tournaments - 6 players matches
- Allocating games in tournaments - premium games and players
- Allocating games in tournaments - example
- Allocating games in tournaments
- A binomial algorithm
- The extended Euclid's algorithm
# maze
# mesh
# metadata
# microsoft
# mininet
- Mininet topology visualization with Graphviz from Perl
- Mininet topology visualization with Graphviz
- Mininet polygon topology
# minion
# miss you
# mitm
# mitmproxy
# module
- Log::Any::Adapter::Log4perlTiny
- Literal string 0 is false in Perl
- WebService::MyJSONs
- A possible SYNOPSIS for a MyJSONs module
- Data::Tubes release and... how cool is CPAN Testers?!?
- Ouch in Mojolicious
- Ouch!
- Installing Perl Modules
# mojolicious
- Mojolicious specific page
- Mojo::UserAgent specific page, and a salutation
- Removing a session in Mojolicious
- Add a base URL to xlinx
- KnowTee - easy notifications
- Mojolicious cheatsheet
- eml-gist - web edition
- A skfold module for Mojolicious applications
- Fun trick with EPAN and Mojolicious
- Minion
- OpenAPI with Mojolicious - using name for default_response
- ProtoWebz
- Perl OpenAPI with Mojolicious - an update!
- Perl OpenAPI with Mojolicious
- Web nostalgia: MojoX::Mechanize
- Mojolicious::Plugin::Authentication example with under
- Mojolicious::Plugin::Authentication example
- Mojolicious::Plugin::Authentication
- xmpl - enhancements by Mark Lawrence
- xmpl - the page configuration API
- WebService::Fake update
- xmpl - the identity API
- xmpl - visibility API
- xmpl - remote key/value store healthz revisited
- Mojo::UserAgent introductory notes
- xmpl - the API for everything else
- xmpl - the metrics API
- xmpl - the "healthz" API
- xmpl - the API for browsers
- xmpl - remote key/value store
- xmpl - on-file key/value store
- xmpl - in-memory key/value store
- xmpl - the key/value API
- xmpl - an example web application
- Monkey Patch
- Mojo::DOM
- Sending 204 "No Content" from Mojolicious
- CORS quick note
- EventSource and buffering
- EventSource example
- Fixing an example in Mojolicious
- Encoding pitfall
- Post status on Twitter
- Post status on Mastodon - with Mojo::UserAgent
- Content negotiation in Mojolicious
- Torneo - a tournament management system
- Ouch in Mojolicious
- Bare-bones Web Server
- OAuth 1.0 with Perl
- Quotes-O-Matic
- Thread of tweets via API
- Tweets from a user
- Getting started with MojoX::Twitter
- Scrape a Thread of Tweets
- Extract links/images from files or URLs
# monte carlo tree search
# mptcp
# mqtt
# music
# netcat
# netpbm
# networking
- DNS over TCP
- Packet Dissection Amarcord...
- nip.io, sslip.io, and the like
- Corkscrew in Perl
- Local to remote port forwarding with socat
- AnyEvent for Netcat?
- Proxy setup for Netcat in Perl
- Reinventing Netcat in Perl
- Netcat... in Perl
- Netcat... what a mess!
- Flaky internet connection
- Reminder: how to listen with netcat
- Multipath TCP - reminder to study
- Netmask expansion in Perl/Shell
- Hairpinning
# nostalgia
# oath
# oauth 1.0
# octodon
- Post status on Mastodon - with Mojo::UserAgent
- Post status on Mastodon
- Announceable Summary for Posts
# office
# openapi
# openpgp
# openssh
# openssl
- Self-signed wildcard certificates
- ekeca standalone certificate for a server
- TLS for devs: mkcert and ekeca
- OpenSSL for P7M files
- TLS Mastery
- ekeca htpasswd
- ekeca - better print
- ekeca additions
- Encrypting with OpenSSL enc
- Certificate example on GitHub
- Certificate example now with ekeca
- ekeca
- Intermediate CA Solution
- Easy dumping of OpenSSL "stuff"
- Intermediate CA Investigation
- Generating "Example on Certificates"
- Example on Certificates
- Intermediate CAs are hard!
- Bare-bones Root CA
# operator
# oracle
# origami
# outlook
# package
# parsing
- Fantasy Name Generator
- Parsing fixed-format lines
- Date::Parse
- A gift from Abigail
- Trying Marpa
- nayme - a Fantasy Name Generator
- Global matching in scalar context
- Fantasy Name Generator - a parser
- Fantasy Name Generator - a grammar
- Parsing SVG paths
- Parsing toolkit in cglib
- Ordeal::Model::Parser: parsing
- Ordeal::Model::Parser: parsing generics, 2
- Ordeal::Model::Parser: parsing generics
- Ordeal::Model::Parser: entry point
- Ordeal::Model::Parser: grammar
- A parser for Ordeal::Model
# passion
# paste
# pathfinding
- PDF::Collage text align
- SVG to PDF::Collage
- Font selection in PDF::Builder
- I'll probably resume LaTeX
- PDF::Collage on CPAN
- PDF::Collage advance
- PDF::Collage on Codeberg
- pdfunnel
- A PDF GPS
- A PDF workaround
- A PDF void
- PerlMagick PDF pages
- Split a PDF into individual pages
- Assemble images in a PDF
- PDF::Reuse - deep diving in the past
# perl
- Getting the `ntSecurityDescriptor` with an LDAP query
- App::Easer release 2.008 is out
- SQLite import with AutoCommit turned off
- MIME Header X-Unsent
- Frustrating results with PerlMagick
- Validate::CodiceFiscale update
- Romeo teepee gets looping option
- LDAP groups expansion
- The Perl and Raku Conference 2023 - Sawyer X talks
- romail
- Parsing emails
- defer
- En guarde! Playing with Guard
- dynamically
- Mojolicious specific page
- Mojo::UserAgent specific page, and a salutation
- ValiDNS is useable
- Recursive closure
- Log::Any::Adapter::Log4perlTiny
- How much is rindex used?
- Literal string 0 is false in Perl
- String::Util
- Packet Dissection Amarcord...
- DNS validation: validns
- A cheaper terminal trick
- serve_this
- Coding discipline: resist premature generalization
- Coding discipline
- Data::Resolver tricky test
- Relying on CPAN modules
- Data::Resolver refactoring
- Data::Resolver alternatives yield... alternatives
- Update on Word Stickers (PWC216)
- Syntax checking - or how to lose against a >
- Evolution in Data::Resolver
- PDF::Collage text align
- SVG to PDF::Collage
- SVG Text elements
- SVG px conversion in Perl
- Font selection in PDF::Builder
- Romeo - interface consistency
- Why Perl?
- Tracciatore - starting point
- MS SQL Server from Perl in Linux
- Data collection update
- Thinking on a data collection API
- Rearviewmirror on Kasai!
- Romeo time
- Awesome exiftool
- Romeo is growing
- PNG Attachments in Romeo
- Playing with PNG files
- Fantasy Name Generator
- Modulabile
- First release of Validate::CodiceFiscale
- Romeo - slice build
- Romeo - slice
- Romeo - xxd
- Release time!
- Windows paths
- Fun with Romeo
- Hash::Util
- CPAN Testers rock!
- Data::Resolver - trial release with OOP interface
- mobundle gets some love
- Terminal avatars
- Simple avatars
- Block syntax for Perl package definitions
- Portable(ish) Random(ish) Number Generator
- Tantalizing TTD
- mobundle
- Data::Resolver base class for resolver
- Data::Resolver: asset class
- Reflections after a couple of weeks of Data::Resolver
- PDF::Collage advance
- Suffering from Buffering
- PDF::Collage on Codeberg
- Data::Resolver in CPAN
- Finally released new Template::Perlish
- Add a base URL to xlinx
- Data::Resolver - some docs
- Data::Resolver on Codeberg
- Doubtful about release new module AstEval
- Quick note about caller
- Turn this in that
- Monty Hall - the comeback!
- KnowTee - easy notifications
- A wrapper/driver shell program for pgal
- Home-brewn sets
- New App::Easer release 2.006
- JSON Pure Perl Pretty Print
- Advent of Code 2022 is coming
- Playing with MQTT
- Mojolicious cheatsheet
- Lured by overengineering
- Template::Perlish: added functions injection
- pdfunnel
- A PDF GPS
- A PDF workaround
- A PDF void
- WebService::MyJSONs
- A possible SYNOPSIS for a MyJSONs module
- Blaming past self
- Pass4me
- Compactification in NVdB
- Grouping in NVdB
- Expanding nouns and adjectives in NVdB
- Expanding verbs in NVdB
- Expanding words in NVdB
- Extract words from the NVdB PDF file
- Hacktoberfest 2022
- AES - Higher level functions
- AES - Cipher
- AES - Key stuff
- AES - MixColumns
- AES - multiplications in GF(256)
- AES - ShiftRows
- AES - SubBytes
- AES is doable
- eml-gist - web edition
- App::Easer validations
- eml-gist
- garq - a little program of little utility
- Reverse printing the QR Code in the terminal
- A skfold module for Mojolicious applications
- Naming items in dew
- App::Easer V2 is out... and can be improved!
- A builtin::readonly?
- The Foo::Bar mystery in Strawberry Perl
- Adopting Shame Driven Development for App::Easer
- A long due interface change in skfold
- Fun trick with EPAN and Mojolicious
- Perl is DWIM
- Dew - running a command, lazily
- Curses::UI data viewer becomes dew
- ESC like a Vim
- Curses::UI data viewer
- Back tab
- Short flight over Tickit
- Caching with CHI
- Perl v5.36 is out
- Perl in an RFC about LDIF
- Perl's pos
- Curses::UI callbacks
- Curses::UI and signatures
- Adding functions in Template::Perlish
- ActiveDirectory password encoding in Perl and shell
- Getopt::Long long options are case-insensitive
- Read YAML front-matter with teepee
- App::Easer - moving ahead with tests
- August 1970
- App::Easer priorities in options collection
- App::Easer help as (command line) option
- App::Easer options collection
- QRate - complete program
- QRate - decoding
- QRate - iterators for encoding
- QRate - encoding
- QRate - High Level Design (provisional)
- QRate
- PerlMagick PDF pages
- Imager::QRCode
- Wrapperl, from the past
- Using ongoing developed libraries
- Email::Stuffer
- Split a PDF into individual pages
- Minion
- OpenAPI with Mojolicious - using name for default_response
- Corkscrew in Perl
- Tricked by __PACKAGE__
- Log::Log4perl::Tiny update
- The Monty Hall problem - ABCPlayer
- Gitolite image - Gitweb
- The Monty Hall problem
- App::Easer - more tests for V2
- App::Easer and Moo
- App::Easer - auto-commands reflection
- App::Easer - tree auto-command
- Fail2ban2geo
- Gitolite image - Helm chart
- Gitolite - a dibs repository
- Gitolite - automatic main branch detection
- Gitolite
- App::Easer V2 - tests ahead
- App::Easer V2 - an object in the object (sort of)
- App::Easer V2 - let's start!
- So pleased to use Perl
- Role-like augmentation
- Augmenting Exporter
- Things to study
- Evolving App::Easer
- ProtoWebz
- App::Easer guides
- Data::Tubes release and... how cool is CPAN Testers?!?
- Updating The Single Most Influential Book of the BASIC Era
- App::Easer smarter environment variables
- App::Easer new defaults handling
- AoC 2021/8 - Treachery is contagious
- Advent of Code 2021 is onto us!
- Feature creeping in App::Easer
- Tutorials for modules
- App::Easer gets DWIM-mer
- Example LDAP with on-the-fly Kerberos authentication
- Perl GSSAPI options
- A bare-bones kinit in Perl
- Perl OpenAPI with Mojolicious - an update!
- encode_json does encoding
- LDAP program: eldap
- Perl LDAP
- Installing DBD::Oracle in Perl
- Perl OpenAPI with Mojolicious
- AnyEvent for Netcat?
- Proxy setup for Netcat in Perl
- Reinventing Netcat in Perl
- Netcat... in Perl
- Graphics::Potrace
- Doubting about Accounting::Kitty
- Data::Tubes record
- Parsing fixed-format lines
- Resuming Data::Tubes
- Image::ExifTool
- Email::Stuffer
- Hacktoberfest 2021
- A file fetcher idea
- A pull request for Path::Tiny
- XML::Twig
- Sub::Util
- SAMLRequest inspection
- Terminal QR Code with Unicode characters
- Term::QRCode
- Wider List::Util
- perl-builder
- Sub::Import
- Ledger & co.
- Accounting::Kitty on GitHub
- Resuming an old module
- Fun with Advent of Code 2018
- Pronunciation defects
- Pod::Markdown and Pod::Markdown::Github for the win!
- ClouDNS CLI MVP is available
- ClouDNS CLI: update
- Bind and alias
- Has a slot
- Template::Perlish enhancement
- App::Easer enhancement
- Trying Object::Pad
- A toy RSA implementation
- Web nostalgia: MojoX::Mechanize
- Floyd-Warshall algorithm implementations
- App::Easer - new example
- App::Easer released on CPAN
- App::Easer "multilevel" example
- App::Easer example
- App::Easer
- Another puzzle in Raku
- A block... blocks
- Raku cglib: a priority queue
- Codingame library in Raku
- Documentation improvements for epan
- More robust self-recursion
- The real PAUSE workaround
- PAUSE workaround
- EPAN - Exclusive Perl Archive Nook
- use VERSION - but how?
- Mojolicious::Plugin::Authentication example with under
- Mojolicious::Plugin::Authentication example
- Mojolicious::Plugin::Authentication
- Crypt::Argon2
- Crypt::URandom
- Open, sysopen, read, sysread... oh my!
- Random bytes and co.
- Bcrypt password hashing
- APR1 password verification
- xmpl - enhancements by Mark Lawrence
- Term::Twiddle
- Term::StatusBar
- AoC 2017 - completed!
- Substring DWIMmery
- Avoid the "butterfly operator" with command-line options
- All partitions of a set - W. Luis Mochán style
- Matt Parker on Dobble
- xmpl - the page configuration API
- JSONify a string
- Heail - head and tail together
- All partitions of a set
- All partitions of a set into differently arranged subsets
- All partitions of a set into same-sized subsets
- Combinations iterator
- All partitions of a set - rearranging addends
- All partitions of a set - preliminary considerations
- All positive integer sums, as iterator
- All positive integer sums
- Another trick for PERL5LIB
- Readonly::Tiny
- Fatpacking fatpack
- Rediscovering IPC::Exe
- Date::Parse
- Send notifications through Mailgun with HTTP::Tiny
- A pull request for Crypt::LE
- Crypt::LE update
- Data::HexDump::XXD
- Mininet topology visualization with Graphviz from Perl
- Poor man's sequence diagrams
- Mininet topology visualization with Graphviz
- teepee
- Test::CLI
- A path function in dibs
- dibspack-basic enhancement for packages
- WebService::Fake update
- Refactor in dibspack-basic
- A cheap terminal trick
- Command::Template
- xmpl - the identity API
- xmpl - visibility API
- IPC::Cmd considered harmful
- Line noise
- xmpl - remote key/value store healthz revisited
- Mojo::UserAgent introductory notes
- xmpl - the API for everything else
- xmpl - the metrics API
- xmpl - the "healthz" API
- xmpl - the API for browsers
- xmpl - remote key/value store
- xmpl - on-file key/value store
- xmpl - in-memory key/value store
- xmpl - the key/value API
- xmpl - an example web application
- AoC 2017/12 - Rediscovering Union-Find
- AoC 2016/24 - Brute-force for a Traveling-Salesman-like problem
- Iterator-based implementation of Permutations
- Permutations with Heap's Algorithm
- AoC 2016/19 - Dynamic Josephus
- AoC 2016/19 - Halving Josephus
- AoC 2016/19 - Josephus problem
- AoC 2016/15 - Chinese Reminder Theorem - again!
- AoC 2016/11 - Optimization
- AoC 2016/11 - Part 2 solution
- AoC 2016/11 - New successors
- AoC 2016/11 - New heuristic
- AoC 2016/11 - New identifier
- AoC 2016/11 - New parsing
- AoC 2016/11 - New representation
- AoC 2016/11 - New algorithm: A*
- AoC 2016/11 - Part 2 introduction
- AoC 2016/11 - Part 1 solution
- AoC 2016/11 - Initial algorithm: Dijkstra
- AoC 2016/11 - Initial data structure
- AoC 2016/11 - Input parsing
- AoC 2016/11 - Introduction
- Dijkstra Algorithm - as functions only
- Tricked by each
- PWC093 - Sum Path
- Generalized Chinese Remainder Theorem
- A gift from Abigail
- The Definitive Conway's Game of Life
- PWC092 - Insert Interval
- Trying Marpa
- Multidimensional Conway's Game of Life - the NestedLoops way
- Multidimensional Conway's Game of Life
- Advent of Code 2020 - Day 13
- PWC091 - Jump Game
- PWC090 - Ethiopian Multiplication
- Mohammad Sajid Anwar is amazing
- The blessing of forgetting
- PWC089 - Magical Matrix
- Simpler Priority Queue
- Priority Queue documentation
- Hanging Persistent Volumes in Kubernetes
- Pointer to element
- Find fishy Pods in Kubernetes
- Monte Carlo Tree Search - an implementation
- Asciiquarium
- nayme - a Fantasy Name Generator
- Global matching in scalar context
- Fantasy Name Generator - a parser
- Fantasy Name Generator - a grammar
- SVG - embed images
- origalea
- Enter entr
- Stein's algorithm for GCD
- A cheap trick to manipulate PERL5LIB
- perl-c-ontinuos
- Area of a triangle, again
- PDF::Reuse - deep diving in the past
- Area of a triangle
- Monkey Patch
- Mojo::DOM
- REX - Shallow XML parsing
- Disabling autohistory in Term::ReadLine
- Trying Cairo in Perl
- Trying Cairo: a Docker image
- New release of Bot::ChatBots::Telegram
- Sending 204 "No Content" from Mojolicious
- CORS quick note
- EventSource and buffering
- Ordeal::Model gets a Raw backend
- EventSource example
- Fixing an example in Mojolicious
- Cardstom - more flexible
- Cardstom
- A card layout - in Perl
- HMAC in Perl
- Capture::Tiny
- Quick-and-dirty capturing of STDOUT in Perl
- Rational numbers in Perl
- Automated Mozart, by larsen
- Base64 in Perl
- A couple thoughts about Perl 7
- Digest and identifiers
- Module::Runtime
- JSON::PP - an unsung hero?
- Term::ANSIColor and (lack of) the terminal
- SVG path in a rectangle
- Log::Log4perl::Tiny
- Deep clone of a data structure in Perl
- Support of dynamic dimensions for nested loops
- Iterator for NestedLoops
- Iterator from loop
- Benchmarking simplified implementations of NestedLoops
- A simplified iterative implementation of NestedLoops
- A simplified recursive implementation of NestedLoops
- Algorithm::Loops
- SVG path bounding box: arcs of ellipses
- Ellipses (for SVG): transformation implementation
- SVG path bounding box: cubic Bézier curves
- SVG path bounding box: quadratic Bézier curves
- SVG path bounding box: merge multiple boxes
- SVG path bounding box: segments
- Parsing SVG paths
- Parsing toolkit in cglib
- SVG documentation cleanup proposal
- Docker base images for Perl
- skfold - documentation
- Fatpacked skfold
- Today I Learned: fatpack and PERL5LIB
- skfold - one-off files
- skfold - repeated files
- skfold - getting started with simple files
- skfold is usable!
- Restart from skfold
- Path::Tiny
- pgal
- Publishing time for busypub
- Timezone notes
- Notifications for busypub
- Post status on Twitter
- Post status on Mastodon - with Mojo::UserAgent
- Post status on Mastodon
- ETOOBUSY automated publishing
- Git::Wrapper
- Ordeal::Model::Parser: parsing
- Ordeal::Model::Parser: parsing generics, 2
- Ordeal::Model::Parser: parsing generics
- Ordeal::Model::Parser: entry point
- Ordeal::Model::Parser: grammar
- A parser for Ordeal::Model
- Global string matching quirks
- A Quiz from my past self
- Counting tags in this blog
- Content negotiation in Mojolicious
- Resolving a (Steiner) design - constraints and search
- Resolving a (Steiner) design
- Sorting an incidence matrix
- Torneo - a tournament management system
- Ouch in Mojolicious
- Ouch!
- Conway's Game of Life - Sweeping counting
- Conway's Game of Life
- Allocating games in tournaments - a program
- Allocating games in tournaments - 6 players matches, again
- Allocating games in tournaments - 6 players matches
- Autobiographical numbers constraints - step up
- Autobiographical numbers constraints - luckier weighted sum
- Autobiographical numbers constraints - weighted sum
- Autobiographical numbers constraints - last is zero
- Autobiographical numbers constraints - basic
- Autobiographical numbers
- More constraint programming
- Aquarium - exploiting redundant constraints
- Aquarium - search differently
- Aquarium - more cooperation from constraints
- Aquarium - cooperating constraint
- Aquarium - search the solution space
- Aquarium - constraints
- Aquarium - print puzzle
- Aquarium - parse puzzle input
- Shell script help
- Dijkstra's Algorithm
- A binomial algorithm
- Basic Priority Queue with Heaps
- Depth First Visit of a Graph
- Generic Graph Representation
- Writing Documentation
- Netmask expansion in Perl/Shell
- Unmatched is indeed not the same as Excluded
- Unmatched is not Excluded - Pull Request is out
- Unmatched is not Excluded
- Text::Gitignore
- Stubborn rm -rf
- Bare-bones Web Server
- Loving The Alien
- Generate an example "name"
- OAuth 1.0 with Perl
- A Public Domain List of Words
- A Public Domain List of Adjectives
- Reading QR Codes from Perl
- Quotes-O-Matic
- Thread of tweets via API
- Tweets from a user
- Getting started with MojoX::Twitter
- Scrape a Thread of Tweets
- The extended Euclid's algorithm
- A RANDOM Maze with Curses
- Removing loops from a path
- A Maze with Curses
- Installing Perl Modules
- Curses boilerplate starter
- Extract links/images from files or URLs
- Kasai!
- notechs
# perl weekly challenge
- Why splitting if you can point?
- PWC122 - Basketball Points
- PWC122 - Average of Stream
- More commenting... maybe?
- PWC121 - The Travelling Salesman
- PWC121 - Invert Bit
- PWC120 - Clock Angle
- PWC120 - Swap Odd/Even bits
- PWC119 - Sequence without 1 on 1
- PWC119 - Swap Nibbles
- PWC118 - Adventure of Knight
- PWC118 - Binary Palindrome
- Count Possible Paths
- PWC117 - Find Possible Paths
- PWC117 - Missing Row
- PWC116 - Sum of Squares
- PWC116 - Number Sequence
- PWC115 - Largest Multiple
- PWC115 - String Chain
- PWC114 - Higher Integer Set Bits
- PWC114 - Next Palindrome Number
- PWC113 - Recreate Binary Tree
- PWC113 - Represent Integer
- Killing spiders - a fresh look on Chowla Numbers
- PWC112 - Climb Stairs
- PWC112 - Canonical Path
- All partitions of a set - W. Luis Mochán style
- PWC111 - Ordered Letters
- PWC111 - Search Matrix
- PWC110 - Transpose File
- PWC110 - Valid Phone Numbers
- All partitions of a set
- All partitions of a set into differently arranged subsets
- All partitions of a set into same-sized subsets
- Combinations iterator
- All partitions of a set - rearranging addends
- PWC109 - Four Squares Puzzle
- PWC109 - Chowla Numbers
- All partitions of a set - preliminary considerations
- All positive integer sums, as iterator
- All positive integer sums
- PWC108 - Bell Numbers
- PWC108 - Locate Memory
- PWC107 - List Methods
- PWC107 - Self-descriptive Numbers
- PWC106 - Decimal String
- PWC106 - Maximum Gap
- PWC105 - The Name Game
- PWC105 - Nth root
- PWC104 - NIM Game
- PWC104 - FUSC Sequence
- PWC103 - What's playing?
- PWC103 - Chinese Zodiac
- PWC102 - Hash-counting String
- PWC102 - Rare Numbers
- PWC101 - Origin-containing Triangle
- PWC101 - Pack a Spiral
- PWC100 - Triangle Sum
- PWC100 - Fun Time
- PWC099 - Unique Subsequence
- PWC099 - Pattern Matching
- PWC098 - Search Insert Position
- PWC098 - Read N-characters
- PWC097 - Binary Substrings
- PWC097 - Caesar Cipher
- PWC096 - Edit Distance
- PWC096 - Reverse Words
- PWC095 - Demo Stack
- PWC095 - Palindrome Number
- PWC094 - Binary Tree to Linked List
- PWC094 - Group Anagrams
- PWC093 - Sum Path
- PWC093 - Max Points
- PWC092 - Insert Interval
- PWC092 - Isomorphic Strings
- PWC091 - Jump Game
- PWC091 - Count Number
- PWC090 - Ethiopian Multiplication
- PWC090 - DNA Sequence
- PWC089 - Magical Matrix
- PWC089 - GCD Sum
- PWC088 - Spiral Matrix
- PWC088 - Array of Product
- PWC087 - Largest Rectangle
- PWC087 - Longest Consecutive Sequence
- PWC086 - Sudoku Puzzle
- PWC086 - Pair Difference
- PWC085 - Power of two integers
- PWC085 - Triplet Sum
- PWC084 - Find Square
- PWC084 - Reverse Integer
- PWC083 - Flip Array
- PWC083 - Words Length
- PWC082 - Interleave String (now for real, hopefully!)
- PWC082 - Interleave String (but not really!)
- PWC082 - Common Factors
- PWC081 - Frequency Sort
- PWC081 - Common Base String
- PWC080 - Count Candies
- PWC080 - Smallest Positive Number
- PWC079 - Trapped Rain Water
- PWC079 - Count Set Bits
- PWC - Left Rotation
- Leader element
- Fibonacci Sum part 2
- Fibonacci Sum part 1
- Lonely X
# perlrun
# personal
# pgm
# photos
# pixabay
# pixel
# planet
# plantuml
# png
# pod
# politics
# powerpoint
# print and play
- Tiny Epic Galaxies print-and-play dice
- Dice for Bargain Basement Bathysphere (of Beachside Bay)
- Escape of the dead
- The Spatial Game of Ur
# probabilities
- Think Bayes in Raku - Suite class, take 2
- Think Bayes in Raku - Suite class
- Think Bayes
- A Quiz from my past self
- Unbounding the x axis in the rejection method
- Same rejection method?
- Rejection method
- A D4 from a D6 - squeeze more
- A D4 from a D6, with time guarantees
- A 4-faces die from a 6-faces die
- Some Bayes helps - more
- Some Bayes helps
# probability
# public domain
# pull request
# puzzle
# python
# qr code
# qr codes
- Reverse printing the QR Code in the terminal
- QRate - complete program
- QRate - decoding
- QRate - iterators for encoding
- QRate - encoding
- QRate - High Level Design (provisional)
- QRate
- Imager::QRCode
- Terminal QR Code with Unicode characters
- Term::QRCode
- QRcode.show
- Reading QR Codes from Perl
# raku
# rakulang
- 1000th consecutive posting day
- Terminal avatars
- Simple avatars
- Block syntax for Perl package definitions
- Portable(ish) Random(ish) Number Generator
- I used... Raku
- Synacor Challenge - my repo
- The Synacor Challenge
- AoC 2022/16 - OMG what an improvement
- AoC 2022/16 - Paying a debt
- AoC 2022/25 - Wind down, hot air up!
- AoC 2022/24 - These elves require a lot of patience...
- AoC 2022/23 - Unstable diffusion
- AoC 2022/22 - Dicey assumptions
- AoC 2022/21 - When Wolfram Alpha failed me...
- AoC 2022/20 - Merry go round
- AoC 2022/19 - Head cracking
- AoC 2022/18 - Cooling surface
- AoC 2022/17 - Tetris-ish accumulation
- AoC 2022/16 - Pressured shame
- AoC 2022/15 - Diamonds are squares in disguise
- AoC 2022/14 - Sand accumulation
- AoC 2022/13 - Nested lists
- AoC 2022/12 - Human-machine interface solution
- AoC 2022/11 - Monkey business
- AoC 2022/10 - Cathode Ray Tube
- AoC 2022/9 - That little tail...
- AoC 2022/8 - Messy tree patch
- AoC 2022/7 - ENOSPC - no space left on device
- AoC 2022/6 - Canned diversity
- AoC 2022/5 - Insane crane
- AoC 2022/4 - Poor planning
- AoC 2022/3 - Misplaced supplies and where to find them
- AoC 2022/2 - Rock Paper Scissors cheat guide
- AoC 2022/1 - Caloric snacks
- Advent of Code 2022 is coming
- AoC 2021/3 - Aiming for reuse
- AoC 2021/02 - Ready, set, go!
- AoC 2021/01 - Up and down
- AoC 2021/25 - Sea traffic jam
- AoC 2021/24 - Blockchain under the sea
- AoC 2021/23 - Then came amphipods...
- AoC 2021/22 - Add and remove
- AoC 2021/21 - Many-Worlds over Copenhagen
- AoC 2021/20 - Flashy enhancements
- AoC 2021/19 - GPS is smarter - part 3
- AoC 2021/19 - GPS is smarter - part 2
- AoC 2021/19 - GPS is smarter
- AoC 2021/18 - Fishy accordion
- AoC 2021/17 - Ballistic
- AoC 2021/16 - Bitstream decoding
- AoC 2021 completed!
- AoC 2021/15 - A* in the sea
- AoC 2021/14 - Exponential polymerization
- AoC 2021/13 - Transparent origami
- AoC 2021/12 - A trip in the caves
- AoC 2021/11 - Calm Dumbo Octopuses
- AoC 2021/10 - Syntax scoring
- AoC 2021/09 - Flood fill
- AoC 2021/8 - Treachery is contagious
- AoC 2021/7 - Median crabs
- AoC 2021/6 - Lanternfishes going round and round
- AoC 2021/5 - Hyperstuff
- AoC 2021/4 - Giant Squid overkill solution
- Advent of Code 2021 is onto us!
- Why splitting if you can point?
- Fun with Advent of Code 2018
- Pronunciation defects
- Advent of Code 2018/04 made me feel old
- Pounded by #
- Pipe the hash through the call
- =finish at the __END__
- So flat that it Slips
- unit sub MAIN (...);
- Bind and alias
- Think Bayes in Raku - Suite class, take 2
- Think Bayes in Raku - Pmf class, take 2
- More (welcome although embarrassing) feedback
- Idiomatic corrections
- Think Bayes in Raku - Suite class
- Think Bayes in Raku - Pmf class
- Double check a puzzle result
- Raku cglib: A* algorithm
- Raku community answered to shift || 5
- Brute forcing "The monkey and the coconuts"
- Brute forcing a puzzle
- Raku - default member values... oh my!
- Raku cglib: a basic priority queue
- Floyd-Warshall algorithm implementations
- Graph visit algorithms in cglib-raku
- Raku - default member values, again
- Another puzzle in Raku
- Raku cglib: a priority queue
- Codingame library in Raku
- Raku - default member values
# random
# rant
# raster
# readline
# rebase
# regex
# retro
# roll and write
# romeo
# rpg
# rrdtool
# run
# saml
# sampling
# sdn
# security
- Name Constraints
- Out of Office
- Zip bombs and quine.zip
- Self-signed wildcard certificates
- No back button after logout
- Cosmic mitmproxy
- Speaking of certificates and Root CAs...
- ekeca standalone certificate for a server
- TLS for devs: mkcert and ekeca
- Starting some help for GPG
- An insight about Certificates expirations
- Certificates expiration
- Cryptopals 38 - New insights from a kind reader
- Pass4me
- Compactification in NVdB
- Grouping in NVdB
- Expanding nouns and adjectives in NVdB
- Expanding verbs in NVdB
- Expanding words in NVdB
- Extract words from the NVdB PDF file
- Nuovo vocabolario di base della lingua italiana
- Diceware
- Passphrases
- Cryptopals 40 - Implement an E=3 RSA Broadcast attack
- Cryptopals 39 - Implement RSA
- Cryptopals 38 - Offline dictionary attack on simplified SRP
- Cryptopals 37 - Break SRP with a zero key
- Cryptopals Diversion 3 - SRP server and client
- Cryptopals 36 - Implement Secure Remote Password (SRP)
- Cryptopals 35 - Implement DH with negotiated groups...
- Cryptopals 34 - Implement a MITM key-fixing attack on Diffie-Hellman...
- Cryptopals 33 - Implement Diffie-Hellman
- Cryptopals 32 - Break HMAC-SHA1 with a slightly less artificial timing leak
- Cryptopals 31 - Implement and break HMAC-SHA1 with an artificial timing leak
- Cryptopals Diversion 2 - Simulating Time Leaks
- Cryptopals 30 - Break an MD4 keyed MAC using length extension
- Cryptopals 29 - Break a SHA-1 keyed MAC using length extension
- Cryptopals 28 - Implement a SHA-1 keyed MAC
- Cryptopals 27 - Recover the key from CBC with IV=Key
- Cryptopals 26 - CTR bitflipping
- Cryptopals 25 - Break "random access read/write" AES CTR
- Cryptopals 24 - Create the MT19937 stream cipher and break it
- Cryptopals 23 - Clone an MT19937 RNG from its output
- Cryptopals 22 - Crack an MT19937 seed
- Cryptopals 21 - Implement the MT19937 Mersenne Twister RNG
- Cryptopals 20 - Break fixed-nonce CTR statistically
- Cryptopals 19 - Break fixed-nonce CTR mode using substitutions (part 3)
- Cryptopals 19 - Break fixed-nonce CTR mode using substitutions (part 2)
- Cryptopals 19 - Break fixed-nonce CTR mode using substitutions (part 1)
- Cryptopals 18 - Implement CTR, the stream cipher mode
- Cryptopals Diversion 1 - A counter
- Cryptopals 17 - The CBC padding oracle
- Cryptopals 16 - CBC bitflipping attacks
- Cryptopals 15 - PKCS#7 padding violation
- Cryptopals 14 - Byte-at-a-time ECB decryption (Harder)
- Cryptopals 13 - ECB cut-and-paste
- Cryptopals 12 - Byte-at-a-time ECB decryption (Simple)
- Cryptopals 11 - An ECB/CBC detection oracle
- Cryptopals 10 - Implement CBC mode
- Cryptopals 9 - Implement PKCS#7 padding
- Cryptopals 8 - Detect AES in ECB mode
- Cryptopals 7 - AES in ECB mode
- AES - Higher level functions
- AES - Cipher
- AES - Key stuff
- AES - MixColumns
- AES - multiplications in GF(256)
- AES - ShiftRows
- AES - SubBytes
- AES is doable
- Cryptopals 6 - Break repeated-key XOR
- Cryptopals 5 - Implementing repeated-key XOR
- Cryptopals 4 - Detect single-character XOR
- Cryptopals 3 - Single-byte XOR cipher
- Cryptopals 2 - Fixed XOR
- Cryptopals 1 - Convert hex to base64
- eml-gist - web edition
- eml-gist
- Linux live distros
- Cryptopals
- garq - a little program of little utility
- OATH Toolkit
- Two-factors authentication with OpenSSH
- AuthenticationMethods... comma
- OpenSSL for P7M files
- Echoes from the past: LavaRnd
- TLS Mastery
- Encrypt, the hard way - a caveat
- Encrypt, the hard way
- OpenSSH IdentitiesOnly
- GPG Certification Key
- Run an OpenSSH server as a regular, unprivileged user
- Emulating sudo timeouts
- Fiddling with Kubernetes worker nodes
- Example LDAP with on-the-fly Kerberos authentication
- Perl GSSAPI options
- A bare-bones kinit in Perl
- Trying Kerberos
- Read a password from the shell
- SSH through a proxy
- OpenSSH Server: ChrootDirectory
- Setting up an SFTP server
- OpenSSH Server: understanding Allow* and Deny* stuff
- iptables for SSH only
- SAMLRequest inspection
- A toy RSA implementation
- Mojolicious::Plugin::Authentication example with under
- Mojolicious::Plugin::Authentication example
- Mojolicious::Plugin::Authentication
- Crypt::Argon2
- Crypt::URandom
- Random bytes and co.
- Bcrypt password hashing
- APR1 password verification
- Certificate expiration date
- mTLS authentication for (nginx) Kubernetes Ingress
- ekeca htpasswd
- Basic Authentication for (nginx) Kubernetes Ingress
- ekeca - better print
- List all iptables rules
- ekeca additions
- Check your account expiration... before it's too late!
- HMAC in Perl
- HMAC
- Encrypting with OpenSSL enc
- SSH Certificates
- ssh and LD_IDENTIFICATION
- ProxyCommand - The Old Way
- ProxyCommand
- ProxyJump
- Certificate example on GitHub
- Certificate example now with ekeca
- ekeca
- Intermediate CA Solution
- Intermediate CA Investigation
- Generating "Example on Certificates"
- Example on Certificates
- Intermediate CAs are hard!
- Bare-bones Web Server
- Bare-bones Root CA
# server
# shell
- A cheaper terminal trick
- tempfile and mktemp
- A wrapper/driver shell program for pgal
- Advent of Code puzzle input downloader
- TLS for devs: mkcert and ekeca
- Newlines
- ActiveDirectory password encoding in Perl and shell
- Read a password from the shell
- Assemble images in a PDF
- No voids, please
- Heail - head and tail together
- Mac OS X say
- Mac OS X caffeinate
- Flaky internet connection
- Test::CLI
- Avoid password in sudo and more
- A cheap terminal trick
- Stockpile of posts gets interactive
- Stockpile of posts gets shortcuts to items
- Stockpile of posts gets dates in listing
- Create a Kubernetes-ready user
- ekeca htpasswd
- ekeca - better print
- ekeca additions
- Peek in containers
- Leader in etcd
- Put a file in a Kubernetes Pod, I insist
- Put a file in a Kubernetes Pod
- Variables, loops, and redirections
- ANSI Color
- Inconsolation
- Add line numbers to code snippets
- A POSIX shell-only Base64 decoder
- POSIX shell binary stuff
- Print all resources in a Kubernetes namespace
- origalea
- tldr
- Generalized quenv
- A cheap trick to manipulate PERL5LIB
- perl-c-ontinuos
- Recursive cat
- A wrapper for asciinema
- Timezone notes
- A shell helper for dokyll
- Newlines
- Shell scaffolding script
- Shell variables tests: is it lengthy?
- Shell variables tests: is it true?
- Shell variables tests: is it defined?
- Shell logging helpers
- Building shell arguments list dynamically
- Shell quoting for exec
- Rich’s sh (POSIX shell) tricks
- Shell script help
- A shell approach
- Netmask expansion in Perl/Shell
- Easy dumping of OpenSSL "stuff"
- Awk - the Tool I Keep Forgetting
- Grep o Treat
- ToolBag
# skfold
- A skfold module for Mojolicious applications
- A long due interface change in skfold
- Docker image generation for skfold reshaped
- skfold - a Docker image
- skfold - documentation
- Fatpacked skfold
- Today I Learned: fatpack and PERL5LIB
- skfold - one-off files
- skfold - repeated files
- skfold - getting started with simple files
- skfold is usable!
- Restart from skfold
# snippet
# socat
# software
# sorrow
# space
# sqlite
# ssh
- OpenSSH IdentitiesOnly
- Run an OpenSSH server as a regular, unprivileged user
- iptables for SSH only
- SSH Certificates
- ssh and LD_IDENTIFICATION
- ProxyCommand - The Old Way
- SSH into tmux
- ProxyCommand
- ProxyJump
# ssl
# statistics
# sudo
# suexec
# svg
- SVG to PDF::Collage
- SVG Text elements
- SVG px conversion in Perl
- SVG viewBox and px
- SVG - embed images
- Origami tuckbox
- Cardstom - more flexible
- Cardstom
- Some SVG cards
- A card layout - in Perl
- A card layout - extended
- A card layout
- SVG Ellipses again: representing with NURBS
- SVG path in a rectangle
- Some Time Later
- SVG path bounding box: arcs of ellipses
- Ellipses (for SVG): transformation implementation
- Ellipses (for SVG): parameter values
- Ellipses (for SVG): finding the center
- Ellipses (for SVG): mapping to SVG representation
- Ellipses (for SVG): parameter and angles
- SVG path bounding box: cubic Bézier curves
- SVG path bounding box: quadratic Bézier curves
- SVG path bounding box: merge multiple boxes
- SVG path bounding box: segments
- Why all this SVG?
- Parsing SVG paths
- Game Icons
- SVG DOM tree visit
# tag
# taint
# tech
# technology
# telegram
# template
- Finally released new Template::Perlish
- Template::Perlish: added functions injection
- Adding functions in Template::Perlish
- Read YAML front-matter with teepee
- teepee
# terminal
- App::Easer release 2.008 is out
- transfer.sh
- Command-line editing
- A quick look at Skate
- PDF::Collage on CPAN
- csv2json
- Charm.sh
- New App::Easer release 2.006
- App::Easer validations
- Naming items in dew
- App::Easer V2 is out... and can be improved!
- Adopting Shame Driven Development for App::Easer
- Dew - running a command, lazily
- Curses::UI data viewer becomes dew
- Back tab
- Short flight over Tickit
- Rendering trees in the terminal
- Curses::UI callbacks
- App::Easer - moving ahead with tests
- App::Easer priorities in options collection
- App::Easer help as (command line) option
- App::Easer options collection
- App::Easer - more tests for V2
- App::Easer and Moo
- App::Easer - auto-commands reflection
- App::Easer - tree auto-command
- App::Easer V2 - tests ahead
- App::Easer V2 - an object in the object (sort of)
- App::Easer V2 - let's start!
- Evolving App::Easer
- App::Easer guides
- App::Easer smarter environment variables
- App::Easer new defaults handling
- Feature creeping in App::Easer
- App::Easer gets DWIM-mer
- Ledger & co.
- App::Easer - new example
- App::Easer released on CPAN
- App::Easer "multilevel" example
- App::Easer example
- App::Easer
- Plot data on the terminal
- Term::Twiddle
- A cheap terminal trick
- Dumb Gnuplot
- Inconsolation
- Grep o Treat
# tessellation
- A Quest for Voronoi Diagrams - 2. Fortune's Implementation
- A Quest for Voronoi Diagrams - 1. The Problem(s)
# testing
# text
- Pass4me
- Compactification in NVdB
- Grouping in NVdB
- Expanding nouns and adjectives in NVdB
- Expanding verbs in NVdB
- Expanding words in NVdB
- Extract words from the NVdB PDF file
- Nuovo vocabolario di base della lingua italiana
- Diceware
- Tutorials for modules
- Generate an example "name"
- A Public Domain List of Words
- A Public Domain List of Adjectives
# text processing
# the noun project
# the weekly challenge
- PWC239 - Consistent Strings
- PWC239 - Same String
- PWC238 - Persistence Sort
- PWC238 - Running Sum
- PWC237 - Maximise Greatness
- PWC237 - Seize The Day
- PWC236 - Array Loops
- PWC236 - Exact Change
- PWC228 - Empty Array
- PWC228 - Unique Sum
- PWC227 - Roman Maths
- PWC227 - Friday 13th
- PWC226 - Zero Array
- PWC226 - Shuffle String
- PWC225 - Left Right Sum Diff
- PWC225 - Max Words
- PWC224 - Additive Number
- PWC224 - Special Notes
- PWC223 - Box Coins
- PWC223 - Count Primes
- PWC222 - Last Member
- PWC222 - Matching Members
- PWC221 - Arithmetic Subsequence
- PWC221 - Good Strings
- PWC220 - Squareful
- PWC220 - Common Characters
- PWC219 - Travel Expenditure
- PWC219 - Sorted Squares
- PWC218 - Matrix Score
- PWC218 - Maximum Product
- PWC217 - Max Number
- PWC217 - Sorted Matrix
- Update on Word Stickers (PWC216)
- PWC216 - Word Stickers
- PWC216 - Registration Number
- PWC215 - Number Placement
- PWC215 - Odd One Out
- PWC214 - Collect Points
- PWC214 - Rank Score
- PWC213 - Shortest Route
- PWC213 - Fun Sort
- PWC212 - Rearrange Groups
- PWC212 - Jumping Letters
- PWC211 - Split Same Average
- PWC211 - Toepliz Matrix
- PWC210 - Number Collision
- PWC210 - Kill and Win
- PWC209 - Merge Account
- PWC209 - Special Bit Characters
- PWC208 - Duplicate and Missing
- PWC208 - Minimum Index Sum
- PWC207 - H-Index
- PWC207 - Keyboard Word
- PWC206 - Array Pairings
- PWC206 - Shortest Time
- PWC205 - Maximum XOR
- PWC205 - Third Highest
- PWC204 - Reshape Matrix
- PWC204 - Monotonic Array
- PWC203 - Copy Directory
- PWC203 - Special Quadruplets
- PWC202 - Widest Valley
- PWC202 - Consecutive Odds
- PWC201 - Penny Piles
- PWC201 - Missing Numbers
- PWC200 - Seven Segment 200
- PWC200 - Arithmetic Slices
- PWC199 - Good Triplets
- PWC199 - Good Pairs
- PWC198 - Prime Count
- PWC198 - Max Gap
- PWC197 - Wiggle Sort
- PWC197 - Move Zero
- PWC196 - Range List
- PWC196 - Pattern 132
- PWC195 - Most Frequent Even
- PWC195 - Special Integers
- PWC194 - Frequency Equalizer
- PWC194 - Digital Clock
- PWC193 - Odd String
- PWC193 - Binary String
- PWC192 - Equal Distribution
- PWC192 - Binary Flip
- PWC191 - Cute List
- PWC191 - Twice Largest
- PWC190 - Decoded List
- PWC190 - Capital Detection
- PWC189 - Array Degree
- PWC189 - Greater Character
- PWC188 - Total Zero
- PWC188 - Divisible Pairs
- Light Git repository checkout
- PWC187 - Magical Triplets
- PWC187 - Days Together
- PWC186 - Unicode Makeover
- PWC186 - Zip List
- On the review for The Weekly Challenge 179...
- PWC185 - Mask Code
- PWC185 - MAC Address
- PWC184 - Split Array
- PWC184 - Sequence Number
- PWC183 - Date Difference
- PWC183 - Unique Array
- PWC182 - Common Path
- PWC182 - Max Index
- PWC181 - Hot Day
- PWC181 - Sentence Order
- PWC180 - Trim List
- PWC180 - First Unique Character
- PWC179 - Unicode Sparkline
- PWC179 - Ordinal Number Spelling
- PWC178 - Business Date
- PWC178 - Quater-imaginary Base
- PWC177 - Palindromic Prime Cyclops
- PWC177 - Damm Algorithm
- PWC176 - Reversible Numbers
- PWC176 - Permuted Multiples
- PWC175 - Perfect Totient Numbers
- PWC175 - Last Sunday
- PWC174 - Permutation Ranking (Raku)
- PWC174 - Permutation Ranking
- PWC174 - Disarium Numbers
- Disarium Numbers: brute force won't cut it
- PWC173 - Sylvester's Sequence
- PWC173 - Esthetic Number
- PWC172 - Five-number Summary
- PWC172 - Prime Partition
- PWC171 - First-class Function
- PWC171 - Abundant Number
- PWC170 - Kronecker Product
- PWC170 - Primorial Numbers
- PWC169 - Achilles Numbers
- PWC169 - Brilliant Numbers
- PWC168 - Home Prime
- PWC168 - Perrin Prime
- PWC167 - Gamma Function
- PWC167 - Circular Prime
- PWC166 - K-Directory Diff (Raku solution)
- PWC166 - K-Directory Diff
- PWC166 - Hexadecimal Words
- PWC165 - Line of Best Fit
- PWC165 - Scalable Vector Graphics (SVG)
- PWC164 - Happy Numbers
- PWC164 - Prime Palindrome
- PWC162 - Summations
- PWC163 - Sum Bitwise Operator
- PWC162 - Wheatstone-Playfair
- PWC162 - ISBN-13
- PWC161 - Pangrams
- PWC161 - Abecedarian Words
- PWC160 - Equilibrium Index
- PWC160 - Four Is Magic
- PWC159 - Moebius Number
- PWC159 - Farey Sequence
- PWC158 - First Series Cuban Primes
- PWC158 - Additive Primes
- PWC157 - Brazilian Number
- PWC157 - Pythagorean Means
- PWC156 - Weird Number
- PWC156 - Pernicious Numbers
- PWC155 - Pisano Period
- PWC155 - Fortunate Numbers
- PWC154 - Padovan Prime
- PWC154 - Missing Permutation
- PWC153 - Factorions
- PWC153 - Left Factorials
- PWC152 - Rectangle Area
- PWC152 - Triangle Sum Path
- PWC151 - Rob The House
- PWC151 - Binary Tree Depth
- PWC150 - Square-free Integer
- PWC150 - Fibonacci Words
- PWC149 - Largest Square
- PWC149 - Fibonacci Digit Sum
- PWC148 - Cardano Triplets
- PWC148 - Eban Numbers
- PWC147 - Pentagon Numbers
- PWC147 - Truncatable Prime
- PWC146 - Curious Fraction Tree
- PWC146 - 10001st Prime Number
- PWC145 - Palindromic Tree
- PWC145 - Dot Product
- PWC144 - Ulam Sequence
- PWC144 - Semiprime
- PWC143 - Stealthy Number
- PWC143 - Calculator
- PWC142 - Sleep Sort
- PWC142 - Divisor Last Digit
- PWC141 - Like Numbers
- PWC141 - Number Divisors
- PWC140 - Multiplication Table
- PWC140 - Add Binary
- PWC139 - Long Primes
- PWC139 - JortSort
- PWC138 - Split Number
- PWC138 - Workdays
- PWC137 - Lychrel Number
- PWC137 - Long Year
- PWC136 - Fibonacci Sequence
- PWC136 - Two Friendly
- PWC135 - Validate SEDOL
- PWC135 - Middle 3-digits
- PWC134 - Distinct Terms Count
- PWC134 - Pandigital Numbers
- PWC133 - Smith Numbers
- PWC133 - Integer Square Root
- PWC132 - Hash Join
- PWC132 - Mirror Dates
- PWC131 - Find Pairs
- PWC131 - Consecutive Arrays
- PWC130 - Binary Search Tree
- PWC130 - Odd Number
- PWC129 - Add Linked Lists
- PWC129 - Root Distance
- PWC128 - Minimum Platforms
- PWC128 - Maximum Sub-Matrix
- PWC127 - Conflict Intervals
- PWC127 - Disjoint Sets
- PWC126 - Minesweeper Game
- PWC126 - Count Numbers
- PWC125 - Binary Tree Diameter
- PWC125 - Pythagorean Triples
- PWC124 - Tug of War
- PWC124 - Happy Women Day
- PWC123 - Square Points
- PWC123 - Ugly Numbers
# tickit
# timezone
# tls
- Name Constraints
- Speaking of certificates and Root CAs...
- TLS Mastery
- A pull request for Crypt::LE
- Crypt::LE update
# tmux
# toolbox
- Reminder: how to listen with netcat
- Busybox (again)
- ProxyCommand - The Old Way
- SSH into tmux
- Awk - the Tool I Keep Forgetting
- Reformatting JSON with jq
- Installing Perl Modules
- Troubleshooting Pods and Containers
- Busybox - multipurpose executable
- Ack and ag - beyond grep
- K9s - Kubernetes CLI To Manage Your Clusters In Style!
# tracking
# tree
# trees
- Notifications for busypub
- Post status on Twitter
- Announceable Summary for Posts
- Thread of tweets via API
- Tweets from a user
- Getting started with MojoX::Twitter
- Scrape a Thread of Tweets
# uml
# unix
# user agent
# utf8
# vectorial
# video
# vim
# visit
# voronoi
- A Quest for Voronoi Diagrams - 2. Fortune's Implementation
- A Quest for Voronoi Diagrams - 1. The Problem(s)
# vuejs
# web
- On Craft
- GitHub Pages failed me
- Mojolicious specific page
- Mojo::UserAgent specific page, and a salutation
- RDAP is the new WHOIS
- Online Board Games
- Tracciatore - starting point
- Removing a session in Mojolicious
- No back button after logout
- Cloudflare caching
- Data collection update
- Thinking on a data collection API
- Italian Audiobooks
- transfer.sh
- Add a base URL to xlinx
- Repo icons sources
- Repository icons attribution
- Online LDAP Test Server
- An insight about Certificates expirations
- Certificates expiration
- (My) GUIs suck
- Sunsetting Disqus in this blog
- OpenAPI with Mojolicious - using name for default_response
- ProtoWebz
- Paste around
- Perl OpenAPI with Mojolicious - an update!
- Perl OpenAPI with Mojolicious
- SAMLRequest inspection
- QRcode.show
- GitHub SHA1 Link
- CSS Sprites
- Sending 204 "No Content" from Mojolicious
- CORS quick note
- EventSource and buffering
- EventSource example
- Fixing an example in Mojolicious
- Pinboard digging: A Grip on Git
- Pinboard
- Bare-bones Web Server
- Quotes-O-Matic
- Thread of tweets via API
- Tweets from a user
- Getting started with MojoX::Twitter
- Scrape a Thread of Tweets
- Extract links/images from files or URLs