Productive day of organizing tools during some much needed R&R. Hadn’t take a day off in eight months. Two-/three-day weekends belonged to other people.
On a side note, I like the concept of Kaizen foam, I don’t like the implementation.
Somebody needs to think about this stuff...
by justin
by justin
I would say that I spent my quiet weekend casually pulling UTP Cat6 network cables through walls and floor cavities in the condo so I now have Ubiquiti Unifi WiFi Access Points on all four floors and excellent coverage. Loving the built-in PoE of the Unifi Dream Machine Special Edition by the way.
But what I really did this weekend was spend most of it carefully sliding storage organizers of electronics down the hallway, and moving towering shelves of books twenty-four inches to the right‡, shooing my wife away when she noticed the layers of dust on the shelves and books “NOW you need to clean, sort, organize and dust?!?”, fighting cats that wanted to play with the string that I was using to pull some cables “What the hell is it snagged on now?!?!” and swearing at the fish tape that decided it wanted to visit Never Never Land by turning left at the third joist on the right rather than just making a bee line for the precisely drilled hole in the decking. There was also some strenuous debating of whether I wanted to go back up five flights of stairs (for the umpteenth time) to retrieve the flat spade soldering tip instead of the needle nose tip I had in the iron in my hand just to re-solder the network cable splice. “Do I really need to use shrink wrap on this or will gaff tape work? Hmm. Five flights of stairs…. gaff tape it is then!”
There is now a distinct lack of Cat6 running down the stairwell and certainly less of a tripping hazard just so we can have low-latency Diablo 3 gaming sessions.
‡ Except you cannot actually shift an entire 400lb book shelf in one go without doing yourself an injury so it was more like moving three or four books at a time.
by justin
My wife is out of town for a couple of weeks. I have fallen back in to my usual habit of surviving on breakfast cereal. Anybody that knows me personally also knows this isn’t how I ordinarily live, what with the several years of culinary school and all.
I bought a fully cooked lasagne which sat in my fridge since Monday last, and me with the full intention of cooking and consuming it over the course of three days.
Well here we are, six days later, and that lasagne needs to be ate.
“Reheat at 325 for 20 minutes.|
Done!
“Serves four.”
Serves four, it says.
And I took that personally.
Can already feel the sodium level in my body spiking.
I regret nothing.
Except maybe for the fact I am out of antacids.
Cannot feel my fingers… but I can hear every bubble fizzing in my glass of sparkling water. Is that normal?
by justin
When engineers take up hairdressing…
Saves me well over $300 a month colouring and styling my wife’s hair by myself. Plus she gets the exact look she wants.
by justin
A Spacemouse Enterprise and a Cintiq Pro 32 multitouch art tablet.
And Fusion 360. And Zbrush. And Mudbox. And Photoshop. And Illustrator. And ACID. And Ableton. And Shapr3D.
ZOMG!?! Mind-blowing! Changes everything about how I make art and music.
Er… that is all.
by justin
You know what’s really annoying?
Going to Home Depot to buy a 7/8″ hole saw with a 3/8″ shank, along with the mandrel for your power drill, so you can drill a neat and tidy hole in the back of a cabinet to feed a couple of cables through, only to get home and realise that the mandrel has a 1/2″ shank that won’t fit the 3/8″ shank hole on the hole saw.
So you go back to Home Depot to get what you need and figure you will return the incorrect mandrel whilst you’re at it.
But you know what is even more annoying than that?
Standing in the returns line, fidgeting and fiddling with the mandrel, only to realise it has a removable collar that permits the shank of the mandrel to fit both 3/8″ shank hole and 1/2″ shank hole, hole saw bits.
I am now going to remove “detail oriented” and “quickly gets up to speed with new concepts” from my C.V.
by justin
I might have the suction on the vac turned up “a leeetle too high.”
When the detail sander glues itself to the underside of the cabinet and requires no support from you and the sander is happy to wander around under the cabinet all by itself.
by justin
My career has been a little odd. I earn less than some, but more than most. I don’t ever really feel like I’ve worked a day in my life. I get paid $$$ to play. I find interesting problems, and I sign up for that. Some days are difficult. I am not interested building yet another “it.” I am always looking for the “it+1” or “it+that” or “it*n” or “it/time” or “it=>(return null)”
I am more tactical than strategic in my career path. I don’t have an end goal. I’m not looking to min/max income or position. People race ahead of me, younger people chasing that brass ring at BigMegaCorp. I know that isn’t in my mental makeup to want that.
I made a comment once that “I will stop work the day that I die” and someone pointed out it was the saddest thing they ever read. For me, it isn’t. Because I don’t define “work” as toiling away on a souless project without meaning, or building yet another CRUD app (doing “it”).
I play.
Every day.
And I’m happy.
And when someone tries to get me to do something that is more like “bullshit jobs”, I’ll tolerate it for a while if “we need to do this to ship.” I am willing to do whatever it takes to ship. If that means I have to push a broom about for a while, I will.
But if my work becomes permanently that, and we’ve shipped, or we keep delaying our ship date and the bullshit goes on too long, I wander off to find something else to play with. I do what I do out of love for my work, but not out of love for my job or love for a company. I’d do the kind of work I do for free, even if I wasn’t getting paid. But I still want to get paid for my production. I think I have an incredibly privileged position and I realise that over 90% of software engineers, if they are honest with themselves, probably are doing absolutely meaningless work that nobody wants.
by justin
Installed a new garbage disposal under our kitchen sink when the (exceptionally) old disposal developed a hairline crack and leaked all over the inside of our kitchen cabinet. Thanks to my brother-in-law for helping with that and showing me how easy it actually is, though I didn’t get the full experience because even though I held the light at every possible angle, not once did he raise his voice about how I was holding the flashlight wrong.
Every five minutes of being under the sink I constantly reminded myself “yah know, software development ain’t that bad and it pays better…”
But having worked on various parts of the plumbing in our condo over the past decade I have come to realise that household plumbing is a lot like the difference between back-end and front-end software development. As long as you don’t peek behind the cabinet door, or open the access panel, you won’t realise just what a mess the pipework is, or how grungy it gets. I guess we could use the metaphor of the crap that washes down the sink for technical debt.
by justin
Right, it’s Monday.
I’ve got my favourite mug with the picture of a cat on it.
Nothing’s on fire.
Time to slurp coffee, kick arse and write code.
https://soundcloud.com/justinrlloyd/ip-piracy
P.S. It’s a “C shanty.” Geddit? “C shanty!” No? Anyone?
by justin
I quickly needed to make a stand up, bar top poster for a Dr Who convention my wife is a part of. Beverage de jeur was something called an “ood job.” I was the one that named the drink, which totally explains the terrible pun.
P.S. Dirty lens = fuzzy photo.
by justin
Let’s do a little school math exercise.
Justin has one dog. To be a good citizen, Justin picks up after his dog.
Environmentally conscious, Justin purchases bio-degradable waste bags. The bio-degradable waste bags break down after precisely two years. They literally disintegrate in to small, unusable pieces.
Justin purchases large packs of dog waste bags. Justin found a good deal on 1,000 bio-degradable, environmentally safe waste bags.
Justin’s dog, unless she is feeling unwell, does her business about once a day, and so the bags are used at an average rate of 1.2 bags per day.
How many days will it be before Justin, on a dark winter’s night, at 4AM, tired, and bleary eyed, walking a dog with extreme diarrhea, inadvertently picks up something he didn’t want to touch due to a bio-degradable bag breaking down? Show your work.
by justin
What did you do this past two weeks Justin?
Wrote 12 lines of code. Three of which I deleted. Two of the remaining lines are print statements.
Some of the hardest math code I have written all year.
Thank #@!$ that’s behind me.
by justin
I don’t think I ever posted this. This one’s for you Mum & Dad. I miss you guys so much.
by justin
Weight loss goal for March also achieved.
by justin
Ate some bad Orange Chicken from a local Chinese takeaway for lunch yesterday.
Got a bad dose of food poisoning.
Is there ever a good dose of food poisoning?
We are talking full evacuation.
On the positive side, I’ve met my weight loss goal for both January and February this year. Yay! Go overachieving me!
by justin
That moment in time when you wrote a function named “shuffle_head_around.”
And a week later you wonder “WTF was I thinking? This name doesn’t even make any sense.
by justin
Over the past three years I’ve had a few acquaintances snidely mock me and my life because I have an agent that represents me. They gloat of how foolish I am to pay this agent to represent me when negotiating a business deal when I could be easily negotiating for myself and pocketing that percentage.
Each night, as I lay down my head from another weary day, I gently cry myself to sleep whilst I lay on a big pile of cash.**
** I don’t actually sleep on a big pile of cash. Money smells of old gym socks and can be uncomfortable. I leave all that cash in an interest bearing account, working hard for me while I sleep in until 11AM every week day, long after those self-same acquaintances have gone off to their boring 9-to-5 jobs in cubicle hell.
by justin
My wife purchased a new laptop satchel/messenger bag a couple of days ago.
The tag on the side said it was “Kahkai” coloured.
So my wife and me, being who we are, latched on to the “Kahkai” and have been crowing it loudly like the Snipe in the Pixar film Up! ever since.
I have a very nice green-ish/tan camera bag made by Pelican that my wife wants to take with her on a trip.
She asks “Do you know where the Pellegrino bag is?”
“Do you mean the KAHKAI! one?” I ask.
“Wait I mean the Penguin bag. Uh Pellegrino bag. Is it Penguin or Pellegrino?”
“Pelican.”
“I sound like an ijit.” she responded.
“The KAKHAI! Pellgrino bag is below the printer. The Penguin bag is behind the door.” I smiled.
No really, it was immensely funny. You should’ve been there.
And when I try to explain to people what “love” is, this is it.
It is “us.”
And people who have never experienced a moment of “us” with another person don’t really understand what it means to connect with another person deeply enough that the stupidest joke makes complete sense.
KAKHAI!
by justin
One of the metrics I use to determine if we are having a tech bubble is the amount of snark I have to delete from my reply emails for me to maintain a proper level of professionalism.
by justin
My cat (yes, my cat), has reached a point in her life where she thinks that all computer screens are now touch screens and can be appropriately interacted with.
She will paw at the screen and “ask for her game” and then wonder why it doesn’t respond how it does on the big, touch screen monitors she normally plays on.
Perhaps I am anthropomorphizing her reactions a bit.
But there is definitely a posture of confusion, possibly even disappointment, when trying to play her game.
My wife does this on a daily basis when she tries clicking on my Mac Book Pro’s screen.
by justin
It’s a shame I never had a child.
I would have named him Abraham Lincoln.
I would ensure he had a generous weekly allowance that would sustain him throughout his entire life.
The requirement of receiving the allowance would come with the stipulation my son writes random, nonsensical quotes at regular intervals and posts them publicly, dated, on the Internet.
“It must be true, it was on the Internet.” – Abraham Lincoln, 2016.
by justin
From 15 systems running Windows 7 (and a few 8’s) and 1 Linux box and 1 OS X laptop.
To 9 systems running Windows and 7 Linux boxes and 1 OS X laptop by July.
To a planned 2 systems running Windows (because we cannot change the OS) to everything else OS X and Linux by end-of-the-year.
Because Windows 10 happened.
Or rather, because Microsoft decided that I should upgrade because they said so.
Imagine purchasing a loaf of bread and then being told by the baker whether you can make toast or not.
by justin
Signed up to ownDrive.com.
Got this response immediately after clicking submit.
Oh yeah! This instills confidence in storing my valuable data with you:
by justin
There have been serious but non-fatal crashes directly connected to Pokemon Go.
In early 2007 I wrote a rather prophetic piece.
This was just prior to Apple’s iPhone announcement if I recall correctly. Though don’t hold me to that.
People said that it was ridiculous… “Well that will never happen. You need to give people more credit.”
I think I was far too conservative in my outlook. I wish now I had thrown in some forward looking statements about Augmented Reality.
by justin
Was at a tech mixer/meet-up/networking thingy in Silicon Valley area just before July 4th holiday.
“And we have a lot of machine learning in here” said the entrepreneur, indicating his app.
“It’s classifying product categories automatically based on the description and the manufacturer?” I ask.
The entrepreneur nods.
“A Naïve Bayes classifier then.” I add.
The technical cofounder, silent until now, eagerly starts to explain how he implemented it in NodeJS with an off-the-shelf gem.
“No, no, far more than that. We have a lot of machine learning in our app. This is Deep A.I.” said the business co-founder using air quotes.
I swear you could see the italics.
I looked at the technical co-founder without saying a word. He continued to babble about Naive Bayes and gems and NodeJS.
I asked about scaling the P values and if he was using a logarithmic function.
The run-on-sentences stopped. The response was slow and thoughtful. “I think that’s how I stop the values always trending to near zero. I don’t really understand that part.”
I nod politely. “Nothing wrong with that. Use whatever works, even if you aren’t sure you fully understand how it works.” I say encouragingly.
“Dude, shut up, you’re talking about stuff we’re trying to patent.” said the business co-founder impatiently.
“It’s just a Bayes classifier” opined the technical co-founder.
The business co-founder looked pained. “He doesn’t really mean that. It’s more complicated.”
I nod again, just as politely.
I pause.
“Did you try a Laplacian smoothing algorithm? Or additive smoothing?” I asked knowing full well that Laplacian applies to polygonal meshes and that additive smoothing and Laplace smoothing are one and the same.
“Yes” said the business co-founder.
“I don’t know what those are.” said the technical co-founder the merest fraction of a second behind.
“Have you solved the overfitting to data problem?” I asked the business co-founder. A Naive Bayes classifier generally doesn’t suffer that problem.
“Of course. I won’t deny we had some trouble, but we overcame the overfitting issue.”
I nod again.
The technical co-founder looks like a deer caught in headlights.
“This is a very nice looking app” I said to the business co-founder. “But I will give you one piece of advice.” I didn’t look up from his phone that I was holding on to. I was still swiping through the screens of the app. “When you talk to potential investors, do not bullshit them about your technology. It’s no fun to lose out on an investment during the due diligence phase. The tech guys working for VCs are a lot sharper than I am.”
Now I had two deer caught in the headlights.
by justin
“Are you looking to hire me or get hired by me?” I asked the random number that interrupted my deep-in-the-code train of thought.
The person on the either end of the line had awkwardly introduced himself as “Bob” though judging by his accent I doubted the veracity of that claim.
Bob had made a long rambling introduction and I had abruptly questioned him about what his intentions were: hire? Or get hired?
The number on my Android Nexus had displayed as a “spam call” from somewhere in New York according to the reverse number software. I had apparently missed several calls from this number over the past couple of days.
“I was asked by my CEO to give you a call. We’re an IT company…”
IT?
The truthfullness of “Bob’s” claim to his name was under no further doubt.
Unless his parent’s were weird and gave him “Bob” because they were the Asian equivalent of “children of the 60’s.”
“I don’t outsource any of our IT functions, thanks for the call.” I was eager to return to my code.
“No, wait!” exclaimed Bob. “We’re looking to hire your expertise.”
“Oh, I see. What seems to be the problem you have?”
“My CEO looked at your online profile. And he thought you’d be able to help us. We specifically need your IT expertise.”
“What part of my expertise?”
“We are an IT outsourcing company. We have clients that have problems. You can help us solve those problems. We want to establish you are an expert. We have put together this online test for you to take. It should take a couple of hours to complete.”
*click*
*ring* *ring*
“Yes?”
“We got disconnected.” opined Bob.
“No, I hung up on you.”
*click*
by justin
Why did I vote leave?
Because the only valid argument anybody could present to me, ignoring all the made up statistics, hyperbole, and bigotry, is that the economy *MAY* not grow as fast as if we stayed.
We would stake a future, any future, on the possibility that we might not have as much money as if we stayed.
I’m a great believer in rolling the dice, and if given the chance, I will always pick the path that is less comfortable, less safe, and far more interesting.
And I will execute my democratic right to do so.
by justin
I’ve never been happier in my life than those times when I wasn’t bothering to try and make other people happy.
I’ve never been unhappier in my life than when either I was trying to make someone (usually many someones) happy or when somebody thought it was my place to try and make them happy.
The power of “no” is a powerful word to use.
I have had occasion to use it quite a bit with some people.
Sometimes I would even follow up the word “No” with the words “Fuck off” and that made me even happier.
by justin
I created an email filter that shunts any emails with the phrase “looking for” followed by “unicorn|rockstar|genius” followed by “programmer|developer|CTO|engineer” straight to /dev/null
by justin
The defining characteristic of my wife is that she is of a generous and giving nature.
Mostly with my time and my money.
by justin
The most dangerous trick in the kitchen that I have learned to date is the art of the 90 second dessert.
And unfortunately my wife is aware that I know this trick.
Molten Chocolate Cake
Golden Sponge Pudding
Sticky Toffee Pudding
Lemon Rice Pudding
Oh dear…
by justin
Wife says “Talk dirty to me.”
I say “I want you to build a social networking website with cross-platform mobile app for 2% equity.”
Seducing her with my awkwardness today.
by justin
You can have my six 30″ monitors when you can pry them from my cold, dead hands.
by justin
No passwords – no saved games – no mercy.
Gaming eighties-style.
We reduce the friction to capture a larger audience. But we lose an essential quality due to that transition.
by justin
Raspberry Pi dead.
Blew out the power regulators.
Gotta love that certain, quintessential smell that says “You done screwed up, boy!”
I needed an excuse to pop down to the local electronics shack and pick up some replacements.
by justin
Multiplying your matrices in the wrong order is the mathematical equivalent of looking for the missing semi-colon in your code.
by justin
Multiboxing World of Warcraft again.
Just kicked the living excrement out of Lich King and did it at level.
Proud achievement.
In other news, it is practically impossible to kill 10 Shamans.
by justin
“What we have here is a layer 8 issue, that is bleeding through in to layer 9. Seems the error code being generated has an ID of one zero Tango. That’s one of the more expensive problems to fix. We refer to it as a PICNIC.” says I.
“Why a PICNIC?” asks the client.
Without missing a beat, I retort, “You’ve heard of the problem P != NP complete? PICNIC is a useful acronym for remembering that. It’s a human factors issue.”
A few moments pass.
“Fantastic! When can you start?”
I think I just sold a steaming pile of BS.
by justin
Woohoo!
I’ve finally lost the fourth Fitbit and my wife has conceded that perhaps we shouldn’t replace it this time.
by justin
I do not know how I ever lived without the HumanScale M8 monitor arms.
So much desk space.
So few monitor stands cluttering up the place.
by justin
Just got my Incra table saw fence set up after a month of not getting any woodworking done in the workshop. Installed JessEm feed rollers on top of the fence.
Okay, where do I start…
This is pure engineering porn.
I’ve a Bosch contractor table saw that was almost trued up straight out of the box, I just needed to adjust the angle of the saw blade by less than a quarter of a turn to make it cut accurately to within 1/1000 of a degree.
I installed an Incra Tools LS Positioner Table Saw Fence which is mind-boggling accurate. I’ve been cutting strips at a repeatable thickness of 1/64″ of an inch out of walnut and I am just floored by this.
On top of the table saw fence I’ve installed the JessEm feed rollers, and again, these little gadgets are so well engineered I am floored. The workmanship is amazing. Damn, those Canadian aerospace engineers know their shit.
Everything is installed and made accurate, I have been just playing with this setup so far, but I am lost of words at how awesome this configuration is.
The great thing is, because I have only a small workshop, when I need to move my table saw out of the way, I just flip the entire thing up on end and stash it against the wall.
by justin
LinkedIn seems to be broken…
You can only add 50 courses to your profile.
How screwed up is that?!?
by justin
You know you are living in the future when you can order a VR headset on Amazon Fresh to have it delivered with your groceries. W. T. F… 🙂
by justin
You take a new course every month for a few years.
Suddenly you have taken a lot of courses.
Need to add them to my LinkedIn profile.
by justin
Oh my gosh! I just learned how to make cheese! That is not a euphemism for anything.
How many times in life do we hold back on attempting something because it is made to look hard?
by justin
My wife hides recipes from me.
Before I get to see a recipe in a book she will vet it to determine if it will “compete” with one of mine.
When I found out that she was doing this (about a rice pudding dish), she opined: “But I like your rice pudding just the way it is. I don’t want to spoil my memories of that.”
by justin
I first met my wife at a conference in Chicago in the year 2000.
We were so happy for almost 13 years.
Then we got married.
by justin
I had this vivid and intense dream where my wife and I were constructing a giraffe stand for the new baby giraffe we had just inherited from my wife’s aunt.
The dream centered around trying to make my wife understand that we had to carefully balance the construction of the giraffe stand against cost of materials and the fact that the giraffe would eventually grow up and the stand would no longer be big enough for the adult giraffe.
Why can you not understand this? Why is it so difficult?!?
I woke up, turned to my wife, said very intensely “We need to build a giraffe stand for the giraffe from your aunt.” and then fell back asleep for another three hours.
by justin
I believe strongly in supporting the products I make and sell.
Strong support is a revenue generating feature as far as I am concerned, either through support licenses or because people, and developers and managers especially, will perceive good support as a value add to any product they use.
But I don’t offer support on my giveaway OpenSource projects these days beyond a cursory “I’ll fix it when I get to it” philosophy.
What I realised a few years ago was that most of my time was being sucked up, for free, by individuals and companies requesting fixes to obscure bugs that affected one in five thousand developers (literally!) and features that would only be useful to a handful of people.
Yes, I admit it sucks when an obscure bug affects your day-to-day work and the developer won’t fix it, and even though the source code is available for the taking you don’t have time to fix it yourself.
Yes, I admit it sucks when a developer puts out a project and doesn’t update it for years and support for the latest model hardware falls behind.
I have over 20 OpenSource projects of various types I have personally developed over the years, which are now all hosted at http://code.otakunozoku.com/.
I don’t directly offer support on any of them.
If someone reports a bug or desires a particular feature, I’ll add it to the list of things to do.
And that is about all I will do with someone’s urgent request.
I don’t prioritise any particular task based on a request or report. I have found that this is the only way to stay sane in a world where every person you interact with believes that your TO DO list should be publically accessible and writeable.
The best productivity tool I have developed to date is the word “No.”
In each README of my projects there is now an explicit “No support provided” line that clearly sets the expectation for people who download the software or source code.
I have interacted with a few people who still expect support, even demand it in a few cases, but generally I think it has had a net positive effect on people’s expectations.