Before I began, I thought I should see if there’s a newer OpenWrt version my router can run. I always start on the Supported Devices page of the wiki, but on this visit I was treated to a warning:
If you read the 4/32 warning, the crux of the matter is that there may not be enough RAM to run OpenWrt without crashing. And the small flash area means possibly not having enough room to install LuCI, the web interface, and the packages to access LuCI via HTTPS. Also, there’s this:
Previous versions of OpenWrt (such as earlier versions of 17.01.x, 15.05.x “Chaos Calmer” and prior) contain now-known security vulnerabilities in the kernel, wireless implementation, and/or application code. […] In many cases, these known vulnerabilities are being actively targeted, potentially including by advanced, likely state-sponsored or state-affiliated actor or actors.
Ugh, I was using one of those older versions, and now I’m paranoid (as I should be) that my router could be used as a tool by nation-states to do their bidding. Nicely, there’s a link on the supported devices page titled “I want to buy a router which is supported by OpenWrt.” It links to their supported hardware table, pre-filtered by units that can run the latest stable version of OpenWrt – 19.07.4 at time of writing.
I spent some time browsing this list compared to what was available at my local Micro Center. I tried to find one that had the best OpenWrt support with the fewest known issues, and landed on the TP-Link C7 AC1750 for $70. If I like this one after a month or so, I’m going to buy another for better coverage.
OpenWrt ddns-scripts install
With the hardware choice out of the way, I installed OpenWrt 19.07.4. Then I needed to add support for Dynamic DNS. Go to System -> Software in the Web UI (LuCI). Click Update lists…, then type ddns in the filter input and press <Enter> to filter the list. The packages to install to use nsupdate.info are ddns-scripts_nsupdate and luci-i18n-ddns-en (or whatever language package you need):
Installing those will also install their dependencies, such as the base ddns-scripts and luci-app-ddns. Once they’re installed, reboot your router and you’ll have a Services -> Dynamic DNS menu.
You might see the menu before rebooting, but you’ll likely get this error if you try to visit it:
/usr/lib/lua/luci/controller/ddns.lua:116: attempt to index field '?' (a nil value)
Following it will lead you to a hints page and let you know you need to install a couple more packages: curl and bind-host. Follow the same installation process as above. After they’re installed, the Hints section will go away.
DNS Configuration
The only configuration you have to do at your DNS provider is add a CNAME record for the domain you want to use:
your.domain.com CNAME yourdomain.nsupdate.info
Then when you go to nsupdate.info, on the Overview page click Add Host and put in the subdomain (example: yourdomain from above) in the Name field, then select nsupdate.info under Domain:
Conveniently, after creating your new host entry, nsupdate.info will print your update secret and include specific configuration parameters for OpenWrt:
OpenWrt Configuration
You can use the configuration info from nsupdate.info, but it’s just as easy to paste the info into the LuCI panel. It’s worth noting that you only need to generate one host and host secret at nsupdate.info, but you’ll have two separate configurations in OpenWrt for IPv4 and IPv6.
In OpenWrt’s Dynamic DNS page, click Edit on the myddns_ipv4 row. The first thing you’ll want to do is update the DDNS Service provider to nsupdate.info and click Change provider:
Only then can you enter all of the information from nsupdate.info:
Enter your nsupdate.info FQDN in all of these fields:
Lookup Hostname
Domain
Username
Then put your secret in the Password field. Check both Enabled and Use HTTP Secure, then add /etc/ssl/certs to Path to CA-Certificate. Click Save & Apply, then repeat the same process with the same info for the other myddns_ipv6 entry.
From the Dynamic DNS overview page in OpenWrt, click the Start buttons for each row under Process ID Start / Stop. This only needs to be done once when you’re done configuring Dynamic DNS.
Test
Starting the Dynamic DNS process in OpenWrt should trigger your first update at nsupdate.info. You can see it easily on the Overview page:
If it all worked, your IPv4 and IPv6 address should be updated, hopefully with a green TLS indicator noting that it was done securely. If there are any problems, the numbers under Faults will increase – C for Client, S for Server.
If there are problems, you can see API messages on nsupdate.info by clicking on your hostname to get further details. You can also view detailed logs in OpenWrt by clicking Edit on the myddns_ipv4 or myddns_ipv6 rows. Then click the Log File Viewer tab and click the Read / Reread Log File button.
I was able to configure this in under an hour, hopefully you find it useful. Let me know if you have any troubles getting things to work.
Once upon a time you could hook your Asterisk-based PBX to your Google Voice account to make and receive calls. How you hooked it up over the years changed (annoyingly). And at the end of 2018, support for accessing Google Voice via XMPP was dropped. Remember when we trusted Google to be the “for the better good” company? Oh, how times have changed.
I did it with the help of Nerdvittles and included several screenshots here for easy reference. I also used his advice when it came to picking a new VOIP provider. After looking at a few options, I’m going with Skyetel. Not because it’s the cheapest (it’s not), but because it has an important feature for our home phone: E911.
Pro-tip: don’t port your number over to Skyetel until you’ve made your first deposit into you Skyetel account. Once you make your first actual payment, they offer a 60-day free port-in service (normally $10).
Back when I had a land line from the local telephone company, it would cost at least $20/month. I expect the Skyetel monthly charges for a local number ($1) and E911 service ($1.50), plus call time, to be less than $5/mo. It’s worth it to me if I can reliably call the house and anyone can dial 911 in an emergency.
My initial deposit of $50, doubled to $100 should last me over 2 years.
It will cost $3 to unlock – worth it to me because it’s a cool number.
Once your purchase has been confirmed you’ll be emailed a receipt.
And now your number is unlocked!
Porting your number into Skyetel
From your Skyetel dash, go to Port Orders and click Submit New Order.
The process is fairly simple, but here are some key settings:
Port Type: Local
Assign to Endpoint Group: Out of Service Message – This is so we don’t need to do any SIP configuration up-front. I’m going to cover Skyetel setup in IncrediblePBX in a future post.
Current Provider: Google Voice
Account number with the losing provider: Your 10-digit Google Voice Number.
Port Out Pin: The PIN you use to access your Google Voice voicemail.
Phone Bill: I provided a screenshot of my Google Voice settings page.
Select the first available date for porting to happen, then submit. A support ticket will be automatically generated from your port-in request and you’ll get email updates during the process until it’s complete.
Stay tuned and we’ll go over tying all of the services and equipment together for a reliable VOIP-based home phone:
TL;DR? Don’t read the comments – they’re taking over the internet (and our lives).
Throwing the previous generation under the bus is a major generalization but – OK boomer – hold my beer.
Anonymous Trolling 1990s-2000s
Back in the day if you wanted to start a flame-war or express your true inner ugliness, you did it anonymously or with an unrecognizable internet handle. If you couldn’t comment anonymously, you registered your username as AssClown69 and went about your business.
One of the most prolific places for public trolling “locally” for me was our local papers. The Pioneer Press website, which publishes online under the misleading domain TwinCities.com, and the Star Tribune site.
Both papers have wrestled with moderating comments and they’re not alone, this 2009 article highlights some of the steps several local publications were taking:
With the rise in popularity and adoption of Facebook, several publications switched to Facebook-powered comments. Would the comments section calm down?
Now people would be commenting with their actual, legal full name and possibly an actual picture of their face! As some Pioneer Press and Star Tribune readers lamented, would there be “no fun” in the comments anymore?
Boomers connect
The generation that outnumbered and overpowered their parents from the Greatest Generation was now online in social media. The have anything you want generation turned into the say anything you feel generation.
The early internet trolls, which were seen as fringe zealots – hiding anonymously behind their clever username – were now joined by a majority of boomers.
You know those boomers who would look both ways before telling you a racist joke – they’re now empowered with social media. Anonymity didn’t matter anymore, as long as they could avoid the in-person confrontation. They could spew their hate from the comfort of their keyboard, or more conveniently, from their phone.
They forgot that anything they posted would be recorded on the internet forever.
Thus began a no holds barred approach to commenting on all platforms. On Twitter (which is a dumpster fire onto itself) there’s an account called Best of Nextdoor which highlights the vitriol from Nextdoor.com. How meta.
Nextdoor is a fantastic place to bully your neighbors about issues you don’t want to talk about in-person. Never mind that you’re doing this all under your legal name and also your address. 🤦
Boomers conspire
Social media also has had a dangerous leveling effect where pseudo science and opinion can have as great of an influence as actual science and facts.
In a modern age when a flat-earth theory should be considered ridiculous, we’ve instead given that fringe a better way to connect and fuel their own fire. QAnon was started by an anonymous post on 4Chan – an image site that was dedicated to photochops and memes! Where is the credibility in that? It has baseless conspiracy theory written all over it.
I build websites using WordPress professionally, and the mission of WordPress has been to democratize publishing. I can’t help but wonder how many of those fake news sites were produced using WordPress & AMP – it’s terribly easy to set up.
How do you see it going? It doesn’t seem to be getting any better from my vantage point 😞
On carpet tracks, the owners are very particular about what traction compound you’re allowed to use. Rightly so as the tire rubber and compound ultimately work their way into the (expensive) carpet.
On dirt and clay it’s not as regulated for club racing because it’s just dirt! This has unintended consequences… One popular “tire sauce” is liquid wrench. You can even find it listed on the pros setup sheets. While I admire the inventiveness, take a look at the Material Safety Data Sheet (MSDS). With warnings like Use only outdoors or in a well-ventilated area and Causes skin irritation, it makes you wonder if there’s a better way.
When using liquid wrench I would wear nitrite gloves to make sure it’s not soaking into my skin. Wearing gloves for tire chemical treatment is generally a good idea, but if I can also avoid irritating fumes, even better.
Continue reading →
Unfortunately apple cider was very out of season at the time. As we get back into the height of cider season, I want to tell you how easy it is to make hard cider with three (3!) ingredients and have it ready to drink in about a month.
The Brooklyn BrewShop kit is an easy single fermentation kit that contains a gallon jug, airlock, siphon, sanitizer, and enough yeast to make three batches.
The only other thing you’ll need are bottles. I like the swing-top E-Z Cap bottles. You can get them at your local brew shop.
Ingredients
Like I said, this is super-simple, there are only three ingredients:
Apple Cider with no preservatives (no potassium sorbate or sodium benzoate)
Champagne Yeast – the kit includes 3 packets of Red Star Premier Cuvee yeast
Finding apple cider with no preservatives can be tricky. I’ve noticed that almost all ciders use it. Luckily, the SugarBee brand, which is available at my local grocery store, contains no preservatives. And it makes fantastic hard cider!
Brewing
Brewing is as simple as pouring in room-temperature cider and adding yeast. You should follow the kit instructions to make sure your equipment is sanitized. But it’s really as easy as pouring in a gallon of cider and a packet of yeast.
Put the airlock on and set a reminder for two weeks later. Maybe give the bottle a light shake after a week to re-activate any live yeasts that have settled to the bottom.
Bottling
After two to three weeks of fermentation, we’re ready to bottle. During bottling, we want to make sure a majority of the yeast stays on the bottom and doesn’t get transferred during the bottling process. You should be carefully moving around your fermenter to keep things settled.
Before bottling, we need to decide how you’re going to add the priming sugar – are you using honey or fizz drops? If you’re using honey, follow the instructions and heat it with water. Then you need to combine it with the cider.
Since you don’t want to stir the cider in the fermenting vessel and get all the yeast off the bottom, you either have to:
Siphon the cider into a sanitized bucket or pot and combine with the priming sugar OR
Put equal amounts of priming sugar into your bottles.
If you’re using fizz drops, just add a drop to each bottle for 12-16oz bottles – the E-Z Cap bottles I like are 16oz, and a gallon of cider fills eight (8) of these.
Either way, watch this video on How to Bottle to get used to their simple (but effective) siphon:
I suggest following their instructions by trying out the siphon with some water first. It goes fast, so you’ll want to know how it works before spilling your precious cider (that you’ve waited weeks for) onto the floor, making a huge sticky mess.
Pro-tip: I like to keep the jug or bucket on the counter and put my bottles on the dishwasher door while it’s open. That gives me the elevation I need for the siphon to work, and if I spill it will stay in the door, and go down the drain once I close the door when I’m done.
Bottle Conditioning and… drinking!
Leave the bottles condition at room temperature for two weeks. I like to put my E-Z Cap bottles back in the box they came in. The box will make sure no UV light gets to our cider, which can impart off flavors.
After two weeks I put one bottle in the fridge to test drink. I’ve never had to condition longer than two weeks, but in the spirit of science we must test! Once I’ve verified that the carbonation is good, I put them all in the fridge to prevent further fermentation (which can lead to explosion).
When you pour, go slowly and use the shoulder of the bottle to trap sediment (excess yeast) before it goes into the glass. Alton Brown does a darn good pour here:
There it is, from the package to your glass in one month. It’s super-easy and has turned out great every time I’ve done it.
Have you found any other brands of no preservative cider you like? Let me know in the comments!