Archive for the ‘Notes’ Category

Watching history happen.

Sunday, September 2nd, 2018

My dad once told me “When I was a kid, world war 2 was news, now it’s history.”

Today I went to a hooley festival. I don’t know what a hooley is or why it would choose to collapse on betelgeuse seven. But what I did learn was that the kingston area used to be a big relaxing hotel-laden refuge from the city. People would take 2-3 week vacations away from the city in this area. But the car killed the entire economy there. Now instead of the journey being a big deal, such that you’d stay there a while, you could take a day trip in your car.

Consequently the hotel business dried up and that took everything around it with it.

That was 100 years ago, there’s no evidence left of this vibrant economy.

What I realized was interesting about that is that in 100 years, nobody will know what a strip mall is, all of the small retail businesses having been put out of business by big box stores (the few that survive) and amazon and the like. And we’re watching it happen now. Now it is news, in 100 years, it will be history.

 

The UI designers who design invisible interfaces are just as bad as the software developers that implement them.

Sunday, July 8th, 2018

Forgive me, I just read some n-gate and that always puts me in a mood.

My wife asked me for help printing something from her insiPad. She’s got a 25 page pdf that she only wants to print one page of.

How to do it.

We had previously downloaded some hp smart program that allows you to take webpages and other content and send it to the hp smart program so you can print it.

And indeed is does print. It found my printer, it knows how much ink I’ve got left, the whole nine yards.

But how to print one page of a pdf. There’s a a print button and a few other icons and a hamburger menu, but no page layout settings where traditional desktop program put that option.

So I google. Try and google anything with ipad and print and all you get is zillions of articles how to print from your ipad.

Then I tried the hp virtual assistant. Slightly less useful than a human who couldn’t answer my question, this thing couldn’t even understand what I was asking.

So I give up asking for help in this world of endless documentation. I suppose I could post a stackexchange question and wait a day to get downvoted for existing. But that wouldn’t help me solve my problem.

So I go back to poking at the interface and finally… finally I hit upon the magical incantation. One must double click the preview of the page. Not long-press mind you (which at least on android is a standard UI technique) but double click. Maybe this is an ipad thing, I never use apple products so perhaps this is a standard I am unaware of, but once again, the invisible UI design bites me in the ass again.

I wonder if anybody does a study on how many millions of dollars are wasted on UI, development and QA resources for features in products that never get used because the interface to the feature is invisible and nobody accidentally comes across it.

I HATE HATE HATE invisible interfaces.

Right now I’m writing this rant in wordpress, and there’s no save button anywhere. There is no key I can see to press on my keyboard to make the save button appear. Oh… there it is. Tab. If I press tab the invisible interface appears again.

Of course it doesn’t say that on the screen anywhere “Press tab to see the publish button.”

All the invisible UI designers should burn in hell right next to all of the incompetent software developers who implement them.

 

Because china

Sunday, June 24th, 2018

I’ve been saying for years how everything is starting to suck more and more, mostly in the software development world because that’s what I see most, but now I’m starting to see the edges fraying in other fields too.

I call this “progress.” When we take something that works, make it better, and the end result is that it doesn’t work as well.

Take the humble telephone. It used to be that if the power went out because of a power source problem (and not wires down on your street), you could still make phone calls. But now we have better phones, the kind that go out when the power goes out. Things like that.

Well today I saw a number of examples in a completely different field. All of my kids’ birthdays are in June, and as a result there’s an onslaught of toys and assembly required all around the same time.

Today I noticed this:

A solar car that needed to be assembled from parts that snapped together, included two identical parts that instead should have been a left side and a right side part. Poor quality control? Bad sorting mechanism? Surely there was a person somewhere who gathered the parts into a set for this toy, and grabbed one of the wrong part. I’m going to begin the effort of trying to get the correct part from someplace.hk tomorrow, I’m sure it will yield nothing. I can tell by the relatively good but still obviously translated instruction page.

But the day is not over. We also got a toy that was a car carrier truck, that included a little ford focus car that it carried, so you can play with them as a set or separately. You can put the ford focus in the truck or drive it out of the truck. Very cool for a small kid. The focus was decked out with all sorts of decals to make it sporty looking, except it was painfully obvious that one of the stickers was just missing. Nobody ever even tried to put it on. Poor quality control? Bin of stickers empty? Surely there was a person somewhere who’s job it was to put the stickers on this car and for whatever reason, they missed this one.

A missing sticker here, an incorrect part there, a software crash over there… Not a big deal.

But it’s a sign that things are getting worse. I think a while ago I went on about “peak programmer.” I’m starting to think perhaps the problem is more systemic than just programs becoming too complex for your average programmer.

Maybe all of our business processes and just-in-time supply chains have become so complicated and efficient that the average person can’t deal with it 100% of the time and more and more mistakes are made.

Stickers and toy parts aren’t a big deal, but one of these days, somebody’s going to put the wrong stone in the keystone position of the wall they’re building, or they’ll grab the lower-integrity I-beam when building that bridge buttress.

Or the surgeon’s scalpel will break due to a bad mixture of the steel used to make it.

Or maybe I just got two bad toys on the same day.

But I don’t think so.

 

 

 

 

 

 

E.T. Reboot

Wednesday, March 7th, 2018

It just occurred to me today that the movie “The Martian” is quite a bit like E.T. with the roles reversed.
E.T. is left behind by his buddies who eventually come back for him after he calls home.
Matt daemon is left behind by his buddies who eventually come back for him after he calls home.

Hastening the collapse.

Thursday, January 18th, 2018

I’ve often pondered the idea of hastening the collapse.

Given the way things are going, and this history of man, it’s hard to imagine things going more faster better greater stronger without some kind of collapse.

Think the roman empire, the british empire, etc.

Nobody likes the politicians, nobody believes the media, they’re just there for entertainment, the environment is being ruined, everything costs more, the economic divide between the haves and the have-lesses is growing… It will all end in tears.

So why not speed it up? Why wait for it to happen slowly and miserably, when we can just trigger the collapse and get it over with more quickly and be done with it and then move on to the next thing.

OOOOOOOOOOOOOOOOOHHHHHHHHHHHHHHHHHHHH…

Because maybe the collapse will suck and as it turns out you don’t have it all that bad after all.

 

 

Lobbyists.

Thursday, January 11th, 2018

Perhaps one way to get rid of lobbyists and special interests is to do to them what uber is doing to medallion cabbies.

Design by itch.

Wednesday, December 13th, 2017

Everybody loves open source software.

But if you think about what’s going on, it’s this: open source software was written by/as a bunch of scratched itches, and no more. Itches are like evolution, they’re not intelligent. Which means when an itch is scratched, it’s good enough, if it’s not itching enough, it doesn’t even get scratched.

Anybody who is unhappy with the state of a piece of open source software is free and able to do something about it, but if it’s not enough of an itch and we have bigger itches, we don’t do it and it stays the way it is. What we have is good enough. Just like evolution.

And so it is with every single open source software developer. And that’s why everything is the way it is.

 

Peak programmer

Sunday, December 3rd, 2017

http://queue.acm.org/detail.cfm?id=2349257

That article finishes with:

“But to anyone who has ever wondered whether using m4 macros to configure autoconf to write a shell script to look for 26 Fortran compilers in order to build a Web browser was a bit of a detour, Brooks offers well-reasoned hope that there can be a better way.”

A man after my own heart.
But what can be done? Can there be a better way? I don’t think so.
I have come up with a new theory relatively recently, in the past year or two to explain this:
I think we have reached “peak programmer.”
The work of rewriting the same stupid lines of code to read in command line params or process the “list” function from a json call, can’t be built once and reused, so everybody has to implement it themselves for their particular application or database or whatever.
And people like to do that, and they’re good at it because they’ve listed the items in a database a million times. They just like doing it with new frameworks and cooler c++ techniques. These are sometimes called “disk to screen” applications, which is really 99% of what everybody does.
But that’s it. That is peak programmer. That’s what most of the people who are programmers are capable of doing at least reasonably well. Well maybe. See below.
To do the next thing requires really smart people (I mean REALLY smart people) who can come up with the algorithms that are the backbone of neural networks and machine learning and all that. People who are not interested in just typing in the same crap all over again in a different programming language but are ready to and CAN invent the next paradigm shift departure from “disk to screen.”
For example: writing a program that can take an audio sample, and find a song match from what’s playing in the sample despite background noise, low volume and only getting a random snippet of the song. Not too many disk-to-screen-ers would be able to pull that off, I think.
I think there just aren’t that many people capable in the world. Programmers may be a small minority overall, but the people who will move the world next probably number in the thousands, if that. I think we’re running out of steam, the technology is getting too hard, abstracted away, layered with crap and filled with things like automake and autoconf and configure.
And it’s not going to go away. The pile of shit we have built as an industry has caught up to the average smart programmer intelligence.
We can’t make it better. We could start from scratch and build something better, but that will never get any traction so it will never take off. I’m sure people do projects like that and you never hear about them because it doesn’t run windows or simply because the barrier to adoption is too high.
The quantum computer? It is doomed. I can tell already. As soon as somebody gets something to work that is even moderately consumer usable, somebody will write an x86 translation layer for it and then get linux to run on it, and then windows and then all we’ll have is slightly faster computers that are even more shittily designed than what we have now.
I’ve got a few ideas for marvels of the future (like a computer that doesn’t need disk, or filesystems or files, the technology already exists) but everybody I pitch it to says “nope, never going to happen.”
Because we’ve reached peak programmer and nobody wants to or can do anything beyond disk to screen.
You know what really made me sad recently, it really hurt when I saw this:
The other day I was trying to help a friend find and set up a better print-screen screen-area selecter in xubuntu.
You go to the settings menu, then the keyboard option, then application shortcuts.
Click on the program entry to edit, change the setting, click ok and….
“System program problem detected.” or whatever it says when a program crashes.
That’s right. Just wanted to change the command that gets run when you hit a keyboard shortcut, and for that, I get a program crash.
This actually turned my stomach a bit. I often complain that nobody ever tests anything but the positive test case of their software, but this wonderful work of art, couldn’t even do that.

And I’m sure while it might seem simple to a programmer “just read the value from the text box and update a config file” I’m sure what’s actually going on is that there are layers and layers of remote target endpoint updater (even though the endpoint is just a config file on the same machine) and user interface abstraction text box locator (even though it’s just a textbox that  GetWindowText could handle). And each of those layers and the libraries they rely on are all positive-test-case-only tested, and as a result, I want to use a feature of the UI manager that somebody thought was a good idea to bother writing a feature for, and I can’t because it blows up when I try and use it.

Peak programmer.

Updating a config file from a setting in a text box is beyond the abilities of the average software developer.

I have another friend who says “Complexity breeds profit.” So at least I know I will never be for want of employment.

Maybe what’s really going on, is that we’re doing this on purpose to make sure the computers can never take our jobs away.

 

Missing letter sounds

Sunday, November 26th, 2017

So today I thought about how many letters are pronounced like one of the vowels, so I made a list.

In the first column is the vowel, a, e, i, o and u, and following them are the letters that are sounded out by that vowel.

E gets the overwhelming majority. A and O get nothing but themselves.

a a j k 
e b c d e g p t v z
i i y
o o
u q u w

But what about the missing letters:

f h l m n r s x

What makes them so special?

And the sounds that don’t even have letters, like th.

There’s probably lots of language people and phoneme people who’ve worked all this out but I just noticed it today.

 

The socialism of coding standards.

Tuesday, November 21st, 2017

I’ve been writing in my weird coding style for decades now, and everybody who’s ever seen it has complained that it’s stupid in one way or another.

That’s okay, it’s my style not theirs. Their style is different.

But the one thing that’s assured is that the coding style that is the corporate standard wherever you work won’t be quite like anybody in particular’s style.

Which means that everybody has to code in a way that is not comfortable to them. Everybody has to conform to something they find annoying in some way.

Seems to me, it would make more sense if everybody wrote in whatever style they felt most comfortable with and everybody else had to be open minded and tolerant of everybody else’s style.

Imagine that, having an open mind about other people’s opinions.

This way you could concentrate on figuring out how to convert the solution to a problem into a piece of software and not have to worry about reading it in a way you find awkward while doing it. It removes a distraction.

And just as a final kick in the head: your next job? Their coding standard is going to be different from your current job’s coding standard style and you’re going to have to get used to another style anyway, so why doesn’t everybody just do what they want be be tolerant of others. Sounds a bit libertarian, but that’s what makes sense to me.