One of the things we had to do after having our daughter was to child-proof a number of things around our house. Ensuring that bookcases (and similar furniture) didn’t tip over was of primary concern, so I looked for various options. After trying some strap-style tie-downs (which didn’t work worth a darn), I found the Hangman Anti-Tip Kit, which is marketed partially towards anchoring furniture in earthquake-prone areas. This device is simple to install, and is as solid as a rock. Highly recommended for those in a similar situation.
Archive for 2019
Our garage has been lit by two 60-watt incandescent bulbs for as long as I’ve lived in this house (over a decade now). Until recently, that never really bothered me. Now that I’m into woodworking, however, and now that it gets dark early in the evening, the lack of light really started to strike a nerve. In thinking about potential solutions, I initially thought I’d install some LED strip lights in the ceiling, but doing this meant I would (a) have to mount the lights to the ceiling and (b) adjust the wiring for the existing sockets to accommodate for these new lights.
I found a much better solution in these deformable lights, which I picked up on Amazon. There are a million variations of these, from a million different Chinese companies, but these were some of the cheaper ones I found. The lights simply screw into the existing socket, and you can then point the three paddles in the direction you desire. I haven’t used them a ton yet, but wow, the difference in illumination is night and day. I highly recommend them. Here’s a picture of our garage taken tonight, with no flash:
About a decade ago (!), I posted some thoughts on several episodes of the original Star Trek series, as well as the original movies. Since that time, I’ve tried a time or two to try and watch Star Trek: The Next Generation, but I could never get past the first few episodes of the first season. Over the past few months, however, my wife and I have been giving it a good college try, and I’m glad that we’ve stuck it out.
Since I’m going through these episodes for the first time, I thought it might be interesting to share my thoughts as I proceed. I don’t know how often I’ll post my thoughts as I go, but I’ll give it a shot over the coming weeks. I will certainly try to comment on any stand-out episodes we encounter.
There’s not much to redeem this season, so I’ll keep my thoughts on this brief. Both Q-centric episodes were good, and I particularly liked Conspiracy and Heart of Glory. Data has a good backstory episode, and the Dixon Hill holo-deck episode was fun. Everything else was pretty much garbage.
Starting off with a real stinker (The Child), I wasn’t too optimistic about this season. It, too, is fairly uneven, with lots of forgettable episodes (the clip show being the worst imaginable). However, a few great ones stood out:
- Loud as a Whisper was a solid episode about a deaf ambassador, played by a deaf actor.
- A Matter of Honor was great television, wall to wall.
- The Measure of a Man raised interesting moral questions about what it means to be human.
- Time Squared was a fun time-travel episode with a neat ending.
- Q Who was easily the best of the season. It introduces the Borg, was well acted, and had a terrific ending. Perhaps the best episode I’ve seen so far.
We’re only a few episodes in to this season as of this writing, but this has already been a solid season. It feels like a completely different show from this point. The sets are higher quality, the story lines are much more serious, and the acting is top notch.
- The Ensigns of Command was a fun Data-centric episode.
- The Survivors was super solid; it felt like an X-Files episode. Everything on a planet has been destroyed except a man, his wife, and the patch of ground around their home. Excellent episode.
- Who Watches the Watchers was pure science fiction candy. Felt like something the one of the science fiction greats would have written.
- The Bonding was a super deep episode about the loss of family members. Michael Dorn (as Worf) was excellent in this episode, and the cinematography was of note.
All in all, I’m enjoying this run through this old television show.
These days I find myself thinking about woodworking more than just about anything else; it’s my new favorite thing! Here are a few of the projects I’ve completed over the past few months, in the order that I built them (the final project shown is not fully completed; it still needs sanding and finishing):
The table saw cart has been a great addition to my “shop” by giving me lots of storage for my tools (which are now nicely organized). I love having a new hobby that’s in a completely different direction from my day to day desk job. Programming doesn’t interest me like it once did, and having an outlet for creative energy has been quite cathartic.
We visited the J.C. Raulston Arboretum in Raleigh today. If you’ve never been, check it out; it’s particularly nice this time of year. I of course took my camera and got some macro photos while there.
I maintain multiple tools at work that all run in Docker containers on the same machine. The overall setup looks like the following diagram:
The router container on top (nginx) routes traffic to the various application containers based on the hostname seen in each request (each tool has its own internal domain name). Each application has an nginx container for serving static assets, and a gunicorn container to serve the dynamic parts of the application (using the Django framework).
Earlier this week, I was trying to add a redirect rule to one of my application containers (at the application nginx layer), because a URL was changing. As a convenience for users, I wanted to redirect them to the new location so they don’t get the annoying “404: Not Found” error. I set up the redirect as a permanent redirect using a rewrite rule in nginx. For some strange reason, the port of the application’s nginx layer, which should never be exposed to the outside world, was being appended to the redirect!
port_in_redirect off; directive to my nginx rules made no difference (or so I thought), and I struggled for an entire day on why this redirect wasn’t working properly. At the end of the day, I learned that permanent redirects are aggressively cached by the browser! This annoyance means you need to clear your browser’s cache to remove bogus redirects. I wasted an entire day because my stupid browser was using a bogus cached reference. Ugh!
My most recent woodworking project was also the toughest one to assemble. This time around, I built a garden trellis to support the beans and peas my wife planted. Here’s a picture (which you can click to view a larger variant):
The legs and horizontal frames are all cut with compound miters at 7 degrees. This made assembly difficult, as there weren’t any “flat” surfaces on which I could clamp things together. I purchased a cheap pneumatic nail gun which helped tremendously with this, but it was still a challenge. In the end, I think the final product looks pretty nice. Woodworking is a real fun hobby!
My wife and I often daydream about returning to Switzerland. One of the things we loved most about our trip there was the ability to go everywhere we needed via public transportation, most often on trains. Imagine my delight when, purely by chance, I recently happened upon a YouTube channel that is nothing but rail trips through Switzerland from the driver’s point of view! There are hours and hours of videos, so I know what I’ll be watching over the next few days.
I recently completed the first project of the online woodworking course I’m taking. Building this one was a lot of fun, and it was the first project I’ve put finish on (paint, in this case). My wife and I chose a bright blue color for the table, as it goes nicely with our orange-ish deck. This will be real useful to have on our deck when we grill or just sit outside to enjoy nice weather.
A few weeks ago, my wife and I watched the film All the President’s Men, about the Watergate scandal. I had seen the movie before, but it was a real treat to watch it again (it’s truly an excellent film). Seeing the movie got me interested in the book on which it was based, so I picked up a copy from my local library.
Wow, what a read! This book ought to be required reading for American citizens. Though it’s a non-fiction book, it reads like an action adventure novel. It was difficult to put down, and was a real eye-opener into just how corrupt our politicians are. I cannot recommend it highly enough.
I’ve been interested in woodworking since I was little. As a kid, Saturday afternoons often involved watching This Old House, The New Yankee Workshop, and The Woodwright’s Shop. Late last year, I decided a change was needed in my extra-curricular activities. Many of my existing hobbies were becoming less interesting to me, and I wanted a new outlet for my energy. Woodworking is the hobby I chose to pursue.
During the months of December and January, I voraciously consumed woodworking videos of all types on YouTube. One particular channel stuck out: Steve Ramsey’s Woodworking for Mere Mortals. I really liked Steve’s down to earth presentation, and his attitude that anyone can do woodworking with basic tools.
In January, I signed up for his online course The Weekend Woodworker. The course contains six projects with a bonus workbench project to build first. Over the past week (I haven’t been able to get to it until now due to lousy weather), I built the workbench project. Pictures of the build process are at the bottom of this post.
Years ago, while watching a public television show about artists in North Carolina, a metalwork artist said something about the learning process that really stuck with me. He said that prior to becoming a metalworker, the only difference between metalwork artists and himself was that metalwork artists were actually doing it. That’s the attitude I’m taking this year with woodworking; why think about it when you can just do it, learning something in the process? I’m looking forward to tackling the projects in the course, and I’ve already got plenty of ideas on other projects to build. Stay tuned for more!
I recently stumbled on yet another enjoyable YouTube channel: Company Man. Each video tackles a particular company (or pair of companies), discussing how they got to where they are today. Some of the interesting ones I’ve seen so far:
- Cracker Barrel – Why They’re Successful
- Little Caesars – The Rise, Fall… and Rise Again
- Lowe’s vs. The Home Depot
- Carl’s Jr. and Hardee’s – Why Two Different Names?
New videos are posted each Wednesday.
I’m not a car guy, but tonight I stumbled upon a great little video series (still in progress, as of this writing!) of a guy restoring a 1985 Pontiac Fiero. The car sat unused for 20 years and he’s working on bringing it to life. Part 1 of the series is where to start. It’s a real pleasure to see this guy’s effort paying off.
One of our local news stations recently deployed an anti-adblock package (Admiral) on their website. It detects the presence of adblock software on the client, and prevents access until you white-list the website. The ads shown by this particular website have previously included malicious ones that attempt to deploy malware. As such, I refuse to white-list their site, having had bad experiences in the past.
While searching for tactics to sidestep this, I stumbled upon two Reddit threads (thread 1 and thread 2), both of which gave me enough information to figure out what was going on. The second thread above points to a repo of domain names used by this third-party solution for serving their adblock detection software. There are enough similarities in the domain names they use that make it pretty easy to pick out patterns. A typical pattern they employ is:
This is similar to how default Docker containers are named. An example is
unequalbrake.com, which also happens to be the domain serving the aforementioned news website instance.
Adding this domain (or list of domains) to your adblock filter list should block the adblock blocker.
I consume nearly all of my news and web reading through RSS feeds, and have done so for many years. Back before July 2013, I used Google Reader, before Google shut it down for good (the bums). Shortly after Google Reader was closed, I switched to NewsBlur, which closely resembles the Google Reader of yore. I cannot imagine surfing the web without it.
The service can be used for free (up to a maximum of 64 feeds, and only 5 stories at a time in the “river of news” mode), but I pay a yearly fee ($36) to have an unlimited number of feeds and stories.
One of the best features of NewsBlur is being able to “train” the reader to know what you like and don’t like from various sites. I’ve trained several of my gaming feeds to exclude anything about Fortnite, because that’s a game I have no interest in. As a result, stories on that topic are never shown to me; I’m in control of what I read! Similarly, I’ve also trained a few feeds to flag articles from authors I like. Those articles are highlighted, and I can view just those highlighted ones if I so choose with the “Focus” mode.
There are lots of other features to recommend about NewsBlur: searching for stories across all of my feeds, sharing stories with friends on the service, a pretty nice Android app, and lots more. If you haven’t given NewsBlur a try, be sure to.
One of the web comics I follow is Saturday Morning Breakfast Cereal. The official RSS feed for this comic only includes the comic itself and the associated hover-text joke. To see the extra joke, you have to visit the SMBC website. But no longer!
I’ve just created a new project on GitHub that fixes this issue. It’s another RSS feed generator, and the feed that it generates contains the daily comic, the hover-text joke, and the hidden joke, all inline.
As always, there’s room for improvement in a place or two. Let me know if you spot any issues.