The Curious Engineer

All blogs / Haskell

Agentultra

agentultra.com

Musings and ramblings on programming and things

HaskellSoftware / engineering practiceEngineering management / careersAlgorithms / data structures

Posts
232 from 8 Feb 2007 to 27 Apr 2026
Posting
monthly (10 in the last year)
Kind
personal blog
Feed
https://agentultra.com/feed.xml

2026 9

  1. Large Language Models are Not Table Saws
  2. Why Array Arguments Decay To Pointers In C
  3. Scripting Haskell Applications with Lua
  4. Fixed Time Efficient Least Frequently Used Cache
  5. Time Efficient Least Frequently Used Cache
  6. Least Frequently Used Cache
  7. Least Recently Used Cache
  8. Taking Things Apart
  9. How I Learned Everything I Know About Programming

2025 7

  1. Avoid Interview Prep Courses
  2. Trying Zig by Implementing CHIP-8
  3. Code Review Tips
  4. Linking Zig from Haskell
  5. Using Haskell in Production
  6. Letter to a Young Engineering Manager 1
  7. Why I Won't Use AI

2024 5

  1. Designing Boring Software with Functional Programming - Part 1
  2. Haskell is Not A Whitepaper Language
  3. Keep Effects at the Edges
  4. On Over-Engineering in Software Development
  5. Extensible Enums in Haskell

2018 4

  1. A (mostly) Practical Guide to Functional Programming (in Javascript) Part 6
  2. Static Type Checkers for Dynamic Programmers
  3. What Are Promises Good For?
  4. A Haskell Failure Story

2017 8

  1. Programming: A Delectation of Process and Form
  2. Property Based Testing With Javascript
  3. A (mostly) Practical Guide to Functional Programming (in Javascript) Part 5
  4. Best Worst Practices
  5. Code Matters to Stakeholders
  6. A (mostly) Practical Guide to Functional Programming (in Javascript) Part 4
  7. A (mostly) Practical Guide to Functional Programming (in Javascript) Part 3
  8. How to use PostgreSQL as a GraphQL backend

2016 2

  1. A (mostly) Practical Guide to Functional Programming (in Javascript) Part 2
  2. A (mostly) Practical Guide to Functional Programming (in Javascript) Part 1

2015 3

  1. \[SPOILERS\] The Force Awakens
  2. The Black Man Stopped Me
  3. Introduction to Procedural Algorithms

2014 3

  1. Mozilla Circus and asyncio
  2. Python and Canvas2D with Brython
  3. Static Generators

2013 10

  1. Defining Function Arguments in Hy
  2. Hy is a Lisp on Python
  3. The Emacs Browser
  4. My New Policy on Misogyny
  5. Dick Jokes Considered Harmful
  6. ATDT Pre-Alpha Progress Update 1
  7. SDL and Modern C++: Images
  8. Game Frameworks for the PC
  9. What Makes A Game Art?
  10. New Year, New Look

2012 3

  1. I Can't Play Diablo 3 So I'm Going to Make a Game
  2. Why Is The Future Not Here Yet?
  3. Teaching Kids to Code

2011 11

  1. It works!
  2. Strict Types
  3. Parenscript Is Awesome
  4. Stopping To Observe the Code
  5. Follow Up With Ben: Part 1
  6. An Open Letter to Ben Mueller-Heaslip
  7. You Might Be a Data Scientist...
  8. Run Length Encoding in Lisp
  9. Aspergers and Programming
  10. Katamari Coding
  11. Software As A Service

2010 35

  1. Secrets Do Not Keep You Safe
  2. My Processor or My Guitar?
  3. Optimization Techniques: Divide and Conquer
  4. Can You Make This Toy Python Program Faster?
  5. Node.js is Infecting Everything
  6. Minecraft
  7. Programmers and Dogma
  8. Code Quarterly Challenge: Parsing with Python 1
  9. Parsing with Python Coroutines: Fail
  10. Parsing with Co-routines: Help Me Wrap My Head Around This
  11. Python by Example: Sort
  12. Higher Education Bubble
  13. Re-Thinking the Web Framework
  14. Open for Business
  15. Limbo Game Review
  16. Mature Student? Hope you like Humanities and Social Sciences
  17. Pylons and JSON-RPC 2.0
  18. Wishful Thinking Will Not Save the University of California
  19. The Beauty of RPC
  20. On Manly Moustaches
  21. Pylons JSON-RPC Now on BitBucket
  22. Pylons JSON-RPC Controller Update
  23. G20: A Perfect Storm
  24. Pylons JSON-RPC Controller
  25. Pylons, Pyjamas, and JSON-RPC
  26. Picross3D
  27. Program Outdoors
  28. Das Keyboard: Ich Liebe Diche
  29. Sleep is Death: Initial Reactions, Thoughts, and Ideas
  30. Initial Thoughts on Developing Games with Lisp
  31. Bridging the Gap Between Philomaths and Academics
  32. Trouble in the Garden of Atheism
  33. Digital: A BBS Love Story
  34. A Simple GM Tool: A Die Roller
  35. Programmer Competency Matrix

2009 26

  1. I Deleted My Facebook Account
  2. On NaNoWriMo
  3. Why I Like Lisp
  4. Backwards Compatibility: Long Live Python 2.xx!
  5. Roleplaying on the Wave: Swords and Wizardry Part 1
  6. The Case Against Transparency
  7. Python Style Tip: Drop in Types
  8. Skirmisher Update - Importing a Complete Database!
  9. Skirmisher: A D&D Miniatures Table Top Utility
  10. The Best Explanation of Monads I've Seen
  11. Pub Comics - Pigeon
  12. A Short List of Things That Bother Me About Python
  13. Meme or Gene: Is the Belief in Religion an Evolutionary Trait?
  14. Hacking the Canadian Parliament
  15. Zed Shaw's Proposed ArgParse API
  16. Getting Started in Open Source: A Guide to Getting Involved for Newbies
  17. Watching the Watchmen
  18. Web Based IDEs
  19. Easy Fractal Music
  20. TracShell: Trac Command Line Shell Interface
  21. My Road to Lisp
  22. Lazy Geeks Rejoice: Email Mom Without the Effort of Emailing Mom
  23. Goodbye Canadian Coalition Government?
  24. Why Does Lisp Have a Problem?
  25. How Being Green Became a Solpsism
  26. Small Light and Fast Web Applications Using WSGI

2008 34

  1. Expression in Code
  2. I Have an iPhone
  3. I'm Not a Conservative and I'm Against the Coalition
  4. Partisan Politics Sneak into Canada
  5. Trying a New Look
  6. Humans are Clumsy
  7. Seeking Enlightenment in a Holy War Part 2
  8. Seeking Enlightenment in a Holy War
  9. The Internet was not Built Wrong
  10. Bambi Meets Godzilla: How Much Does Hype Matter?
  11. Canadian Election 2008
  12. Hasty Praise for Nintendo DSi?
  13. Nintendo DSi Finally Gets It Right
  14. Using Facebook to Detect Narcissists
  15. Google Chrome
  16. Doctor Horrible has Horrible Bandwidth Problems
  17. Going to Japan
  18. Pirating Games
  19. Mars Now!
  20. PHP is Obsolete
  21. Gobo Linux
  22. Not Happy with Hardy
  23. Upgraded to Wordpress 2.5.1
  24. A Technical Summary of Google App Engine
  25. Autostitch
  26. Google App Engine: A New Sustainable Hosting Model?
  27. Reznor is Right and It Has Been a Long Time Coming
  28. An Easy Way to Test Drive Linux
  29. Cyber Goggles Are Almost Here
  30. Does Prejudice Affect the Choices of Developers?
  31. Arch Linux: When you know exactly what you want (and don't need all the fluff).
  32. Perl6 is Still Alive
  33. Hello 2008
  34. Their Code Sucks

2007 72

  1. I Didn't Start the Bubble
  2. Facebook Invades Privacy
  3. Canada Copyright Tries to Copy DMCA
  4. Facebook Must Stop Monetizing on Invading Privacy
  5. Canadians are Finally Understanding the Internet
  6. Knight News Challenge: Final Round
  7. Ubuntu Gutsy Gibbon Review
  8. Amazon EC2 enters Open Beta
  9. Message Queuing
  10. Set A Background Colour on Your Web Pages
  11. Logging for your Django Apps
  12. Accessibility is Accessible
  13. Geek Porn in Job Postings
  14. Over Thinking Usability
  15. Crooked Little Vein
  16. Trouble Recruiting Talented Programmers? Make Sure You Know What You're Talking About.
  17. Transformers is Actually Okay
  18. New Web Metric Likely to be Inaccurate
  19. Your Business Could Be Missing Opportunity
  20. Open Source Software's Bad Reputation is Bunk
  21. 3D Scanner Using Lego and Milk
  22. Desktop Window Managers Turn Computing into Target Practice
  23. Live from True Colors
  24. Running a Startup is Really Hard
  25. Your Identity Doesn't Belong to You
  26. Lobbyists Clear House in Canada
  27. LOLCODE. I has it.
  28. An Inconvenient Truth for the IFPI
  29. Google Gears follows the steps of Adobe Apollo and Joyent Slingshot
  30. RESTful Representations for Django Views
  31. Barcamp Toronto 2007
  32. Essays
  33. Why Dell and Purolator Suck
  34. Live Ink Improves Readability
  35. Will Computers Make Criminals of Us All?
  36. Boredom as a Motivating Factor in Open Source Development
  37. A Geographic Representation of the Internet (roughly)
  38. Bob Lefsetz Gets It
  39. Does Anyone Understand the Medium?
  40. Upgraded to Feisty Fawn
  41. Second Life to Open Source Server
  42. Getting More Women into Computer Science
  43. Vimperator: Firefox with vim Key Bindings
  44. More Mouseless Productivity
  45. Media People Don't Get It
  46. Adobe: Web Development for Dummies
  47. Ditch Your Mouse and Enhance Your Productivity
  48. Mac vs. PC vs. Linux
  49. Joyent Slingshot: Apollo for Rails
  50. Mac vs. PC: A Misconception
  51. Adobe Apollo: First Impressions
  52. Highrise: Is 37signals Getting Lazy?
  53. No Non-sense Unit Testing with Nose for Python
  54. What Happened to Google's Infamous Cookie?
  55. Useless Error Messages are a Common Practice
  56. La Fonera: the Anti-Social Router
  57. Wasted Federal Funding for the TTC
  58. More on the Subjectivity of Design
  59. Upgrading to Wordpress 2.1.2
  60. Graffiti is a Crime
  61. Oh Bev Oda
  62. Will the New Ning Humble the Web 2.0 Bubble?
  63. Comprehensive Erlang Archive Network
  64. Web 2.0 Flirts with the Desktop
  65. Waiting for River of Gods
  66. Design isn't What It Looks Like
  67. Be Framework Agnostic
  68. Software as a Service isn't Killing any Markets
  69. Better Command-line Scripts with Optparse
  70. Reasons to Hire Someone with a Mohawk
  71. TTC: The Older Way
  72. Rapid Development using YUI Toolkit