All blogs / Software / engineering practice
plasmasturm.org
musings in human and machine language
Software / engineering practiceLinux / UnixPerl / RakuEssays / personal
- Posts
- 468 from 16 Jan 2006 to 4 Oct 2026
- Posting
- now and then (2 in the last year)
- Kind
- personal blog
- Feed
- http://plasmasturm.org/feed
2026 2
2025 1
2024 2
2023 1
2022 5
2021 3
2019 3
2018 4
2017 5
2016 2
2015 7
2014 14
- Communal software through communal funding
- Introducing Buftabline
- “Get ready to party!”
- Lingua programmatica
- “Not my favorite language”
- For Mozilla
- I got 5 on it
- A message of hope
- Sensible Git mail for the occasional user
- By any other name
- Real as can be, after all?
- djb has a weblog
- “Not Crying Over Old Code”
- Productivity porn
2013 9
2012 12
2011 18
- Spend money on… which is it, now
- Elegy to my only love in the cloud
- Denting the universe
- “Disruptive”
- Mac Pro with VT220
- A quote on the state of patents
- A strange game
- Lines spent
- Faces of a culture
- Wet streets cause rain
- 0.999
- An era has come to an end
- Permissions For Browser-Based Applications
- “Doesn’t build platforms, except by accident”, part ∞
- The power of test suites
- Apple wouldn’t play with Apple
- Architectural soundness is sound business
- Trolliquette
2010 13
- On Yahoo!’s legacy
- A quote on the two things about programming
- Nothing new under the sun
- On the 12th of Never
- Wrapping up XSLT word wrapping
- “Announcing CPAN Testers 2.0”
- “The Basic Unit of Bug Report Frustration”
- (Glorified) CVS brain rot
- Driftwood in the sea of concepts
- iSingularity? (take 2)
- iSingularity?
- In praise of Git’s index
- On narratives in introspection
2009 21
- Idle design musing from last night
- What is the “controller” in a web app?
- Perl is Unix
- Wizards and Runes
- Three Evolutionary Stages of Version Control
- Scope of the difficulty: an idle moment’s association
- One heartfelt indictment
- Shortening the folly: an attempt
- Good HTTP citizenship for DiggBar protesters
- “A reasoned response to Scala/Ruby at Twitter…”
- In defense of mutable history
- We interrupt your… uh, regularly? Scheduled? The what?
- Ugly reasoning
- Who wants to live forever?
- Complexity is the enemy
- The Principle of Least Perpetual Astonishment
- Painless commit splitting in Git
- “Defending SOA”
- Endorsing DNS Prefetch
- He’s not making this up
- Sweating URI design leads to smell
2008 30
- Naming 10,000 Apps
- In brief praise of DVCSs
- The cost of being Linus Torvalds
- Engineering
- A cautionary tale
- Quote of the Day
- How to usurp PHP’s place: an outline
- Larry Wall on Perl 6 usability
- Why I counted characters in UTF-8
- John Gruber doesn’t understand freedom
- Protecting the artists
- An epigram on programming
- A useful oneliner for the feed web
- When you don’t follow all citations
- Don’t Go Dark, Go Distributed
- Deleting Deletionism?
- The problem definition is the problem
- Truth in project management
- When Groundhog Day ends
- It’s a topsy-turvy world
- Filed under “unclear on the concept”
- That looks about right
- No credit where no credit is due
- You know what’s tough?
- Continuous partial debate
- Paul Graham’s kind of dirty
- Album cover art meme
- Stefano Mazzocchi
- Frogs in hot water
- Why I chose Git
2007 22
- Can’t you just
- Perils of language-sensitively transliterated names, or, Better living through hack value
- Perl 5.10 released on Perl’s 20th anniversary
- The Sapir-WIMP hypothesis
- A brainchild only a mother could love
- When you want something done right
- Log
- Plus ça change
- Compile error fix for volume.app 1.1a
- Everything old is old again
- How to know you are using classic vi
- Enterprise software
- Filed under “safe bets”
- Oil and water
- Not a number
- Caveat commentor
- Business as usual
- Excited
- Expand then contract
- “Furthermore, the sky is pink.”
- Does REST need a service description language?
- “Four Words for Microsoft”
2006 1
Undated 293
- The future is yesterday
- How to install Windows Vista’s new fonts on a Linux system
- Tree traversal without recursion: the tree as a state machine
- On tags (in the taxonomy sense) in Atom
- Feed subscripitions, personal brands and the potential for people gravity at their intersection
- Decoding URI-escaped characters… with sed
- λ will save us, or, Applicative trumps imperative in the large
- No longer necessary
- Tim Berners-Lee and the War On XML
- Curing the worst XSLT verbosity
- On employing RFC 2119 vernacular
- How to map CSS selectors to XPath queries
- Slow is The New Fast
- Sturdy and massive
- The shackles of safety
- Greg Brooks on the FBI’s plans for a new Net-tapping push
- Modern day pond scum
- Atomic Postel
- Ted Neward on Object/Relational Mappers
- WinFS is dead
- Good news for Perl on Win32
- Google Spreadtentacles
- XML::Atom::SimpleFeed 0.8
- xpathgrep 0.3
- Discontinuous web
- I say graceful degradation, you say progressive enhancement
- The chains we made, the chains we break
- “Beware Bags of Bools”
- Having Done Perl
- Very Large Hack Value
- State of the syndication art
- The joy of small projects and simple specs
- “Kate, when you take a liking to somebody, do you speed up or slow down?”
- “No Silver Bullet”
- Repairing broken documents that mix UTF-8 and ISO-8859-1
- This blue vessel
- Movie-Plot Terrorism Threat Contest
- Even if it doesn’t look cool
- “Floats are a hackish layout device”
- The O’Reilly Network suck at newsfeeds
- Worse is worse
- Tuned in carefully
- “Industries of Middlemen”
- Budget cut desperation
- You don’t have permission to view this entry.
- Introducing xpathgrep
- Worse is better, better is better
- “Choosing Sides”
- Reminiscing
- The web’s grain
- Half-baked musing of the day
- The quantum superspecification
- In which I write about PHP for the first and the last time
- RSS overload, part 3
- How to explain that adding programmers to a software project does not linearly accelerate it
- “But there was a party put on by a player, to celebrate a book authored by other players, with words about how to become players…”
- Usable interfaces just take a little thought
- We live in interesting times
- Uninteresting personal gripes
- Decoding Unicode codepoints into the corresponding character in XSLT
- Welcome to last quarter-decade
- You will know them by their fruits
- Why is it so hard to get this nail in?
- Styling Atom 1.0 feeds with CSS
- That feed icon
- Something fishy in the code
- A show of citizenship
- More on Atom aggregator XML namespace conformance tests
- “An infuriating construct”
- Brave 2.0 World
- Hyperhypertext
- Mark Jason Dominus is blogging
- Posting to Blogger’s Atom API from shell using curl
- Maintainable Programmers
- Endorsing SQLite
- So very, very tired
- Merrily chirping away
- The eternal scalability war: a profile
- Geek’s grooming: a keyboard hygiene experiment
- On the Humane Interfaces flap
- Best art project I’ve seen in a long time
- Transparent opaque changeable permanent URIs
- Log
- Patently braking
- Endorsing Tabinta
- Sellings strings on the street corner and the War On XML
- Turning the del.icio.us API format into proper Atom using XSLT
- Casting out the demons by the ruler of the demons
- Other people’s itches
- “How to build a house”
- …say what?
- History does not repeat itself, except as a farce
- Some computing aphorisms
- No wonder the spam keeps coming
- Email for procrastinators
- Media moguls: it’s the “mogul” that matters, not the “media”
- The Car extends Vehicle kindergarten, or, Replace Jargon With Pedagogy
- The DC component in the weblog signal
- Buzzword compliance
- Mental image
- “Programming is…”
- When (not) to reinvent the wheel
- Deployment: millions
- I want to earn the title!
- No XHTML support in IE 7
- From here to there and back again
- Atom 1.0 support for FeedParser
- And how dynamically disadvantaged is Perl, really?
- Dynamically disadvantaged?
- Google Talk, or, no news is big news
- Tag music played on a windy plain
- Buried Firefox XML goodie
- The quantum leap
- Tolerating Postel’s law
- Extremely upfront
- Hiring hammers
- *pant* *pant*
- Don’t patent yourself into a corner
- Humble pie
- Vindicated
- Surprises, and not
- Harsh and lonely
- Javascript instant iterators, at last
- Javascript instant iterators, refined
- “Everything I Know about Programming”
- RSS overload, part 2
- Overjoyed
- Grown up and boring
- A short note on consensus
- Endorsing Clearlooks
- On high hopes, misconceptions, and Apple on x86
- Linguistic snobs united
- Atom 1.0 has landed
- It’s getting cold down here
- Unwelcome solutions
- Tomayko’s Law of The Internet
- Rewriting software considered inadvisable
- Can we tone it down please?
- More shell quoting: this time for C
- Reliable shell quoting in shell
- I don’t GET the problem
- Aggregator engineering: feed refresh
- Delightful dotfile debauchery
- Myths about functional programming
- How to amuse yourself for five minutes
- For reference: on netiquette
- On the applications of Postel’s Law
- XHTML for IE
- The heights of idiocy
- All XML, all the time
- Tagging bubbles in a sea of spam
- “Expressiveness matters”
- Introducing dirsize
- Many ways to skin a char
- “Participatory narcissism”
- Can’t not.
- UTF-8 and how mutt just made me angry
- Endorsing Fusion
- Frank Hecker ponders weblog architecture
- Chlorine hazard: do not mix cleaning agents
- Have I mentioned that Vim rocks?
- What shall we paint this wiki?
- The perils of STFW
- Do as I say
- 1111111111
- Copying elements between namespaces in XSLT
- XPath vs the default namespace: easy things should be easy
- Trainwreckspotting, or: Corporations vs IT security as exemplified by the HBS
- Way ahead of the curve
- When more forgiving is less forgiving
- On corporations
- Lip service to democracy
- A trivial patent filter for the PTO inbox?
- Endorsing bmp-rootvis
- Just a mirage, after all?
- Patent macht frei.
- IE 7: predictions
- Did you need any further proof that Microsoft is evil?
- Surprising uses for technology
- Wikipedia’s trajectory in Google’s gravitation
- Why sIFR and co are a bad idea, #298734
- Firefox cache sanity
- September ended: too little too late
- A lightweight clustering method for distributed computing with mobile code
- “Bereft of ability and substance”
- Javascript-based web form validation done correctly
- Sick mind’s make abuse
- Serendipity
- linkextor
- A beautiful hack
- User interfaces that suck
- The filter chamber
- vi appreciation entry
- Stupid neologisms
- Security and the popularity factor
- Endorsing rxvt-unicode
- The sorry state of usability
- On titles, or maybe not
- Javascript instant iterators
- Hashcash (12″ Web Remix)
- Small fonts can be readable
- Intellectual komrad!
- templates.vim
- The tagged log
- Depressing
- Convincing LATEX to produce good-looking PDFs
- Word wrapping in XSLT
- Child naming in the Google era
- Prehistoric filesystem iteration
- Vim vs poor typography
- Netscapelorer: the beachhead
- Life-long debuggers
- Discovering XMLHttpRequest
- Secure password generation
- highlight
- Writing XUL and Javascript
- Vim never ceases to amaze
- Permalinks!
- It’s the language, silly
- Software piracy; morals; free software
- Endorsing Devel::Trace
- Not the end of malware
- Java versus Perl
- Wiki musings: one living document
- Endorsing OpenNTPD
- ISO-8859-1 vs Win-1252 in mutt
- C#: a fitting name?
- Software piracy and preachers practicers
- Shameless boasting
- Atom-to-HTML 0.2
- Windows may not have /dev/null, but its vendor does
- “Why am I on this mailing list?”
- My data on my system
- Running Apache2 under init control
- A first foray into feed generation
- Nixie Tube Digital Wristwatch
- My first ever CPAN upload
- Fragile windows
- Paul Graham tries his hand at cultural stereotypes
- Patently plotless
- Think about it
- A religious metaphor for the web
- Brain twisters and learned cognitive conflict
- Libertine software
- Bad idea
- Gmail is not for me
- Another installment of “Things not to do when writing Javascript”
- GNU Info sucks
- How to make favicons using NetPBM
- Cleaning up JPEG artifacts with GIMP
- Dealing with RSS overload
- Patently safe?
- Serge Lang says,
- Trust in collaborative creation
- Hilarity
- ASCII (he)art
- Introducing Atom-to-HTML
- The licence is as open as the project
- Opensource sucks
- OPML is spectacularly lousy
- Today in “Things not to do when writing Javascript”
- GUIs: the long road ahead
- mod_rewrite-free MIME type switcheroo
- The barrier-to-entry build system
- The future is bland
- “Plutotropic transhuman corporate overlords”
- Webdesigners suck
- rsync snapshot backups
- Trust the process
- How to create a Maildir
- Emulating shell worksheets in Vim
- Perl-enabled Vim tricks
- Gmail, or, of the window and the rationality being hurled thereout of
- Google rah-rah
- “Cargo cult”
- The ideal system monitor toy
- Phone Dial Web Browser
- Wiki musings: reader as author
- Wiki musings: subsuming the weblog metaphor
- Liquidly extending CSS boxes
- Restrictions sprout creativity
- Bookmarks in Vim
- Eric Raymond is not my voice
- Endorsing Enigma
- Re: The reason OSS isn’t taken seriously…
- Introducing gtk+ 2.0 Change Theme
- Keeping out the spam
- More layout container SSI hacking
- Endorsing Liferea
- Layout container SSI hack
- Going Maildir
- Endorsing hsetroot
- Here we go.