Johnathan.org

May 2016 Archives

Constantly Improving

While I cook my dinner this evening, I want to write to you very briefly about an experience. It doesn’t have anything to do with technology, but does have everything to do with learning.

I like to consider myself an amateur-1 golfer. I don’t know what my handicap is because we’d be there all day trying to figure it out. It basically comes down to the fact that I can hit a ball in a forward direction all the time, and where I want it to go some of the time.

Maybe amateur-1 is a bit gracious. You won’t see me on the Golf Channel any time soon.

So you’re probably wondering: “if you’re not very good, what does this have to do with learning?”

Everything. See, I used to not be able to hit the ball at all, as in zero out of ten times. In what’s amounted to roughly a total of 16 hours of practice overall, I’ve made great strides in my golf abilities and I think there’s a key to it, something I learned while reading The Talent Code by Daniel Coyle. I won’t give the book away but the key here isn’t any special regimen or long hours of greuling practice. It’s repetition. If you want to know why, you’ll just have to read the book.

See, every time I go to the range, I practice maybe 30-45 minutes. I’m a computer guy, so my physical fitness right now wouldn’t allow for much more than that, anyway… that and my mild scoliosis always likes to make fun things involving slightly awkward back positions less fun.

The physical part is getting easier, and so is the consistency in my swing, without golf lessons. Granted lessons would definitely help me improve the finer motions, but I think it definitely goes to show that plain old practice works wonders.

I will have to work on the physical strength if I want distance, but I’m incredibly happy with how far I’ve come, on my own. If I ever had to leave the tech industry forever, I’d become a pro golfer. With enough quality practice, I might just be able to say that with real confidence.

Blogging, Statically Speaking

The concept of blogging using a staic site generator isn’t news. People have been doing such things for years, now. There are fantastic static site generators out there (Jekyll, Hugo, Pelican to name a few) and all have their unique features, quirks, and ugh moments.

I wrote a post a wrote a post a while back about moving over to Jekyll from WordPress. Within a couple weeks or so, I had moved back. I never posted why, but the reason boiled down to the generation time. It took Jekyll upwards of 90 seconds to two minutes to generate every time I wanted to updated something–anything, really. New to Jekyll 3, the --incremental argument didn’t do anything and I wasn’t comfortable leaving Jekyll running in --serve mode in the background.

Needless to say my views on running this blog with a static site generator are a little jaded. Recently the idea of using Hugo (written in Go) was suggested and I gave it a whirl. Go was wasy easier to set up and get running. I also found myself looking at several front-end UIs that can be bolted onto Hugo so I don’t have to edit .md files all over the place then work out some git magic to push changes and have them be re-deployed.

There was one component that I just couldn’t get into this potentially new workflow, though, and that was integrating any of my writing apps without having to also introduce manually saving an editing. I use Desk for writing my blog posts, including this one, and it does a killer job. Within a few clicks, my post is live and I didn’t have to git push a damn thing.

Really it seems as though I’m torn. I like the idea of speed and simplicity. I like the idea of not having to maintain a MySQL database and PHP. I don’t like the idea of trading that work (something I’m already super familiar with and have down pretty well for my needs) for a different kind of maintenance. I can deal with maintaining a server, but if it takes more than minimal effort to get a blog post up, I’m not sure I’d be interested in the alternative.

Did I mention the migration? Never have I ever had my 270 something (as I post this) posts all move over without at least moderate tweaking required. At this point, the amount of effort required to transition would negate any savings. And I’m kind of lazy.

I doubt I’m the only one that feels this way and I’m sure there are a ton of other ways to go about solving this problem. I might never go back to a static site generator, again, and I’m ok with that. If WordPress becomes faster, hooray! If it is no longer written in PHP, I’d feel even better about it. In the meantime, I’ll continue doing things the way I’ve done them since January 2015, almost 18 months ago.

The CDN Contemplation

About four weeks ago, I bolted a CDN to my blog. The goal: what kind of benefit would I, someone who receives a small but steady stream of traffic, get from such a technological underpinning?

This CDN is nothing fancy. Powered by MaxCDN, It takes my site assets (CSS, JavaScript, and images) and tosses them around the world to their edge servers. In exchange, I can load said assets from cdn.john.ly and an origin server shall provide.

What is a CDN, really?

A content delivery network or content distribution network (CDN) is a large distributed system of servers deployed in multiple data centers across the Internet. The goal of a CDN is to serve content to end-users with high availability and high performance. CDNs serve a large fraction of the Internet content today, including web objects (text, graphics and scripts), downloadable objects (media files, software, documents), applications (e-commerce, portals), live streaming media, on-demand streaming media, and social networks. (https://en.wikipedia.org/wiki/Content_delivery_network)

The short version of that is all the files that need to load fast are put on servers as close to as many people as possible. Example: This site runs on a server in San Franciso, CA. That’s great for people like me who live nearby. Also great for those who live within roughly the same country. This isn’t so great for a person in South Africa, Ireland, or Russia. The amount of time it takes to load all the fun bits is greatly increased as physical distance also increases.

Costs

I run this site with little to no overhead. I pay the price of four fancy cofffees from Starbucks every month to Digital Ocean for the virtual server. With static page generation in place, the site already uses little resources, so I don’t expect it to increase anytime soon. MaxCDN starts at $9/month for 100GB of transfer. For anyone running a blog on a small scale, you won’t hit 100GB a month. I promise. There’s no free plan but there is a free intro for a month.

Beyond that, if you want to add an SSL certificate, you have two options: SNI (free) or EdgeSSL ($99/month). For the small blogger, EdgeSSL (which comes with an IP and SSL certificate) is overkill. SNI is a feature of the TLS encryption protocol pretty much the entire secure Web runs with that allows a client (browser) to tell the server which hostname its trying to connect to and the server returns the right SSL certificate. From there, the whole rainmaking SSL handshake dance commences. Naturally, I opted to take the SNI route but in return needed to provide my own SSL certificate.

Why an SSL certificate? If your site is served over an HTTPS connection and you start loading a buch of assets that aren’t served over an HTTPS connection, some browsers are going to barf. Best case scenario it’s mildly annoying for the visitor and worst case, those assets never load. That fancy font you have is useless.

I picked up a year-long SSL certificate for ~$9 and change from Namecheap. I used to use them for my domains (and have since moved to Hover) but their SSL offerings are great for the little guy. Now we’re up to $9 out of pocket to start and $9/month.

Beyond those two costs, there wasn’t much else I needed to pay for. I spent a few hours poking at MaxCDN’s interface trying to get them to accept my SSL certificate, only to find out I was giving them part of the certificate for cdn.john.ly and part of the certificate for john.ly. A copy and paste mistake that their UI did a terrible job of alerting me to. All I got in return was a vauge Internal Error message and support wasn’t much help in decoding it. By the time they got back to me, I had figured it out.

Implementation

This is something that’s likely news to zero people. This site currently is run on WordPress. The quickest way to implement a CDN on WordPress is via a plugin like WP Super Cache. It takes two minutes and boom, you’re CDNing all over the place. When setting it up for the first time, there’s no cached resources on the CDN servers, and that’s fine. The most common type of CDN is referred to as pull. On first request (say to https://cdn.john.ly/stylesheet.css if that actually existed), the CDN figures out it doesn’t have that so it redirects to https://johnathan.org/stylesheet.css for the visitor and fetches a copy onto which it will hold until further notice. Usually this notice is once every X hours or days. After that period of time, the files it has “expire” and on the next request, the process restarts.

The downside to this is updating such resources locally while making changes to the site. If I were to, say, update the size of my post titles locally, and did nothing else, it wouldn’t be obvious until probably tomorrow. This is where force purging the CDN’s cache comes in. All CDN providers have this option and it’s super easy. Within a couple minutes everything is fresh, again.

So was it worth it?

That’s hard to say. Given I don’t serve a ton of images, I didn’t use much in the way of CDN resources (a bit over a GB). Even at $9 per month, I don’t think the benefit was great enough. That said, the service itself was pretty good. It was easy to set up (sans SSL, and if I was paying closer attention, that wouldn’t have been an issue, either). At this point, My traffic would need to at least quadruple before I think about re-introducing a CDN into the mix. Either that or a free tier that I can upgrade from easily (or pay as I go per GB like Amazon Cloudfront).

Should I go for it?

If you have a good amount of traffic and or are looking to decrease bandwidth usage on your primary server(s), it’s worth looking into, for sure, and MaxCDN is my favorite. If you’re at that point where you’re serving mid-double digit GBs per month, it’s hard to argue with $9/month and you’ll probably see an improvement. If you’re serving a lot of photos or videos, then I would definitely look into it. People have zero patience, these days.

Disclaimer: some of the links in this post are of the affiliate nature.

Forget How to Spell with Irn Bru

Is that jello and pasta sauce, I smell?

Following up my Lucozade review, I went straight into number two with Irn Bru in my International Beverage Bonanza series. I kid you not, that’s how to spell it. I’m pretty sure it’s pronounced Iron Brew. I think the lack of iron makes you forget how to spell properly.

Irn Bru is in a rather unassuming clear bottle, looking more like a 16oz soda than a carbonated citrus drink with 5% of your daily recommended amount of iron. Unlike the last orange beverage thing I tried, this one has some flavor. Some odd flavor.

Remember, as a kid, when the dentist put fluoride in your mouth to poison your mind for your teeth and you got to pick a flavor? Yeah. This brings back those memories. While I wondered for 20 minutes what Lucozade tasted like, I have no doubts what Irn Bru is trying to get after. Ever drink orange gelatin before it set?

I really hate that I’m making myself drink 12 oz of this mind-altering fluoride water bubble juice. I’m having a really hard time figuring this drink out. The flavor is so crazy compared to how innocuous it looks.

Then again, as a kid, I always wanted more of the tasty fluoride foam so the Illuminati could become supreme overlords I could get more of that orange flavor. As I drink it, it’s becoming addicting. Irn Bru is a British Scottish drink that’s lying to me, you, to the Queen, and to all of Her Majesty’s KingdomTM. The latter half is fine because of its Scottish roots; I hear the Scots have some beef with England.

If I took the wrapper off and told someone it was a new kind of Crush orange soda, they’d believe me.

Did I mention the spelling? Oh, I did. I’ll just get back to drinking it.

Besides the 5% DV of iron per serving, there’s little nutritional value. At 200 calories, 50 carbs (100% of which is sugar), and a measly 20mg of Sodium, this is true sugar water.

One thing worth noting here is Irn Bru found in the United States contains different ingredients than the UK version. The UK version uses Ponceau 4R (Europe: E-124) for coloring, a coloring not approved by the United Stated Food and Drug Administration for use in food, where as the US version uses FD&C Yellow Number 6 (Also known as Sunset Yellow FCF; Europe: E-110). Like anything FD&C is much better, right?

Barr’s has made a legit attempt to make sure Irn Bru is as US legit as possible. It comes with a North American UPC label and everything.

Taste – 2/10. The logical side of me is having a hard time with this flavor. Seven-year-old me is metaphorically losing his mind. If my inner child were writing this review, it would be a 10/10.

Presentation – 5/10. The package screams “Meh!” and Irn Bru’s bland packaging is definitely hiding something. In the right light, the liquid looks like dark urine. Take that for what it’s worth.

Desire – 2/10. Again, like the taste, adult Johnathan is nearing repulsion. Seven-year-old me is now spazzing out.

Overall – 9/30. If you’re over the age of seven, don’t even think about it. The exception is those who drink jello before it sets or they have odd fixations with [email protected]$$ citrus flavors.

I picked this one up at the Aussie Products store for a few bucks but it can be had online in many places, including Amazon and UK Goods.

Special thanks to Aussie Products for the hookup on this one, even though I technically paid for it. If you’re in the San Jose, CA area and are feeling that down under tingle, go check them out or visit aussieproducts.com.

Get After it with Liquid Sugar and Lucozade Energy

If there’s one thing I’ll always try a new variant of, it’s an energy drink. As the inaugural post in my International Beverage Bonanza series, I think it’s incredibly appropriate (or not) to give the U.K.’s rocket-bottle-full-of-sugar the first chair. I’m cautiously optimistic.

At first glance, it feels like the 90s called, asked for their bottle back, and the Brits said: “nay, good sir!” The odd, rocket shape lends credence to the statement on the back which reads, and I quote:

Glucose. It’s for that moment, when you need it most. When the energy and good times flow. Whatever you do, do it with energy.

If that’s not a sexual innuendo, I don’t know what is. Translated into me speak: “Maximum Effort!”

With the added punctuation, I feel like it’s meant to be read as if I was out of breath. (So. Much. Energy. Must. Do. Things!)

A bigger bottle. So you can split the energy between friends.

I’m having a hard time figuring out a situation where two (probably and nonbiological) “bros” would decide to split a sugar missile. (sigh) Even just calling it a sugar missile makes the innuendos more… innuendo-y.

Tossing in some nutritional information that would make even the most passive hippie health coach vomit their kale chips (per bottle: 172g of carbs, 88g of sugar, 700 calories). I’m somewhat regretting the 12oz minimum rule. Ah, what the hell.

On first taste, it reminds me of partially flat, less flavorful Sprite. Then again, pretty much everywhere else in the world things have normal levels of taste. Us Americans can’t get enough of anything so we shovel all the tastiest crap we can find into our mouths. My taste buds have been tainted.

In other words, it doesn’t have an American level of flavor and I suspect is thusly not worthy of being an American beverage.

Besides that, it tastes fine. I’m having a hard time putting a real flavor profile down. It feels like a mix between orange and lemon with a hint of ginger ale. I don’t even know. I’m making stuff up at this point.

I’m getting the vibe that this is aimed at a younger audience with the bright red packaging and orange soda tint. If I gave this to you in a cup and said it was orange soda, you’d taste it and revolt.

After drinking it, my lips feel sticky. I suspect that’s the power of liquid sugar at work. Given the sugar content, maybe this beverage is more American than I thought.

I picked an odd beverage to start with, I’ll admit. That said, I don’t think it was a terrible choice. Here’s what I’d give it:

Taste – 6/10. It would have scored higher had it actually stuck to one flavor… literally any flavor. I imagine this is what people feel like when they drink a Red Bull and wonder what the hell…

Presentation – 4/10. The asthmatic punctuation bothers me and I think there are more bubbles on the package than in the beverage.

Desire – 6/10. It’s a light drink, and I’m a fan of that. I haven’t experienced what the raw sugar crash is going to be like but I suspect it’ll line up with that of Mountain Dew.

Overall – 16/30. This is pretty much a universal score for every energy beverage I’d ever consume. It’s nothing earth shattering but some folks seem to really dig it. I can understand that as a connoisseur of Red Bull.

If you’re dying to get some, look for a local import food store. If not, Amazon should be able to hook you up. I paid $15 for this bottle. Definitely better than lighting $15 on fire, but not by much.

The International Beverage Bonanza

Some say Americans get all the good stuff. I don’t know who those people are, but they’re probably crazy. The real winners are the non-American countries. Just about every other country in the world gets awesome flavors of Coca-Cola–without HFCS no less–and America is left with garbage. I suppose a few locations source the good stuff like Club Cool at Epcot.

They also get some pretty oddball choices.

Beyond the major brands everyone knows, there are lesser known ones. It’s those brands I’m focusing on in this series: The International Beverage Bonanza. The goal is simple: source allegedly tasty beverages from countries around the world without getting on a plane. Each one will get its own post, about 300-500 words, and a rating out of ten each for:

  • Taste
  • Presentation
  • Desire*

The last one comes with an asterisk as just saying “desire” is pretty subjective. In this case, we’re talking about how badly, as an American, do I want to see this on U.S. store shelves? Naturally, a ten is the best possible score in all categories and a score out of 30 sums it up.

I wanted to keep the rules simple because otherwise I’m bound to break them without even realizing it.

  • No wine or spirits.
  • No beer.
  • I must drink the whole container before reviewing.
  • The beverage must be packaged ready to consume.

That’s it. Everything else is fair game.

I’m excited to spend way too much money on stuff I might not like for the sake of the Internet’s amusement.

Get ready. This American is about to get Cultured.

The List

  • Lucozade Original (U.K.)
  • Irn Bru (Scotland)
  • Grapetiser (South Africa)
  • Appletiser (South Africa)
  • Vinto (coming soon)
  • Ribena (coming soon)
  • Lilt (coming soon)
Johnathan Lyman
Kenmore, WA,
United States
 
blogging, design, technology, software, development, gaming, photography