old programmer bitching, 27-28 May 2020

00:54

I had this "Saisho" (Dixons fake-Japanese brand) musical keyboard circa 1990. I'd forgotten the pure *awfulness* of the demo song sound. [MP3 link]

All the ten different instrument choices come back to me while listening to this!

03:12

Hah, it's like everything bad about the Lemmings music amplified.

Funnily enough I tracked down my childhood keyboard's demo last night. It's Bananarama - Venus [video link]

15:10

Bananarama covered that -- it is from the '60s. My dad had it on vinyl.

Odd to use a commercial song -- they must have paid royalties to somebody.

00:39

Yeah! "Shocking Blue"

I think the keyboard version is doing a sneaky thing of sounding like the more popular Bananarama version but maybe paying the rights to Shocking Blue who would accept $4.50.

00:39

Mate that's not how it works. Banana already must have been paying Blue to use the song. So any royalty stuff would go to the rights owner.

How do you not know this?! You're a Flash game maker.

Released some sweet new search code today, I'm glad that major problems like PAGINATION haven't been solved in the past. Well WordPress's search is as slow as my sister so I had to rewrite the whole fucking thing. And they keep asking me to change it because "it's just what I asked for, but not what I want". Today I counted all the search code. "Tasks" is normie-speak for "functions". [removed code analysis]

00:43

I'm laughing at the idea of someone inheriting this codebase and thinking "oh no, there's a function called build something HTML. I am a web designer"

00:45

For all intents and purposes I live in the 1980s, but for the purpose of making Web sites I live in the 1990s. (Don't worry I'm paranoid about security issues)

For tax purposes I live in 2020, after an argument that I took all the way to the EU High Court of Spiky Dragonthrones.

00:47

How do places that measure productivity in "KLOC" actually measure lines of code? They must ignore lines that just contain a { } symbol right?

00:54

> ParseYearString

It's ParseYearString that gets you. Fucking PHP. In C# I would just say "oh look it's a number, maybe I will check that it isn't greater than 3000 because that would be stupid".

In PHP I want to run every single damn thing through a barred iron gate because I'm not sure what piece of piss I might have.

00:54

That's what I mean. They wouldn't have to pay Bananarama (expensive), they would play Shocking Blue and say it was a cover of that, but get all the bonus of the song being popular via Bananarama

or they could just post "no copyright intended" on the back of the keyboard

Every developer ends up having to write on Wordpress as a platform at some point, it's not fair

How is the pagination done? I hate pagination. People think you just sprinkle pagination dust everywhere, and I want to do things like cursors and then get into an argument because NO IT IS NOT JUST AN IMPLEMENTATION DETAIL IT HAS RAMIFICATIONS DIE

00:57

> In PHP I want to run every single damn thing through a barred iron gate because I'm not sure what piece of piss I might have.

(Which I do, of course!)

I made a basic library of "getStringOrNull", "getIntOrNull", etc. so I could pretend I was writing in a real (a.k.a. static) language.

Statically-typed languages aren't the real ones any more, sigh

I'm just a bad programmer I think. Do you remember Paul Graham's hierarchy and imaginary "BLUB" language? I get it in theory but not in practice.

Fortunately by the time that programmers know what the fuck they are doing and have a "guild" of required standards etc. and it's like building/construction (where if you fuck up people fall three storeys and die), I will be on my fat pension.

Oh wait I don't have a pension.

00:58

DO YOU MIND? Don't reply while I'm still sending you 10 mails in a row, it's distracting.

01:05

> Statically-typed languages aren't the real ones any more, sigh

Have you seen TypeScript? Probably the most popular front-end language now, and its entire premise is "Jesus Christ JS needs type safety" and of course almost everyone loves it because type safety is a basic premise of programming anything that actually works.

01:06

> That's what I mean. They wouldn't have to pay Bananarama (expensive), they would play Shocking Blue and say it was a cover of that, but get all the bonus of the song being popular via Bananarama

I don't think that's true at all. Bananarama doesn't have the right to sublicense Venus. It's like if you told me "ok [name], you can put my game on your site", I can't then go and sell it to other people for $4.50.

BTW still waiting for the magic code that will let me unlock Flash [game name removed] when you're dead and gone. I am worried about the DRM lockup there.

> or they could just post "no copyright intended" on the back of the keyboard

lol yes

> Every developer ends up having to write on Wordpress as a platform at some point, it's not fair

lol yes also

> How is the pagination done? I hate pagination. People think you just sprinkle pagination dust everywhere, and I want to do things like cursors and then get into an argument because NO IT IS NOT JUST AN IMPLEMENTATION DETAIL IT HAS RAMIFICATIONS DIE

We had real performance issues here. Basically the old site was built on a CMS (ExpressionEngine) and every single damn thing had to be an EE page and EE's db schema is like shit you'd make up for a joke -- every single plugin/addition would add further columns to the main central table, and they had this one table with about 300 columns of nulls -- don't think I'm exaggerating this, it was about 300.

ANYWAY I thought "WordPress is good because it's popular and well supported and has got a good visual editor, BUT it is a CMS and not a database" -- so we have got an entire separate MySQL db of shit we were doing BEFORE, which is properly designed with foreign keys etc. etc. and managed/edited through a totally separate non-WoPr (but PHP) thing I made. I OOP'ed it right proper, it's quite nice.

For me the most tiresome thing about WoPr interop is this (which nobody can answer -- though I think I've since realised it was for people in older PHP versions who assumed that $variable was always their own variable and couldn't be some random HTTP POST crap from an attacker): [removed link to a StackOverflow question]

Errrm. Yeah anyway (after some wrangling with client, saying "people don't jump to page 8, they check the first page, and then if they can't find the results, they go to page 2...") -- we don't need a COUNT of results, so it's enough just to pick the top 50 in each category (there are a lot of fucking categories, and some are in our external db and some are within WordPress, and there is a special overnight indexer that sucks those up, because real-time querying of WordPress *metadata* takes all fucking day, believe me)

Oh just try it. Search box at [removed link]

Find a vulnerability and I'll send you 75p and a packet of Rolos. Please don't tell the Russians.

01:07

> Have you seen TypeScript? Probably the most popular front-end language now, and its entire premise is "Jesus Christ JS needs type safety" and of course almost everyone loves it because type safety is a basic premise of programming anything that actually works.

I'm holding out for WebAssembly, which is basically Java.

*script* Java. what should we call it?

01:08

Yeah also fuck those people who are saying "hey! I told you we needed assertions, and checked exceptions, and free pizza, and ANYTHING BUT TYPE SAFETY that I can jump on"

Do these people exist? IDK I'm drunk.

01:09

Isn't TypeScript Microsoft? Nobody will use that unless they write "THIS IS AWESOME" (web dev catnip)

i hate humans

01:10

> buildBobChoicesHtml

BTW thought you might ask about that one. No? Bobs are business objects. Is that just my thing? I don't remember seeing bob outside of my code, I just got tired of typing it.

01:11

Microsoft managed to worm their way in to become king of all the coolest open source infrastructure and their stuff is beloved by all the open source nerds

even Visual Studio Code is the default editor for everything now

They own GitHub
npm
TypeScript

01:11

In PHP you can literally have a variable containing a class reference (what would be typeof(X) in C#) and treat it as a fucking string. It has made me super sloppy, once I got an error because I was trying to call a class method on the string.

WHY? WHY?

01:12

> Microsoft managed to worm their way in to become king of all the coolest open source infrastructure and their stuff is beloved by all the open source nerds

Yes and somehow VS Code is rubbish shit that only a person who edits HTML can love. Are they gonna retire Visual Studio which was actually good? Maybe they have.

01:12

BTW whoever achieved this must have been given a fucking yacht. MS has been trying to do it for 20 years.

04:49

I have just noticed you are MISSING MY POINT ABOUT BANANARAMA THIS WILL NOT STAND