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.
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.
My wife and I have had three floor lamps, all purchased at different times, fail in the same exact way (the third failed tonight). In each case, the crappy concrete base falls apart and the lamp separates from it. Here are some photos:
We will now institute a “no floor lamp” policy in our household, seeing as these things are so poorly manufactured. Has anyone else had this experience?
I’ve been tracking my weight using the Libra Weight Manager application for Android since June of 2010. It’s been a long time since I’ve mentioned it, but I thought I’d provide an update on where I am:
The figure above shows the entirety of my data set, from 2010 to today. The red line is my weight trend line, while the blue line is comprised of the actual data points (my daily weights). Each horizontal line is a span of five pounds, for a sense of scale.
There are a few interesting things to point out here. Tracking my weight was a great way to lose weight in the beginning (note the ever decreasing slope at the start of the chart). I try to keep myself honest by tracking this data, but you can see that I’m starting to slip (trending upwards). The giant dip near the middle of the chart correlates to my getting married, which I find interesting. I suppose that weight loss was primarily stress based.
One of my goals in 2019 is to bring this trend line back down about 10 pounds or so. I’ll try to post an update sometime in the new year to log my progress.
Remember the days of Microsoft FrontPage? I first cut my web development teeth using that tool, and at the time I thought it was amazing. Designing a web site was made easy and I really liked the WYSIWYG editing style. I eventually migrated to Adobe Dreamweaver which seemed (and was) even more powerful.
Nearly 20 years have passed since my start in web development. With a computer science degree under my belt, along with 13+ years of professional experience, I can only look back on those days and laugh at my naivety. Those tools seemed slick at the time, but they were pretty clunky in actuality. The HTML and rudimentary CSS that each generated was ugly and bloated. That said, the WYSIWYG movement never really died. With modern companies like Squarespace and Wix.com, the “build it as you go” web model is still alive and kicking.
WordPress now also seems to be headed that way. I use WordPress here at Born Geek, and I just recently updated to version 5.0. The giant new feature in this release is the new Gutenberg editor, which offers a visual means of laying out your content. To a technical minded person like myself, who typically writes posts in Markdown, the editor is incredibly confusing. I don’t want to have to insert “blocks” with my mouse every time I need a bulleted list or image.
The new editor in WordPress is no doubt an attempt to win users from the Squarespaces and Wix.coms of today’s market. I wonder, however, if this comes at the cost of alienating technical users or users who are simply used to the old look and feel. Giant changes are always likely to have push back, especially with a user base as large as that of WordPress. Given, however, that the Classic Editor plugin already has over one million users, I’d say that this change has a bigger negative opinion than the WordPress powers-that-be might be willing to admit. It will be interesting to see how things progress over the next few months. I’m just thankful that the Classic Editor plugin even exists.
At 4:30 this morning, I awoke to our daughter (for the umpteenth time) crying out from her bed for who knows what reason. My wife had just put her back to bed after an early morning feeding. Seeing as my wife had just gotten back to bed herself, I got up to give her a break. After calming our daughter down, our cats decided it was immediately time to eat. Rather than put up with another hour or so of cat mischievousness, I decided to go ahead and feed them.
Having fed the cats, I headed back upstairs to bed. About ten minutes later, I hear a metallic thunk from downstairs. Getting up once again, I went back downstairs to find that I had left the can of cat food on the counter. Our incredibly food-motivated calico had eaten about half of the can, and had knocked it onto the floor, spilling cat food everywhere. After ten more minutes of cleaning (and swearing), I was now wide awake. So I decided to go ahead and get up.
At 6:45, after working for awhile, I decided to have breakfast. Something tasted off, but I chalked it up to being sleep deprived. Halfway through the meal, however, I discovered that the milk I was using was spoiled. I ended up having to toss the rest of the meal, and was too tired to make something else.
As I was about to head out the door to work, our daughter started fussing again, loudly. I brought her back downstairs to calm her down and give my wife some more sleep. After another hour, our daughter fell back asleep, and I put her back in her bed. I quickly gathered my stuff and headed to work, dazed, confused, and hungry.