“Heap, Heap, Array!”

Articles about the soon-to-be-lost art of computer programming.

An inferior brown bear assaults a Cylon
  1. An inferior brown bear assaults a Cylon

    Living the Pipe Dream

    Access your Docker Compose services via easy-to-remember names

    Did you know you can make your Docker web app containers available via simple names instead of hard-to-remember port numbers?

  2. Nena feat. Kim Wilde – Anyplace, Anywhere, Anytime

    Living the Pipe Dream

    Setting up a new Laravel project with Sail – without installing PHP

    It’s surprisingly hard to figure out how you can create and run a new Laravel app via Docker without installing PHP first.

  3. Two people awkwardly trying to moving a Chrome extension

    Living the Pipe Dream

    Frameworks for developing browser extensions

    You probably wouldn’t build a modern web application without a framework, so why use vanilla JavaScript for your browser extension?

  4. Two screenshots that show how the Alright browser extension turns references to external sources in pull request overviews and detail pages into hyperlinks.

    Living the Pipe Dream

    Add autolink references to GitHub pull request titles

    Alright is a browser extension that automatically turns JIRA (and other) references in GitHub pull request titles into hyperlinks.

  5. A robot arm puts an envelop into a long-distance mailbox

    Living the Pipe Dream

    Facilitating ROS communication between two different networks

    For my first robotics project, I needed to find a way for students in Germany to control a robotic arm in the Netherlands using ROS.

  6. Donald Trump hands a piece of paper to Vladimir Putin

    Living the Pipe Dream

    What to do if you accidentally committed secrets to a repository

    Have you ever accidentally committed a secret to a Git repository? It’s a simple mistake that can be hard to fix, but it’s also easy to prevent.

  7. Python logo with graduate caps on the snakes’ heads

    Living the Pipe Dream

    Five things in Python that I only learned this year

    Many people learn Python as their first or second programming language, but only few people bother to master it.

  8. A sad PHP elephant

    Living the Pipe Dream

    PHP developers hate him! Find out these weird tricks they don’t want you to know!

    Three “fun” ways to throw off fellow PHP developers (and the “fractal of bad design” article isn’t one of them).

  9. Docker whale has a mildly panicked look on its face when it’s stranded and encounters a human hunter.

    Living the Pipe Dream

    Level up your Dockerfiles with these tips and tricks

    It’s easy to write Dockerfiles that work, but also to write Dockerfiles that suck. Here are some tips and tricks for writing better Dockerfiles.

  10. An elephant (PHP’s mascot) farts fire

    Living the Pipe Dream

    New PHP 8 language features that you may have missed

    PHP has gained a lot of new language features over the years. Some of them are frankly a bit insane – but in a good way.

  11. Mr Creosote

    Living the Pipe Dream

    Improving search results using query expansion

    Make your custom-built search engine return more relevant results by automatically adding similar or related words to search queries.

  12. Antropromorphic Mat ’64 train with glowing laser eyes

    Living the Pipe Dream

    Let’s build a simple journey planner using SQL (part 3, that you can run yourself)

    What’s better than a crappy train travel planner that runs on my machine? A crappy train travel planner that runs on YOUR machine!

  13. Anthropomorphic VIRM train with a dumb face rides across a rainbow in the sky

    Living the Pipe Dream

    Let’s build a simple journey planner using SQL (part 2 of probably more than 2)

    Yet another blog post where I create an unmaintainable mess using our favourite yet very inadequate programming language, SQL.

  14. Two people share a table in a Dutch VIRM train

    Living the Pipe Dream

    Let’s build a simple journey planner using SQL (part 1 of definitely more than 1)

    When all you have is a relational database, everything looks like a table. And you know what? It works! Sort of.

  15. A square peg (Laravel) is forced into a round hole (best practices)

    Living the Pipe Dream

    Handling model inheritance in Laravel’s Eloquent ORM without third-party libraries (is a bad idea)

    It’s technically possible to make Eloquent models inherit from each other, but I probably wouldn’t recommend it.

  16. Moses holding two tables containing the Ten Commandments. One tablet lies broken on the ground.

    Living the Pipe Dream

    How to write good code comments

    In this latest instalment of “Things That People Don’t Want To Bother With” I discuss best practices for writing comments in source code.

  17. A man orders some beers at a bar

    Living the Pipe Dream

    How many unit tests should you write?

    How many unit tests are enough? As always the answer is “It depends”, but fortunately there is a handy rule of thumb that you can use!

  18. Chicago’s Willis Tower and London’s Elizabeth Tower side by side

    Living the Pipe Dream

    The Chicago and London schools of TDD

    Tests can be written Chicago-style or London-style. Neither is strictly better than the other; which style should you use?

  19. Illustration of trias politica with three branches of the United States (the US Capitol, the White House, and the Supreme Court). “Arrange” represents the legislative branch, “Act” the executive branch, while “Assert” is the judicial branch.

    Living the Pipe Dream

    Structure your tests using the Arrange-Act-Assert pattern

    Arrange-Act-Assert is a standardised approach to writing tests that makes them easier to read and helps you avoid some bad practices.

  20. Christmas tree in a coffee table

    Living the Pipe Dream

    Storing trees in a database table

    Relational databases are very good at storing tabular data, but what if you need to store arbitrarily-sized trees?

  21. Kevin’s small talk scene from The Office

    Living the Pipe Dream

    How to deal with Dutch compound words when processing text

    The Dutch have a lot of long words that aren’t in dictionaries. But that doesn’t necessarily mean they’re hard to read for Dutch people.

  22. A sinking RMS Titanic, with an iceberg in the background

    Living the Pipe Dream

    Blursed async PHP: Dumb, but also kind of fun

    There are decent, battle-tested ways to write asynchronous PHP, but that’s not what this article is about.

  23. Pam Beesly, in the “They’re the same picture” scene

    Living the Pipe Dream

    When and how to JOIN a table with itself

    Relational databases make it very easy to join data from different tables, but did you know you can also JOIN data within the same table?

  24. Count von Count counts things

    Living the Pipe Dream

    How do you number SELECT query results using SQL?

    Want to let number or rank your query results? Let your database do the hard work for you.