Web development

All about everyone's favorite pseudo-platform, the World Wide Web.

Announcing Crell/Serde 1.0.0

I am pleased to announce that the trio of libraries I built while at TYPO3 have now reached a fully stable release. In particular, Crell/Serde is now the most robust, powerful, and performant serialization library available for PHP today!

Serde is inspired by the Rust library of the same name, and driven almost entirely by PHP Attributes, with entirely pure-function object-oriented code. It's easy to configure, easy to use, and rock solid.

Larry 9 November 2023 - 7:39pm
Technical debt is over-used

The term "technical debt" gets thrown around a lot. Way too much, in fact. Part of that is because it has become a euphemism for "code I don't like" or "code that predates me." While there are reasons to dislike such code (both good and bad), that's not what the term "technical debt" was invented to refer to.

So what does it mean? There's several different kinds of "problematic code," all of which come from different places.

Continue reading this post on PeakD.

Larry 22 May 2023 - 6:26pm

On "10x developers"

Submitted by Larry on 14 July 2019 - 11:58am

Yesterday, a VC posted a Twitter thread about "10x engineers and how to spot them.'' It is a frankly terrible thread, and predictably, it became the latest Internet Pile On(tm), which we all know is Twitter's favorite pastime. I added my own thoughts in another thread, which I want to replicate here for posterity and then expand on a bit more now that I have a real keyboard and not just my phone.

First, here's my original thread, lightly edited for clarity, paragraphs, and links:

Continue reading this post on SteemIt.

When I started writing PHP...

Submitted by Larry on 12 February 2019 - 7:46pm

I don't know exactly when I started writing PHP. It was shortly after the start of my second quarter of my freshman year of college, when a newly-met friend of mine introduced me to PHP as an easier to understand alternative to Perl. That puts it, I think, somewhere in January or February of 1999.

20 years ago, give or take a week. I have been writing PHP for two decades. That's more than half my lifetime. I feel old.

I thought it would be amusing (mostly at my expense) to look back a bit on just how much the PHP world has changed in the last two decades.

Continue reading this post on SteemIt.

Don't use mocking libraries

Submitted by Larry on 14 September 2018 - 6:25pm

I am all for testing. Whether you always write unit tests in advance as Test Driven Development (TDD) advocates call for, write them after, write them alongside, a little of each, I don't care. Tests are your friend. You want tests, and specifically you want good tests.

There's a lot of opinions on what constitutes a "good" test, of course, and much is subjective to the type of code you're working on. However, since the release of PHP 7 I've found that while writing tests... I am never using a mocking library. In fact, I'm going to go as far and say that

You should never use a mocking library in PHP 7.

Before all of you gasp, clutch your pearls, and send ninja hit squads after me, let me justify that position.

Continue reading on Steemit

Quick and easy PHP code generation testing

Submitted by Larry on 22 June 2018 - 8:40pm

Recently I was working on some PHP code (for the PHP-FIG) that involved code generation. Lots of systems these days are doing code generation (compiled dependency injection containers, ORM classes, etc.), but surprisingly I've avoided having to touch that code myself until now.

Of course, like any good developer I was writing tests for it as I went. That meant needing to test that the generated code was valid PHP syntax and did what I wanted it to do.

(Continue reading this post on Steemit.)

Moving to a new Platform

Submitted by Larry on 2 May 2016 - 9:02am

After my last post, a number of people asked if I was leaving Drupal all together. Perish the thought. :-) However, after a decade at Palantir.net and the five-year Wagnerian Saga that was the Drupal 8 development cycle (complete with singing), I have been asking myself "What next?"

Well, what do I like to do? I like to build. I like to teach. I like to make things better. I like to work with smart people, as colleagues, as community partners, and as customers. I want to be able to have an impact in making something better for other people.

To that end, I am pleased to announce that today is my first day as Director of Runtimes, Integrations, Engines, and Services for Platform.sh.

Anyone can code

Submitted by Larry on 24 December 2015 - 4:22pm

One of Pixar's best movies is the 2007 "Ratatouille", the story of a rat named Remy who teams up with an unskilled nobody human to become a gourmet chef. Toward the climax of the film (spoiler alert!), the uber-critic Anton Ego visits their restaurant and is blown away by the quality of the food, producing the next day a genuinely humble and reflective review. While the whole review is one of the highlights of the film, there's one segment in particular I want to call out:

In the past, I have made no secret of my disdain for Chef Gusteau's famous motto, "Anyone can cook." But I realize, only now do I truly understand what he meant. Not everyone can become a great artist; but a great artist can come from anywhere. [emphasis added]

It's one of the central themes of the film, and Pixar I believe captures that line beautifully. It's true, not everyone is a good cook. Not everyone can be a good cook. However, good cooks come from a myriad of sources and backgrounds (and apparently species).

And the same concept applies to almost any skilled field, including that of programming.