Wednesday, August 29, 2018

MisDirection

I've spent a month at work trying to track down a nasty production bug. At the beginning of August one of our web services started blowing up for about a half an hour every morning. I've been living on about four hours of sleep per night, getting up early to attend meetings trying to uncover the root cause. We've looked through all of our production code, nothing has changed. We looked into other jobs that might be running, that we are unaware of. We've scoured the database, the server, the service calls. Nothing yielded anything useful. It looked as though early mornings would be the new normal.

Then in the course of analyzing the database again, a coworker notices one single materialized view. It was on a development machine. Hr dug deeper. There was a dev job that had been updated to point to production. This was causing the view to be recompiled and was most likely the problem we were seeing (We'll know for sure in the morning).

We had looked everywhere but development. This was production after all. But the key lay in a completely different environment. It was a problem of misdirection. Like a magician tricking us to look at his left hand as he manipulated an object in his right.

Remember when debugging, not to let misdirection cause you to overlook what is truly going on!

Sunday, August 26, 2018

Second Time is Not a Charm

At the beginning of the year, I switched from Android to Fitbit, and with that began coding watchfaces in the Fitbit Studio. It was great, In one evening I coded a binary watch. Another evening I coded a Linux Console - looking watch face. Later I made a text - based binary watch. But it was at that time I realized, my original binary watch was gone. And of course I hadn't backed it up locally.

I've recently decided to try recreating my first binary watch. I'm not sure how I made it so easily the first time. This time around is a nightmare so far. I am building it in such a way that I don't already know the screen size. I originally tried doing the layout using CSS and percentages, but the grid I'm building isn't evenly divided so it is not quite right.

Just when things were at their darkest, I found a snippet that gets me the screen height and width. I know it's JS but I thought I had previously not been able to grab the screen size for some reason. Well I thought wrong. Once I have the screen res, everything slowly falls into place. I got the grid worked out. It took a bit to get the lines in there. There were some headaches on the dynamic colors and re-purposing my binary time code.

It was still a stroll through a swamp. Then POOF! it was suddenly done. Two little tweaks to fix bugs and so far it's working like a champ. I want to add a touch listener ao it will cycle through some other screens, like binary date etc, and maybe a cheat screen with the time/date/steps etc.

Oh! Maybe that third screen could be my Linux console like watchface. A two for one! Hmm....

5 VST Effects I Use in Every Song

VSTs are so great. I have a massive collection of free instruments and FX that I've tracked down. There are SOO many to choose from... B...