Morning Coffee

What I particularly like is the days when I’m standing in front of all the bits required to make coffee and there’s this internal dialogue:

L: Okay, make coffee now.
R: Wut?
L: MAKE COFFEE!!
R: How?
L: Oh FFS all the bits are there, just DO IT!!
R: Something about this round thing, right?
L: Aughh!! WAKE THE F*CK UP!
R: I need coffee.
L: Yes, YES! You need to MAKE it, you do this every f*cking day!
R: Ugh, ok, right. Push grind button.
L: There we go! F*ck me.
R: Water.
L: Yes, yes, you’ve got this!

On the Rise of Hate

On the Rise of Hate

As we recover from yet another mass killing we hear a lot of smart people saying that the rise of hate is driven by a fear of loss of power. But they don’t clearly identify where that fear comes from.

At the same time, even though we might not be aware of it most of us already know where it comes from on a visceral level. We worry about our debt load, about what kind of world our children and grandchildren will grow up in, about the environment, about our jobs, our pensions, and ironically about the rise of hate.

Humans are a competitive species. Our political systems are a gossamer barrier between modern civilization and tribalism. It’s far too easy to transfer our anxieties into an identification of some “other” that we can blame for our worries. It is a dangerously small step from resentment to hatred, and from there to violence.

What few seem to notice, or at least to explicitly identify, is the correlation between the confidence of the middle class and the strength of social liberalism. If most people think the future will be bright and there will be more than enough prosperity to go around, suddenly we’re a lot less concerned about differences in race, religion, gender, and so on.

It is a cruel irony that this social conservatism has a affinity for autocratic politicians, precisely the type that are going to ensure that the wealth gap increases. The real way to alleviate social anxiety is to vote for a party that will actually work to redistribute wealth. Instead of gravitating towards populists the anxious middle class should be gravitating to socialism.

If I were a conspiracy theorist, I’d assert that the Illuminati (or whoever) are manipulating society to achieve this result, but I just can’t see that. I think it’s just our base human nature. We all have a responsibility to fight these instincts, for nothing good can come from the alternative.

Fix: Single File Tests Break in Netbeans 11.0 / PHPUnit 8.2

TL/DR: There’s a one line patch to PHPUnit below that will kludge the kludge and get you running again.

Anyone who has worked with PHPUnit for some time knows that backwards compatibility isn’t exactly a prime consideration. Meanwhile, although Netbeans currently has very good support for PHP, you have to figure that the intersection set between the Java developers working on the project and the people who figure that PHP is anything but a toy language for building simple projects is, well… small. [We’ll just ignore the fact that Facebook, the largest application on the planet, is written in PHP].

So when Netbeans says it offers support for PHPUnit 3.4.0 or higher, it’s okay to expect the integration to be out of date. Rather surprisingly, it’s actually worked right up to PHPUnit 8.1.

But now we have 8.2. Command line parsing has been made more robust, and the extra parameter Netbeans passes in to a kludged custom test when running a single file doesn’t work anymore. [BTW I don’t blame the Netbeans developers for this kludge, it was probably the only solution that worked back in 3.4.0.]

This makes the current Netbeans approach outdated and unworkable. Like many open source projects, this means someone who cares has to go in and do some significant re-work. Don’t hold your breath. I’d give it a go but my Java foo is about 20 years old now. I probably don’t know enough anymore to even be dangerous. I think I know a good architectural approach but attempting to implement it would be a recipe for failure.

So what to do? Patch PHPUnit! This is a pain since the patch will have to be reapplied every time PHPUnit is updated, which is frequently. But at least it works.

So here’s the kludge: in the file TextUI/Command.php in the handleArguments array, just change the line that reads

if (isset($this->options[1][1])) {

to

if (isset($this->options[1][1]) && substr($this->options[1][1], 0, 6) != '--run=') {

This ignores the Netbeans-generated argument and everything works as before. Not pretty but it works.

For more information (and a possible fix), follow the Netbeans Issue.