Forged in Fire is Positive Masculinity

I've long been critical of the discourse around masculinity. For the archetypal right-winger, masculinity means machismo, at least mild sexism, the rugged loner individualist who picks a fight and never cries because Men Are Supposed To Be Strong(tm). For the archetypal left-winger, the word "masculinity" is simply never uttered without the word "toxic" before it, because anything that implies males and females are different at all is inherently misogynist and thus destructive and we must not allow differences to exist.

You can probably tell from my tone just how much contempt I have for both modes of discourse.

Larry 25 July 2021 - 3:59pm

The case for partials and pipes in PHP

Submitted by Larry on 23 June 2021 - 3:07pm

The Partial Function Application RFC is currently in voting, and right now it's a close vote to the negative. I wanted to take this opportunity to try and make the broader case for partial application and for its related RFC, the pipe operator, in a way that is more appropriate for a blog post than the RFC body (which is, by design, more concerned with the finer details of "what").

The main pushback on the RFC so far is that the benefits don't outweigh the cost of yet-more-syntax in the language. Which is a fair position to hold, albeit one I hope to convince you is incorrect. That is, I believe the benefits vastly outweigh the syntax and implementation cost.

Good technical writing is hard

Submitted by Larry on 31 May 2021 - 8:07pm

A few days ago, I randomly tossed this out on Twitter without context:

Technical writing requires assuming the reader is simultaneously highly intelligent and utterly ignorant, without making them feel like you think they're utterly ignorant.

That shit is hard, yo.

Someone asked for ideas on how to achieve that goal, and it seemed like a topic worthy of discussion so here we are.

One year of functional PHP; now in Russian!

Submitted by Larry on 11 May 2021 - 8:14pm

A year ago, I published my first solo book, Thinking Functionally in PHP. The reception has been extremely positive; almost everyone that's read it (that has bothered to talk to me about it) has found it clear, helpful, and enlightening. Mission accomplished!

To celebrate the one year anniversary of the book's publication, I am happy to make two announcements.

I made a TYPO

Submitted by Larry on 5 May 2021 - 4:55pm

I am a firm believer in "anything worth doing is worth doing right." So when given the opportunity to get paid to do that, it's hard for me to say no. Which is why I didn't.

I am happy to report that this is my first week in my new role as Staff Engineer on the TYPO3 core contributors team.

TYPO3 is one of the oldest Content Management Systems on the market, dating back to 1998 in one form or another. In that time it's built up a very loyal following and a robust, active community of users, developers, and contributors. It has also, like any system of its pedigree, built up a lot of code over the years that hasn't kept up with modern practices.

Fortunately, I have some experience in helping to modernize large Free Software projects.

The era of the Linux desktop is here. Ish.

Submitted by Larry on 21 February 2021 - 4:10pm

I've been a Linux user for 20 years, and Linux-primary for about 15 years. That puts me in the minority in most groups, even among developers who these days are still mostly Mac-o-philes if they're non-Windows. For that entire time, it's been a running gag that "this will be the year of the Linux desktop." And, of course, it never is. Whatever that means.

Guess what, we're now in the age of Linux. On the desktop. But it's not what you thought, and probably not what you wanted.

According to Ars Technica, the second most popular desktop OS after Windows is no longer Mac. It's... Chrome OS. Chromebooks run Linux, but are probably not what most people meant by "Linux on the desktop." They're also four of the top ten selling Laptops on Amazon. (Two others are Mac.)

The Flag of Treason

Submitted by Larry on 12 January 2021 - 4:15pm

Last week, the unthinkable happened.

Well, I shouldn't describe it like that. Thousands of people thought about it enough to make it happen, millions of people supported it, and many observers had been warning about it for weeks. Clearly it was on people's minds. But that doesn't make it any less incredible.

The President of the United States instigated an armed coup and assault on Congress, specifically and explicitly to disrupt an otherwise boring procedural footnote in the process of replacing him as President. The Capitol building was invaded and sacked for the first time since 1814.

Object properties, part 2: Examples

Submitted by Larry on 9 January 2021 - 6:33pm

In my last post, I went over some of the pros and cons of various proposals for making PHP objects more immutable-ish, and the contexts in which they would be useful. I also posted the link to the PHP Internals list, where it generated some interesting if meandering discussion (as is par for the course on Internals).

One of the requests was for sample code to demonstrate why I felt particular feature proposals were better than others. Fair enough! This post is in response to that request, and I think it will help illuminate the challenges better.

Object properties and immutability

Submitted by Larry on 28 December 2020 - 5:30pm

There has been much discussion in recent weeks in PHP circles about how to make objects more immutable. There have been a number of proposals made either formally or informally that relate to object property access, all aimed at making objects safer through restricting write access in some way.

Since my last mega post on PHP object ergonomics was so well-received and successful (it resulted in both constructor promotion and named arguments being added to PHP 8.0, thanks Nikita!), I figure I'll offer another summary of the problem space in the hopes of a deeper analysis suggesting a unified way forward.

How we fix the system

Submitted by Larry on 28 December 2020 - 4:20pm

(Lightly edited from a Twitter thread.)

I keep saying the GOP needs to be destroyed, utterly. That's true. But how can that happen when there are still honest, non-corrupt conservatives in the country? (Which there are.) They're not going to suddenly become Democrats, & you don't want the Democrats pulled right like that.

We need an honest conservative party in the US, if only to balance out the off-the-wall parts of the left. One that still respects science and civil rights, but can disagree on implementation details.

But in our 2 party system, how can such a party come to pass?