My tagline, let me show you it.

Category Archives: Ideas

Jokebook Notebook

I often have a lot of random ideas and I typically forget the details of them later.  I should be carrying a small notebook to jot these things down.  Like this morning, I saw a billboard and a commercial idea started forming in my head.  The great thing about writing commercials is there doesn’t need to be a lot of dialog (unless that’s the joke) and it’s over in as little as 15 seconds.

So, I came up with a brief sketch for a iced tea brand.  It involves the talent of Ice-T (of rap and CSI fame), Mr. T (of 70’s A-Team fame), and Master Shake (of Aqua Teen Hunger Force semi-fame).

(At the scene of a fancy outdoor party, mingling guests on a wide lawn, white party tents and small white bistro tables set up through the area.  Ice-T is standing alone and somewhat bored at one of the tables and someone approaches.  He looks up and sees Mr. T)

Ice-T: Hey. (extending hand) I’m Ice-T.

Mr. T: (shaking hand) Hey, I’m Mr. T.

Ice-T: Huh. Nice to meet you.

Master Shake: (interrupting, not in scene) Hey, I’m also a beverage!

(Ice-T and Mr. T turn to look at Master Shake, annoyed at his interruption.)

Master Shake: I said… I’m also a beverage.  You know, like a drink.  Speaking of drinks, I could use a drink.  Nothing but teas at this place.  Iced teas, Mr. T’s  – HA!  You see what I did there?  Seriously though, I could drink like a couple dozen Fuzzy Nizzles, you know what I’m saying, dawgs?

(Master Shake continues rambling on while Ice-T and Mr. T awkwardly stare at the table, trying to ignore him.  A waiter walks by with the promoted iced tea brand on his tray and the camera follows him away from the scene Master Shake is making.)

“Promoted Tea Brand – not always inappropriate”

That idea led me to a sequel. 

(In a music studio, Ice-T and Mr. T are sitting at the mixing console listening to some of Ice-T’s new music.)

Mr. T: I can’t imagine doing this for a living.  This is awesome.

Ice-T: It’s a great creative outlet.  You can really connect with people through music.

Master Shake: I connect with people all the time.  Because I have the connections.  You guys wouldn’t know about that. You got no connections.

(Master Shake is standing in the back of the studio mixing room, not really talking to anyone.  Ice-T and Mr. T stare blankly at Master Shake)

(Master Shake reaches for something on a shelf and knocks everything off onto the floor, including awards and memorabilia.)

Master Shake: Yeah, that’s what I think of you, tchotchke’s! You can stay down on the floor, because you’re nothing.  Nothing! (Realizes Ice-T and Mr. T are staring at him angrily.)  Hey, I got this idea for a song.  A rap, if you will.  (Master Shake starts making beatbox sounds and moving in jerking motions like he’s dancing.)

Ice-T: Talking cup, you are so white.

(Shot of Master Shake freezing in place with mouth agape.)

“Promoted Tea Brand – not always inappropriate”

I have an idea for another sequel involving Carl fanboy-nagging Mr. T about his A-Team exploits, too. But since these would never see the light of day, no need to develop it.

A Nose For News

Update: Now with even more noses!

Before I updated my phone to Windows 10, I used the Microsoft Money app for news.  It had a glitch where if a photo was a certain size, it would zoom in on a smaller portion of the photo.  This resulted in an article thumbnail image that really had little to do with the story.

I don’t have this app anymore, so I present to you: My archive of noses:



Tonight I had a thought.  I need a new CD tower.  The one I have is totally maxed out.  I pulled up an old picture I took during the assembly of my tower and realized, this is nothing.  I can build this.  All it is is a bunch L shapes joined together into a swastika shape.


I got thinking further, if I’m going to build my own, I can make it HUGE.  The measurement of my current tower is about 18” per shelf and about 5’ high.  I figure maybe 24” shelves and 6’ high would be amazing.

So I spec’d out what I would need.  First, I’d need some tools:

  • Pocket hole jig: $40
  • 2 Clamps: $40
  • Shelf pin jig: $35

I have all the power tools I’d need to cut down the wood, so now for the actual parts:

  • 2 sheets of 4’x8’x.75” MDF: $60
  • 1 sheet of 4’x8’x.5” MDF: $24
  • Swivel base: $15
  • 200 shelf pins: $20
  • Paint: $20

This comes to a grand total of $254.  That’s not bad.  But it’s the same price as some reasonably priced shelves.  Jeez, I can’t even build this thing myself for less.  And, I know me.  It won’t be perfect.  It’ll probably be passable as far as quality goes.

A Good Idea Made Better

Driving to work today, I saw a dumpster truck for the disposal/moving company, College Hunks Hauling Junk.  It made me wonder how that name came to be.  Maybe the original founders were considered hunks and were in college and decided to haul junk to make money.  It makes me wonder if the founders approached other college kids and offered them a job on the premise that they would get paid for essentially working out.  You get paid and you maintain your “hunk” status.  Sounds like a win-win.

Well times have changed, so I’m going to create the next iteration of this business model.  I call it: Middle-aged Shitheads Being Crossfit-heads.  And I already have the commercial planned out.  But the pitch to the potential employees is still the same.  They can get paid while doing their ridiculous exercises.

We open the commercial with old, large, grouchy moving men slowly moving pieces of furniture from a house to a truck.  “When you’re moving, you understand that time is a crucial factor.  Why be held up when your moving company moves like a glacier?”

Switch the scene to a few thin, ripped people (men and women!) in crazy-tight spandex dashing back and forth between the truck and house with household items.  The difference is, in the true crossfit standard, the items are just chucked into the back of the truck.  You see, the focus is on speed, not quality.

The subsequent scenes reinforce the absurdity of applying crossfit to moving.  Boxes and completely unpacked articles piled up in the back of the truck; someone pitching clothes from a pile like a dog burrowing in the ground; someone struggling with a heavy item and two or three others crowded around him shouting at him to “finish it” instead of helping out; a couch being flipped end over end through the house out to the truck; gratuitous celebrations after moving a box.  You get the point.  The commercial could get lengthy.

At the end of the commercial, there would be a teaser for a sister company, Shithead Servant Services, which specializes in personal household services, like handyman (cue scene of hanging a picture with truck tire and sledgehammer), gardening (scene of “battle-roping” with hoses – or fire hoses), and carrying groceries inside (Guys looking at grocery bags in truck. “It’s at least two sets of Gurpals!”  “AUUGH!  I HATE GURPALS!!” “Oh wait, these are going to be Durkels.”  “YEAAHH!  I LOVE DURKELS!!!” Guys then hauling in all bags at once, then obviously celebrating on completion.)

I’ll be rich.

The In Thing Is Crap

The place that I work at recently hired a new marketing person.  We didn’t have one before, but I guess we needed one now.  This feels a bit like my rant about the Mozilla Foundation hiring a marketing person who had to bring in enough new money to pay for himself and make the company more profitable.  But anyway, that’s not the point.

This new person has some fresh new ideas for how to market our company: videos.  You kind of have to understand the industry of our company is pretty tight.  Everyone knows who all the other players are here.  We’re not trying to break into new fields, certainly.  Yet somehow, we’re supposed to be gaining new clients.  That’s not really the point of this either.

To get more to the point, we had a day where a production team came to the offices and shot video of executives and some random videos of people pretending to work.  You know, it’s all staged, it’s not candid.  As part of the team’s visit, we were supposed to participate in a company-wide group photo.  It’s going to be so cool.  It’s going to be shot by a “drone”!!

So we’re bussed to our biggest company office and over about 20 minutes in the noontime heat (the worst time and the worst lighting to take a picture), a drone whizzed back and forth, forward and back, while we just stared at it, or talked to each other, or waved, or cheered, or whatever else the video team wanted.  It was a dull experience.  Not cool, not exciting.

It’s been about six weeks since that photoshoot and we’ve just been given a sneak peek of one of the pictures from the session.  I opened it with a lot of curiosity and immediately was underwhelmed.  There’s not a single crisp pixel in the photo.  And I’m not sure what I expected.  I mean, a drone video camera is probably 1080p (surely not 4k) which is uh, 2 megapixels?  And we know that the megapixel count is less meaningful than sensor size, so how big could a drone video camera’s sensor be?

Now a much less exciting photoshoot would have involved a rented cherry picker and a photographer shooting a quality DSLR on a tripod with a low-aperture, wide-angle lens.  That would give something a bit larger to work with.  The photo we got was 3840×2160.  Basically a 1080p video still doubled in size.  Also, the photographer could have taken a series of high-framerate shots and used software to do face swaps and prevent some of the worse headshots of some of the employees.

So, drones are big now, I get it.  It’s cool to have drone videos, sure, I agree.  Maybe having a video of one buzzing through the halls of the office could be neat, too.  But drones are not cameras.  They are not created for photo quality.  The plan to use a drone for such an important and expensive photo was poorly-conceived as best.  The result was crap, no matter how cool it was.

More Phones!

A while ago, I had the idea to take a cheap Windows phone and turn it into a dedicated portable media player.  The prime motivator of that idea was cost.  $30 for an electronic device, especially one with a good touchscreen, is pretty unbeatable.  That experience has been pretty much ok.  There’s a few issues that will hopefully be worked out in the future.  But another opportunity came up and I moved on it.  More phones!

The media player phone is a Lumia 435.  The new deal is a Lumia 640, again for $30.  I bought two.  And I still would be getting back the $60 Lumia 640 from the GF when she gets her Sony fixed.  So that’s three phones of the same make and model.  What could I do with them?

The first thing I thought of was home security cameras, but the first idea I could take action on was a car dashcam.  I looked in the app store and found a few free candidates and a few paid candidates.  So I got the free ones and set out to see what it would do.

I purchased a windshield mount and put the phone up under my mirror.  With that and my GPS on the windshield, it looks a little ridiculous.  But it’s not too distracting (at least not doing the day because the polarized screen just looks black with my sunglasses on.  At night, it’s a little more glance-worthy).  The way the dashcam app works is, the camera is constantly recording and discarding video.  It keeps a certain time period in memory at all times.  When you touch the screen to indicate an incident has occurred, the app saves that piece of video to the phone.

In two days of use, I already captured my first incident.  It was a rabbit.  Now I can replay the horrible thumping sounds as many times as I want!  Viva technology!

Exact Audio Copy Secure Ripping And Image Files

I made a brief comment on this technique in a previous post, but I’m going to expand on it a little more because I tried a practical test of the technique and the results initially seemed valid.

Ok, so you are using Exact Audio Copy to rip your CDs, and you want to make sure they are good rips, but sometimes, you get “Read Error” and even worse, “Sync Error”.  This means you have a problem reading your CDs.  But you look at your CD and it’s pristine.  What’s the problem?

I had this happen on a few CDs and I thought, what if I copied the CD to a binary file, mounted the binary file as a virtual drive, then ripped it from there?  Well, guess what?  That works!  But the skeptic in me wondered why the disc would read as data, but wouldn’t read as audio data.  It’s still reading the bits off the disc, why would one fail and the other didn’t?

So, I needed to prove to myself that a imaged CD was a bit-for-bit copy of the original.  To do this, I decided to rip some imaged CDs with AccurateRip enabled.  AccurateRip creates a checksum from the read data.  The checksum would then be compared against a large database of other known good rips and it would confirm that the results were the same.

So, I chose four CDs from AccurateRip’s Key Disc list and imaged them to files.  I used Daemon Tools Lite for the imaging.  (If you’re going to do this, go to and get an older version of Daemon Tools that doesn’t have the imaging feature removed.  I used v4.45.4 and disabled updates.)  I imaged the discs at 24x speed to lower the chance of read errors. The file format I used was MDX.  ISO would not cut it.  Then I mounted each disc using Daemon Tools to a virtual drive and used Exact Audio Copy to rip the images to WAV.  There is no need to rip to a compressed file because the checksum is calculated from the uncompressed data.

Part of the ripping process in Exact Audio Copy was configuring AccurateRip.  I had to provide three Key Discs for it to properly set the offset for my (virtual) CD drive.  I had four Key Discs, so I was well set.  Ripping from a virtual drive is pretty impressive.  It rips on my computer at 50x, faster than the theoretical 48x max my CD-ROM would do.

Disc 1 results: 8/10 tracks accurately ripped
Disc 2 results: 10/10 tracks accurately ripped
Disc 3 results: 3/9 tracks accurately ripped
Disc 4 results: 5/10 tracks accurately ripped

Not the results I expected.  However, it was curious that discs 1 and 2 were newer discs and 3 and 4 were older discs.  So I grabbed four more CDs, two new, two old, and tried again.

Disc 5 (old): 8/9 accurately ripped
Disc 6 (old): 0/10 accurately ripped
Disc 7 (new): 10/11 accurately ripped
Disc 8 (new): 1/12 accurately ripped

So, that doesn’t help anything, or at least doesn’t prove my hypothesis is correct.  So, let’s rip the physical media and compare it to the virtual rips.  We’ll do discs 5-8 since they’re in front of me.

Disc 5: Virtual 8/9, Physical 9/9.  The tracks that were accurately ripped between the two had the same checksums.

Disc 6: Virtual 0/10, Physical 0/10.  All tracks had matching checksums, just no matching AccurateRip entry.

Disc 7: Virtual 10/11, Physical 11/11.  Same checksums on all successful tracks.

Disc 8: Virtual 1/12, Physical 12/12.  The one successful track matched on checksum.

So what’s the takeaway from this?  It would appear that imaging a CD to a file is the equivalent of ripping a CD in “Burst mode” (as termed by Exact Audio Copy).  This means you may or may not get the exact bytes.  But, when ripping in Burst mode, AccurateRip is not available.  Doing the rip from an image file can get you AccurateRip results for some of the files and will flag others as not accurate.  This way you sort of get the best of both worlds.

But, what you lose is the re-reading attempts that Exact Audio Copy performs in “Secure mode”.  And in those cases, you may be able to salvage a track that might read poorly in Burst mode or through imaging.  Remember, in burst mode, you get one try at reading the data (with error correction).

The important takeaway for me is that imaging a CD makes no improvement.  It’s not going to make the CD any better.  My new plan will be to use Secure mode to rip all the possible tracks, skipping tracks with Read errors, then re-rip the skipped tracks with Burst mode.  That’s the same result as ripping an imaged CD with Secure mode.

Everything’s A Phone Now

A recent post on a blog I follow informed me that there was a great deal happening on an entry-level, budget Windows Phone – the Lumia 435.  I could pick one up for $30.  That made me pause for a moment.

A brand new smartphone, capable of running Windows 10 Mobile, with expandable memory that can take an SD card up to 128GB.  What if I bought it, never put a cellular SIM in it, maxed out the memory and just used it as an MP3 player?  Huh? What’s stopping me?

Let’s look at some current MP3 players.  They are really dwindling in numbers, because, well, smartphones do everything now.  16GB Sony Walkman – $80.  8GB Sandisk Clip – $35.  160GB iPod – $399.  32GB Zune HD – $275.  This phone – $30.  128GB MicroSD card – $50.  And I don’t even need the 128GB card now.  I have a 32GB card from my old phone.  Consider this a done deal.

So now I have another Windows phone.  It’s going to be my new MP3 player.  And better than other MP3 players, it will do Internet and Bluetooth audio, and games, and whatever else I want (except phone calls).

I began setting it up by installing the 32GB SD card I had around and upgrading the phone to Windows 10.  Boy, what a drawn-out process that upgrade was.  When I was done upgrading, I then uninstalled every app except for the ones I needed – primarily Groove Music.

Ok.  Now, how do I get my music on there?  I keep the music on my computer in WMA Lossless.  That format works with Zune.  But you can’t sync to anything other than a Zune device using the Zune software.  And although I can copy the files right to the phone, I don’t want to use my lossless files since they’re around 25MB per song.  I was dreading the idea of manually transcoding my entire library just to copy it and delete it.  Surely there has to be some software that would automate that.

Enter the old stalwart, Windows Media Player.  This software will not die, nor should it ever die.  Windows Media Player can sync files to another device that is nothing more than a memory card.  And in the process of doing so, it can transcode the files to a different bit rate – Exactly what I need.


Then you choose what you want to put on your device, and drag it to the Sync pane.  Then Windows Media Player just does its thing.


So, with my test using the 32GB card, I got about 40-odd percent of my music on there. There’s some stuff I can take off because it’s not really mobile audio stuff.  I also discovered that Windows Media Player encodes to WMA format, so I probably don’t need a high bitrate of 192k.  192k in MP3 is moderate quality, 192k in WMA is very high quality.  Bringing that down a notch to 160k should reduce the space usage.  And I see I also need to get cracking on cleaning up my album art.

But!  Once that’s all done, I will have a pretty sweet MP3 player, that isn’t a phone, but really is a phone, just not being used as a phone.

Balancing On A Fence

One of the bigger time-sucks in my life is the image sharing community, imgur.  Recently, there has been a growing dissatisfaction with the method in which imgur handles advertisements.  I honestly can’t remember what it was like before the latest implementation, which I guess is a pretty good endorsement for “the old way.”  But the new way is certainly ruffling a lot of feathers.

Imgur has chosen to go the route of “Native Advertisements” in which ads look like normal content.  It’s a dangerous game because it risks having your users feel deceived once they realize they were just fed an advertisement and didn’t realize it.  Imgur has worked harder to make ads more identifiable while at the same time, tried to make the ad look more like regular content.  It’s not working out too well.


I understand the need for advertisements from all three sides of the fence: the seller, the advertising host, and the consumer.  Each party has priorities that can hinder the effectiveness of advertising.  Understanding these needs and balancing them can make advertising better for everyone.  Come to think of it, there are actually only two sides of the fence: seller and consumer.  The host is the fence.

The seller has a product or service that they need to sell in order to stay in business.  With the assumption that the business is legitimate and their intentions are noble – that they really believe in their offering – there shouldn’t be any problem with seeing their advertising and hearing their sales pitch.  The problem is, the product may not be applicable for everyone, like selling cattle fencing to a wall street banker.  But – and this is a valid argument for the seller – that banker may know a rancher and may comment to them that they saw an interesting product recently.  That’s what ads are supposed to do, inform. 

Now, the seller can be blinded by this natural benefit and may insist on everyone seeing their ads as many times as possible, because people have naturally short memories (“I saw this thing; no idea who made it or what it was called…”).  This results in fatigue and resentment for the consumer.

The advertising host has a bunch of potential consumers to whom advertisements can be shown.  In return, the host gets paid by the seller.  This helps pay the bills so the host can continue business.  The host has competing objectives: to keep the consumers happy and to keep the sellers happy.  Being in this position is not easy because pleasing one too much will upset the other.

The consumer, when visiting a host, gets served ads from a seller.  If they are shown too many ads or unusable ads, they will rebel against the host and maybe the seller.  I do believe that if an ad is relevant and presented in the correct manner, the consumer will not be offended.  If the ad can’t inform or educate, at least it should entertain.  Later ads on Imgur, from Old Spice and Ebay proved this to be true.

So, with the early uprising at imgur about ineffective advertisements, I thought I’d spend a few brain cycles on how I would implement an advertising mechanism into a website.  The primary thing I would want to ensure is that my users had a level of control without being able to completely eliminate advertisement.  That’s the balance every advertising host must maintain.

I came up with the following design.  It’s greatly simplified to just illustrate some talking points.


The Campaigns and CampaignPosts are structures for ads and a means to group them.  For example, on imgur, there were ads for the upcoming movie Ted 2 (which were universally hated).  I’ve seen at least 3 different ads.  So the Campaign would be “Ted 2 Movie” and there would be 3 or more CampaignPosts under it.

Now, how does the user have control over this?  There are two ways: at the post level and at the campaign level.  When an ad is shown, the ImpressionCount of the UserCampaignPosts is incremented.  Imgur has voting arrows, so the downvote arrow would operate like my hypothetical website’s “Do not show again” button.  This would set a negative rating for the CampaignPost and it would not be shown to the user again.

The great part of this design is the advertising dashboard for the user to allow them to disable entire campaigns.  Why would you let a user do that?  Well, there are some things that people are opposed to on principle and it is futile to convince them otherwise.  In fact, displaying more ads to them would hurt your cause.  Just think of pro-life/pro-choice ads, or anything political, or Mac/PC.

On this advertising dashboard, a user would see all the active campaigns for the website and could opt out of them.  The CampaignPosts within each Campaign would not be shown to that user anymore.  Sounds really simple.  But! An advertiser has paid for these ads to be seen and as the host, you need to show them.  If it was just as easy as unchecking all the checkboxes, no one (who was registered on the website) would ever see any ads.

So, in order to opt out of a Campaign, all of the CampaignPosts need to have an ImpressionCount greater than zero.  That means a user has to see every ad for a campaign at least once.  Is that fair?  I think it is.  I envision it being similar to this conversation:

Seller: “Eat at Joes, please.”
Consumer: “No.”
Seller: “Joe’s has good food.”
Consumer: “I do not eat at Joe’s and never will.”
Seller: “Ok, just hear me out and I won’t bug you anymore.”
Consumer: “Fine, go ahead.”
Seller: “Joe’s has healthy lunch options.”
Seller: “Joe’s is open late on weekends for after-party recharging.”
Seller: “Joe’s is also active in the community, sponsoring children’s sports programs.”
Seller: “That’s all I got.  Thanks for listening.”
Consumer: “Still not convinced. No thank you.”

The seller gets all the views and the consumer, even if they just pass over them and don’t pay attention, still gave an effort.  So to mimic that sort of offer to opt out of future ads by viewing all current ads in one batch, that same functionality would be in the dashboard – to view all ads for a campaign.  And they would remain there just in case a consumer had a partial memory of one and wanted to get more info for someone else.  But, once all the current ads are shown, the option to opt out would be enabled.  Once the Campaign is opted-out, future ads won’t be shown.

If you’re thinking ahead or you’ve got a scheming mindset like I do, you might wonder why a seller wouldn’t just launch a bunch of campaigns with one ad each, so consumers would constantly have to visit the dashboard to opt out of each campaign.  That onus is on the host and it’s managed very easily – via cost.  Campaigns should cost more to start up, but adding more ads to an existing campaign is more cost-effective.  Or maybe it’s a sliding scale that the more active campaigns you have going, the more it costs.  In that way, the host protects its users and can balance risk vs. reward.

The host also gets the benefit of an incentive for people to register for the website.  Registering would give a user the ability to manage the advertisements.  Non-logged-in users would get ads from all active campaigns.

In this case, everyone compromises and everyone gets some benefits.  The seller can’t spam the consumers if they choose to opt out, but they do get the opportunity to “speak their piece” in its entirety at least once.  The host may not get as much money (if they are paid per impression), but they will have a happier user base.  The consumer has the opportunity to control what ads they want to see, but in order to block a campaign, they have to see all the ads in it first.

It’s not all bad for the consumer.  I can imagine there could be some compelling ads, or some from a company they respect that the consumer may choose to keep active.  The host’s logic needs to be dynamic enough to not show the same ads over and over and to possibly reduce the number of ads to the most engaged users.  Maybe try to hit a target number of impressions per week per user.  Once a user is nearing that number, back off on the ads.

A lot of times, I find that my ideas are too altruistic and give people the benefit of the doubt too much.  Fortunately, my default is not to be jaded and cynical, despite the number of posts in the Rant category.  The problem with dealing with people is that compromise is always a last resort.  So this idea would probably never be accepted because no one wins.

30 Days of Gratitude For Being Awesome

Thanks to Thanksgiving and thanks to social media, we have a ritual each year where everyone tries to show off to all their friends how grateful they are for what they have in their life.  I can’t help but think this supposed show of humility is nothing more than a mask for narcissism.  To that end, I decided to list a bunch of things I’m grateful for.  Things that show I’m better than you, more fortunate than you, more deserving than you, and yet, more thankful than you.  Let’s start.

  1. November 1st is a Sunday.  I don’t have to work on weekends because I have a white-collar job and get paid really well for it.  So, I’m grateful my job is awesome.
  2. Monday the 2nd.  I don’t have any kids that I have to get ready for school or deal with any of their whining or “I’m tired” bullshit.  Thank god for that.
  3. Tuesday.  Hey, Tie Tuesday!  I’ve got a great selection of ties to choose from.  I don’t have to wear the same old ties over and over.  I’m thankful I found these ties on sale, probably paying a lot less than a bunch of people did for the same tie.
  4. Wednesday.  Like just about any day, I eat out for lunch.  Most people have to bring in their lunches and usually stay in the building.  I get to leave for a while.  I am very fortunate.
  5. Thursday and the weekend is coming quickly.  Since I don’t have a lot of obligations, my weekend can be pretty much whatever I want it to be.  It’s good to have options like that.
  6. Friday now and the weekend is here.  I think I’ll give the car a wash and wax so I can turn some heads when I’m driving top-down around the beaches this weekend.  My car isn’t new anymore, but it’s still an uncommon car and gets attention.  It’s been a good car to me.
  7. On Saturday I spend some time cleaning the pool and spa.  I don’t get a lot of use out of them, but they are an attractive feature of the house when they are taken care of.
  8. Sunday again.  I think today is going to be a sleep/eat/nap/eat/sleep/eat/sleep day.  Yeah, I can do that.  Got to be thankful for days like that.
  9. Monday, back at work.  Had some code issues, but I solved them quickly because I really know what I’m doing.  I’m thankful that my mind is well-tuned to solving coding problems.
  10. Another Tuesday.  Hey, Thai Tuesday!  I have my choice of Thai places to eat at because the area I work in is great with food.  I’m fortunate for that.
  11. Wednesday, my cat greeted me at the door, like usual.  She’s a pretty cool cat, with the best qualities of a dog and yet still a cat.  I’ve always had great cats for pets.  I’m pretty lucky there.
  12. Thursday, I was at work and a got a compliment on the mouse pad I use.  Sounds odd, but the mouse pad is really nice.  Thick, stitched, oiled leather.  It wasn’t cheap, but it’s going to last forever and look great doing it.  I’m glad I found it and had the opportunity and funds to buy it.
  13. Friday.  Another weekend is here and another chance to spend time with my awesome girlfriend.  You want to talk about being grateful, you need to have a good relationship to understand it.
  14. Saturday out at the premium outlets.  It’s one thing to window shop and imagine what you would do with that kind of stuff.  It’s quite another to know you could buy it if you really wanted it.  It’s even yet another to know when the value is worth the price (it rarely is).  I’m grateful I have the knowledge of all three.
  15. Sunday at the beach.  Yeah, it’s November and I’m roasting at the beach.  10 years ago, I would not have had this opportunity.  I have to be grateful of the direction my career has taken me.
  16. Monday, I spend a bit of time reviewing my retirement accounts.  I may fret and worry that I’m not saving enough to meet my goals, but really, what are goals?  You have no idea you’ve reached them when you get there because your goals have stretched.  So I am grateful that I have anything in savings for retirement.  So many people don’t have anything and that’s sad.
  17. Another Tuesday at work and I have the opportunity to explain some interesting code with coworkers.  Being able to share knowledge and make everyone’s skill a little better is a great reward.  It’s good to have that ability.
  18. Wednesday, hump-day, a day out at lunch with co-workers commiserating and having good food.  It’s good to not be a loner all the time.
  19. Thursday is a day all to myself.  It’s good to be able to be alone when you want to be.
  20. Friday I ride my motorcycle into work.  I should be grateful I haven’t had any accidents on my bike.  And I should be grateful the bike still runs with as neglectful I am of it.
  21. Saturday, I review my upcoming bills.  Everything is well under control and can be paid.  I’m grateful I have both control of my spending and a job that affords me to spend what I want.
  22. Sunday again…  One more week of awesomeness/gratitude/narcissism.  I spend a little time playing keyboards.  I’m not a rock star, but I play good enough to please myself.  Since I write all my own stuff, that must count for something.  It’s a great talent to have.
  23. Monday at work, I’m listening to co-workers discuss the subtle nuances of the comedy of Family Guy and the skill of their Fantasy Football picks.  I’m pretty thankful I couldn’t participate in either of those discussions.
  24. Tuesday, I leave work early for an appointment.  It’s no big deal because my job doesn’t micro-manage your time.  They know it’ll come back to them some day when I have to work late to fix a critical issue.  That flexibility is pretty nice and I’m grateful for it.
  25. Wednesday, I’m making plans with the girlfriend to have a great holiday.  We’ve had a lot to be thankful for together.
  26. Thursday – Thanksgiving.  I am grateful that although my cooking is limited to soup, grilled cheese, burgers, and spaghetti, I can still crock-pot a turkey and it’s fairly edible.  And my cat is grateful for that, too.
  27. Friday (black), It’s good that I know back roads to avoid the shopping clusterfucks.  I’m not taking the day off, but a lot of people will, so it will be a very light work day.  That’s great, too.
  28. Saturday I go looking through some of my bills and I see that I have a lot of rewards racked up for my credit cards, like $300 worth.  I’ll probably let them grow because I don’t have a pressing need for them yet.  That’s something to be glad about.
  29. Sunday, chilling with the girlfriend and realizing how good life has been to me.  It’s not perfect, but the good definitely outweighs the bad.  You can do some people-watching and overhear a lot of misery in the world.
  30. Monday, Grateful this post is over and grateful I don’t have any social media that I would have to do this kind of crap for real and wonder whether I has being too vapid or too self-centered or too insulting.

Disclaimer: Some or most items may have been altered or exaggerated for effect.