Simon Willison’s Weblog

Subscribe
Atom feed for perl

25 items tagged “perl”

2024

Things I’ve Learned Serving on the Board of The Perl Foundation (via) My post about the PSF board inspired Perl Foundation secretary Makoto Nozaki to publish similar notes about how TPF (also known since 2019 as TPRF, for The Perl and Raku Foundation) operates.

Seeing this level of explanation about other open source foundations is fascinating. I’d love to see more of these.

Along those lines, I found the 2024 Financial Report from the Zig foundation really interesting too.

# 24th September 2024, 1:42 am / open-source, zig, perl, psf

2017

Object models (via) Extremely comprehensive and readable discussion of the object models of Python, JavaScript, Lua and Perl 5. I learned something new about every one of those languages.

# 29th November 2017, 2:59 pm / perl, python, javascript, oop, lua

2010

LWPx::ParanoidAgent. Every programming language needs an equivalent of this library—a robust, secure way to make HTTP requests against URLs from untrusted sources without risk of tarpits, internal network access, socket starvation, weird server errors, or other nastiness.

# 31st August 2010, 2:30 am / http, perl, recovered

2009

Perl: Love it, or hate it, but don’t ignore it. Phillip Smith calls me out for omitting Perl from my list of Node.js event loop alternatives (I only mentioned Twisted and EventMachine). No conspiracy here, I’m just not connected enough to the Perl community to know what the popular event loop libraries are. To Perl’s credit, Perlbal was the first piece of software I saw that showed me how a single threaded, event loop based system could massively outperform a threaded alternative.

# 27th November 2009, 7:51 am / perl, perlbal, node, eventloop, eventio, async, twisted, eventmachine

memcache-top. Useful self-contained perl script for interactively monitoring a group of memcached servers.

# 29th October 2009, 8:32 am / perl, memcached, monitoring

Perl 6: The MAIN sub (via) "Calling subs and running a typical Unix program from the command line is visually very similar: you can have positional, optional and named arguments." - that's exactly what I was thinking when I came up with optfunc.

# 28th May 2009, 9:32 pm / perl, optfunc, commandlines, perl6, python, unix

aws—simple access to Amazon EC2 and S3. The best command line client I’ve found for EC2 and S3. “aws put --progress my-bucket-name/large-file.tar.gz large-file.tar.gz” is particularly useful for uploading large files to S3. Written in Perl (with no dependencies), shelling out to curl to do the heavy lifting.

# 19th May 2009, 11:38 am / curl, perl, aws, amazon-web-services, ec2, s3, commandline, tools, tim-kay

2008

Sam Vilain converted Perl's history from Perforce to Git. [..] He spent more than a year building custom tools to transform 21 years of Perl history into the first ever unified repository of every single change to Perl. In addition to changes from Perforce, Sam patched together a comprehensive view of Perl's history incorporating publicly available snapshot releases, changes from historical mailing list archives and patch sets recovered from the hard drives of previous Perl release engineers.

The Perl Foundation

# 22nd December 2008, 6:06 pm / history, perl, git, version-control, perforce, sam-vilain

Spicing Up Embedded JavaScript. John Resig collects the various ways in which a JavaScript interpreter can be hosted by Python, PHP, Perl, Ruby and Java. There are full JS implementations in PHP, Perl and Java; Ruby and Python both have modules that use an embedded SpiderMonkey.

# 15th June 2008, 11:32 am / javascript, john-resig, spidermonkey, python, java, php, perl, ruby, embedding

The Perl community has a long-standing love/hate-affair with making changes that impose "spooky action at a distance". They call it "black magic" and it is generally considered it a last resort. Black Magic that makes GLOBAL changes to things like inheritance is often characterised as being "Octarine" (see disk world novels), because it tends to work ok when there's only one person doing it, but start to mix a few together and KABOOM!

Adam Kennedy

# 22nd March 2008, 12:28 am / monkeypatching, magic, adam-kennedy, blackmagic, perl, ruby

Naming twins in Python and Perl. Simple anagram problem solved in Perl and Python, with a bunch more solutions in the comments. The C# solution provides an interesting example of LINQ in action.

# 7th January 2008, 11:03 am / linq, csharp, python, perl, brad-fitzpatrick, programming, anagrams

2007

The future of web standards. Nice analysis from James Bennett, who suggests that successful open source projects (Linux, Python, Perl etc) could be used as the model for a more effective standards process, and points out that Ian Hickson is something of a BDFL for the WHAT-WG.

# 17th December 2007, 1:16 pm / w3c, bdfl, whatwg, ian-hickson, james-bennett, web-standards, linux, python, perl, open-source, standards

Perl on Rails—Why the BBC Fails at the Internet. Depressing explanation of how the BBC’s decision to outsource its technical infrastructure to Siemens has resulted in severe technology limitations, including the need for everything to run on Perl 5.6 (5.8 came out in 2002).

# 3rd December 2007, 9:43 am / bbc, technology, perl, siemens

BBC Radio Labs: Perl on Rails. BBC engineered built their own Rails clone in Perl to fit in with the BBC’s engineering infrastructure—it’s already running the new programmes guide.

# 1st December 2007, 1 am / bbc, rails, perl

wikimarkup (via) “MediaWiki markup in Python”. I’ve always suspected that MediaWiki was like Perl; the only thing that can parse MediaWiki is MediaWiki. Not sure how faithful this Python port is but I’d love my theory to be proved wrong.

# 9th September 2007, 12:33 am / python, cursegaming, david-cramer, mediawiki, perl, wiki, wikimarkup

lwqueue. Lightweight cross-language message queue system, written in Perl with client libraries in Perl, Python and Ruby.

# 16th July 2007, 10:04 am / perl, python, ruby, queue, lightweight, lwqueue, peter-cooper

Mac OS X Leopard: UNIX. Leopard ships with DTrace, and it’s been hooked in to Java, Ruby, Python and Perl.

# 11th June 2007, 11:05 pm / java, ruby, python, perl, dtrace, leopard, osx

JavaScript Minifier that doesn’t break code (via) Perl re-implementation of Douglas Crockford’s classic JSMin that doesn’t clobber IE’s conditional comments, by Peter Michaux.

# 4th June 2007, 5:44 pm / douglas-crockford, jsmin, james-bennett, internet-explorer, ie, conditionalcomments, perl, pete-michaux, javascript

’tie’ considered harmful (via) Rich Skrenta on the disadvantages of abstractions like Perl’s tie, which lets you create hash data structures that aren’t actually hashes. Operator overloading (as seen in Python) suffers the same problems.

# 30th May 2007, 11:11 pm / operatoroverloading, perl, python, tie, richskrenta

Primality regex. A regular expression that can identify prime numbers. Unsurprisingly, this one comes from the Perl community.

# 18th March 2007, 1:17 am / perl, regex, primenumbers

Data::ObjectDriver. Benjamin Trott’s Perl ORM, with built in support for both caching and data partitioning. I think this is what Six Apart uses for Vox.

# 25th February 2007, 12:43 am / ben-trott, sixapart, vox, orm, perl, scaling

2003

Discovering Berkeley DB

I’m working on a project at the moment which involves exporting a whole bunch of data out of an existing system. The system is written in Perl and uses Berkeley DB files for most of its storage.

[... 339 words]

Perl Slurp-Eaze (via) I once saw an expensive CMS self destruct after $/ was redefined

# 23rd November 2003, 11:51 pm / perl

Code personalities

Danny O’Brien compares Perl with Python. Best observation: Python code just doesn’t have much personality compared to Perl.

Clearout