blog
- 2023-11-22 I Still Like Perl in 2023
- 2023-03-12 easysecurity 0.1.4 and textras 0.1.4 release
- 2023-01-20 Lang::Go::Mod 0.006 Released
- 2022-12-05 Why Go Sometimes Fails
- 2021-07-26 Lang::Go::Mod Released
- 2019-09-23 Go Modular Routers
- 2019-09-17 A Basic gRPC Go Example
- 2019-05-05 Enviroment Oriented Programming
- 2019-03-03 Setting up Virtualbox on Windows
- 2019-02-17 Brutal truths about software project scheduling
- 2019-02-03 Complexity will haunt your entire career
- 2018-01-20 What matters to developers in 2018
- 2018-01-15 Go channel pools
- 2018-01-01 A farewell to mocks
- 2017-12-28 How to sleep well as a developer
- 2017-03-07 Bitcoin in one blog post
- 2017-03-02 Go http demystified
- 2017-02-21 Zen and the art of software maintenance
- 2017-02-20 RSCS and some new thinking on open source
- 2017-01-05 Net::IP::Parse
- 2016-09-11 A nice go pattern: defer/panic
- 2016-01-31 httpdshutdown: graceful daemon shutdown in go
- 2016-01-03 Thoughts on perl6 and contributions
- 2015-11-16 Underutilized and overutilized features of Go
- 2015-07-14 (Most) code is a liability
- 2015-07-11 A number puzzle solved with haskell
- 2015-05-02 Your next role: software maintainer
- 2014-10-21 A small url parsing library
- 2014-04-15 R.I.P.: the web
- 2014-03-18 Two tiny puzzles with tiny solutions
- 2014-03-08 Picking haskell back up
- 2014-03-05 go webserver tls settings
- 2014-01-22 A word chain solver in c++11
- 2013-12-21 awsv4 signatures in c++11
- 2013-12-19 A java solution to the twitter puddle puzzle
- 2013-12-13 C++...no, really!
- 2013-12-04 A java solution to the honeycomb puzzle
- 2013-11-17 Notes from AWS Re:Invent 2013
- 2013-10-12 Loose coupling for happiness
- 2013-10-09 Java vs haskell: not so dumb after all?
- 2013-09-03 What will be the dominant tool for the next ten years?
- 2013-06-29 A bloomfilter in go
- 2013-06-28 A bitset in go
- 2013-06-22 Backend coding is about to get interesting again
- 2013-06-22 Two new libraries for task balancing in go
- 2013-06-05 Nullable base types in go
- 2013-05-07 Solving a puzzle in chicken scheme
- 2013-04-03 Lockless concurrency
- 2012-12-02 The good, the "meh", and the ugly of haskell tuning
- 2012-11-25 Http conduits example
- 2012-11-18 Putting haskell down
- 2012-11-04 The joys of a mature community
- 2012-10-08 Surprisingly difficult: a shared vector in haskell
- 2012-10-01 Event sourcing is not practical
- 2012-07-31 Make it TRUE in Go
- 2012-07-12 A tmux temperature gauge
- 2012-06-29 An SHA1-based bloom filter in haskell
- 2012-05-29 Filling redis with test data
- 2012-05-16 php: unsafe at any speed
- 2012-04-19 Generalizing scalability
- 2012-04-05 Solving a facebook interview question in haskell
- 2012-03-31 wai, is it fast!
- 2012-03-24 Deriving json types in Go
- 2012-03-24 The most wrong aphorism
- 2012-02-29 Random strings in haskell
- 2012-02-17 Making UUIDs in haskell
- 2012-01-20 A half-baked, incomplete word chain solver
- 2011-09-09 0-level algebra and the quant interview question
- 2011-08-14 Chicken configs on freebsd
- 2011-07-14 Text::Authinfo 0.03 released
- 2011-07-12 -Really- delete trailing whitespace in elisp
- 2011-07-10 A simple console password manager in perl
- 2011-06-13 Initial release of Text::Authinfo
- 2011-05-13 AES encryption of bytestrings
- 2011-05-08 Password-style input on the command-line in haskell
- 2011-05-04 Quick notes on hardening nginx ssl
- 2011-04-16 Back in the daY!
- 2011-03-30 Clawsie's postulate
- 2011-02-01 Ipv6apocalypse
- 2010-11-28 Review: modern perl
- 2010-11-07 hi