Those Damn Teen Agents!

It really irks me when people say things along the lines of:

The technicians are barely out of high school! How could they know what they’re doing?

I’m sorry, you brought your computer to us why? Could it be because you don’t know what you’re doing?

Shock horror, we (the present 18-24 demographic) grew up with this technology.

Ageism is a two-way street, y’know.

That all aside, I’ve heard far too many people articulate the double standard that goes something like this:

I don’t know anything about computers / phones / technology.

I don’t trust teenagers / college kids / young(er) people with my expensive stuff!

Like the person who said, verbatim, “I want to buy an iPad. I’m kind of in kindergarten when it comes to technology, though.” You don’t need an iPad. I can tell you that right now. What you need is responsible spending habits, and buying something you already know you cannot use is not at all responsible.

For the record, this customer then asked about our training sessions (which are expensive,) and it turns out she also fancies herself a fast learner. Hope that’s working out for her. To be fair, she had a PhD and I’m a dropout – but sssh!

You don’t go to Geek Squad, a company that uses the phrase “computer experts” liberally in their customer-facing literature, say you don’t know technology well, and then argue with our diagnoses.

Really? It’s not like we’re car mechanics who’re going to set it up such that it’ll break again and you’re forced to come back. In addition to being conniving and sneaky, tampering with a client’s computer or any internet-connected device (or any device that could contain personal information) breaks about twenty laws, probably more.

So if, as people say, we’re “just kids,” one would sincerely hope we’d have some degree of respect for authority and privacy, especially considering that we’re the most vocal demographic against things like “copyright laws” and government regulation of the internet.

Plus, if you actually have really really sensitive information on your hard drive that you absolutely need, and the hard drive (or the operating system or other files on it) isn’t / aren’t the problem…remove it! We can do that, you know. Sure, it’s $10 for us to do it for you, usually, but it’s nowhere in our policy that we have to offer you data backup (starting at $150) and if you decline, well, your hard drive is now officially nobody’s responsibility whatsoever. That doesn’t make any sense.

I do still tinker with computer repair business locally, I admit. In keeping with policy, I do not advertise or otherwise promote it in any way. “NullCoding Computer Services” is no more.

But it’s really NOT taking away any of our business, potential or otherwise, for me to offer various off-site computer repair services to people who, in fact, did not purchase their computer at Best Buy and/or do not have any kind of Geek Squad-issued warranty or support plan. Especially when those people don’t actually live within reasonable distance of a Best Buy in the first place. And when I offer services that we don’t actually do in-store anyway.

Fact: The average cost of sending a laptop to service under our standard protection plan is $85,25. Note that I said sending a laptop to service, not “repairing it.” That $85 is the average shipping charge! Granted, that’s UPS™ Next-Day Air™ to Kentucky, but still. Oh also, they ship it back to us (or to the client, which is a lot cheaper actually).

What happens...?
So, let’s say a $600 laptop needs its screen replaced because it was dropped. Yes, that’s covered under a specific protection plan, really. We check it in and mark it for shipment. I take it soon as it’s checked in, copy the necessary paperwork, and enter it into our system for shipping. That communicates with UPS through some corporate-partnership-interweb kinda thing, I guess, and spits out a tracking number, then prints a label that I put in a sticky plastic sleeve (that sounds gross, actually) on the box after I have packed the laptop in a special mailing cradle and sealed the box with tape that says “Inspected by Best Buy” to relieve us of any liability for damage in shipping. That box goes in a pile with the other UPS outgoing stuff from Geek Squad. At the end of the day, or the end of my shift, or when the pile exceeds the space available for it, I put the UPS stuff in a cart and take it to the warehouse, where it will await processing and shipment. My personal involvement ends there.

Officially, the computer is “shipped” as soon as I click “Print UPS Shipping Label.” Seriously.

Now, the kicker is that even though I may have selected “Overnight” (aka Next-Day Air™), unless that package gets taken to the warehouse by closing time that day, it’s probably not going out the next day. And since shipping is technically only my responsibility (on paper), my co-workers aren’t necessarily paying attention to the stack of UPS boxes, instead directing their attention to things like, you know, customers and their broken computers.

That $600 laptop, meanwhile, goes out to our service center the next day at, let’s say, $85. Once there, it is received and assigned to a technician. That technician usually performs their evaluation very quickly, since I included a copy of the paperwork with the laptop (obviously). Provided the paperwork includes a detailed description of the problem, they can get right to work. In this case, it’s really not too hard. We said the screen was busted. The technician is going to assume that is correct, although they will probably also test to make sure it’s actually the LCD screen and not a motherboard component.

The part is ordered if it’s not easily available on-hand. Given that our protection plans apply to machines stocked by Best Buy, and that the service center deals with those same models, and that our plans extend the benefits of the manufacturer’s warranty, well…they better have the parts for those models available to the service center!

But the parts still cost money. A replacement screen for a relatively new $600 laptop is likely about $100. Could be $80. Could be $150. We’ll say $100, which brings our total repair cost up to approximately $185 at this point.

The technician replaces the LCD screen after verifying things like the machine’s eligibility and the part’s compatibility. That’s actually the easiest part. Replacing a screen isn’t exactly simple, but it’s a lot easier than all the paperwork and logistics and behind-the-scenes crap!

But remember, this technician is getting paid, and paid well, considering they have to be certified in a number of applicable fields and adhere to a lot of standards in every case. Oh and also, they’re working in America, which means they’re paid American wages, not the outsourced kind (just an observation), and if I’m making almost twice minimum wage, you can bet technicians at the service center are making at least what I make – hopefully much more, as they’re mostly full-time, from what I understand.

Then the newly repaired laptop goes through testing and double-checking, after which the technician(s) involved sign off on it and send it off to their shipping department, who process it similarly to me except they a) have the option to ship it to the store or directly to the client and b) will probably not send it via Next Day Air™ unless we explicitly ask them to. I think. Not really sure.

Either way, let’s say that’s another $60 in shipping, because after all, it IS a laptop, and it’s not ours, and now it’s worth more because it’s fixed, and also our work is guaranteed. Really.

That makes a total of about $245 to replace a laptop screen at no up-front charge to the client, less any taxes that may apply, and excluding the wages of all the people involved in that process!

Considering that $245 is just about what a 2-year protection plan might cost to begin with…not too shabby.


Moral of the story: If you don’t wish to provide compensation for services rendered, don’t ask for said services in the first place.

Also, if you don’t know what you’re doing, take it to somebody who does. Sure, you can just assume that every 18-year-old with a smartphone and a MacBook Pro “knows what they’re doing,” but then you might end up with your computer broken even more. Or, you know, stolen. But if that kid is working for a company that requires him to actually know what he’s doing (and demonstrate it in regularly administered assessments), and the company bills itself as “computer experts,” well, I think that’s just a bit more trustworthy…don’t you?

More Recent Updates

This is just a quick post to catch you all up on what’s been going on here lately. Note that I’m not going to delve into any VSC-related stuff here, since that would take up far too much time and I have to get to my real-world job!

For one, CSS has been tweaked site-wide to be generally a lot nicer to look at. I also fixed some broken links, the existence of which is unacceptable to begin with!

In some more technical / administrative news, I moved our nameservers entirely to Amazon Route 53, which is great in so many ways – namely, it allows administration of the entire server and everything to do with it with one single login to the AWS console, which is great for people like me who prefer to have everything in one place.

An upshot of this is that “” will no longer simply redirect to “,” which doesn’t seem like a huge deal until you realise that previously, entering “,” no matter how nested, would also redirect to “,” which is of course just the index. So that’s fixed now.

In other news, I’m working on adding at least a gallery containing some samples of my photography. Currently, I’m using JuiceBox, which is what you get when searching for “HTML5 image gallery.” I’m sick of the JavaScript ones I find that look great in a browser but, upon trying to edit them, you realise they are essentially “DHTML” and occasionally require libraries like JQuery 1,2 (we’re on 2,0b now), so…yeah.

Not being that great of a web programmer just yet, I have resigned myself to using pre-made templates for more intensive stuff. Now, granted, I did code 90% of everything else on the site from scratch, including all the PHP and interactive JS crap for the VSC pages, and anything that has to do with JSONs…*shudder*

Again, just a short update. More later, I hope.

Automatic Database Updates

Today (technically), I implemented a set of scripts that will be called at regular intervals in order to keep the MySQL backend to the “interactive alch table” up-to-date!

Originally, the plan was to write a pure C program to do this, and automate it through cron. Unfortunately, preliminary research showed it would in fact have to be written in C++, due to the fact the official MySQL C++ driver is written in, well, C++ (indeed, as is MySQL itself). Difficulty compiling C/C++ JSON parsing libraries – or even finding ones that would compile – simply added to the frustration.

So, instead, I wrote two PHP scripts with limited dependencies and purely ephemeral resources, which will reduce read/write time dramatically. These are automated through a 4-line shell script executed every day at 2000 EST, or 0000 GMT, which is when the master database from which we draw is actually updated!

Additionally, it would appear that (embarrassingly) php5-curl was not installed on my server…! What? How did I miss that? How did anyone miss that?

Remember: debug output is your friend!

Next: updating the VSC landing page to reflect these changes, and updating the table interface to be more, well, interactive. 😉

Back Online, Almost


First, I’d like to thank all of you who brought to my attention (over the last month or so) the problems experienced by the site. First it was the forums, and then it was the databases, and then all of a sudden the entire system was inaccessible.

I talked with an Amazon CS rep briefly; he pointed at the consistently maxed-out CPU usage as the culprit, which makes sense enough, so as of now the entirety of is running on a single 2,66GHz Xeon E5430 with 1,5GB of RAM. This is not very much computing power compared to what’s available, but consider that 90% of the site’s content is handled on a per-request basis (that is, there is no overhead) and of that amount, about half of it is data-driven and dynamically generated (read: PHP scripts, most of which rely entirely on live MySQL queries). So, we’re fine.

Note: The mail server ( is currently broken. Not offline, but broken! I messed up several crucial steps of configuration (that seems to be the case, anyway) and now have no access to any mailboxes. The webmail is completely messed up and unusable, but local mail is still functional. To the best of my knowledge, PostFix is still sending/receiving mail as normal, but it is NOT likely to be accepted by the recipient since it will probably appear to be coming from “root@localhost,” which is pretty sketchy looking.

The forums do work, but nobody posts on them for some reason. I rolled back the MySQL backend to about 19 March, which deleted 850+ users and over 4000 posts (all spam, if you didn’t already guess). User registration e-mails now get dumped to an e-mail account I will rarely check. Your best bet is to contact me and I will pre-register (or completely register) an account FOR you.

User registration and profiles also work. This has actually been the case for awhile, and the only updates I have made this past week were cosmetic re-touches or functionality tweaks. Currently, there is no way to fill out your own profile. Working on it. Sorry.

The interactive alch table has been drastically overhauled, but again, mostly cosmetically. More information is now displayed, and there is now (finally) the option to view adjusted profits should you be buying nature runes or pure essence. In the top left corner, you will see the database version in use. This is accurate. It is not, however, always actually the most recent database. This is part of a new automation overhaul I’m working on with Ivan and Nik…theoretically. There will be more posts on this in the future.

I will possibly be moving the webmail to another server altogether, as I can simply have the domain “” direct to another IP (currently, I have two allocated, but am using only one). The MX record exists for “,” not the IP itself. That should be pretty self-explanatory. Why pay to maintain records associated with resources that are inherently ephemeral?

One last thing  – currently, our TCP I/O is pretty normal, and we transfer less than the limit imposed. I have no objections to the minimal fees associated with additional GB transfers…but I do have a problem with storage! Just yesterday, I deleted 52 GB of EBS volumes that were either unused, unnamed, or both! This costs me money, and it’s stupid to keep them around – especially when you consider that the majority of our old volumes are vestigial installs and outdated BOINC deployments!

I’m currently working on pushing regular (hourly) database backups to S3 instead of Dropbox, since our automatic database backup repo there is growing at the rate of about 75MB/day…which will fill up Dropbox much more easily than it will S3; S3 can in turn be fairly easily migrated to Glacier, which I have plans to begin utilizing anyway.

All this will be discussed in greater detail down the road.

Just wanted to let you know that we are back (and have been for about a week, sorry). If you notice any glaring (or minor) errors or bugs anywhere on the site, please e-mail nullcoding at live dot com with somewhere in the subject line. I have yet to set up (or, indeed, fully design or begin developing) a bug-reporting system, which will come in handy in the near future.

Til next time. 🙂