SFINAEIBP

February 5th, 2019

Substitution failure is not an error is bad programming, in my opinion.

It seems to me that if you are making special cases for different classes in a template, then you’ve clearly missed the point of templates and are using them incorrectly. Templates are supposed to apply a concept or algorithm uniformly to a class. A vector, or a hash, work on objects of any type, uniformly.

If you’re SFINAEing, then what you really want to be doing is make a base class and derive other classes from it, each having traits specific to that class. That’s the very definition of what object oriented programming is for.

By taking advantage of a hack to cover a language flaw that serves no purpose but to supply entries for ‘the most heinous error message to come out of a c++ compiler’ contest, you’re being cool, but you’re not being a good programmer.

 

Google Shark Jumping

December 17th, 2018

In 2003, google says: “Seth Godin Says Google Has Officially Jumped the Shark”

I think that’s kind of a personal decision.

I think google only recently jumped the shark for me.

Google, having amassed vast amounts of information about every or at least lots of individuals can be said to jump the shark for different people at different times depending on the amount and type of data they have for a particular person and how they use it and the results that gathering that information for a particular person has had.

For me, google just jumped the shark.

A few weeks ago, probably months ago now, I forget when it was, google stopped updating the news headlines on their “google news and weather” app.

This is kinda funny because I remember them doing that once before as well, forcing me to abandon my favorite news app for something ‘better’.

Well this is the second time they’ve done that, maybe third time’s the charm.

But it wasn’t, it was the time they jumped the shark.

I replaced the “google news and weather” app with the “google news” app like a good little sheep, just like they told me to. Funny how removing weather from the app somehow was supposed to make it better.

Anyway.

A friend of mine just asked me about something related to politics and I pointed out how I don’t read too much about politics, but it made me realize that this new app shows me lots more in the way of news articles and most of them are political.

There’s the “just for you” page, and the “latest” page which are nearly identical and filled with lots of the latest political hoo-ha. I will admit to reading some of it, but not very much.

But I realize I don’t read many non-political articles, because it just doesn’t show me very many.

I have to look a number of pages in to get an article that is just a current news story about something that isn’t politics.

Then I realized, that this app never shows me sports news. That’s fine, I never follow sports, and I never click on articles, so google got that one right.

But then I thought about it some more and realized, that I do read a relatively large percentage of ‘technology’ articles, relative to all the news I read. And I realized that lately, most of what I’ve seen show up in the technology section of the news app is about games.

I’m not a gamer, I really don’t care about fortnight or why I should click A-B-B-A or this or that game. I have clicked through many more technology articles than political articles, and none of them were about games, yet that’s all google shows me now.

And I realized… google has jumped the shark. They have so fined-tuned their understanding of my interests in news articles that they can no longer show me news articles I’m actually interested in.

Congratulations google, you’ve peaked, you’ve surpassed maximum, you’re on the downside of the hill.

I can’t wait to see who’s going to replace them with a small shell script.

 

 

Things that are hard to google for (1).

December 12th, 2018

Try finding information with google about problems building gdb.

It’s impossible.

And it’s not because nobody ever has problems building gdb.

 

I found this amusing.

December 9th, 2018

When ngate (http://n-gate.com/) refers to joe user, he calls them “An Internet.”

When ngate refers to a web developer, he calls them “A webshit.”

But when ngate refers to Richard Stallman, he refers to “Some fuckwad.”

That made me laugh, so I thought I’d share.

 

A slightly better internet

December 1st, 2018

Since the dawn of google you found stuff on the web by searching with keywords.

Yahoo did this organized thing where they grouped the internet into categories. The internet was much smaller then.

Altavista did… I don’t remember what altavista did, but it didn’t work as well as google.

But google does us all one big disservice. It presents links to websites with ads.

Wouldn’t it be neat if there was a search engine that did the same thing google did, but would only show you sites with no ads. Or maybe at least no ads that popped up at you distracting you from the content you were trying to read.

So how hard would that be? Make a webpage with a search box, that hits google’s servers to do the search (probably against some terms of use of theirs) and then filtered out results based on a blacklist of sites with annoying ads.

Where to get that information? Well, the helpful user, of course.

Each link could be presented in an iframe with a little bar at the top with a button that says “click this if you see an ad” I suppose you could automate it by doing whatever adblocker does to block ads, you can just use to detect them, and if you do, flag the page as annoying and it will never show up in search responses again.

Just an idea.

What’s the business model you ask? I don’t really care.  I just find being jarred away from reading something by an annoying popup ad… well… annoying.

 

Why do we need intake valves?

November 8th, 2018

I’m not a mechanical engineer, this is all armchair philosophy stuff to me, but it seems since we have fuel injectors, maybe we could dispense with intake valves and have fuel-and-air-mixture injectors instead. It would free up a bunch of space at the cylinder head. maybe centering the exhaust valves would cause some kind of efficiency win. I dunno just thought of it the other day.

Dumpster fire

October 13th, 2018

It just occurred to me that “dumpster fire” is basically a modern concoction of “train wreck.”

Train wrecks have been around for a long time and apparently for a while in our history, they were artificially created as a form of entertainment. Guys with a bunch of money would buy old locomotives and crash them head to head in a stadium or open area arena for the sole purpose of attracting ticket buyers to watch a train wreck (and of course all of the hangers on who want to make money selling food and chachkas to the people who come to see the show.)

So that means that there is likely a market for dumpster-fire-as-entertainment.

Certainly that would be far less dangerous than a planned train wreck. Apparently the boilers would explode and the shrapnel would occasionally kill people.

But how could you make a dumpster fire exciting? Well, putting two of them on a train track and sending them careening at each other, seems like a pretty obvious win to me…

Watching history happen.

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.

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

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.