Wednesday, July 01, 2015
Hello from overcast a slightly drizzly Brevard, North Carolina!
We left Chez Boca at the ungodly hour of 7 AM. I drove for a few hours to let Bunny get some more sleep (me? I stayed up, deciding to “go to bed” a bit later than usual). At Ft. Pierce, switched places so I could get more sleep. We also encountered two bus loads (touring, not school) of middle school kids terrorizing the local establishments and causing long lines.
And wouldn't you know, the middle school kids were from Boca Raton. What are the odds?
There went an hour.
We switched again at a gas station just off the Grover, South Carolina I-95 exit. Here, the issue wasn't a ton of school kids from Boca Raton terrorizing the place, but being the only working gas station associated with an international brand for probably fifty miles in any direction. So there was the wait.
Oh so waiting …
Oh! An empty gas pump! Score!
No, I do not have a preferred customer card. Press “No” and wait.
Oh, now I can insert my plastic card o' money. Select “debit.”
Ah, now type my PIN.
Try to type my PIN.
Try to type my PIN.
Try to hit “cancel.”
Slam my body into the “cancel” button.
Okay, let me try this again, only this time, skip answering “No” to the preferred customer card. Now answer “credit” and try to enter the ZIP code.
Try to enter the ZIP code.
Try to enter the ZIP code.
Skip trying to hit the “cancel” button and go straight for the body slam.
Then try all those steps three more times, proving that I am, in fact, insane.
Walk inside the store and inform the clerk of the troubles I've seen.
The clerk walks out, I hand over my plastic card o' money and watch as the insanity spreads.
After realizing the insanity of the situation, the clerk has determined the pump must be broken and to try another pump.
It sounded insane, but switching to another pump worked.
And another hour just flew by.
The only other incident on the ride up to Brevard—we hit Columbia, South Carolina during rush hour.
There went another hour.
Twelve hours after we left Chez Boca, we arrived at destination. Just as the All-Knowing All-Seeing Google predicted.
The Sunset Motel
Bunny and I are staying at the Sunset Motel here in overcast and slightly damp Brevard (just an inch or two more of rain a year, and the area around Brevard could be classified as a rain forest). We're staying here for two reasons:
- It has this cool 50s retro-style and it looked like it would be a fun place to try out (it's been here for as long as I remember—in fact, it's next door to the town homes I lived in when I was last living here thirty-odd years ago);
- I procrastinated too long in registering at The Red House Inn and we couldn't stay there the full nine days we planned on staying here.
It's a nice place and even if it's relentlessly gay:
it doesn't bother either one of us. We're okay with this. It's fun!
I think we're staying in The Star Room, as it's decorated with pictures of 50s movie stars like Audrey Hepburn, Marylyn Monroe and Elvis “Hunka-hunka-hunka burnin' love!” Presley.
Yes, I think this will be a cool place to stay for a few days.
Extreme free wi-fi, Brevard edition
Bunny and I stop by Ingles to pick up a few items when I notice an odd offering for a supermarket:
I … I don't know what to make of this.
Thursday, July 02, 2015
Bunny and I have usually visited Brevard late in the year, sometime between October and December (inclusive). It's typically quiet, lots of parking downtown and very few people milling about.
Oh My God!
The one downside to staying at The Sunset Motel is having to park downtown (it's a bit outside walking distance to downtown). And that's bad this time of year as there is no parking available. Even last night when we ate at The Square Root (their Pecan-encrusted Brie is to die for) we had trouble finding a parking spot. Today? We ended up parking several blocks west of downtown. The sidewalks were mobbed. And there was fifteen minute wait at Rocky's Soda Shop.
But for a retro-50s soda fountain they are rather high-tech. A waiter took our name and cell phone number, entered it into an iPad application which then called us when our booth was ready. Who knew there's an app for that? [Rocky's Soda Shop. —Editor] [Shut up, you! —Sean]
And even the barber shop was crowded today when usually we're the only ones there.
It's odd to think of Brevard as “bustling.”
What next? Sushi at the sea food counter?
ORLANDO, Fla. - Publix announced on its Facebook page it has activated free Wi-Fi at all of its stores so customers can access the internet and their apps – including the Publix app – while they shop.
Via Jeff Cuscutis on FaceGoogleMyPlusSpaceBook, Publix offers free Wi-Fi at all stores
That was certainly fast.
I caption a photo taking Publix to task for failing to have Wi-Fi in their stores only to just now hear them announce Wi-Fi in all their stores.
I guess that's a thing now.
Extreme music appreciation, Brevard edition
Brevard takes music seriously, what with The Brevard Music Center. So I guess it isn't all that surprising to see a large banner of Beethoven hanging from the side of a building.
Friday, July 03, 2015
Dining in at the drive-in
Bunny thought we should try the Cardinal Drive-In (sadly, no website), a traditional drive-in burger joint just a few blocks north of The Sunset Motel. We arrived to a nearly empty lot (amazing, but we did arrive significantly before noon so maybe that helped).
Now, you would think that being at a drive-in, we would be eating in the car, but that would be too cliché—instead we ate in the dining room.
But to enmesh you in the whole drive-in theme, each booth had a phone where you could place your orders. The clerk could barely hear us through the device though, and instead walked over to our booth to take our order.
The food was quite good but I was rather surprised that in this day and age, there still existed a business that refused to accept plastic money. How authentically traditional (not to mention archaic but I digress).
But other than that, eating in and ordering face-to-face, our experience at the Cardinal Drive-In was exactly like eating at a drive-in burger joint.
Extreme food trends, Brevard edition
So at the drive-in, I came across this menu item—“breaded fried mushrooms!”
This isn't a thing I'm again, not aware of, right?
Given that Brevard has been rather crowded, Bunny thought it might be a good idea to try nearby Hendersonville for dinner. “A steak house,” she said. “Binion's Roadhouse sounds good.”
So Binion's Roadhouse it is. Some thirty minutes later we're driving through the parking lot of Binion's. The full parking lot of Binion's. The line snaking out the front door and across the parking lot of Binion's. “This place seems full,” said Bunny. “Why don't we try downtown Hendersonville?”
So downtown Hendersonville it is. A few minutes later we're driving though downtown Hendersonville and not a free parking space to be seen. Sure, there were a few empty parking spots, but there were people nearby hawking them for $5.00 a pop. It didn't help that a few streets were closed off for pedestrian use only. Man, what is it with North Carolina towns in the summer? Are they always this crowded? “You know,” Bunny said, “Binion's wasn't that bad a choice.”
So Binion's Roadhouse it is.
The wait wasn't that bad, actually. Maybe ten minutes. And the food was worth it (except for the fried pickles—they were a bit greasy and to me, tasted a bit like fried fish). But vegetarians and those with nut allergies are advised to avoid the place.
There is also no relation to Binion's, the Las Vegas casino, excpept that the owner of Binion's Roadhouse is friends with the owner of Binion's and has a license to use the name (I asked).
Saturday, July 04, 2015
Moving from reservation to reservation
With our reservation up, Bunny and I bid our adieu to The Sunset Motel.
The only real complaint we had about the place was the plumbing—straight out of the 50s. The inflow of water during our showers did not match the outflow of water down the drain, so we were continuously up to our ankles in water. Also, there was a fine line (about 2mm) between “boiling alive” and “flash frozen.” And the less said about the toilet, the better.
The other complaint we had (and I'll admit this is totally a First-World 21st Century problem) was the rather lackluster wi-fi access point (more like a yo-yo wi-fi access point). Most of the time I used the “Personal Hotspot” function of my iPhone due to the poor performance of the wi-fi (and managed to burn through half our “Trust Us! One gigabyte is more than you need” data plan in a few days—damn you overly large webpages!—but I admit, I'm a special case here).
But with our reservation sunsetting on The Sunset Motel, there was a reservation rising at The Red House Inn.
Again, due to recurrent procrastination, I couldn't reserve the room we wanted, but that's not to say the room we got was bad. It's not.
And like the previous room, the bathroom has a shower with dual-shower heads.
Now I'm wondering if all the rooms here at The Red House Inn have dual-shower heads.
Also in the room is a beautiful writing desk that I've taken over.
And so far, the wi-fi access here has been fantastic (no First-World 21st Century problems here)!
To celebrate the Fourth of July, Brevard closes Main Street (Main Street! And a block north and south on Broad Street, the main road through town) to vehicular traffic for an all-day festival.
There were plenty of artists, food stalls, games and rides to keep the thousands that showed up busy. Even the rain didn't discourage anyone from slowly meandering about (the rain just made the meandering more frantic at first, then slowed it down a bit).
By the time of the fireworks show, 9:30 PM at Brevard College, Main Street had been opened, but a quarter mile segment of Broad Street, from the Transylvania Courthouse north towards the campus (the Courthouse is at the top of a hill) had been closed off to allow people a good view of the fireworks show.
Photo by Bunny
After the show, it was quieter in Brevard than our own neighborhood. I don't know if that's because of stricter enforcement of fireworks restrictions, or those setting off The Good Stuff™ just live further away from town.
I'm guessing the latter.
Extreme revolutionary acts, Brevard edition
At 3:00 PM, right in front of the Transylvania County Courthouse, a bunch of rabble rousers stood in the middle of the street and right then and there, started ranting about the government.
Stuff about intolerable taxes, a government that doesn't listen to its citizens, usurping the will of the Governors on a whim, giving foreign governments power over us, for waging unjust wars and other things that are outright trea—oh wait a second! Bunny just corrected me—they were reading The Declaration of Independence.
Sunday, July 05, 2015
Extreme obviousness, Asheville edition
It was a quiet day today. Bunny and I drove to the Western North Carolina Farmer's Market in Asheville to pick up a few items and have lunch.
It was there I saw this:
Monday, July 06, 2015
A prisoner of the bathroom
I have two complaints about The Red House Inn. One, the bed is too soft for my liking and I find it hard to sleep at times (Bunny's complaint about the bed—it's too high, requiring mountaineering equipment to literally climb into bed).
My second complaint has to do with the bathroom door.
The above picture is taken from inside the bathroom, and as you can see, there are no door knobs, just a pull handle on one side.
The pull handle is on the wrong side.
You see, there's a strip of wood running down the center of the door on the other side, covering the vertical gap between the two doors (although there's not much of a gap—in fact, the two doors are quite snug when closed). This strip of wood is attached to the door with the handle. When both doors are fully closed (and like I said, they're quite snug when fully closed) it is impossible to open the doors.
So last night, I'm pulling on the handle and the door is just sitting there, refusing to open because of that strip of wood running down the middle on the other side. There's nothing I can grab onto on the right side in the hopes of opening it up.
In the end, I had to knock hard on the door to get Bunny to open it.
Extreme cosplay potential, Brevard edition
For those of you looking to flesh out your Superman costume, look no further.
Okay, so it's lacking an actual payphone but when was the last time you saw an actual phone booth? Okay, when was the last time you saw an actual phone booth in person and not on television or in the movies?
Tuesday, July 07, 2015
Extreme road trip, Cashiers edition
“Let's take one of the roads out of town and look for a place for lunch,” Bunny said.
“Okay, sounds good,” I said.
Around 40 minutes later, we found ourselves in Cashiers, eating at The Carolina Smokehouse.
It's an excellent place, highly recommended if you are in the area.
Anyway, that's not the extreme road trip mentioned in the title. No, that goes to the previous owner of this license plate:
That's not a state license plate you see all too often here on the mainland.
Extreme lawn ornaments, Cashiers edition
While Brevard may go for cows as lawn ornaments, in Cashiers, it seems goat herds are the lawn ornament of choice.
Wednesday, July 08, 2015
A quaint little town
What a picturesque town.
Bunny wanted to visit the Coast Lamp Mfg. Inc., a lamp factory known for their … well … lamps.
And Canton isn't that far, right? [42 miles per Google Maps. For Western North Carolina, that's considered “close.” —Editor]
And hey, the drive was nice.
Extreme street dancing, Brevard edition
During the summer, Brevard closes a block of Main Street to vehicular traffic every Tuesday between 6:00 pm and 9:00 pm so that people can dance in the street.
And here I thought choreographed dance numbers only happened in musicals.
Thursday, July 09, 2015
There and back again
Rush hour traffic in Jacksonville.
Friday, July 10, 2015
Receive valuable paper mail when you register a domain!
- "DomainLLC" <firstname.lastname@example.org>
- explodinggoat.com - Sean Conner - Boca Raton - 33431
- Thu, 09 Jul 2015 13:17:16 -0300
Hello Sean Conner,
I discovered your web site explodinggoat.com and I would personally like to invite you to examine our new program developed to assist those like yourself acquire additional earnings online.
Keep this top secret, this is building a MAJOR stur within the 'make money' online community…
We are not charging anything, just go to our website below and watch our video demonstration.
Unless you are the addressee (or authorized to receive for the addressee), you may not use, copy or disclose to anyone the message or any information contained in the message. If you have received the message in error, please advise the sender by replying to this email and delete the message.
Good thing I'm authorized to receive email for the addressee, otherwise I wouldn't be able to post this TOP SECRET information that is “building a MAJOR stur within the ‘make money’ online community.”
But I must say, the amount of snail mail I've received since registering a domain has been staggering. While on vacation, I received a 660 page catalog of office supplies from ULine among other junk mail, all presupposing I must be running a business because why else would I register a domain?
Well … it's their dime. Let them waste their money on me. Oh wait … did I just give them some page rank? D'oh!
“Space is big. Really big. You just won't believe how vastly, hugely, mind-bogglingly big it is. I mean, you may think it's a long way down the road to the chemist, but that's just peanuts to space.”
From Flutterby comes this video of traversing our Solar System at the speed of light. It's only (only!) 45 minutes long, and you want to know how far you get in just 45 minutes?
A bit past Jupiter (oddly enough, it also takes about 45 minutes to get a bit past Jupiter from Chez Boca—fancy that).
Saturday, July 11, 2015
Money, guns and Svalbard
The Sunday Gamers (you know who you are) might like this—it's actually very easy (if a bit pricy) to travel to Svalbard! (who knew?) And it's modern! Hotels with hot and cold running water and fast Internet connections.
Oh, and if you live there, you must carry a gun—it's the law.
Sunday, July 12, 2015
Build a pyramid by floating the blocks into position
Of all the … um … unorthodox theories of how the Egyptian pyramids were constructed, this theory of floating the blocks into position via water sounds quite plausible.
Monday, July 13, 2015
You feel the earth move under your feet
In fact, the science is robust, and one of the chief scientists behind it is Chris Goldfinger. Thanks to work done by him and his colleagues, we now know that the odds of the big Cascadia earthquake [approximately 8.3 —Editor] happening in the next fifty years are roughly one in three. The odds of the very big one [approximately 9.0 —Editor] are roughly one in ten. Even those numbers do not fully reflect the danger—or, more to the point, how unprepared the Pacific Northwest is to face it. The truly worrisome figures in this story are these: Thirty years ago, no one knew that the Cascadia subduction zone had ever produced a major earthquake. Forty-five years ago, no one even knew it existed.
Via Jason Kottke, The Earthquake That Will Devastate Seattle - The New Yorker
I knew about the San Adreas fault, and even the the New Madrid fault, but I did not know about the Cascadia subduction zone and as the article above points out, it has a history of “blowing” every 250–300 years, with the previous one being in 1700. And from reading, it doesn't sound good when the earth finally does move in the Pacific Northwest.
Monday! I should have known!
First day back on the job at The Corporation, and I am unable to log in and check my email. Hilarity ensues, and over the course of a few hours it gets worked out, and I find the following email:
- The Corporate Overload Corporation <XXXXXXXXXXXX>
- Sean Conner <XXXXXXXXXXXXXXXXXXX>
- Your WIN2K Password is Expiring in 13 days
- Wed, 1 Jul 2015 10:20:03 -0500
Your password is expiring soon. If you’re in the office, you can set a new password by pressing
CTRL+ALT+DELETEand selecting "Change a password…" If you’re working remotely you can change your password by logging into Outlook Web Access (XXXXXXXXXXXXXXXXXXXXXXXX) the selecting "Options" (on the top-right) -> "Change Password" (on the left menu).
If you use ActiveSync on any mobile device, be sure to update your password there as well to prevent account lockouts.
Accounts that have expired passwords will be automatically disabled. If your account is disabled, you’ll need to contact XXXXXXXXXXXX (XXXXXXXXXXXX) for support.
Niiiiiiice! My password expired right when I started my vacation, and of course, I missed the entire two week nagging process to change my password …
But now, I can't log onto the VPN because the email password is somehow tied into the network password …
Tuesday, July 14, 2015
This is why it's so cheap to ship things halfway around the world
Perhaps it's because I have an interest in infrastructure, or because I found The Box (a book about shipping containers) a fascinating read (no, really!), or because I have an interest in automation, I found Dan Williams talk at the Cambridge Internet of Things really interesting (link via Tom Scott, which itself is an interesting video about the loading and unloading of a container ship in port). From a wholesale mall (only in lots of 100, please) in China the size of a city to showing just how automated a cargo ship really is (running Microsoft Windows no less—and yes, they have to reboot the computers from time to time), it's worth watching the presentation.
Okay, okay, I found it interesting. Your milage may vary.
Wednesday, July 15, 2015
When you expire on your vacation
- The Corporate Overload Corporation <XXXXXXXXXXXX>
- Conner, Sean <XXXXXXXXXXXXXXXX>
- New SAS Work Order 4912, The account XXXXXXX for Conner, Sean has been disabled 07/15/2015 08:54:11
- Wed, 15 Jul 2015 11:57:13 -05:00
Dear Conner, Sean,
Thank you for emailing Systems Administration & Support. [When did I do this? Did I do this? Who did this? —Sean] Work order number 4912, has been created for The account SConner for Conner, Sean has been disabled 07/15/2015 08:54:11, on Wednesday, July 15, 2015 8:55:51 AM.
Please note that outside of core business hours for your region, workstation support is provided on an "Emergency On-Call" basis.
For on-call support issues pertaining to:
- Desktops & Laptop computers
- WIN2K account issues (lockouts)
- Desktop & laptop applications
Please call the North America SAS support line : (XXX) XXX-XXXX or xXXXXX
State the nature of your call, contact details and any other pertinent information and your call will be turned into an incident ticket and the On-Call technician will be paged.
For production support requests, please contact the Network Operations Center for your region - for issues pertaining to:
- Network issues
- Production issues
- External customer issues
North America INOC : XXX-XXX-XXXX or XXX-XXX-XXXX
Europe, Australia, other locations after hours:
European INOC: XX XX XXX XXXXXXX XXXXXX X
State the nature of your call, contact details and any other pertinent information and your call will be routed appropriately.
Systems Administration & Support
You mean my long national nightmare of expiring accounts is not over yet?
Notes about an overhead voice mail message at The Ft. Lauderdale Office of the Corporation
- Voicemail System <XXXXXXXXXXX>
- Sean Conner <XXXXXXXXXXXXXXXXXXX>
- New message 1 in mailbox XXXX
- Wed, 15 Jul 2015 11:57:43 -05:00
There is a new voicemail in mailbox XXXX:
- "XXXXXXXXXXX XXX" <XXXXXXXXXX>
- 0:35 seconds
- Wednesday, July 15, 2015 at 11:57:47 AM
Dial *98 to access your voicemail by phone.
Visit http://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX to check your voicemail with a web browser.
Looks at phone.
Oh yes, there is. It probably has something to do with my expired account no doubt.
Picks up the phone,
“Comedy Mail. Mailbox.”
“Comedy Mail. Mailbox.”
“Comedy Mail. Mailbox.”
What the— Okay, I think this is the password.
Dials a few numbers.
Oh! I guess it was this then …
Dials some different numbers.
Okay, let me try that again!
Yeah, that's what I thought it said. Real funny.
Oh! It must be expecting my extension. Um … this is an “intelligent” desk phone talking to a custom business switch. Shouldn't it already know my extension? Bloody programmers!
Dials some numbers.
“You have one new messages and no old messages. Please press …”
That's more like it.
Corporate password policies suck, but then again, you knew that already
Monday's expired account was The Corporation work email account. Today's expired account was The Corprate Overlord Corporation email account, which we only use to request vacation time.
The Corporation email account obstensibly expires after 90 days (but not really), while The Corporate Overload Corporation email account has a different expiration cycle of either 45 days or 50 days (but probably not really; Bob of Technical Support really didn't know). And it just so happened that both cycles converged on my vacation this year.
Also, while Bob of Technical Support could reset my password, I would be unable to change it for the next ten days!
I'm stuck with a temporary password for at least ten days?
Thursday, July 16, 2015
It's always nice when my code doesn't crash
I was reading this article (link via Hacker News) about fuzz testing a DNS server and when I saw that the problematic packets that caused the program to crash could be downloaded, I figured I would give them a try against my own DNS parsing code.
My code did not crash,
which is what I expected given that some of the tests I did included throwing random data.
But I might have to install
afl-fuzz and play around with it.
I'd really love to throw
afl-fuzz at the Protocol Stack From Hell™,
and while it would be cathartic,
in a way,
that's like shooting already dead fish in a wine barrel with a double barrel shot-gun at point-blank range.
Friday, July 17, 2015
I'm surprised we survived as long as we have
I blame the the 24-hour news cycle for this (link via Instapundit)—kids stuck inside all day because parents are afraid of shadows. I remember as a kid spending hours outdoors with my friend Duke wandering around the forest surrounding his home up in the Blue Ridge Mountains. The only thing we worried about was getting back in time to watch Batman and then getting back in time for dinner.
Heck, I walked home from school more times than I care to remember as a kid (and one time, I walked to school because I missed the school bus and didn't want to get into trouble). And when did it become Florida law mandating bicycle helmets for 15 or younger? I never wore a helmet. Nor knee pads, elbow pads, or gloves. Yes, attempting to skid the tires but having the bike shoot out from underneath and ending up with a bad case of road rash hurts, but it also teaches a valuable lesson—skidding a bike is stupid!
I also learned how to ride a bike in three days, but that was purely self defense on my part. My uncle would sit me on my bike, and shove hard. Losing my balance, I had two choices—turn into the closest large obstacle (telephone pole, corner mail box, a large rose bush) and crash headlong into it, or roll onto a four-lane road and crash headlong into traffic.
Fun times indeed.
As insane as some of the stupid things I did as a kid, parents today are just totally insane.
Saturday, July 18, 2015
Now if it were 10 ounces of To'ak chocolate …
I'd like to think this was staged (link via MyFaceGoogleBookPlusSpace). I can't comprehend the mind that would take a Hershey's chocolate bar over a 10 ounce bar of pure silver. I mean, Hershey's chocolate is okay, but it's not $150 worth of okay.
At least look at the silver before selecting the chocolate bar. Sheesh.
Per the previous post, if you are wondering if To'ak Chocolate is really worth more per ounce than silver, apparently it is.
Sunday, July 19, 2015
Tick tick tick …
Connoisseurs of disaster know that the official map of seismic hazards in the United States paints a fat red bull's-eye in the middle of the country, right where Missouri dovetails into Arkansas:
FEMA expects a major earthquake in the central United States to be the costliest natural disaster in American history, which as a California tech worker wounds my professional pride. We've spent decades building America's most valuable industry on top of a seismic powder keg, only to find ourselves outdone by a bunch of Midwestern cotton farmers. How could they erect a more precarious house of cards than Silicon Valley?
To find out, last spring I joined a group of Midwestern geologists and fellow-travelers on a sort-of-annual field trip to the New Madrid Seismic Zone. The goal of these trips, organized by Phyllis Steckel of Earthquake Insights, is to develop an eye for the kinds of structures and landscapes at greatest risk in a central US earthquake, to soak up the seismic ambiance of the place, to take killer ?before? pictures for when the Big One comes, and above all to put the fear of God into actuaries and insurance assessors, the only people who have enough economic leverage to make painful and expensive seismic retrofitting happen in the central United States.
Just when you thought it was safe in the middle of the country, NOPE! There's a big old bulls eye right where Missouri, Arkansas, Illinois, Tennessee and Kentucky all meet, just waiting for the Big One to strike (probably just after the Cascadia subduction zone goes do doubt).
Monday, July 20, 2015
Tumbling through code, part II
The oldest bit of code in
mod_blog deals with what I call “tumblers.”
They're not true tumblers as defined by Ted Nelson,
but my implementation does allow a range to be specified.
It's a date range rather than an arbitrary set of characters though.
And the reason the code hasn't changed in fifteen years is because it was hard to write
given the features I wanted to support at the time.
Not only did I want the ability to specify a single entry,
and a range of entries,
but also have the ability to specify multiple,
2000/08/11.1,2000/08/12.6,2000/08/13.4 while at the same time supporting the ability to specify ranges in reverse,
all at the same time,
So while I got the code to support a forward range and a reversed range,
in order to get the code out the door,
I dropped the non-sequential selection of entries.
The code just got too messy.
But over the past fifteen years,
a slew of issues popped up.
First and foremost was the issue of redundant links:
2015/07/04.1 both refer to the same page.
This normally wouldn't be that big an issue except for Google,
which eventually would penalize a website with duplicate content under different links
(why do I even care about this?
Do I really care about my Google page rank?
Enough to let it rule my code?
Apparently I do.
Sure, I can tell that
2015/07/04.1 are the same thing,
and you can probably tell the same thing,
but to a computer,
Those are two distinct pages that just happen to have the same content.
So I had to hack in code to generate redirects to address this issue.
2015/7/4.1 would generate a redirect to the canonical version,
2015/07/04.1. But there were still some corner cases I didn't cover,
which should redirect to
2000/8/10.2-15.5 which should redirect to
I finally had enough and decided over the weekend to fix the issue by rewriting the code. Yes, I know, you never rewrite code! But in this case, it's not the entire program but a portion (granted, it's about the only portion that hasn't been rewritten) and it's not like the code is entirely bug free (it's not). It mostly works but the code as written was just too convoluted to salvage (in my opinion). Besides, I felt that a more straightforward, “parse it a piece at a time” approach over the “be clever and as geneneral as you can be” approach would be better.
although it took several further revisions to work out all the corner cases,
such as the difference between
(the first ending portion specifies a year and a month, whereas the second ending portion is a month and a day),
checking the dates for validity,
fixing the ranges when reversed
(it wasn't as straightforward as I thought it would be—can you tell I haven't used this option all that much?).
And not only did I manage to get
2000/8/10.2-15.5 to redirect properly,
but the reverse range
2000/8/15.5-10.2 as well
(check the links after clicking on them),
all the while reminding myself “don't be afraid of special cases.”
Tuesday, July 21, 2015
How Buildings Learn
Years ago I read How Buildings Learn: What Happens After They're Built on a recommendation, and I wasn't disappointed (oddly enough, it seems more programmers buy this book than architects). The book goes into depth on how buildings are adapted (or not—Frank Lloyd Wright's buildings are notorious for their inability to adapt, in addition to the leaky roofs) by successive tenants.
Now, the author of the book, Stewart Brand, has uploaded the documentary based on the book to Youtube (link via Jason Kottke). For a brief minute and a half peek at the type of content, there's The Oak Beams of New College, Oxford (one of my favorite bits from the book).
Wednesday, July 22, 2015
Going … going … gone
60% of my fav links from 10 yrs ago are 404. I wonder if Library of Congress expects 60% of their collection to go up in smoke every decade.
I've been afraid of searching all past links on my blog to see how many are dead or no longer point to the page I linked to. Several years ago I replaced the link on my very first post and I'm sad to say, the link on my second post is now dead (and the page it now leads to is nothing more than a missing image—sigh). Actually, it's quite painful going through the first month and seeing just how many links are now dead.
An interesting take on the Nigerian 419 scam
- "Samuel Motsuenyane"<email@example.com>
- ARE YOU DEAD OR ALIVE?
- Wed, 22 Jul 2015 20:11:18 +0100
Attention: Dear Customer,
We need to confirm that this is Truth Before the bank will Release Your Funds to one Jennifer Scott. This Office was contacted by one Jennifer Scott, From Canada Who Claim to be Your Partner she Promise to finalize everything regarding your Claim as Your Next Of Kin. she said that you were Involved In A car Accident Last year December 20014 and Die without providing a death certificate. We need to confirm that you are truly dead before we can Release the Fund to her.
We Believed That You are Dead But As a Public Office We need a Proof for Record Purposes Before We Can Release the Funds To her, Therefore, Your Silent is a Clear Proof That you Are Dead. Note we will commence On the Release of your Funds To your Next Of Kin from next week if we do not hear from you, May your Soul Rest in Perfect Peace Amen.
Mr. Samuel Motsuenyane
Director Debt reconciliation Department
First National Bank Os South Africa(FNB BANK)
Now this is an interesting take on the Nigerian 419 scam. I'm thinking that if I were to reply, I'd get email back saying that in order to receive the funds that would have otherwise gone to “Jennifer Scott,” I'll have to prove that I am alive. And then there will be some fee I have to pay to some bureaucratic department to get some form or other, and then some bribe or other fee, then some other fee and so on and so on.
Well played. A nice step up from the normal millions in some account in some random country from some random magistrate in some random country.
Thursday, July 23, 2015
The truth about the Lego movie
Even if I only saw this honest trailer of “The Lego Movie”
(link via Kirk Israel),
I still would have gone and seen the
Friday, July 24, 2015
The new way to version software
The Complete Drone-Ver Specification
This also lives at drone-ver.org.
Given a version number MAJOR.MOOD.ISSUES.SOCIAL.DICTIONARY.UNIXTIME.SEVEN, manage your releases as laid out in this comic:
- MAJOR is incremented when you feel like you've added something cool.
- MOOD is how you felt when you released this version.
- ISSUES is the number of open GitHub issues against your project.
- SOCIAL is the number of GitHub forks & favourites of your project.
- DICTIONARY is a random dictionary word.
- UNIXTIME is the unix time, and
- SEVEN is always the number seven (7).
Via Brian Yoder, Cube Drone - - Version Sacrifice
This is clearly a satirical response to Semantic Versioning as there are some
who don't like it.
I found the Drone-Ver stuff hilarious (why yes, I am a geek—why do you ask?) and according to it,
mod_blog should be at version
(assuming bug fixes are “something cool”)
instead of the current version of
But I also found Semantic Versioning to be a decent attempt to make version numbers have some semantic meaning. Semantic Versioning seems to be geared more towards libraries, and if there was one change I would make to it, it would be that minor versions (backward compatible changes or enhancements) shouldn't break user code (so that if you have a program that uses Foo major version 4.0.n, it should compile cleanly against 4.1.n, 4.2.n, etc. since they all should be compatible) but that bug fixes might break user code (if, for instance, you worked around it, or somehow used the bug as a feature of your code) but if you used the API as described, things should be okay.
Semantic Versioning breaks down for applications though, as there is no real API to speak of (which causes a change in the major version number). I think a good approach for applications with Semantic Versioning is that a major version should only change if configuration or data files change format (such that the new format is incompatible with the older format, or the older version can't load newer versions of the configuration or data files), new features or enhancements cause the minor version number to update, and bug fixes bump the patch version.
Using that criteria,
mod_blog would be at version
2.7.5—there was a configuration file format change when I switched from using my own half-baked configuration format to using
Lua as the configuration format
the storage format for
mod_blog hasn't changed one bit in fifteen years,
although it has been enhanced,
older versions would be able to deal with the newer information by simply ignoring it).
And just for the record:
|Sat May 30 23:48:18 2009 -0400||v2.0||Yet another idea to add to the blogging engine|
|Mon Jun 22 19:51:15 2009 -0400||v3.0||Removed more dead code.|
|Wed Sep 9 03:22:07 2009 -0400||v3.1||Feature: Replaced how we pick the adtag|
|Wed Sep 9 17:45:17 2009 -0400||v3.2||Feature: Some more template defs|
|Sun Nov 6 02:01:41 2011 -0500||v3.3||Lua configuration|
|Sun Nov 6 02:01:41 2011 -0500||v3.4||Document current bug in source code|
|Mon Nov 14 22:51:10 2011 -0500||v4.0||Made sure the dependencies were correct in Makefile|
|Tue Nov 6 14:37:10 2012 -0500||v4.1||Removed internal entry cache|
|Mon Dec 31 22:46:01 2012 -0500||v4.2||The 'Gasp! Released at Last' Version|
|Mon Mar 3 17:57:00 2014 -0500||v4.3||The 'Clean Memory' Version|
|Fri Jun 27 03:02:24 2014 -0400||v4.4||The 'MyGoogleFaceSpacePlusBook Fix' Version|
|Thu Aug 21 17:10:07 2014 -0400||v4.5.0||Display version of libraries used, in addition to the version of the program.|
|Sun Apr 19 19:08:46 2015 -0400||v4.5.1||The 'Make the Makefile makier' Version|
|Sun May 3 02:19:23 2015 -0400||v4.6.0||The 'XXXX FaceGoogleMyTwitterPlusSpaceBook' Version|
|Fri Jun 5 21:53:54 2015 -0400||v4.6.1||Bug fix—double free|
|Sun Jun 7 19:48:09 2015 -0400||v4.6.2||Bug fix—if not using email notification, code doesn't compile|
|Sun Jun 7 20:03:00 2015 -0400||v4.6.3||Bug fix—don't use _IO_cookie_io_functions_t|
|Sun Jun 7 21:51:40 2015 -0400||v4.6.4||Bug fix—potential double free (yet again).|
|Sat Jun 27 18:09:27 2015 -0400||v4.6.5||Bug fix—encoded entries via email mess things up.|
|Thu Jul 2 17:38:09 2015 -0400||v4.6.6||Bug fix—unauthorized person posting via email leads to double fclose()|
|Mon Jul 6 17:53:30 2015 -0400||v4.6.7||Bug fix—a NULL tumbler crashes the program.|
|Sun Jul 19 17:08:43 2015 -0400||v4.7.0||The 'Tumblers Reloaded' Version|
|Sun Jul 19 22:28:18 2015 -0400||v4.7.1||Bug fix—date checking on exiting tumbler_new() was borked.|
|Mon Jul 20 01:25:46 2015 -0400||v4.7.2||Bug fix—previous and last calculations were borked.|
|Mon Jul 20 04:00:34 2015 -0400||v4.7.3||Bug fix—check tumbler date(s) against last entry, not the current time|
|Mon Jul 20 17:52:24 2015 -0400||v4.7.4||Bug fix—current link was wrong|
|Fri Jul 24 03:32:45 2015 -0400||v4.7.5||Bug fix—the assert() when comparing dates was wrong|
The history prior to version
2.0 is … um … murky.
I had … issues … with the previous version control system
so pretty much the history from December 1999 through May 2009 have
been lost in time,
like tears in rain.
As you can see,
the version numbers have been inconsistent early on,
but as time went on,
I've done a bit better with the version numbers
(it's been more consistent with
Saturday, July 25, 2015
I'm not here to make a moral judgement one way or the other, but I would like to point towards some unintended consequences. Point A:
How many babies prenatally diagnosed with Down syndrome (DS) are aborted in the United States each year? Well, we don’t know. …
A new study conducted by Gert de Graaf, Frank Buckley, and Brian Skotko and recently published in the American Journal of Medical Genetics [Read the full article for the full reference. —Editor] applies rigorous statistical modeling to diverse data sets in an attempt to provide the most accurate number possible. It is important to know over time what impact relatively new noninvasive prenatal screening (NIPS) technologies, only available since October 2011, will have on the already high termination rate after a prenatal diagnosis of DS.
The net result of their research is that abortion after prenatal diagnosis has reduced the population of individuals living with DS in the U.S. by approximately 30%. [Emphasis in original article and was not added here. —Editor] This should not be confused with the percentage of women who abort following a prenatal diagnosis. That number would certainly be higher. This reflects the overall reduction in the DS population, and takes into consideration total DS pregnancies, whether prenatally diagnosed or not. The authors state that prior to October 2011 and the availability of NIPS, about 72% of women elected to have traditional prenatal screens and only an estimated maximum of 2% went on to have invasive diagnostic procedures, i.e., amniocentesis or chorionic villus sampling. If prenatal screening becomes more widely available, as seems to be happening, then one would expect the number of terminations to increase.
New Study: Abortion after Prenatal Diagnosis of Down Syndrome Reduces Down Syndrome Community by Thirty Percent | Charlotte Lozier Institute
A genetic analysis of 409 pairs of gay brothers, including sets of twins, has provided the strongest evidence yet that gay people are born gay. The study clearly links sexual orientation in men with two regions of the human genome that have been implicated before, one on the X chromosome and one on chromosome 8.
Largest study of gay brothers homes in on 'gay genes' - New Scientist
The path (aka the “punchline”):
If people are born gay or transgender, Santorum posited, “it leads to a whole bunch of other situations,” like sex-selective abortions, for example.
“So if you can determine whether one of your children is gay, should we pass a law saying you can’t abort a child because you found out that child’s going to be gay? You can’t abort a child because you found out that child was going to be a woman? How would you feel about a law like that?” he asked Maddow.
Rick Santorum: I've met people who are no longer gay - Nick Gass - POLITICO
I won't claim I came up with this—that goes to Bruce Carroll (link via Instapundit). And I'm only bringing this up because some people are so blind to their own viewpoints they don't consider the ramifications of their myopic view.
Sunday, July 26, 2015
A plane flying 100 miles per hour and carrying 200 passengers and 5 crew crashes on the border of the United States and Canada. Where do they bury the survivors?
Frederick is perhaps best known for creating the “Cognitive Reflection Test,” a simple measure for whether a person solves a problem “quickly with little conscious deliberation” or through reflective, slow thinking. Kahneman includes the test in his book.
It has three questions:
1) A bat and a ball cost $1.10. The bat costs $1.00 more than the ball. How much does the ball cost? ____cents
2) If it takes five machines five minutes to make five widgets, how long would it take 100 machines to make 100 widgets? ____minutes
3) In a lake, there is a patch of lily pads. Every day, the patch doubles in size. If it takes 48 days for the patch to cover the entire lake, how long would it take for the patch to cover half of the lake? ____days
Via Hacker News, The power of slow thinking - Ideas - The Boston Globe
I will say, I got the first one wrong initially—Oh! It's simple! It's 10¢! But then I thought, Wait! This is a trick! Read that question slowly again … and I was able to puzzle it out. The second one I had to puzzle it out a few times to get it right, but because I program (I work with powers of two all the time) the last one was trivial.
When I tried asking Bunny about these, we had the following conversation:
“I was never good at these type of problems. You know, a train leaves Detroit going at 75 miles per hour, while at the same time, a train leaves Los Angeles going at 80 miles per hour. Where do they meet?”
“Yeah, that's easy.”
“Yeah, they meet head-on.”
“Ha ha ha. Where?
“D'uh! In the United States.”
Monday, July 27, 2015
If a plane flies into Belgium, it must be Tuesday
I was reading an article about anomalous time zones (link via Hacker News) and when it mentioned an area around the International Date Line, I couldn't visualize how the International Date Line actually works.
In fact, I never really understood how it worked.
So I'm sitting there, reading about it and it doesn't make sense to me. Even when I picked up a globe and shone a flashlight on it (to simulate the sun) and spinning the globe, I still couldn't figure it out. I eventually found an animated visualization that worked.
Tuesday, July 28, 2015
Notes on an overheard conversation in the Ft. Lauderdale Office of The Corporation to Bob of Technical Support
“Hello, Bob of Technical Support. How may I help you?”
“Yeah, I can't log into The Corporate Overlord Corporation web site and I think I need it reset.”
“Sigh. Yes. I didn't change the password after ten days and—”
“That should still work.”
“Yes, that obviously weak and ill considered password we are forced to force upon you should still work.”
“But when … oh … ”
“That's a one, not a lower-case ‘L’, and that's a dollar sign, not an uppercase ‘S.’ Stupid font … this is a clear case of PEBKAC. I'm sorry to bother you.”
I shall log it as an
ID10T error then … ”
Wednesday, July 29, 2015
The pre-dawn airport traffic
At 5:00 this morning, I dropped Bunny off at the airport for her yearly visit to see her brother in Bremerton, Washington. I asked Bunny if she really needed to be at the airport so early, but she assured me that she would be fine. Besides, she had a 7:00 am flight and she needed to be there by 5:30 am anyway, so what was an extra half hour? I wasn't so sure the airport would even be open that early, but the joke was on me.
The airport was jammed with people.
At five in the morning!
Bunny even called later on, saying it took her twenty minutes just to get through the TSA checkpoint.
Also, is it me, or does the Ft. Lauderdale-Hollywood International Airport logo look like a glazed donut?
Thursday, July 30, 2015
Yeah, let's breed more antibiotic resistant superbugs!
So suddenly these started showing up in the Ft. Lauderdale Office Of The Corporation:
It's bad enough with corporate password policies, but now hand sanitizer?
Worse, this is stealth hand sanitizer! Oh, that contraption may look empty, but noooooooooooooooo! Pass your hand underneath it, and you'll get automatic hand sanitizer dispenser ejaculate all over your hands. Ick.
I'm still asking: how did we ever survive without it?
Friday, July 31, 2015
Katelynn on Caitlyn
In August of 2008 on a rainy day in the Red Hook section of Brooklyn, I began filming the 21st season of MTV's The Real World. At 24 years old, I was the first openly transgender person in the show's then-16-year history. Only five weeks earlier, I had undergone sexual reassignment surgery.
So, while watching the first episode of Caitlyn Jenner's E! docuseries I Am Cait, I found myself in a unique position to understand and empathize with Ms. Jenner. I also noticed some things that were quite familiar.
Via Katelynn Cusanelli on MyTwitterFaceGoogleBookPlusSpace, 'I Am Cait' Through the Eyes of TV's First Trans Reality Star: Katelynn Cusanelli of MTV's 'Real World' | Advocate.com
Katelynn is probably the only person who's opinion on Caitlyn (and her show) you should take (you know … because they have the same first name). Also, I might be a bit biased, having met Katelynn several years before she became a reality television star.
I also wonder just how scripted Caitlyn's show will become (link via Instapundit).