Look What I Can Do

I’m old enough to remember how hilarious the Mad TV’s skit Stuart was.

https://www.youtube.com/results?search_query=mad+tv+stuart

He had this bit where he’d do a silly dance and say “look what I can do!” I feel a sense of deja vu when I read some development blogs. Look what I can do!

What is all the background you need, and tradeoffs you’ll have to make, and beds you’ll have to share, in order to get in on something? Sure it’s cool that (for example) a react component renders itself using just the state it inherits. Awesome! But that’s about 5% of the machination going on in a typical web app. What about the preceding 50% of the work you have to do just to get to that point? And the 40% of space you’ve lost painting yourself into a corner with it? Are you ready to just throw out the decade of knowledge of jQuery and its plugins, to gain functional rendering?

Don’t just show me what you can do. That’s great as far as it goes. Also show me what I have to do in order to get to that point. And then show me what I’ll have to live with and accept once I’ve made the deal.

Written 2015-11-18.

The Morsel

I remember seeing an etching of the the trial by ordeal method of torturing people called “the morsel” when I was in high school. I already had first hand knowledge of bad people looking to cause trouble. But understanding the depth of depravity that was the Salem witch trials put my understanding into a larger global context. It wasn’t that some people were bad, it’s that people are bad.

Written 2015-11-19.

Front End Shame

I use jquery and bootstrap for every project I build. At this point I’ve spent more time reading blog posts trying to shame me for this, than I have paying back any kind of technical debt this has caused me. I know that’s true because I have never spent a second (that I can think of) cleaning up any kind of mess or problem caused by using these tools.

Written 2015-11-21.

BCC Bulk Emails

I try very hard to be respectful when sending bulk email to many recipients. Usually around a dozen or so recipients is when I start to consider these kinds of issues. One thing I really want to avoid is the dreaded “reply all cascade”. This happens when one person on the mailing list doesn’t like to material, and asks to be removed. They don’t reply to just the sender though. Instead they reply-all to everyone, asking to be removed from the distribution. Then someone else helpfully replies-all again, telling the previous person not to reply-all. The irony is lost on them, I suppose. This is when all hell breaks loose. Frustrated by so many pointless emails, more and more people start replying-all telling everyone else (again) not to reply-all. I have literally seen these things go on for days and involved dozens of exchanges.

All of this can be trivially avoided if the original sender uses “blind carbon copy” or “bcc” in the first place. This way nobody can reply all. The worst they can do is reply to the sender only. Problem solved.

Written 2019-09-26.

Pass This Along

This is an idea I had for a sort of distributed, asynchronous, semi-anonymous pen pal letter program. You’d receive a manilla envelope with a few sheets of written or printed paper, and these instructions.

Read The Pages

Read the pages in the envelope at your leisure.

Write Your Own Page

This step is optional. If you don’t feel like writing anything, that’s fine.

If You Feel Like Writing

Write your own page. You’ve seen what others have written, now write what you have to say. It should be about 300 words, or one page long. It can be handwritten, or typed, however works best for you. Try to use the same language though, as it’s unlikely the next person speaks a different language than all the previous writers did.

You can write your name on your page if you like, or the date, or where you’re writing from. Or not, whatever. It’s up to you how much you want to identify yourself.

The pages are numbered. Add +1 to the highest number of all the pages, and put that number on your page.

If You’d Rather Not

You don’t have to write anything. That’s cool. Just pass the envelope along as is.

Out With The Old

If there’s seven pages or less, including yours if you wrote one, then that’s great. Carry on.

If there’s now eight pages, or more, including yours if you wrote one, then destroy the pages with the lowest numbers on them, until there’s just seven left. Don’t count this instruction sheet, always keep it in the envelope. Don’t keep these lower numbered pages, or type them into a computer, or otherwise “save” them. Take a picture with your heart, as they say. They were written for you, and the others who’ve received this envelope before you did, and now they’re finished. Let them go.

Pass It Along

Give the envelope to somebody else. It can be anyone. A friend. A co-worker. Even a total stranger is a fine recipient. Just pass it along.

Keep in mind the audience. They can be any gender, age, religion, ethnicity, profession, philosophy, etc. Do try to give it to somebody who can read the language though. The goal isn’t to keep passing this around within a small circle of people. The idea is to broaden the circle.

Written 2019-08-20.

Honeypot

A honeypot is a fairly common thing, you see it all the time in computing, but it also shows up in normal life too. The idea is simple: to get you to let your guard down, your enemy sets up a “pot” that appears too good to be true, and is actually a trap!

A classic example is the beach condo seminar. In exchange for listening to a short seminar about beachfront condos, just an hour or two really, they’ll let you stay in one for free for the whole weekend! It sounds too good to be true. It is! Either your financial data will get stolen, you’ll be given a very hard sell, or they’ll just keep pestering you with spam and robocalls forever afterwards.

Another is the “anonymous” survey sent to corporate employees. Ostensibly just for open and honest feedback, it’s claimed they won’t know who said what. Do you believe this? Don’t believe it, it’s a trap! Even if they don’t know exactly who filled out which survey, don’t you think your relentless dead-horse-kicking about the lack of Peanut M&Ms in the break room vending machine is going to give you away? Hint: everybody knows it’s you, dude.

The concept even extends into advertising and services. If a service costs you zero dollars, then it’s a honey pot. They’re likely selling your data, or at least spamming you with ads. One thing is for sure, the service is not free, ultimately. Think about it. Who is paying for all of this, how, why?

There is no such thing as a free lunch.

Written 2019-07-07.

Don’t Go Meta

I am a recovering meta talker. I find it difficult to talk about something without talking about talking about it. When I finally started listening to podcasts, I learned how annoying this was. I hate it when podcasts talk about podcasting: this is my mic, what was that noise, why is my voice hoarse. It’s never anything I want to hear about. (Side comment: just edit all that out, please.) But once I could hear it in others, I really started to nice how often and extensively I do it myself.

In programming we have a concept called meta-programming. It’s a very powerful technique. If you’re familiar with generics, or templates, or macros, then you are already halfway familiar with it. Meta-programming is the same idea, taken into the realm of coding. Instead of just doing the needful, you write code that writes code to do the needful. It can be quite powerful when you actually need it. But usually when I do it, there’s too much navel gazing and self distraction going on.

If you have something to say, just say it. If you have code to write, just write it. There’s room for literary criticism, and talking shop among peers, and telling the rest of the story. But avoid it when you can or else you’ll end up like me: going on for far too long about nothing anybody cares about anymore.

Search for: i’m okay; the bull is dead

Written 2019-08-07.

Zero One Infinity

Zero One Infinity is an invaluable rule of thumb during requirements gathering. There are only three numbers: zero, one, and infinity or N or any arbitrary number you care to use. The point is, if something is possible, and there is any possible variation or duplication or repetition of it, then there will be essentially infinite instances of it. You might as well design and code for that.

Search for: monthy python holy grail count to three

If somebody tells you something is impossible and will never happen (aka zero) then be suspicious.

If they tell you it’ll only ever be once, promise, then be suspicious.

If they tell you it’ll only ever be N, not more, nor less, then be suspicious.

Are you seeing a pattern forming here?

Written 2019-08-07.

A KVM Switch That Actually Works

I bought a KVM switch recently, just a simple two port HDMI and USB job. I’ve never had a lot of luck with these things. They never seemed to quite work right. But surely nowadays with these very mature port and cable technologies things would just work? No. They do not work.

For about 10% of the price I picked up some cables from monoprice.com and perfected what I call a “poor man’s KVM switch”. Granted it is missing the convenient one-button toggle from one machine to the other. But at least it does actually work which is a great improvement.

kvm

Written 2019-01-23.

Design a site like this with WordPress.com
Get started