isn't quite ashamed enough to present

jr conlin's ink stained banana

:: Cost Effective Privacy

Joel Pett created a great editorial cartoon that shows an angry gentleman standing up at a climate summit yelling "What if it's a big hoax and we create a better world for nothing?"

i'm here to argue that having a solid User Privacy policy is one of the best way to reduce and manage costs you can have.


Well, let's look at a few points.

First off, let me note that i'm a server guy with a couple of decades of working with data and back ends. i can code in javascript, but you really don't want to see that sort of thing, unless you're a fan of horror movies. Nope, the crap i've dealt with generally is around taking data, transmogrifying it in odd ways, and puking it back up. For me, data is data, and there are certain rules one has to think about, the same way that a carpenter or architect thinks about building a house.


One thing you NEVER want to tell someone like me is that "Costs don't matter." Yes, yes they do matter. Unless you have an endless supply of money and manpower, they matter. Otherwise i'm going to set up a fully redundant, highly secure system of tiered databases, web heads and monitoring boxes that runs in at least 3 colos on 8 core boxes with max GBs of storage (both online and off). It'll be the most aweseome blog server you've ever seen, can withstand the combined attention of every social media site on the planet simultaneously, and will make your CFO reach escape velocity by soiling himself.

Even Google considers costs.

Where you make your tradeoffs matters, and one of the principal ways one does this is by managing the data you maintain. Storing everything is easy to think of, but absolutely ruinous to do. If you store to flat files, you'll pay in search costs later. If you store to Databases, you'll pay indexing costs now. What you want to do is store the absolute least amount of data possible for anything. Don't try to justify why you should cut something, justify why you need to keep anything. Hard. If there's any reason to pitch it, do it otherwise you're going to be drowning in a sea of noise looking for the few bits of signal you can.


This is the hardest thing for a lot of folks to get. One of the running statements for most products is "Ship It!". Go on reddit or stackoverflow and you'll see folks saying "Doesn't matter, ship it!" or some other term.

i hate that.

Let me explain. In my job. "Ship it" is the very first step. What follows is 5-10 years of "keep it running" / "can we improve it?" / "how do we fix that critical bug?" / "how do we transition users to the new service?" / "blah, blah, blah…" If you're lucky, your product runs on a platform that you can update, otherwise what got "shipped" is what's going to be live. Period, and anything wrong is your problem later.

This point is generally compounded by the folks who yell "Ship It" and send out their farewell notes a week after it ships. This leaves you with a pile of shippy code from the ship head and some angry users that have just been shipped on, and you holding the shovel to dig yourself and your future paychecks out of this pile of ship.

Privacy requires documentation. Clear documentation. Clear, understandable documentation with histories that outline issues and resolutions. Clear, understandable documentation in well known, easy to find locations. One should be annoyed by how much documentation exists for the code and how often you see references to it from within the code.

You also need that for ongoing maintenance, QA testing, release management, Load testing, etc.

So, if you have a product that doesn't have that already, you can tell the guys full of ship that they need to rein it in before they ship themselves and you wind up in deep ship.

(well, unless you're making a one use product that nobody cares about. In that case, you need to seriously re-evaluate your life choices.)

Johnny Law

Let's look at US law for the moment. As it currently stands, the Feds can show up at any time with a love note that basically says "Give us every scrap of all your user's data, and you can't tell anyone because Ter'rsts!" This bit of information will be disclosed at the least opportune time with the worst possible framing. It may have lead to Hitler bin Badguy eventually getting that parking citation on his Suppress-o-tron 2000 Battle Tank, but in the mean time, you will have shattered user trust and whatever good faith they may have had in your company. Folks will switch to other services or stop sharing and recommending your product. The paychecks will stop, and you'll be milking orphan tears for the Suppress-o-tron 3000.

Since the Long Arm of the Law is a bit grabby, it's better to know absolutely nothing about what your user is doing. When Agent Smith shows up with his pen register, he gets back client side encrypted blocks of useless crap. Ideally, blocks of crap that will take him well past the heat death of the Universe to decode.

Needless to say, if you're not in the US or plan on doing business outside of the US, you're going to have to deal with a whole host of privacy laws that will make you and your lawyer cry. In some areas, you'll have to tender any encryption method you have to the government, which means that even if you only see a key in passing, you'll have to hand it over.

Feel free to substitute "Ev1l Haxxorz" or other malicious, non-authorized parties, since if you do have to install a "secret back door" for "only authorized law enforcement use", understand that the credentials you provide will probably be stuck on a post-it on a monitor and flashed across Fox News during some agency promotional piece. Well, that or distributed by a disgruntled former contractor. Feel free to use whatever mechanism you like, because it will probably happen. Do NOT presume that governments have better security than you do.


In short, keeping user data to a bare minimum, and well protected, not only is a good idea, it can save you serious money and hassle. It's not just good for users, it's damn good for you.

:: Introducing Quantcoin: The Currency You Already Have

QuantCoinSo, Crypto-currencies are quite the thing lately. Seems like there's a new one popping up every few minutes with some new angle. Unfortunately each of these new coins suffer from a critical flaw which results in loss due to threat or fraud.

That's why i'm happy to introduce QuantCoin©, the completely unstealable digital currency.

How can i get a QuantCoin©?

Easy, you already have one.

QuantCoin© uses a barely understood principal1 of quantum mechanics as it's principal. Unlike cryptocurrencies, it absolutely can NOT be stolen or misused. That's because there's only one QuantCoin©. See, QuantCoin©s exist in superposition, meaning that they exist in multiple points at the same time. That means the QuantCoin© that you hold is exactly the same as my QuantCoin©. If you were to somehow steal my QuantCoin©, you'd simply have the same coin you already own.

Amazing, huh?

What is the value of a QuantCoin©?

The way that QuantCoin© easily takes advantage of simple Quantum physics, it also uses the amazing advances in economics utilized by high speed traders. That's right, QuantCoin©'s value is based on futures trading.

How does this work? Let's look at an example. Let's say that you wanted to use your QuantCoin© to purchase a pack of gum. That establishes the value of your QuantCoin©. Bob plans on purchasing a new car. That means that Bob's QuantCoin© works out to be worth 64,000 times your QuantCoin©, meaning that in the future, your QuantCoin© will be worth 64,000 times it's value. This means that it becomes interesting to Larry, who's looking to buy a nice little home in Dubai, which raises the value of QuantCoin©s again. This means that the future price averaged for QuantCoin©s is now well over 1,000,000 when the QuantCoin©s are eventually exchanged using amazing "Minority Report" style interfaces that will require waving just about every body part, for the added security.

QuantCoin© is Green!

Quantcoin© doesn't need all that power consumption or complex math, because it works all natural, organic processes, and is made, right here in the good ol' . In fact, it works on the same principals that make meadows and pastures rich and vibrant ecosystems.

Isn't that amazing?!

And you can be part of it too, just sign up for my 3 day seminar and book series in the lobby and you too can be part of this amazing financial windfall!

QuantCoin©: Because Analytic Financial CryptoCybercloudbuzz to you, today!

1 "barely understood" means "by me". Obviously real physicists get this sort of thing, but hey, this is about marketing and folks buy those magnetic bracelets, so conning convincing them to accept this currency is a simple matter.

:: Programatic Paralysis

i started coding in Basic. Sometime later, Borland introduced TurboPascal, and i eagerly switched to that (carrying a copy of the compiler and IDE along with nearly every one of my projects on a 1.44 disk in my shirt pocket was neat). i later quickly adopted C, where i spent a good deal of time. After that came Bash, Smalltalk, Perl, PHP, Javascript, Java, Python, Go, and i'm sure i'm missing a few in there somewhere (Ada and Cobol both come to mind).

Suffice to say, like most every programmer out there, if it's based on Algol, i've probably worked with it and can learn the syntax in about 2 hours. Frameworks, of course, come much, much later.

There are folks i work with who eagerly jump from language to language. They herald the joys of Erlang and Haskel, occasionally noting the benefits of Lua.

Me? i tend to be a bit more pragmatic in my age. i have problems that need solutions. i understand that certain languages bring with them certain benefits, and there's an odd level of comfort with some systems that makes them favorites.

The odd thing was that recently i was thinking about writing a program for a task at home, and i kinda sat frozen trying to thing of what to use. This is a bad thing. i code to solve problems, not to just write code. i like to think that i am a bit more practical than theoretical when it comes to solving problems, so while i happily spend time to map out a problem space on paper before i start building, i want to be able to reach into the toolset quickly and get things running.

To that end, i think i'm going to clean out my toolbox a bit and focus on two languages: Go and Javascript.

Don't get me wrong, i'll still use stuff like Python, Bash, et. al where they make sense (Perl is a FABULOUS language for dealing with large blocks of text, and Bash fully proves the value of Taco Bell Programming, but for quick tasks: Go and Javascript.

So, why those?

Well, Go is fraught with issues and catches, but it works reasonably well, and is more than fast enough for most needs. It also straddles the happy middle ground of "interpretive" and "compiled" fairly well that dorking around in code doesn't blow hours of time trying to figure out what the hell just happened. It's also very much built toward being a back end for webservers, which i tend to build a lot of, so there's definitely that.

Javascript is the language of the browser. It's how you program a client to do things. i tend to write in Vanilla.js because the additional frameworks are more legacy than legit. Kind of like the reason that i use vim as my editor rather than something fancier.

Python, for all it's spiffery, seems to suffer from being a bit too spiffy. Packages and libraries are a bit of a nightmare and while it's nice as a prototyping language, there are significant problems going much beyond that. Likewise, Node.js (which is just javascript on the server) has a lot of interesting applications, but suffers from the same sorts of issues that mod.perl and most other server side scripting languages hit. i'm not saying that they're impossible to circumvent, but it's a bit like turning a VW into a high performance racecar. By the time you're done, you don't really have a VW anymore.

i'll also say that i'm not advocating that you should do likewise. Each craftsman has his tools, i just prefer having a smaller set. (Heck, my favorite knife is still one that i bought 25 years ago from Wacamaw Pottery for $20.) i'd just encourage you to review your tools and see if you might want to reorder the preferences.

:: It's a Large World After All…

So, i ran into a guy at the supermarket who's cousin was your brother's barber back in Piscataway. Small world, huh?

No. No, it's not.

In fact, it's a rather large world filled with 7 billion people, most of which are clustered in fairly distinct areas yet surprisingly connected thanks to commerce and modern communications nets. In fact, it's been proven that, thanks to math, damn near everyone is interconnected with everyone else with a surprisingly small number of steps. (No matter who you are, i'm probably associated to you by 6 steps. Well, unless your Kevin Bacon. i think he's, like, 10 steps out because of constant effort on his part.)

The problem is that if you were to interact with someone to whom your network had zero interactions with, you'd have absolutely no way of knowing. Well, i'm wrong, you could interview the individual for hours comparing the lives of these individuals against the associations you've cataloged for years to ensure that there was no match, but that might take a bit longer than the elevator ride. Granted, this might be made easier in the future by simply cross indexing the collection of restraining orders.

Honestly, it'd be far more interesting to discover the tiny percentage of individuals on the planet to whom you truly have zero points of interaction with. i have no idea what you'd talk about, or what language you'd use to do so, but at least you could rest assured that you've destroyed that level of disconnect forever ensuring that future generations will again pass each other with awkward silences and uncomfortable glances.

And isn't that really what civilization is all about?

:: New Neighbor

He cleared his throat as the door opened and once, yet again read from script he held. "Greetings, new neighbor." he stated, in a dull monotone that spoke more to how many times he had repeated that statement rather than any earnest joy at the encounter. "i am Dr. Horatio J. Skullcrusher, and it is both my pleasure and federally required mandate that i introduce myself to you and all other households in a 1 mile radius of my new and slash or prospective lair."

Beatrice Thornapple wasn't quite sure what to make of this announcement, but yelled at her chihuahua to pipe down anyway. She raised a well fed eyebrow and slowly started to ask, "Aren't… you… a…"

"Why yes", Dr. Skullcrusher continued as the tiniest hint of sarcasm easily escaped Beatrice's attention, "i am a supervillain, and i wish to add that there are many current and recovering supervillans living in relative peace in neighborhoods much like this one. i will also add that under section 202, Paragraph 13, Subsection 21, willful acts of contempt or harassment toward a non-hostile or non-threatening individual classed as "supervillain" by the authorities, unless otherwise required by the state or community, are punishable by a $200 per incident fine." Dr. Skullcrusher's welding goggles clattered a bit as he rolled his eyes. His deft hands made turning the page easier than the heavy, black rubber gloves would belie.

Beatrice eyed Dr. Skullcrusher with a cautious eye as she skimmed the city approved paperwork shoved toward her. The diagrams were indecipherable and filled with minute print, but she could see her house was clearly in the chartreuse zone between the lavender quadrant and a spit of houses marked in turquoise. Honestly, the entire map of the neighborhood looked like it was colored in by a five year old tripping on LSD.
"What does this color mean?" she asked pointing toward the approximate area of her home.

Skullcrusher flipped the clipboard around to inspect the area. He flipped a few pages up, then cheerily said. "Ah, well, this zone will absolutely not have to worry about any lingering effects from radiation damage." He smiled broadly.

"And this here lavender area?"

"Well, there will be absolutely no damage from cyborg armies in that area. i assure you, each zone is well protected against a threat." He continued to smile broadly, knowing that Beatrice probably wouldn't ask about the many and various threats that her house was absolutely not safe from. Say, cyborg armies, for instance.

"i suppose…" Beatrice began before being cut off.

"Now, if you'd be so kind, i do need you to sign here so that i can show the review board that we've met and you're fine with the zoning change."

"i'm not so…"

"And that's why i'm offering a free DNA test. Would you like to see a stronger, healthier you in less than three months with absolutely no effort on your part? All i need is a sample of your DNA, just a bit of spit or a tiny prick of blood will do!" He positively beamed with delight. Or evil. It was hard for Beatrice to tell.

"Really? A healthier me?" She asked. She had been meaning to go to the gym for a while now.

"Oh, Definitely! Imagine watching the news and seeing yourself exceeding at martial arts and shooting lasers!"

"What will it cost me?" Beatrice cleverly thought to ask, having seen one too many financial episodes of Oprah.

"Not even a penny. Just a signature and a bit of DNA."

"Well, i can't see what harm that would do." She signed the forms unaware of the sampling mechanism in the pen.

"Excellent. i'm glad we had this chance to meet." Skullcrusher positively beamed with delight as he slipped the pen into a test tube and tightened the lid. "i'll need to finish off this neighborhood soon. Enjoy the rest of your days." He bowed and headed off whistling a merry tune.

Blogs of note
personal Christopher Conlin USMC memoirs of hydrogen guy Henriette's Herbal Blog
geek ultramookie

Powered by WordPress
Hosted on Dreamhost.