Wicked Cool Shell Scripts

Over on YouTube, my BASH Scripting series is pretty popular. It teaches the basics of how to leverage shell scripting, and even pushes into intermediate level usage a bit. (And with the flexibility of YouTube, I’ll be able to add to the course and make it better all the time.)

But I’ll never be able to cover everything with my tutorials. Shell scripting is just too awesome. In fact, one of my fellow Nerdlings (hi James!) wanted to know if I had any book suggestions to learn even more about what sort of things are possible. And boy howdy, do I ever.

Dave Taylor has forgotten more about shell scripting than I’ll ever know. We were both columnists at Linux Journal back when it was a magazine. His column was, of course, about shell scripting. Every month, we’d get to learn how powerful BASH (and other shells) can be, while having fun at the same time. This book is basically like 101 of his columns organized into a super fun, and wicked cool collection.

When I review a book, I always try to find both good points and bad points. That’s not just so I look deep and introspective, but because for books I dislike I want to show the best bits which might tip someone over the edge in spite of my negative opinion. And for books I like, I think it’s important to point out weak spots so that I don’t “trick” anyone into getting a book they might regret. It’s difficult to find negatives with this book. I was going to say that a digital copy of the scripts in the book in a github repository would be nice. But then I see the scripts are all available directly from No Starch Press, so I can’t even complain about that. I guess my complaint is that I couldn’t find a reference to the digital copies in the book itself. But that’s pretty weak for a complaint. Yeah, it’s a pretty great book.

The Baking Soda Volcano of Linux

The “best” parts of the book are also hard to pick, because it covers so many aspects of scripting, automation, problem solving, and fun. I think that last one is the most important though. This book is organized into sections like “Unix Tweaks”, “System Maintenance”, and, “Working with the Web”. But you might honestly never use a single script in this book. Directly.

Dave (and Brandon, more on him in a second) provide working, usable scripts for us to use. But the real magic is that they teach us why the scripts do what they do, and how we can do the same sort of things for our own particular use cases. Just like building a baking soda and vinegar volcano doesn’t actually solve a particular science need — these scripts teach us how scripting works, so we can use that knowledge in useful ways. Granted, building a case statement that parses command line arguments doesn’t have the same panache as Kool-Aid scented lava foam drowning clay-and-toothpick townsfolk. But it does teach concepts just as well. (and shell scripts are much easier to clean up…)

If you’re looking for an exact formula to solve a problem, this book is probably not what you’re looking for. If, however, you want to understand the ingredients so you can make your own perfect formula? In the words of the Kool-Aid Man, “Oh yeah!” This is the book you want. And if you actually want to make a digital volcano? Honestly, there might be a script that does something close. Because that’s the sort of teaching style that makes me love Dave’s writing so much.

Second Edition

While still not a new book, the 2nd edition of Wicked Cool Shell Scripts includes the work of Brandon Perry. From what I can tell, Brandon did much of the updating and tweaking to make sure the scripts in the book were up to date. The second edition released in 2016, and while there have certainly been changes in command line shells since then — it’s still very up-to-date, and very relevant as a resource.

I don’t mean to take anything away from Brandon Perry’s contributions to this book, as he’s one of the authors, and a very accomplished writer himself. But as this is a second edition of a book originally solo-authored by Dave Taylor, so it’s hard to tell which bits are Dave’s and which are Brandon’s. For us readers, it doesn’t really matter all that much. Wicked Cool Shell Scripts, 2nd Edition is a wicked cool book, written by two wicked awesome writers, which will teach you to be a wicked sweet shell scripter. And you’ll have a ton of fun doing it. I highly recommend it both as a reference book, and a read-it-all-the-way-through book, because if you enjoy scripting, you’ll get something out of all 101 shell scripts in this book. (and out of the extras thrown in the final chapters too!)

My Rating: 5.0 out of 5.0 stars

Review: The Ember Mug

Thanks to ADHD (which was undiagnosed for 46+ years of my life), I have a tendency to leave coffee cups everywhere. Usually, they’re half full of coffee, and I’ve just absentmindedly set them down. About half the time I find the in the microwave, because I found a cup of cold coffee somewhere and heated it up, only to forget about it again in the microwave.

This mug does not solve the problem of misplacing coffee.

What does mug does do, however, is keep my coffee at a constant 132 degrees Fahrenheit. Mind you, I’ve had mug warmers of varying sorts for decades. There was a time about 10 years ago when they fell out of fashion, and you had to buy a “candle warmer” and put your mug on that. Unfortunately, a traditional mug warmer suffered from the same problem a pot-warmer has — burnt coffee. And burnt coffee is just the worst. In fact, this is a bit of a tangent, but if you have a coffee pot that keeps your coffee warm with a “burner” underneath, please buy yourself an insulated carafe instead. It’s a better experience all around. But back to the Ember…

OMG DID YOU LOOK AT THE PRICE?!?

Yeah. Yeah I did. And that’s the reason I didn’t buy myself one. I had an Ember mug in my Amazon wishlist for a very long time. The only reason I have one now, is because I’m particularly difficult to buy Christmas presents for, and my wife opted to look at my wishlist for ideas. And I’m so, so glad she did.

The Ember mug is expensive. There’s no two ways about it. It just is. But it’s one of those purchases that I think might actually be worth the premium. Hear me out…

  1. Mug warmers don’t have thermostats. They will keep your coffee hot, but if you tend to forget about your coffee’s existence in the universe — they will conveniently cook your coffee into a thick sludge, and even into a hard coffee “puck” in the bottom of your mug. After about 20 minutes, your coffee will get an “on the burner too long” burnt taste, and after that it’s all downhill. The Ember keeps your heavenly elixir at whatever temperature you set. For me, that’s 132 degrees F. If you don’t touch your coffee mug, it will shut off after a while, so even if you do forget it, it doesn’t get burnt.
  2. I never realized how much I appreciate coffee at a set temperature. Usually at first, it’s a bit too hot to really enjoy the flavor. Then if you keep sipping, when it passes the sweet spot (which for me is 132 degrees, as I’m sure you’ve guessed) the coffee is amazing. Then as it continues to cool, it’s still good but not quite as good. And of course when it gets cold, I pop it into the microwave and we start over. (Another side note — warming cold coffee in the microwave is surprisingly effective. It doesn’t burn it, and as long as you haven’t left it on a mug warmer, it still tastes fresh.)
  3. Having a place the Ember lives (on its charging coaster) has meant I misplace it far less often. I should also admit, I’ve recently started taking medicine for my ADHD, so that probably has something to do with my lack of absentmindedness. Still, I leave *other* cups laying around, so the Ember having a home base seems to make a difference.

Wait… Other Mugs?

Yeah, I figured you’d catch that. As much as I truly do love my Ember mug, it has some flaws. At least for me. Maybe they’re my own flaws, and the Ember just doesn’t accommodate me. Nevertheless, there is a bit of trouble in paradise, and I’d be remiss not to be transparent:

  1. Did I mention the cost? Ok, yeah I did. Still, it’s worth noting that this mug is a friggen investment. But I digress.
  2. The Ember mug can’t be microwaved. Well, I mean, I guess it could. Once. Then it would no longer be an Ember mug. It would be a very expensive ceramic-coated mug that you probably still should only hand-wash because there’s a battery in there. And actually, if you microwave it, the battery is probably expanding and will potentially rupture. You should really throw it away. Like right now.
  3. Wait wait wait… why should that matter, right? If it keeps it warm, why would you need to microwave it? First off, yes, I realize making this another numbered list item is weird, but this is my review and I can
  4. do whatever I want. Ha. Anyway, since my coffee pot does not have a burner (ok it does, but it has a separate switch so I never EVER turn it on), when there is coffee leftover from the previous day, I will start the morning with a microwaved cup of yesterday’s brew. Disgusting you say? Pshaw. Microwaved coffee from yesterday is orders of magnitude better than coffee which has been on a burner for even 20 minutes. If you disagree, that’s fine. You’re less likely to microwave your Ember mug.
  5. Having a single charging coaster means my Ember mug’s “home” is my office desk. My office is upstairs. There’s a weird sort of space/time distortion that happens in the morning, and before I’ve had coffee, the staircase is at least 37 miles long. Trudging up them to get my mug is very unpleasant. So even on the mornings when there isn’t leftover coffee, and I make a fresh pot — I still usually start with a traditional DumbMug. Thankfully I’ve gathered an incredible collection of nifty coffee mugs over the years, so this isn’t as unpleasant as you’d think. Anyway, I’ll sip on the DumbMug of either freshly brewed or freshly zapped coffee, and when I get to my office, I’ll dump the rest of the mug into my Ember. Also, an extra coaster is like forty bucks or so, and if I get another I’m going to want several. One for the living room, my bedroom, etc. So for now, it is what it is.

Ok, that wasn’t too bad. And I’ve given you usage tips to make the downsides bearable. But wait… there are a few more things you should know:

  • The battery only keeps your coffee warm for about an hour when it’s not on a charging coaster. This would be less of an issue if I had multiple coasters, but so far I only have the one. It makes quick trips downstairs to flirt with my wife perfectly fine. (Coffee-wise. It sometimes annoys her if she’s working…) But if I use my Ember mug in the evening to have NightCoffee or tea — the battery is disappointing. An hour is quite a while, but I’m a multi-cup sorta person when it comes to hot beverages.
  • The mugs come in multiple sizes. This isn’t a problem really, but I have the largest mug they make, and it’s 14oz. That’s… fine. It’s a decent size cup. It feels like a normal size mug. For some reason, 14oz sounds like a rather large volume for a coffee cup. It’s not. It’s just a regular coffee mug size. This truly baffles me, because at a coffee shop, a 16oz cup seems like a significantly larger amount of coffee than my 14oz mug holds. Maybe I should measure it… Anyway. If you opt for the 10oz model because it’s (maybe?) a bit cheaper, you might regret it. I can’t imagine having a smaller version.
  • Yes, I know I switched to bullet points instead of numbers for this list. I’m clearly a child who shouldn’t be given formatting controls.
  • If you pour cold coffee into your Ember mug, it will not warm it up. Not automatically anyway. See, when you pour hot (or even warm) coffee in the cup, it magically senses what you’ve done, and honors your offering by bringing it to your preferred temperature and keeping it there. But if you dump in cold coffee, it’s disgusted by your implication that cold coffee isn’t garbage, and so doesn’t heat it up. You have to press the button on the bottom to turn it on. Sometimes twice in quick succession. Then, when you see the slowly pulsing white light, you know it’s rolling its eyes while it does indeed bring your coffee up to temp. NOTE: This kills the battery sooner. It’s not an issue of you tend to leave it on its coaster, but if you’re walking around flirting with spouses while it warms up your cold coffee — it won’t last a full hour.
  • Speaking of pulsing lights — the status LED is customizable. You can set your light color to any color on the color wheel. It’s really nifty. But here’s the thing, it only turns that custom color when you pick it up. It’s just a quick way to identify your mug from some other Ember user in your house. (I have a large Spot sticker on mine, plus I’m the only person who owns one in the house, so this is largely a moot point — but still, I thought my mug would have custom lighting all the time, but alas it’s only that initial notification when you pick it up.)
  • Lastly, I have to admit, if you try REALLY hard, you can get the Ember to sorta make your coffee icky. If you have about 1/2″ of coffee in the bottom of the mug, and you let it keep that tiny bit up to temperature for an extended amount of time, it will start to get gross. I’m not sure if the Ember has a difficult time sensing the temperature with that small amount of coffee, or if the coffee just evaporates a larger percentage of itself because it’s almost gone. But while it’s not as bad as coffee cooked on a burner/warmer pot — it does get a little funky in that one situation.

tl;dr

I know, that was wordy. I apparently have many thoughts on my Ember mug. Here’s the quick takeaway. It’s the most incredible coffee mug I’ve ever owned. I love it. If I had to change anything, it would be that they make a firmware change which would give users and option to automatically warm cold coffee when poured in. And also, cheaper charging coasters. Because I really want to have about 3 more.

My Rating: 5.0 out of 5.0 stars

Review: Bissell Spotbot

You can barely see where the cat vomit was. And that’s pretty much the point…

I’ve cleaned up a lot of disgusting pet-related accidents in my day. Whether it’s a slimy cat hairball on the couch, dog diarrhea on the white carpet, or uncountable puddles of puppy piddle… I’ve cleaned it all. And over the years, I’ve had multiple tools for making the process easier. The Spotbot from Bissell is the only one I’ve purchased on 3 separate occasions. And after a weird design change and subsequent reversion — it’s a must-have for any pet owner. At least any pet owner with carpet.

Our original Spotbot was the same style as what you see in the photo. Basically it’s a dual purpose carpet shampooer. It has a traditional hose with a sprayer and suction nozzle, but it also has an “automatic” mode. Pet stains on the carpet are generally a puddle or pile, and after some paper towel work, there usually a “spot” that you set the Spotbot on top of, and press the button. It has a rotating brush, automatic sprayer, and suction nozzles which will scrub the carpet and pull out the stain with no user intervention. If you look closely at the photo, you can see the circular pattern on the rug where it did its thing. A few minutes earlier there was a gross spot, which I won’t describe in more detail.

It’s Easy, but also Better

The weird design change I alluded to above was that several years ago, Bissell decided that the “Spotbot” didn’t need the automatic circle thing. A hose with a scrubber wand was what people really wanted. (We didn’t) Since our original Spotbot was gone (Maybe in our house fire, I honestly don’t remember) I purchased the no-auto-circle-spot model. And… it was a tiny carpet cleaner. But that kinda sucks. And not just because I’m lazy. I mean, I’m lazy, but that’s not why removing the automatic bits was a bad choice.

When you’re manually scrubbing a spot on the carpet, it gets wet from the cleaning water. And you want to make sure you “get the whole spot”, so you scrub/spray to the edge of the wet spot. And then the spot grows, but you aren’t sure where the original spot was, because the carpet is a different color due to wetness and poop, so you go to the edge of the ever expanding area, because you really don’t want to miss the spot. And you end up with a 3 foot weird-shaped spot of mostly clean, entirely wet, carpet.

The automatic mode doesn’t have that problem. It cleans where you set it. It doesn’t move around like its Roomba cousin, it stays put and does its job. Which is to undo the job your cocker spaniel did earlier. But I digress.

It’s Back. It’s Easy. The Hose Might Still Suck.

The reason we got rid of our second (non-automatic) Spotbot was that the hose got brittle over the years and cracked. Like any good MacGyver fan, I duct taped it up several times, but it just quit working, so I threw it away. When I went to buy another, I was happy to see the automatic functionality was added back in. The hose on our new model will rarely be used, but it feels like the same material that got brittle and cracked with our old model. So be prepared for that. I dunno, maybe you’re supposed to rub lotion on it or something. (If you rub lotion on your vacuum cleaner hose, please do not tell me about it.)

BONUS TIP: One last thing, with every carpet shampooer I’ve ever owned, I quickly discovered that no amount of rinsing the dirty water bin will stop it from smelling like death on a rotten fish after it’s been sitting for a few weeks/months. So what I do is put a tiny glup of bleach in the dirty water bin after I empty it. NOT IN THE CLEAN WATER TANK. The bleach isn’t for cleaning, it’s for sanitizing the collection (dirty water) tank. If you put a tiny bit of bleach in there, it kills the vomit/poop/pee leftovers so your house doesn’t smell extra horrible the next time you turn on the shampooer.

BONUS TIP THE SECOND: The Spotbot also works for messes your kids make. Although their messes are sometimes bigger than the little automatic circle can handle. And the Spotbot can’t fix the mess kids make of your life, just your carpet. It’s a good machine, it’s not a magical machine.

My Rating: 4.5 out of 5.0 stars

  • Every BISSELL purchase helps save pets. BISSELL proudly supports BISSELL Pet Foundation and its mission to help save homeless pets.
  • Get rid of messes without getting your hands dirty. This hands free portable carpet cleaner does all the scrubbing for you
  • Preset cleaning cycles that automatically spray, brush, and suction to permanently remove both surface and tough set-in pet stains. Just push the button to clean.
  • Equipped with two hands-free cleaning modes, quick clean for fresh stains and deep clean for set in stains, so you can get the right level of cleaning
  • Includes trial-size Pet Stain and Odor, Pet Oxy Boost Formula and a 3" tough stain tool. Hose length - 5 feet
  • Tank capacity: 32 ounces.
  • Power Source Type: Corded

From Strength to Strength

I’m… of a certain age. That bit smack dab in the middle, assuming all things go well. I’ll turn 47 soon, and that means I’m middle aged. GASP. While I don’t plan to have a mid-life crisis (I can’t really afford it), I have been considering what the second half of life will look like. It’s an exciting and scary topic to ponder. Thankfully, I’m far from the first to ponder such things, and others are better ponder-ers than me. So I can learn from their mental gymnastics. One of the particularly good ponder-ers on the topic is Arthur Brooks. His latest book, “From Strength to Strength” is on that very topic.

First off, the book is incredible. I start with that not because I’m afraid of burying the lede, but because at first I did NOT like it. The first chapter or so is incredibly depressing. And unfortunately I let my emotions get the better of me, and I gave Mr. Brooks a piece of my mind…

Not my finest moment…

I think part of what made the beginning so difficult for me, is that the book is written to the successful professional who is starting to “decline” in the aspects of their abilities that have gotten them where they are today. For me, whether due to undiagnosed ADHD, poverty, difficult childhood, traumatic brain injury — I haven’t actually found my professional success. And so the notion that it’s all downhill from here was a bit overwhelming. Thankfully, the book doesn’t just try to comfort us as we get older, but rather focuses on NEW strengths. (thus the title, duh, Shawn, keep reading…) So the latter parts of the book were relevant, encouraging, and actually quite helpful even for those of us who have floundered a bit more than the author and the professionals he seems to be addressing.

The main push of the book is describing that while the traditional skills we lean on for success (the author calls it fluid intelligence, which is sorta the “smart-ness” we think of with really smart folks) tend to decline as we approach middle age, there’s another aspect of intelligence that sticks around. That “crystallized intelligence” is more akin to wisdom, and allows us to make connections and decisions that are only possible after a lot of experience. To be clear, there is very real, very inevitable decline with a very significant part of our intelligence and ability. This book helps us learn to accept that, and thrive in spite of it.

If you haven’t already noticed a decline in your mental prowess, you will. But whether you’re like me and worry it means you’ll never be a success, or you are already quite successful and worry you’ll fade away into irrelevance, the author helps steer our mental ships to calmer, but still bountiful waters.

That first chapter will kick your butt though.

My Rating: 4.5 out of 5.0 stars

Photo Title Price Buy
From Strength to...image From Strength to Strength: Finding Success, Happiness, and Deep Purpose in the Second Half of Life $16.99

The 5AM Club

You know how people say the best way to get an idea across is by telling a story? When Robin Sharma wrote “The 5AM Club“, he took that concept to the absolute extreme. And… it’s kinda weird.

The book itself is a self-help sort of read, revolving around waking up at 5AM, immediately doing exercise, then some learning, then some reflecting. Mr. Sharma even includes diagrams of various ways to accomplish the tasks and reap the benefits of starting each day as he describes.

But.

The entire book is a fictional narrative about two people who fall in love, and follow an eccentric billionaire around the world learning his methods for attaining success. And don’t get me wrong, it’s not that the writing is *bad* really, it’s just very odd. The entire narrative is contrived to explain the benefits of waking up early. The whole idea of telling a story to get your point across is to tell *your* story. This is fiction for the sake of, I guess “being a story” ?

Anyway, enough beating up the author’s style. Like I said, much of what the author tries get across is valuable, if not fairly simple and straightforward, stuff. Wake up early, get some exercise, take time to reflect, learn stuff every day. Boom. But I guess that’s not enough words to sell a book.

I actually listened to the audiobook version. And even though it was like an ELEVEN HOUR LONG story problem trying to teach simple mathematics, I managed to finish the entire book. That said, I don’t really recommend it. I *DO* recommend waking up at 5AM. I’ve been doing it for over a month. (not because of this book, I’d actually started waking up at 5AM before I ran across it)

Book Summary

I’ve already summed up the entire book twice in the section above, but here it is in bulleted format. This is what the author calls the “Hour of Power” or some such thing:

  • Wake up every day at 5AM
  • Exercise for 20 minutes
  • Learn something new for 20 minutes
  • Reflect and/or journal for 20 minutes

And… that’s really pretty much it. I mean, there’s more advice, but that’s the gist of the book.

My Morning

Like I said, I do wake up every day at 5AM. I’m not a morning person, but I have to admit, I’ve been doing it for over a month, and I don’t plan to stop. That said, a few things have been important:

  • I have to get OUT of bed within the first 20 seconds of my alarm going off. If I don’t get out of bed in that timeframe, I will rationalize why I should go back to sleep. It’s uncanny. But in that first 20 seconds or so, I’m not awake enough to think through why I should really get more sleep, etc. So if I get out of bed immediately and put on pants? It works.
  • I do exercise first thing. This actually started after I read the book, so I’m grateful for that insight. I don’t always do 20 minutes of exercise, but I get my body moving enough so that I’m fully awake within the first few minutes. It’s crazy how much my brain wants to rationalize going back to bed. But once I’ve done 25 of something, I’m awake.
  • I take my ADHD medicine right away too. I worried at first that if I started so early, it would wear off before the end of the workday. And, it does. But taking it at 5AM makes those first few hours really productive. And by the time I’m done with my exercises, and I’ve made coffee — the ADHD meds start to kick in, and I can start my day proper.

So am I glad I read the book? Yes. Do I recommend it? Not really. But I also have to admit, it was a book I’ll probably never forget. Maybe that alone means it was a success for the author.

My Rating: 2.0 out of 5.0 stars