Tech

Software engineering, web development, cool new tech, and anything else that tends to get developers excited.

  1. A man grabs a desktop PC monitor from a server rack

    Living the Pipe Dream

    Execute commands and long-running scripts in the background using screen

    There’s an easy way to keep scripts and commands “alive” when you disconnect from a server.

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

    “Heap, Heap, Array!”

    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.

  3. A 14″ M1 MacBook Pro

    One More Thing I (Don’t) Want to Buy

    A long-term review of the M1 MacBook Pro

    The 2021 MacBook Pro may not be perfect, but I have (nearly) zero regrets about choosing this machine, which doesn’t happen very often.

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

    “Heap, Heap, Array!”

    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.

  5. A man orders some beers at a bar

    “Heap, Heap, Array!”

    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!

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

    “Heap, Heap, Array!”

    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?

  7. Jack Shephard tells us we have to go back into our shell history

    Living the Pipe Dream

    How to find previously used terminal commands in Linux and macOS

    Unix shells remember which commands you have issued through them. Here are a few ways to make use of that command history.

  8. A light bulb with the Confluence logo, modified to look like a shining virus

    Living the Pipe Dream

    What software development teams should document in their Confluence space

    Everyone always talks about technical documentation, but there are other types of documentation that are just as useful.

  9. 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.

    “Heap, Heap, Array!”

    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.

  10. Two people maintain a social distance (which is about the width of two people) from each other

    The Toilet Paper

    How many spaces should you indent your code?

    None, because tabs are better than spaces! Joking aside, it appears that the exact number doesn’t matter that much.

  11. Command & Conquer Red Alert 2 cover art

    The Toilet Paper

    Everything that management needs to know about technical debt

    Developers often complain about technical debt, but how much does it really hurt the business? According to this study it’s a lot.

  12. Screenshot of a tweet that contains a rather embarrassing preview image of a corn video

    Living the Pipe Dream

    How to manually refresh web page previews in Twitter cards

    A tutorial that explains how you can force refresh the metadata of a web page in a tweet.

  13. Someone has removed a brick from the Colosseum

    The Toilet Paper

    How developers perceive and deal with architecture erosion

    Let’s talk about architecture erosion, its causes and consequences, and how developers can identify and control it.

  14. A snake is strangling a camel

    The Toilet Paper

    Why snake_case is better than camelCase

    There aren’t many reasons why you should choose snake_case over camelCase, but the ones that are there are pretty convincing.

  15. A camel steps on a snake

    The Toilet Paper

    Why camelCase is better than snake_case

    Does it matter whether you use camelCase or snake_case for identifiers? Yes it does! Probably. Maybe.

  16. Admiral Piett

    The Toilet Paper

    A checklist for controlled program comprehension experiments

    If you want to study the effect of something on the understability of code, you need a controlled experiment. What are things to do or avoid?

  17. Who is this Pokémon still, with a silhouette of a Pokémon that is clearly not a Pikachu.

    The Toilet Paper

    What is the best programming language for beginners?

    This study attempts to provide a more nuanced answer than “JavaScript”, from an educator’s perspective.

  18. Christmas tree in a coffee table

    “Heap, Heap, Array!”

    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?

  19. Kevin’s small talk scene from The Office

    “Heap, Heap, Array!”

    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.

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

    “Heap, Heap, Array!”

    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.

  21. Cheese and a piece of coal with Dutch and British flags, presumably served during Friday afternoon drinks

    Living the Pipe Dream

    Translate Dutch to English like it’s 1999

    I spent three years building a web app that translates Dutch to bad English and the results are even worse than I expected.

  22. Combination of the WordPress and Kubernetes logos

    Drinking the Kubernetes Kool-Aid

    How (not) to install WordPress on Kubernetes

    Today we’re dragging LAMP into the 21st century in the worst possible way.

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

    “Heap, Heap, Array!”

    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. Subway map that shows a network with several routes to Web browsers. One of the routes is highlighted by the Choosy app icon.

    Living the Pipe Dream

    How I separate my private and professional online browsing

    My work-life balance is practically non-existent, but at least my browsing is completely separated…