Dwindling CPAN releases

This couple of months I’ve been casually looking at daily CPAN uploads, because I entered the Once-a-day-releases game. I notice that the uploads are getting scarcer and scarcer. So today I decided to take a look at monthly upload statistics. The result is summarized in the chart below which shows the number of monthly CPAN releases, unique distributions, and unique authors up to July 2019.

Indeed, the uploads have been diminishing recently, from 1215 in Apr, to 980 in May, 886 in Jun, and 944 in Jul. Not counting my own releases, it’s 1076 in Apr, 888 in May, 793 in Jun, and 753 in Jul. It’s sad to see that I affect the stats so significantly. I can’t be the only one still using Perl that much or actively in the whole wide world, am I?

One thing I want to point out is that, ironically, the tipping point is Aug 2014, when the first CPAN Day was organized. The number of releases peaked that month, but then have been steadily dwindling ever since.

Nowadays, CPAN gets 20-30 daily uploads on average; it was around 60-100 in 2014. Meanwhile Python’s PyPI page indicates that it gets at least 700-800 daily uploads. Interpret that as you wish, but Python is clearly eating everybody’s lunch. First it was Perl, then Ruby, then R.

Advertisements

List of new CPAN distributions – Jul 2019

dist author version abstract
API-INSEE-Sirene CPANLNCSA 3.501 An interface for the Sirene API of INSEE
Alien-WhiteDB EGOR 0.1 Discover or download and install WhiteDB
Alien-libswe MBAAS 0.001 Build and install Swiss Ephemeris shared library
App-CPANChangesCwaliteeUtils PERLANCAR 0.001 CLI Utilities related to CPAN Changes cwalitee
App-KwaliteeUtils PERLANCAR 0.001 Utilities related to Kwalitee
App-ListCurrencies PERLANCAR 0.001 List currencies
App-ModuleAbstractCwaliteeUtils PERLANCAR 0.001 CLI Utilities related to module Abstract cwalitee
App-PaloAlto-PolicyVerify PUGLET 0.0.1 Test firewall rules using log files.
App-bwk-mn PERLANCAR 0.000 Some commands to manage Bulwark masternode
App-html-css-sel PERLANCAR 0.003 Select HTML elements using CSS selector syntax
App-p5find GUGOD 0.01 A collection of programs for locating certain constructs in Perl5 code.
App-part CORION 0.07 split up a single input file into multiple files according to a column value
App-podsel PERLANCAR 0.001 Select Pod::Elemental nodes using CSel syntax
App-ppgrep PERLANCAR 0.032 Look up parents' processes based on name and other attributes
App-ppisel PERLANCAR 0.001 Select PPI::Element nodes using CSel syntax
App-renwd PERLANCAR 0.001 REName current (Working Directory)
App-uricolor KALDOR 0.12 Colorize URIs with ANSI colors.
AsposeOmrCloud-OmrApi ASPOSE v19.7.0 constructs APIs to retrieve asposeomrcloud objects
CPAN-Changes-Cwalitee PERLANCAR 0.000 Calculate the cwalitee of your CPAN Changes file
Complete-Country PERLANCAR 0.001 Complete from list of ISO-3166 country codes
Complete-Cwalitee PERLANCAR 0.001 Completion routines for *::Cwalitee modules
Curio-Role-DBIx-Connector BLUEFEET 0.01 Build Curio classes around DBIx::Connector.
Cwalitee-Common PERLANCAR 0.001 Common Cwalitee routines
DBIx-Class-Helper-ResultSet-BooleanMethods MAT 0.03 Automatically create search methods for boolean columns.
DBIx-Class-Helper-ResultSet-EnumMethods MAT 0.01 Automatically create search methods for enum columns.
DNS-ZoneStruct-To-BIND PERLANCAR 0.001 Generate BIND zone configuration from structure
Data-Pageset-Exponential RRWO v0.1.0 Page numbering for very large page numbers
DataLoader RJH 0.01 Abstract data loading, auto batch and cache
DateTime-Format-Duration-ConciseHMS PERLANCAR 0.001 Format DateTime::Duration object as concise HMS format
Device-Chip-Adapter-UART PEVANS 0.01 a Device::Chip::Adapter implementation for
Dist-Zilla-Plugin-Rinci-EmbedValidator PERLANCAR 0.250 Embed schema validator code in built code
Dist-Zilla-Plugin-Rinci-GenSchemaV PERLANCAR 0.000 Generate Sah::SchemaV::* modules for all modules that contain Rinci function metadata
Encode-PDFDoc EUGEN 0.01 PDFDocEncoding support
Game-PseudoRand JMATES 0.01 pseudo random distribution functions
Geo-Code-XYZ ERUCI 1.0 The GeoCode of a latitude,longitude,elevation point is a ten byte string, three geonames, or a hybrid code. This Perl module converts between them.
Geo-IP6 GCORE 1.0 get country code for an ipv6 or ipv4 address
Git-PunchCard VVELOX v0.0.0 Generate a punchard plot for git commits.
Gmail-Mailbox-Validate PYH 0.01 Find out if the username has a valid gmail mailbox
Google-Ads-GoogleAds-Client WFANSH v2.0.0
Hash-Key-Quote PERLANCAR 0.001 Utility routines related to quoting of hash keys
Hash-Subset PERLANCAR 0.001 Produce subset of a hash
IO-BlockSync TSDH 0.001 Syncronize changed blocks
IO-FDpassData MIKER 0.03 send/receive data and/or file descriptor
IOas-CP932X INA 0.01 provides CP932X I/O subroutines for UTF-8 script
Lib-Log4cplus REHSACK 0.001 Perl interface to log via Log4cplus
Lingua-Identify-Any PERLANCAR 0.001 Detect language of text using one of several available backends
Log-Any-Adapter-Log4cplus REHSACK 0.001 Adapter to use Lib::Log4cplus with Log::Any
Map-Tube-Bielefeld VPEIL 2019.0718 interface to the Bielefeld Stadtbahn
Module-Abstract-Cwalitee PERLANCAR 0.001 Calculate the cwalitee of your module Abstract
Module-CPANfile-Writer AKIYM 0.01 Module for modifying the cpanfile
Mojo-Base-Tiny TEKKI 0.01 Minimal base class for !Mojo projects
Mojo-Path-Role-Relative KIWIROY 0.01 Relative operations on a Mojo::Path
Mojo-Promisify JHTHORSEN 0.01 Convert callback code to promise based code
Mojo-Transaction-HTTP-Role-Mechanize KIWIROY 0.01 Mechanize Mojo a little
MooX-TO_JSON JJNAPIORK 0.001 Generate a TO_JSON method from attributes.
Net-Connection VVELOX v0.0.0 Represents a network connection as a object.
Net-Connection-Match VVELOX v0.0.0 Runs a stack of checks to match Net::Connection objects.
Net-Connection-Sort VVELOX v0.0.0 Sorts array of Net::Connection objects.
Net-Connection-lsof VVELOX v0.0.0 This uses lsof to generate a array of Net::Connection objects.
Net-Iperf-Parser EBRUNI 0.01 Parse a single iperf line result
NewsExtractor GUGOD v0.0.1 – download and extract news articles from Internet.
OPTiMaDe-FilterParser MERKYS v0.1.0
PawsX-Waiter PRAJITH 0.01 A Waiter library for Paws
Perl-Phase DMUEY 0.01 Check if you are currently in compile time or run time
Progressive-Web-Application LNATION 0.01 Utility for making an application 'progressive'
Sah-Schemas-DNS PERLANCAR 0.001 Schemas related to DNS
Sah-Schemas-Date-ID PERLANCAR 0.001 Sah schemas related to date (Indonesian)
SqlBatch SADIB 1.000 Class for execution plan
Symlink-DSL SHLOMIF 0.0.1 a domain-specific language for setting up symbolic links.
Telugu-AsciiMap RAJ 0.06 Map Telugu chars to ascii chars to save space
Test-RandomResult PERLANCAR 0.001 Test that results of a running code look random
Time-FFI DBOOK 0.001 libffi interface to POSIX date and time functions
Time-Moment-Role-Strptime DBOOK 0.001 strptime constructor for Time::Moment
UTF8-R2 INA 0.01 makes UTF-8 scripting easy for enterprise use or LTS
Vote-Count BRAINBUZ 0.008 toolkit for implementing voting methods.
VoteCount BRAINBUZ 0.001 toolkit for implementing voting methods.
Web-NewsAPI JMAC 0.001 Fetch and search news headlines and sources from News API
WebService-DetectLanguage NEILB 0.01 interface to the language detection API at DetectLanguage.com
WorkerManager-Gearman HATENA 0.1000 Gearman backend for WorkerManager
XS-Framework SYBER v1.0.0 Framework for building C++ XS modules with shared code, typemaps and C++ perl API.
XT-Files SKIRMESS 0.001 standard interface for author tests to find files to check
Yandex-Audience MCORVAX 0.01 a simple API for Yandex.Audience
sendmail-pmilter GWHAYWOOD 1.20_01 Perl binding of Sendmail Milter protocol

List of new CPAN distributions – Jun 2019

dist author version abstract
Acme-CPANModules-DataStructureWalker PERLANCAR 0.001 Modules that traverse your data structure
Acme-CPANModules-PortedFrom-Java PERLANCAR 0.001 Modules/applications that are ported from (or inspired by) Java
Alien-Z3 SIMCOP 0.001 Perl distribution for Z3 Solver
Alien-chromaprint PLICEASE 0.02 Alien for chromaprint
App-AlgorithmBackoffUtils PERLANCAR 0.001 Utilities related to Algorithm::Backoff
App-BambooCli IVANWILLS v0.0.1 The brains behind the bamboo command
App-HomeBank2Ledger CCM 0.002 A tool to convert HomeBank files to Ledger format
App-TimeTracker-Command-Git DOMM 3.000 App::TimeTracker Git plugin
App-TimeTracker-Command-RT DOMM 3.000 App::TimeTracker RT plugin
App-TimeTracker-Command-TellRemote DOMM 3.000 App::TimeTracker plugin for telling generic remotes
App-cpanm-namespace PERLANCAR 0.001 Install all modules from certain namespace from CPAN
Astro-Montenbruck KRUSHI 0.01 Lightweight Ephemeris
Audio-Chromaprint XSAWYERX 0.001 Interface to the Chromaprint library
Bencher-Scenario-FileWhichCached PERLANCAR 0.001 Benchmark File::Which::Cached
Bio-Palantir LMEUNIER 0.191620 core classes and utilities for Bio::Palantir CONTRIBUTOR: Denis
CSVJF PERLANCAR 0.1.0 CSVJF (CSV with JSON Fields) file format specification
Calendar-Dates-Perl PERLANCAR 0.001 Dates/anniversaries related to Perl
Calendar-DatesRoles-DataPreparer-CalendarVar-FromDATA-Simple PERLANCAR 0.003 Populate $CALENDAR from data in __DATA__
Code-TidyAll-Plugin-Spellunker KARUPA 0.01 Code::TydyAll plugin for Spellunker
Complete-Pod PERLANCAR 0.001 Complete with installed Perl .pod names
Crypt-OpenSSL-PKCS-Func ABBYPAN 0.31 PKCS functions, using the OpenSSL libraries
Data-Context-Loader-DB IVANWILLS v0.0.1 Loads a config from a table in a database
Devel-KYTProf-Profiler-AWS-CLIWrapper PAPIX 0.01 KYTProf prolifer for AWS::CLIWrapper
Device-AVR-UPDI PEVANS 0.01 interact with an AVR microcontroller over UPDI
Endoscope BTYLER 0.001 Dig into the guts of a live Perl program
Game-LevelMap JMATES 0.01 level map representation
Game-PlatformsOfPeril JMATES 0.01 the platforms of peril
HubSpot-Client IGIBBS 0.1 An object that can be used to manipulate the HubSpot API
IO-Uncompress-Untar CDRAKE 1.0 Pure-perl extension to read tar (and tgz and .tar.bz2 etc) files/buffers
JIRA-REST-OAuth SCHOBES 1.00 Sub Class JIRA::REST providing OAuth 1.0 support.
Linux-Capabilities AINFERNO 0.01 a class to manage capabilies in linux written in C.
Log-ger-Level-Like-Mojo PERLANCAR 0.001 Define logging levels like Mojo::Log
Method-Delegation OVID 0.02 Easily delegate methods to another object
Mojo-AsyncList JHTHORSEN 0.01 Process a list with callbacks
Mojolicious-Plugin-TrustedProxy KAGE 0.03 Mojolicious plugin to set the remote address, connection scheme, and more from trusted upstream proxies
Mozilla-IntermediateCerts RNEWSHAM v0.0001 Downloads and parses Mozilla intermediate certificates
Net-Async-OpenTracing TEAM 0.001 wire protocol support for the opentracing.io API
OpenTracing TEAM 0.001 supporting for application process monitoring as defined by opentracing.io
PDF-Cairo JGREELY 1.02 simple API for creating PDF files using the Cairo library
Perinci-CmdLineX-CommonOptions-SelfUpgrade PERLANCAR 0.001 Add –self-upgrade (-U) common option to upgrade program to the latest version on CPAN
Plack-App-GraphQL JJNAPIORK 0.001 Serve GraphQL from Plack / PSGI
RPi-EEPROM-AT24C32 STEVEB 0.01 Read and write to the AT24C32 based EEPROM ICs
RPi-OLED-SSD1306-128_64 STEVEB 2.3601 Interface to the SSD1306-esque 128×64 OLED displays
RPi-SysInfo STEVEB 0.01 Retrieve hardware system information from a Raspberry Pi
Retry-Backoff PERLANCAR 0.001 Retry a piece of code, with backoff strategies
Role-Random-PerInstance OVID 0.01 A role for dealing with random values, per instance
SMS-Send-CZ-Axima RADIUSCZ 1.000 SMS::Send driver for Axima – Czech Republic
Search-ESsearcher VVELOX v0.0.0 A utility for using templates for searching elasticsearch.
Search-QS EBRUNI 0.01 A converter between query string URI and search query
Sub-Meta KFLY 0.01 handle subroutine meta information
Test-Pod-LinkCheck-Lite WYANT 0.000_900 Test non-URL POD links
Test2-Aggregate DKECHAG 0.01 Aggregate tests
Try-Harder SSCAFFIDI 0.001 Try hard to get the functionality of Syntax::Keyword::Try
URI-Pure KNI 0.09 with Internationalized Domain Names (IDN) and Internationalized Resource Identifiers (IRI) support.
VoIPms JOHNMERTZ 0.01 API wrapper for VoIP.ms
WWW-AzimuthAero PAVELSR 0.1 Parser for https://azimuth.aero/
Web-Solid-Test-Basic KJETILK 0.001 Basic Solid Tests
WebService-LogDNA RMZG 0.001 Implements the ingest API call for https://www.logdna.com
WebService-WordsAPI NEILB 0.01 a draft Perl 5 interface to the WordsAPI service
YAML-Safe RURBAN 0.80 Safe Perl YAML Serialization using XS and libyaml
Z3-FFI SIMCOP 0.001 Low level FFI interfaces to the Z3 solver/prover
homebank2ledger CCM 0.001 A tool to convert HomeBank files to Ledger format
mojo-console CRLCU v0.0.1
perlsnippets PERLANCAR 0.003 A collection of Perl idioms or short pieces of Perl code

List of new CPAN distributions – May 2019

dist author version abstract
A1z-Html CEEJAY 0.001 Html for Perl
Acme-CPANAuthors-Malaysian KIANMENG 0.01 We are Malaysian CPAN authors (Kami para penulis CPAN Malaysia).
Amazon-S3-Thin-ResponseParser AKIYM 0.01 A parser for S3 XML responses
App-PowerManagementUtils PERLANCAR 0.001 CLI utilities related to power management
App-SortByLines PERLANCAR 0.001 Sort lines of text by other lines of text as keys
App-SortSubUtils PERLANCAR 0.001 CLIs related to Sort::Sub
App-SystemdUtils PERLANCAR 0.001 CLI utilities related to Systemd
App-govproc-pericmd PERLANCAR 0.001 Perinci::CmdLine-based variant of govproc CLI
App-host-struct PERLANCAR 0.001 host alternative that returns data structure
App-jl BAYASHI 0.01 Recursive JSON decoder
App-resolvetable PERLANCAR 0.001 Produce a colored table containing DNS resolve results of several names from several servers
App-timecalc PERLANCAR 0.001 Time calculator
Backblaze-B2V2Client ECHERNOF 1.0 Client library for the Backblaze B2 Cloud Storage Service V2 API.
Bencher-Scenarios-HTTPTinyPlugin PERLANCAR 0.001 Scenarios to benchmark HTTP::Tiny::Plugin
Browser-Start PLICEASE 0.01 Open a URL in a web browser
CAM-PDFTaxforms TURNERJW 1.00 CAM::PDF wrapper to also allow editing of checkboxes (ie. for IRS Tax forms).
CBOR-PP FELIPE 0.01 CBOR in pure Perl
Catalyst-Model-Curio BLUEFEET 0.01 Curio Model for Catalyst.
Code-Style-Kit DAKKAR 1.0.0 build composable bulk exporters
Curio BLUEFEET 0.01 Procurer of fine resources and services.
Curio-Role-CHI BLUEFEET 0.01 Build Curio classes around CHI.
Curio-Role-GitLab-API-v4 BLUEFEET 0.01 Build Curio classes around GitLab::API::v4.
DBIx-Class-ResultDDL NERDVANA 0.01 Result class declaration syntactic-sugar that looks like DDL
Dancer-Plugin-RPC-RESTISH ABELTJE 0.99_01 Simple plugin to implement a restish interface.
Data-Dumper-Compact MSTROUT 0.001000 Vertically compact width-limited data formatter
Data-Promise AKALINUX 0.001 simple promise like interface
Data-Unique FDULAU 0.02 Module to check for duplicate item with time expiration and disk persistence.
Data-Unixish-DNS PERLANCAR 0.001 dux functions related to DNS
Devel-KYTProf-Profiler-Fluent-Logger FUJIWARA 0.01 KYTProf profiler for Fluent::Logger
Devel-KYTProf-Profiler-Redis-Fast FUJIWARA 0.01 KYTProf profiler for Redis::Fast
Dist-Zilla-PluginBundle-WCS WCS 0.001 WCS distribution build
FASTX-Abi PROCH 0.01 Read Sanger trace file (chromatograms) in FASTQ format
FASTX-Parser PROCH 0.01 A lightweight FASTA and FASTQ parser
FASTX-Reader PROCH 0.01 A lightweight FASTA and FASTQ parser
File-Open-NoCache-ReadOnly NHORNE 0.01 Open a file and clear the cache afterward
File-Open-ReadOnly-NoCache NHORNE 0.01 Open a file and clear the cache afterward
File-Record FREEDOG 0.01 Read file by record!
GRNOC-Config BMERUGUR v1.0.9 The GRNOC Default Config parser
GRNOC-WebService-Client BMERUGUR v1.5.1 a GRNOC webservice testing utility.
HTTP-Tiny-NewestFirefox PERLANCAR 0.001 HTTP::Tiny + set User-Agent to newest Firefox
LWP-UserAgent-Patch-SetUserAgent PERLANCAR 0.001 Set User-Agent
Language-FormulaEngine NERDVANA 0.01 Evaluator for spreadsheet-style function expressions
Linux-PacketFilter FELIPE 0.01_1 Simple interface to Linux packet filtering
Log-Log4perl-Layout-JSON-Readable DAKKAR 1.0.0 JSON layout, but some fields always come first
Log-Timer DAKKAR 1.0.0 track nested timing information
MPV-Simple PERLMAX 0.6 Perl extension for the MPV audio and video player using libmpv
Mail-URLFor CORION 0.01 Create deep links into mail clients
Math-LOESS SLOYD 0.0000_01 Perl wrapper of the Locally-Weighted Regression package originally written by Cleveland, et al.
Mediafire-Api VRAG 0.01 Upload and Download files from mediafire.com file sharing
Mojolicious-Plugin-AutoRoutePm EBRUNI 0.10 A plugin to automatically add routes by *.pm modules which are a Mojolicious::Controller
PackageManager-Virtual DOUBLED 0.191250 A moose role interface for package managers.
Perl-Snippets PERLANCAR 0.001 A collection of Perl idioms or short pieces of Perl code
PowerManagement-Any PERLANCAR 0.001 Common interface to some power management tasks
Range-HandleIter PERLANCAR 0.001 Generate a tied-handle iterator for range
Range-HashIter PERLANCAR 0.001 Generate a tied-hash iterator for range
Range-ScalarIter PERLANCAR 0.001 Generate a tied-scalar iterator for range
SVG-Barcode TEKKI 0.01 Base class for SVG 1D and 2D codes
SVG-Barcode-Code128 TEKKI 0.01 Generator for SVG based Code 128 barcodes
SVG-Barcode-DataMatrix TEKKI 0.10 Generator for SVG based QR Codes
SVG-Barcode-QRCode TEKKI 0.01 Generator for SVG based QR Codes
SVG-QRCode TEKKI 0.01 Generate SVG based QR Code.
Sah-Schemas-Unix PERLANCAR 0.001 Various Sah schemas for Unix
Sort-Sub-filevercmp PERLANCAR 0.001 Sort using filevercmp
Spreadsheet-Open PERLANCAR 0.001 Open spreadsheet in a spreadsheet program
Systemd-Util PERLANCAR 0.001 Some utility routines related to Systemd
Test-DBChanges DAKKAR 1.0.0 track changes to database tables
Test-NiceDump DAKKAR 1.0.0 let's have a nice and human readable dump of our objects!
Test2-Harness-Renderer-JUnit TODDR 0.001077 Captures Test2::Harness results and emits a junit xml file.
Text-CSV_XS-TSV PERLANCAR 0.001 Set Text::CSV_XS default options to parse TSV
Tie-FileHandle-Log PERLANCAR 0.001 Tied filehandle that logs operations
Tie-Handle-Log PERLANCAR 0.001 Tied filehandle that just logs operations
Tie-Hash-Log PERLANCAR 0.001 Tied hash that behaves like a regular hash, but logs operations
Travel-Status-DE-DBWagenreihung DERF 0.01 Interface to Deutsche Bahn Wagon Order API.
XML-Sig-OO AKALINUX 0.001 Modern XML Signatured validation

List of new CPAN distributions – Apr 2019

dist author version abstract
Acme-CPANModules-PERLANCAR-RsyncEnhancements PERLANCAR 0.001 List of my enhancements for rsync
Acme-CPANModules-VersionNumber-Perl PERLANCAR 0.001 Working with Perl version numbers (or version strings)
Algorithm-Backoff PERLANCAR 0.003 Various backoff strategies for retry
Algorithm-MinPerfHashTwoLevel YVES 0.01 construct a "two level" minimal perfect hash
Algorithm-Retry PERLANCAR 0.001 Various retry/backoff strategies
Alien-Build-Plugin-Decode-Mojo PLICEASE 0.01 Plugin to extract links from HTML using Mojo::DOM or Mojo::DOM58
Alien-Build-Plugin-Download-GitHub PLICEASE 0.01 Alien::Build plugin to download from GitHub
Alien-Plotly-Orca SLOYD 0.0000_01 Finds or installs plotly-orca
Alien-Proj4 ETJ 2.019103 Give install info for already-installed proj4
Alien-cmark DBOOK 0.001 Alien wrapper for cmark
Anansi-Script-JSON ANANSI 0.01 Defines the mechanisms specific to handling JSON-RPC.
Anansi-Script-XML ANANSI 0.01 Defines the mechanisms specific to handling XML-RPC.
Anansi-ScriptComponent ANANSI 0.01 A manager template for Perl script interface interactions.
AnyEvent-HTTPD-Router UFOBAT 1.0.0 Adding Routes to AnyEvent::HTTPD
App-FileCommonUtils PERLANCAR 0.001 CLIs for File::Common
App-FileCreateLayoutUtils PERLANCAR 0.001 CLIs for File::Create::Layout
App-HTTPUserAgentUtils PERLANCAR 0.001 CLI utilities related to HTTP User-Agent (string)
App-IniDiff SQUIRESJM 0.16 App::IniDiff, scripts to diff and patch INI files
App-IniDiff-IniFile SQUIRESJM 0.16 App::IniDiff, scripts to diff and patch INI files
App-LWPUtils PERLANCAR 0.001 Command-line utilities related to LWP
App-PTP MATHIAS 1.00 An expressive Pipelining Text Processor
App-Spoor RORYMCK 0.01 A CPanel client for the Spoor service
App-TSVUtils PERLANCAR 0.001 CLI utilities related to TSV
App-Task DMUEY 0.01 Nest tasks w/ indented output and pre/post headers
App-optex-textconv UTASHIRO 0.01 module to replace document file by its text contents
App-pcorelist TINITA 0.001 Wrapper around corelist with subcommands and tab completion
Arango-Tango AMBS 0.007 A simple interface to ArangoDB REST API
Bencher-Scenario-CSVParsingModules PERLANCAR 0.001 Benchmark CSV parsing modules
Bencher-Scenario-CallStack PERLANCAR 0.001 Benchmark different methods to produce call stack
Bencher-Scenario-Caller PERLANCAR 0.001 Benchmark some variations of caller()
Bencher-Scenario-INIParsingModules PERLANCAR 0.001 Benchmark INI parsing modules
Bencher-Scenario-TSVParsingModules PERLANCAR 0.001 Benchmark TSV parsing modules
Bencher-Scenarios-RangeIterators PERLANCAR 0.001 Benchmark various range iterators
CBOR-Free FELIPE 0.01 Fast CBOR for everyone
CSV-Examples PERLANCAR 0.001 Example CSV files
Catalyst-View-TT-Progressive LNATION 0.01 Control the wrapper
Convert-BER-XS MLEHMANN 0.0 very low level BER decoding
DBIx-Class-Events GSG 0.9.1 Store Events for your DBIC Results
DBIx-Class-Helper-SimpleStats RRWO v0.1.0 Simple grouping and aggregate functions for DBIx::Class
Database-Async-Engine-PostgreSQL TEAM 0.001 PostgreSQL support for Database::Async
Devel-Cover-Report-SonarGeneric TOMK 0.1 SonarQube generic backend for Devel::Cover
Devel-Optic BTYLER 0.001 JSON::Pointer meets PadWalker
Device-RAID-Poller VVELOX v0.0.0 Runs various RAID checks for polling purposes.
Dita-GB-Standard PRBRENAN 20190429 The Gearhart-Brenan Dita Topic Content Naming Convention..
FSM-Mouse POTATOGIM 0.1 Finite-State Machine with Mouse
File-Common PERLANCAR 0.001 List files that are found in {all,more than one} directories
File-TVShow-Info BANS v0.01.0.0 Perl meta data extractor from file name for TV Show file.
File-TVShow-Organize BANS 0.32 Perl module to move TVShow Files into their matching Show Folder on a media server.
Furl-PSGI MHOWARD 0.01 Furl, but wired to a PSGI app
Future-IO PEVANS 0.01 Future-returning IO methods
Geo-Index AKH v0.0.7 Geographic indexer
HTTP-Tiny-Cache_CustomRetry PERLANCAR 0.001 Cache response + retry failed request
HTTP-Tiny-CustomRetry PERLANCAR 0.001 Retry failed HTTP::Tiny requests
HTTP-Tiny-Patch-Delay PERLANCAR 0.001 Add sleep() between requests to slow down
HTTP-Tiny-Patch-Plugin PERLANCAR 0.001 Change use of HTTP::Tiny to that of HTTP::Tiny::Plugin
HTTP-Tiny-Patch-SetUserAgent PERLANCAR 0.001 Set User-Agent header
HTTP-Tiny-Plugin PERLANCAR 0.001 HTTP::Tiny with plugins
HTTP-Tiny-Plugin-Cache PERLANCAR 0.001 Cache HTTP::Tiny responses
HTTP-Tiny-Plugin-CustomRetry PERLANCAR 0.001 Retry failed request
HTTP-Tiny-Plugin-Delay PERLANCAR 0.001 Delay/sleep between requests
HTTP-Tiny-Plugin-Retry PERLANCAR 0.001 Retry failed request
HTTP-UserAgentStr-Util-ByNickname PERLANCAR 0.001 Get popular HTTP User-Agent string by nickname
INI-Examples PERLANCAR 0.001 Example INI configuration files
IO-Async-Process-GracefulShutdown PEVANS 0.01 controlled shutdown of a process
IPC-ReadpipeX DBOOK 0.001 List form of readpipe/qx/backticks for capturing output
IPC-Run-Patch-Setuid PERLANCAR 0.001 Set EUID
Inline-Pdlapp ETJ 2.019105 a simple PDLA module containing inlined Pdlapp code
LWP-UserAgent-Patch-Delay PERLANCAR 0.001 Sleep() between requests
LWP-UserAgent-Patch-Plugin PERLANCAR 0.001 Change use of LWP::UserAgent to that of LWP::UserAgent::Plugin
LWP-UserAgent-Plugin PERLANCAR 0.001 LWP::UserAgent with plugins
LWP-UserAgent-Plugin-Cache PERLANCAR 0.001 Cache LWP::UserAgent responses
LWP-UserAgent-Plugin-Delay PERLANCAR 0.001 Delay/sleep between requests
List-AutoNumbered CXW 0.000001 Add line numbers to lists while creating them
Log-Dispatch-Email-Siffra LUIZBENE 0.01 Module abstract (<= 44 characters) goes here
Math-Lapack RUISTEVE 0.001 Perl interface to LAPACK
Matrix-Simple OXJGOUO 1.04 Some simple matrix operations
Mojo-Graphite-Writer JBERGER 0.01 A non-blocking Graphite metric writer using the Mojo stack
Mojo-Redfish-Client JBERGER 0.01 A Redfish client with a Mojo flair
Mojolicious-Plugin-Statsd MHOWARD 0.03 Emit to Statsd, easy!
Mojolicious-Plugin-Syslog JHTHORSEN 0.01 A plugin for enabling a Mojolicious app to log to syslog
Mojolicious-Static-Role-Compressed SRCHULO 0.01 Role for Mojolicious::Static that serves pre-compressed versions of static assets
Net-Checkpoint-Management-v1 ABRAXXA 0.001001 Checkpoint Management API version 1.x client library
OpenStack-MetaAPI ATOOMIC 0.001 Perl5 OpenStack API abstraction on top of OpenStack::Client
PDLA-GIS ETJ 2.019104 Perl Data Language
PDLA-Rest ETJ 2.013004 Perl Data Language
PDLA-Transform ETJ 2.019106 Perl Data Language
Paubox_Email_SDK VIGHNESH 1.0 Perl wrapper for the Paubox Transactional Email API (https://www.paubox.com/solutions/email-api).
PerlIO-normalize COFFEE 0.001 PerlIO layer to normalize unicode strings on input and output
PerlX-ifor PERLANCAR 0.001 A version of for() that accepts iterator instead of list
Proch-Cmd PROCH 0.001 Execute shell commands controlling inputs and outputs
Proch-N50 PROCH 0.01 Calculate N50 from a FASTA or FASTQ file
QuadPres SHLOMIF 0.28.0 a presentation / slides manager.
Range-ArrayIter PERLANCAR 0.001 Generate a tied-array iterator for range
Range-Iter PERLANCAR 0.001 Generate a coderef iterator for range
Range-Iterator PERLANCAR 0.001 Generate an iterator object for range
SMS-Send-BudgetSMS TASKULA 0.01 SMS::Send driver to send messages via BudgetSMS (ttps://www.budgetsms.net/)
SQL-Abstract-Prefetch ETJ 0.001 implement "prefetch" for DBI RDBMS
Serge-Sync-Plugin-TranslationService-locize DRAGOSV 0.900.0 Locize (https://locize.com/ synchronization plugin for Serge
Serge-Sync-Plugin-TranslationService-lokalise DRAGOSV 0.900.0 Lokalise (https://lokalise.co/) synchronization plugin for Serge
Software-Catalog-SW-filezilla PERLANCAR 0.001 FileZilla
Software-Catalog-SW-phpmyadmin PERLANCAR 0.001 phpMyAdmin
Starwoman ASHLEYW 0.001 because Starman does the same thing over and over again expecting different results
TSV-Examples PERLANCAR 0.001 Example TSV files
Telugu-Keyword RAJ 0.03 Perl extension to provide Telugu keywords
Telugu-TGC RAJ 0.03 Perl extension for tailored grapheme clusters for Telugu script.
Test-FITesque-RDF KJETILK 0.001 Formulate Test::FITesque fixture tables in RDF
Test2-Harness-UI EXODIST 0.000001 Web interface for viewing and inspecting yath test logs
Text-CSV-FromAOH PERLANCAR 0.001 Convert an AoH (array of hashes) to CSV
Tie-Array-File-LazyRead PERLANCAR 0.001 Read a file record by record using tied array and for()
Tie-Array-Log PERLANCAR 0.001 Tied array that behaves like a regular array, but logs operations
URI-s3 KARUPA v0.01 s3 URI scheme
WordList-HTTP-UserAgentString-PERLANCAR PERLANCAR 0.001 A selection of some HTTP User-Agent strings
Yancy-Backend-Static PREACTION 0.001 Build a Yancy site from static Markdown files
cluster MDEHOON 1.58 Perl interface to the C Clustering Library.
p6-RandomColor CBWOOD 0
tap MHOWARD 0.01 add a tap method everywhere
version-dev PERLANCAR 0.001 Set $VERSION based on version from git tags

Maintaining Address Book In Org 01: Introduction

About this series: A collection of short blog posts about my experience maintaining addressbook (contactbook) in Org format. I keep each post short so I need to spend only ~30 minutes creating each.

Despite having used Emacs since 2004, I didn't discover org-mode until late 2010. As with many others, I was first drawn to org-mode because I was searching for a better Todo list system, having tried, among others:

Not one, but a few personally-made-up formats and conventions over plaintext.

Some CGI application which I access from the desktop as well as phone browser.

Some kind of Wiki system.

Databases.

Physical notebook.

Various text editors and todo applications, on various platforms.

todo.txt.

Gadget apps, from Nokia, BlackBerry, to the various Androids.

Even YAML at one point, when I was obsessed to some degree with it.

I've always hated, and still hate typing on a smartphone, so even though now I use a combination of smartphones and PC/laptop and paper/notebook, my main mode of entry is still through a proper keyboard using Emacs on a Linux. When I tried org-mode for the first time, the outline feature was enough to draw me in and make me start creating some notes. Soon, more and more things got (re)written in Org format, including my master addressbook.

If you're anything like me, you'll right away feel that the addressbook or contacts app on the smartphone is too restrictive. It's just a linear list of contacts, where each contact is given the standard fields of mobile number, work number, work fax, home number, and a few others. Adding note is sometimes not even possible, let alone structured notes. So I soon decided to have my master addressbook on a computer in Org format. I fill and sync my phone contacts using the phone-provided apps, and most of the time enter each contact manually and separately into my Org addressbook, but the most detailed and complete data will be in my Org addressbook. When I get tired of my phone or Google account, I just ditched it and buy another phone or create a new Google account with its blank contacts database to start over, but I keep maintaining the same master addressbook in Org.

The next posts of this series will share how I ended up with the current layout/system for my Org addressbook. Stay tuned.

List of new CPAN distributions – Mar 2019

dist author version abstract
AWS-Lambda SHOGO 0.0.1 It's Perl support for AWS Lambda Custom Runtime.
Acme-CPANModules-ModernPreambles PERLANCAR 0.001 Modules that offer modern preambles
Acme-CPANModules-Parse-UnixCommands PERLANCAR 0.001 Modules that parse output of Unix commands
Acme-CPANModules-Parse-UnixConfigs PERLANCAR 0.001 Modules that parse Unix config (or related) files
Acme-CXW-vars-i CXW 1.02 Perl pragma to declare and simultaneously initialize global variables.
Acme-Cow ELIZABETH 0.1 Talking barnyard animals (or ASCII art in general)
Acme-KemonoFriends-Color YUKINEA 0.01 Colorfull output.
Acme-Text-Viceversa WORTHMINE 0.06 ÉÂsɹÇÂʌÇÂɔᴉΛ::ʇxÇÂ⊥::ÇÂɯɔ∀
Alt-Data-Frame-ButMore SLOYD 0.0041 Alternative implementation of Data::Frame with more features
Alt-NewRelic-Agent-FFI-Empty PLICEASE 0.02 NewRelic::Agent::FFI interface that doesn't do anything
Alt-Template-Plugin-JSON-Moo JWRIGHT 0.01 Adds a .json vmethod for all TT values.
App-CSV2Chart SHLOMIF 0.0.1 generate charts on the command line.
App-PhotoDB JGAZELEY 0.00 App to manage a collection of film cameras & lenses
App-Prove-Plugin-PassEnv HURRICUP 0.001 a prove plugin to pass environment variables
App-Qmail-DMARC FANY 0.42 verify using DMARC and queue a mail message for delivery
App-SpreadRevolutionaryDate GIBUS 0.02 Spread date and time from Revolutionary (Republican) Calendar on Twitter, Mastodon and Freenode.
App-ValidateBankAccount MANWAR 0.01 App to validate bank account number.
App-ValidateSortCode MANWAR 0.01 App to validate bank sort code.
App-linerange PERLANCAR 0.001 Retrieve line ranges from a filehandle
App-perlutils WOLDRICH 0.024 utils for perl development
App-ppll BIFFEN v0.0.0 Command runner
App-rshasum SHLOMIF 0.0.1 recursive shasum.
App-rsync-retry PERLANCAR 0.001 Rsync wrapper to retry on transfer errrors
App-term-hr WOLDRICH 0.01 define a thematic change in the content of a terminal session
App-ucpan KPEE 1.00 improved CPAN modules updater
App-wget-retry PERLANCAR 0.001 Wget wrapper to retry harder
Arango-DB AMBS 0.001 A simple interface to ArangoDB REST API
Arrays-Same TOBYINK 0.001 Test if two arrays are identical
Avolution-Emoji CHOIBOI v0.1.1
Bencher-Scenario-ComparingArrays PERLANCAR 0.001 Modules that compare arrays
Bencher-Scenario-preloadable PERLANCAR 0.001 Benchmark preloadable.pm
Bio-DB-EMBL CJFIELDS 1.7.3 Database object interface for EMBL entry retrieval
Bio-DB-NCBIHelper CJFIELDS 1.7.3 A collection of routines useful for queries to NCBI databases.
Bio-MUST-Apps-FortyTwo DBAURAIN 0.190820 Main class for forty-two tool
Bio-Sketch LSKATZ 0.1
Bio-Sketch-Mash LSKATZ 0.8
Bundle-Camelcade HURRICUP 0.001 Bundle of modules used by Perl5 plugin for IntelliJ IDEs
Business-Tax-Withholding-JP WORTHMINE 0.01 auto calculation for Japanese tax and withholding
CLI-Driver GRAVATTJ 0.1
CatalystX-Action-Negotiate DORIAN 0.01 ActionRole for content negotiation
Chart-GGPlot SLOYD 0.0000_01 ggplot2 port in Perl
Class-Tiny-ConstrainedAccessor CXW 0.000001 Generate Class::Tiny accessors that apply type constraints
DNS-Unbound FELIPE 0.01 A Perl interface to NLNetLabs’s Unbound recursive DNS resolver
Data-Faker-Country TEAM 0.001 Provides country and ISO country code generation
Devel-vscode BJOERN 0.01 Debug with perl-debug in Visual Studio Code
Device-Firewall-PaloAlto PUGLET 0.1.1 new module
Device-NTCChip-GPIO MQTECH 0.100 Control the GPIO pins on the original NTC Chip
Device-Yeelight JBAIER 0.10 Controller for Yeelight smart devices
Dist-Zilla-PluginBundle-Author-GSG GSG 0.0.3 Grant Street Group CPAN dists
Dotenv BOOK 0.001 Support for dotenv in Perl
ExtUtils-ModuleMaker-Siffra LUIZBENE 0.01 Module abstract (<= 44 characters) goes here
Function-Interface KFLY 0.01 specify type constraints of subroutines
GIS-Distance-GeoEllipsoid BLUEFEET 0.10 Geo::Ellipsoid distance calculations.
Geo-Location NHORNE 0.01 Location information
Geo-Location-Point NHORNE 0.01 Location information
Giblog KIMOTO 0.01 HTML Generator
Graph-Traverse WLINDLEY 0.01 A traverse() method for the Graph module.
HTTP-Simple DBOOK 0.001 Simple procedural interface to HTTP::Tiny
JSON-Feed GUGOD 0.001 Syndication with JSON.
Log-ger-Layout-Pattern-Multiline PERLANCAR 0.001 Pattern layout (with multiline message split)
MIDI-Util GENE 0.0100 MIDI Utilities
Mail-Qmail-DMARC FANY 0.11 verify using DMARC and queue a mail message for delivery
Mash LSKATZ 0.1
Module-Lazy KHEDIN 0.01 postpone loading a module until it's actually used
Mojolicious-Plugin-CascadingConfig SRCHULO 0.01 Perl-ish configuration plugin that loads and merges config files in order
Mojolicious-Plugin-GitConfig BYTERAZOR 1.0 Mojolicious Plugin for using Config::GitLike as the main configuration provider
Mojolicious-Plugin-Gzip SRCHULO 0.01 Plugin to Gzip Mojolicious responses
Mojolicious-Plugin-NoServerHeader SRCHULO 0.01 Removes the Server header from every Mojolicious response
Mojolicious-Plugin-TextExceptions MRAMBERG 0.01 Render exceptions as text in command line user agents
Mojolicious-Plugin-Web-Auth-Site-DropboxV2 OALDERS 0.000001 Dropbox OAuth2 Plugin for Mojolicious::Plugin::Web::Auth
Mojolicious-Plugin-Wordpress JHTHORSEN 0.01 Use WordPress as a headless CMS
MooX-Attribute-ENV ETJ 0.01 Allow Moo attributes to get their values from %ENV
MooX-StrictHas ETJ 0.01 Allow Moo attributes to get their values from %ENV
Perl-Critic-Policy-Catalyst-ProhibitUnreachableCode BLUEFEET 0.01 Don't write code after an unconditional Catalyst detach.
Perl-Metrics-Halstead GENE 0.0100 Compute Halstead complexity metrics
Proc-Stat MIKER 0.01
Protocol-Database-PostgreSQL TEAM 1.000 PostgreSQL wire protocol implementation
Protocol-Redis-Faster DBOOK 0.001 Optimized pure-perl Redis protocol parser/encoder
RogersMine GFR 0.1.0 Query or change configuration of Perl modules
SMS-Net-Send KIANMENG 0.01 SMS::Send driver to send messages via Mocean, https://moceanapi.com/.
SMS-Send-Mocean KIANMENG 0.02 SMS::Send driver to send messages via Mocean, https://moceanapi.com/.
SQL-Simple PETDANCE 0.01 A very simple SQL-building library
SQL-Tiny PETDANCE 0.01 A very simple SQL-building library
Sah-Schemas-FileHandle PERLANCAR 0.001 Sah schemas for flilehandle
Siffra-Base LUIZBENE 0.01 Siffra Base Module
Siffra-Logger LUIZBENE 0.01 Siffra config for Log::Any
Siffra-Transfers LUIZBENE 0.01 File transfers module
Signal-Pipe LEONT 0.001 Self pipes for signal handling
Slack-WebHook ATOOMIC 0.001 Slack WebHook with preset layout & colors for sending slack notifications
TAP-Formatter-Camelcade HURRICUP 0.001 Converts test events from TAP::Harness to the TeamCity format
TMO MEMOWE 0.02 A role to extend Test::Mojo to make mojo command output tests easy.
Test-AutoMock HIRATARA 0.01 A mock that can be used with a minimum setup
Test-Mojo-CommandOutputRole MEMOWE 0.02 A role to extend Test::Mojo to make mojo command output tests easy.
Test-Starch BLUEFEET 0.12 Test core features of starch.
Tk-JThumbnail TURNERJW 2.0 Present a list of files in a directory as a grid of icons with or without text.
WWW-FCM-HTTP-V1 OMOHAYUI 0.01 Client for Firebase Cloud Messaging HTTP v1 API
WWW-Speakerdeck-Download RENEEB 0.01 Download a deck from speakerdeck.com
WebService-Pixela ANATOFUZ 0.01 It's https://pixe.la API client for Perl.
WebService-ValidSign WATERKIP 0.001 A REST API client for ValidSign
mojo-calendar CRLCU v0.0.1 Extended DateTime manipulator
preloadable PERLANCAR 0.001 Require a module during run-time (or compile-time)
rogers-mine GFR 0.1.0 Query or change configuration of Perl modules
winja KPEE 1.0.1 dirty patch for handling pathname on MSWin32::Ja_JP.cp932