PHP in 2023
A blog about modern PHP, the web, and programming in general. Follow my newsletter and YouTube channel as well.
The latest blog posts to take off on Hacker News. 14,540 posts.
A blog about modern PHP, the web, and programming in general. Follow my newsletter and YouTube channel as well.
A couple of people have asked me for my thoughts on part of an article from Tiark Rompf called (roughly) “ Just Write the Parser ” which advocates the use of recursive descent parsing over more “formal” approaches to parsing, at least in the context of teaching compilers. I’m fairly sure I read this article a couple…
Every March, developers worldwide each try to make a roguelike game in less than 168 hours as part of the 7DRL Challenge . Roguelike games are hard , involving procedural level generation, pathfinding, line-of-sight algorithms, and more dijkstra maps than you can imagine.
The second part of a three part look at new features in Go 1.20.
Why and how we continuously invested the team bandwidth to pay back tech debt and what were the results?
How (and why!) to convince the machines to write lenses for you
In Rust, if I want to print some 32-bit unsigned value in hex, with the leading 0x, padded out with zeros, I would write that as:
Reflections on the benefits of tweaking an existing app, instead of starting from scratch.
A fresh take on the classic rally game with widescreen support, high definition UI, and countless bug fixes.
Writing code for online games, particularly for mobile or web-based slot games like this one , involves a mix of advanced graphics rendering, real-time networking, security implementations, and intricate game logic. Developers need to balance between performance optimization, cross-platform compatibility, and the…
There is an area of Python that many developers have problems with. This is an area that has seen many different solutions pop up over the years, with many different opinions, wars, and attempts to solve it. Many have complained about the packaging ecosystem and tools making their lives harder. Many beginners are…
Confession time: I don't fully understand how terminals, shells and SSH really work (and my guess is you don't either). And I don't mean the cryptography behind SSH. I mean how SSH and the terminal — and the shell for that matter — interact with one another.
Derek Sivers official site. Thoughts on philosophy, culture, self-improvement. Author of Useful Not True, How to Live, Hell Yeah or No, Anything You Want.
UPDATE: I gave a talk expanding on this blog post at EMPEX NYC 2023 . The Problem Writing useful features for your users is key to a succes...
Early stage technology decisions must be, uncomfortably, a means to an end.
In which I tell you that you're overcomplicating things and you should throw everything behind a single git repository.
Mike Kohn's music, software, and electronics projects.
My foray into free software
Note: this post is also available in video format on YouTube . Some demo/ difference would be more obvious in video.
As a data format, yaml is extremely complicated and it has many footguns. In this post I explain some of those pitfalls by means of an example, and I suggest a few simpler and safer yaml alternatives.
C++, a "Reality sandwich", and an Octopus.
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Code level discussion of web scraping, gray hat automation, growth hacking and bounty hunting
A rough edge with promises that can sneak up on you.
How to use a CTE instead of complicated CASE expressions
Hey HackerNews, let me just drop my mixtape, checkout my soundcloud and “Death Row” is the label that pays me. How is the Graph Database category supposed to grow when vendors keep spou…
A set of recipes for using Makefiles for web development.
For the past few years I’ve been the most senior developer on my teams in Atlassian, in both position (Principal Engineer) and time (almost 9 years ) - this means I usually take on the responsibility of managing our software architecture.