Goodbye, DreamHost

I can’t believe that I’m canceling my DreamHost account, just one month shy of my 10 year anniversary with them.

Closing my DreamHost account

I first signed up for my DreamHost account back in January of 2006. For the most part, it’s been a great experience. I originally signed up for the two-year plan for $214.80 ($8.95/month), and added VPS to my account in March 2009, for an additional $18/month.

I was okay spending the extra money in order to have a VPS that I had full control over. DreamHost even tweeted about offering root access with their VPS back in February 2011. It was definitely part of the attraction for many customers.

dreamhost-root-vps-tweet

Then, on November 17, 2015, DreamHost sends out an email informing customers that in two weeks, they would be removing everyone’s sudo (root) access, on November 30.

Wow. Just … wow.

What recourse did we have? Try and sign up for their DreamCompute offering, which is still in public beta, and there’s now a wait-list to even get access to it?

Sell me a product, then take away a key feature but still charge the same price, while suggesting an upsell into a different product offering if I want to get that feature back? That’s called bait-and-switch, and that borders on fraud.

This was the last straw. Several times in the past I’ve wanted to switch away but was too busy to really do it, but this forced my hand: I had to move away, and from the looks of it, I wasn’t the only one.

I ended up moving my stuff over to Amazon AWS. It looks like it’ll cost me around $10-12/month, netting me a savings of close to $15/month compared to the $26.95/month I was spending at DreamHost.

I’m relieved now that I’ve actually gotten around to moving everything off DreamHost. No more wondering if they’re going to change their product offerings again. No more wondering if my sites are going to come back up when they’re down.

Well, DreamHost, it’s been nice knowin’ ya, but I’m officially done. I suppose it was good while it lasted, but like many good things, this too had to come to an end.

Edited to add: And, the account is now fully closed.

dreamhost-account-closed

Why PRISM, and programs like it, really don’t matter

The government obviously has had this data for quite some time, and no one I know of has been grabbed by the secret police, nor could they use the data to stop the Boston marathon bombing before it took place.

Government organizations are simply incapable of making use of the data they have access to. I have no doubt of that. I am much more fearful of this breadth of data in the hands of an enterprising individual with a specific, focused agenda. Bureaucracy by sheer existence will ensure this data will remain impotent in the government’s hands.

We should focus on real threats, not imagined ones, like what our government did to a person like Aaron Swartz. After this PRISM leak, is the Everyman going to care more about “this risk to my personal freedom and privacy” (which never existed in the first place–what a farce), or what our government actually DOES do to destroy a citizen’s life, like Aaron’s?

Smart money on the fact that people care less about what happened to Aaron than what they THINK might happen to them (but it never will), simply because they are not Aaron. And, that is the tragedy here…

iTunes 11 is a total failure

ITunes 11

I just accepted the upgrade to iTunes 11 this morning, and am so incredibly disappointed. Can I downgrade back to iTunes 10.7? Thankfully, the iPhone wiki has an excellent list of Apple’s direct download links for past versions! Later, I’ll figure out how to uninstall this abomination and downgrade.

Removal of iTunes DJ is a huge mistake: it was the only feature of iTunes that actually kept me using it as a media player instead of using a non-Apple one. The “Up Next” functionality that Apple replaced it with is NOT a suitable replacement for iTunes DJ. The beauty of the iTunes DJ implementation was that it acted like a special Smart Playlist, which you could see both currently queued and previously played songs in one view, and easily drag-and-drop songs in the queue to rearrange their play order along with dragging new songs into the queue to play them in the order you want. While you can click-and-drag to reorder in “Up Next”, it’s far less configurable – matter of fact, I couldn’t find any settings in Preference that control the Up Next functionality.

Up Next? More like Up Yours, Apple.
“Up Next”? More like “Up Yours”, right Apple?

Changing the keyboard shortcut for MiniPlayer (e.g. Command-Shift-M to Command-Option-M) – why would Apple do something stupid like this? Do you not understand and value muscle memory in consistent User Interface design? The MiniPlayer was one of iTunes’s killer features, and part of its utility was its hotkey which a MacWorld article even included in its 10 essential iTunes keyboard shortcuts last year.

iTunes 10 MiniPlayer

Also, why hide the currently playing track information in the MiniPlayer?! Upgrades should be improvements that add or at least refine features, not remove useful features that existed in previous versions! Now, in order to see what track is playing or how long it is or to seek around in the song, I have to click on the cover art icon in the MiniPlayer, first?

iTunes 11 MiniPlayer
I mean, look at this. What is this garbage?

I know Apple recently fired Scott Forstall. I do hope Apple fires whoever the Product Manager is in charge of this iTunes 11 release. It looks like they were more concerned with the redesign of the application icon and overall visual design of the application and totally ignored the ridiculously stupid changes that were being made to its functionality.

iTunes 10 to 11 icon WTF?
Wait, someone thought this was an improvement?

Shame on you, Apple. It’s a good thing Steve Jobs is dead, because this kind of embarrassing change would have KILLED him.

I may not have the plumbing, but I have a brain

Especially in election years, the following clich

The Oxford comma, let me teach you it

[ I originally wrote this as a comment on a friend’s LJ in response to his reposting the below image, but wanted to also post the comment on my blog since it’s a subject I feel strongly about. ]

With the Oxford comma: we invited the strippers, jfk, and stalin.  Without the Oxford comma: we invited the strippers, jfk and stalin.

I personally, dislike, the Oxford comma, and, prefer, the Shatner comma.

🙂

Seriously, though, most of the examples folks use when illustrating the value of “the Oxford comma” follows this pattern:

“… Noun, ProperNoun and ProperNoun.”

In this specific case, I agree, the series (Oxford) comma is necessary. However, if the last three of the list elements are proper nouns, it’s not necessary:

“I went to England, Spain and France.”

Or, if none of the last three elements in the list are proper nouns:

“At the grocery store, please buy carrots, mangos and limes.”

What’s worse is when folks use the serial (Oxford) comma before a conjunction when NOT enumerating a list, like:

“I went to the store, and bought a book.” FUCK NO WRONG WRONG WRONG. This is NOT an Oxford comma, it’s called WRONG WRONGITY WRONG WRONG.

*neck-twitch*

Of course, Google takes G+ very seriously …

So seriously, in fact, that …

Google has just launched games on Google+.

Because, you know, having games on G+ is SO much more important than fixing ALL the horrible usability problems with G+ …

Every time I say something negative about G+, the rabid fanboys say something that goes like this (paraphrasing):

But, but, but, the G+ team is doing all they can to make the service, the experience, etc., better … just cut them some slack and give them time.

… and then, Google goes and does something like this.

Google Mannekin Pis
(credit: Accidental Hedonist on Flickr)

Launching games on G+ now is like pissing on G+ users and calling it rain.

It’s one of the features that users explicitly do not want. In the early days of G+, one of the things most commonly cited by the fanboys as giving Google an edge over Facebook was “the lack of games cluttering up the stream”.

Like I’ve been saying all along, everyone will slowly come out of the “ooh, new and shiny” haze they’re in, and realize how badly G+ sucks in comparison to Facebook.

Google+ will soon join the ranks of Google Wave and Google Buzz. Remember them? Yeah …

You’d never watch Cheers if it were like this

The other day, my friend Mike invited me out for some drinks at a local bar. It’s a nice bar with friendly staff and good food. I’m not much of a drinker; my vice is smoking. Still, I like spending time with friends, and bars tend to be a popular place to go and be social.

Now, this particular bar has no dance floor. It’s a bar on one side and a restaurant on the other. It’s not the kind of place that would come to mind when you think of places to go and dance. Just keep that in mind …

The night we went, the music was especially loud. Now, I love music and some ambient tunes in a social setting can be really pleasant. That wasn’t what we had that night, though. It was loud … so loud that I strained to hear anything Mike had to say and had to shout for him to hear me. By the time we’d left, my throat was sore and my voice was hoarse, and my ears were still buzzing once we got outside. This was ridiculous.

Here’s a pro-tip to anyone who runs a bar:

Unless there’s some titties dancing on the bar or around it, turn down the fucking music.

Remember that old TV show “Cheers”? Do you remember there being music playing in the background during the show? I sure as hell don’t. What they had were people drinking and socializing at a bar. Nobody would have watched that show if everyone were shouting over some high-energy music the whole episode.

I guess I just need to find a better bar. One that is actually run in a way that encourages people to enjoy alcohol while actually interacting with other people. Anyone have any recommendations for places within 15-20 miles of Butler, NJ? Or, are all bars like the one I was at, and I should just not bother going out for drinks any more?

This week in Freelancing Train Wrecks …

I guess my good luck had to run out eventually. For all the awesome projects that I’d been picking up off Elance, I finally got totally boned by this one train wreck of a project.

train wreck

I knew right away it was going to be trouble. The project was posted as an invite-only job, and I was the only invitee, basically saying this was a offer specifically for me to consider from the buyer. Normally, this would be quite flattering, getting hand-picked and made an offer from a buyer, but this one made me nervous: it was vague as to what the buyer wanted, other than someone with “PHP and MySQL skills” … which, yes, I am definitely an expert in. In addition, the buyer proposed the hourly rate he was looking to pay right in the project’s title, which was practically half my normal hourly rate. Still, if I could knock out the fix to his problem in 1-2 hours like I normally can, it would end up being a pretty decent rate in the end … so I thought …

The job was posted some time on October 28, and at 9:55 PM I asked a pre-bid question about the work to be done. The buyer responds at 4:02 AM with the URL of his site and states that he has a “PHP script problem.” That morning, I check out the site, it’s throwing a MySQL DB connection error, which is a piece of cake to fix. This is where my Spidey-sense started tingling. How could I bid on work when I can’t even see the site? Still, I’m a sucker, I still had hours that weren’t billable for the weekend, so I figured I’d take the work. Some money is better than no money, right? Right??? (In hindsight: NO!!!) A few more messages are exchanged, I submit my bid for the project, and wait. By 10:37 AM, he accepts my bid and awards me the project: the game is on!

Right away, I get in and correct the credentials so that PHP can connect to the MySQL database. Great, the site’s up, now … and it doesn’t look outrageously terrible, so maybe this is going to work out okay, I’m thinking. Hoo-boy, how wrong I was, hah! Throughout the morning, we exchange messages and he keeps saying how he’s going to give me a list of changes, which never materialize. He wants to talk on the phone, which if you know me, I prefer to avoid, for the exact reasons that actually happened … yet again.

whack-a-mole, by tpapi on Flickr

I’m waiting for whatever list of changes he wants done, watching the hours tick by, and out of the blue he calls me at 5:00 PM. According to my call history, we spoke for 24 minutes, of which I remember there were an agonizingly painful 22 minutes or so of me trying to make sense of him while he abruptly stops speaking mid-sentence, not finishing a single thought, starting a sentence mid-thought … and me asking him to repeat things that sound remotely relevant just to make sure he didn’t emit words from his mouth by sheer accident and just generally playing Requirements Whack-a-Mole over the phone.

I finally get off the phone, and shoot over a few questions trying to clarify what little I came away with from the call. Instead of answering in writing, he calls me again at 8:09 PM and we go round-and-around the mulberry bush for another 9 minutes. Needless to say, it was more of the same as before and I didn’t get my questions answered. So, I do what I know always works: I stop wasting my time asking questions and I start reading the code. The code never lies.

And, in this case, the code is a downright disaster. I start putting together a list of all the possible things that he might want to fix, most of which he probably doesn’t even realize needs to be fixed, figuring he’ll name some items that I can crank out and get through this supposed 8 hour project. At this point, I’ve accepted that it was a huge mistake to take on this project, but I feel bad for the guy so I figure I’ll give him something so that this wasn’t a total waste for both of us. (Mental note: stop doing this! It never ends well.)

On Saturday, he’s apparently busy working, so I don’t hear from him until 2:15 PM when he sends me a message saying he’ll be free after 4:00 PM. Lucky for me, he must have found someone else to torture after work, because I don’t hear from again the whole day. I get to work on another client’s project, thank goodness.

I get to continue working on other projects on Sunday, until he calls me again at 7:29 PM and I manage to get off the phone in only 6 minutes. At 8:00 PM, he emails me saying that he would send the list of changes he wants done that night and that he would be available at 10 AM the following day. I acknowledge his email at 8:02 PM, letting him know I’m looking forward to finally seeing this list. Like a pig saved from the slaughter for a day, I’m actually feeling relieved by this empty promise … and I finish off my Sunday getting other client work done.

Monday morning rolls around, and at 9:44 AM, he calls me. We talk for 5 minutes, probably me pointing out how that supposed list of changes never materialized to which he probably rambled on about how I’d be getting it. He sends me payment out of the blue for three hours with the explanation that he’s paying for “the hours so far to show initiative in comppleting [sic] it ASAP.” Oh, if it were only three hours I’ve sunk into this mess, that might have been worth something.

Finally, at 11:47 AM, I get a change request that I can actually act on! And, a request to test a portion of the site’s functionality! For those keeping score at home, it’s now three days after the project has officially started. Finally, I can start working against those evil 8 hours I’m on the hook for …

Around 5:00 PM that night, after getting done some work for my other clients, I complete his the change request, and do the testing, and post screenshots into the Elance workroom to show my progress. By 7:26 PM, I’m done … and ask him to provide an explanation as to how to reproduce the problem he’s asking me to test for. He has no idea, so I decide to call it a night and go back to working on other client projects. Tomorrow’s another day full of suffering just waiting for me.

Of course, as my luck would have it, things go from bad to worse. My network connection goes down at 2:07 AM on Tuesday, 11/2. This forces a hard stop and I crawl into bed, hoping it’s some scheduled maintenance and that things will be up by the time I get up in the morning. Sadly, it turns out that the entire block is without connectivity and a few adjacent streets, and there’s four or five repair trucks out along the poles. Finally, at 10:32 AM, network connectivity returns. I shoot him a note at 1:58 PM letting him know that I was offline most of the morning. It seems he must be busy, as I don’t hear from him the whole day.

Wednesday at 12:58 PM, I suggest he spend some time and put together the list of changes in an Excel spreadsheet so that we can both know exactly what is happening, so I can finally lock down the scope and get away from this mess. At 4:51 PM, he sends a message saying he’ll make the list. Then, he calls me at 4:52 PM and we spend another 6 minutes on the phone. At 5:04 PM, I get a message saying that he’s working on the list and that I’ll have it within an hour.

At 6:37 PM, he tells me that he doesn’t have Excel and sends me this huge blob of unformatted text which I only guess is what he thinks is a list of changes. Here’s one of the gems, verbatim:

WHEN YOU IN GOOGLES, THEY
BACK TO OURS IT SAYS

GOOGLES ???

If anyone can actually figure out what he meant by this, I’d be impressed. Eventually, I was able to decipher it, but I now have a finer appreciation for what archaeologists must deal with when finding an ancient civilization. Holy crap.

To make this ridiculously long story slightly shorter, at 6:42 PM he calls me and we go back and forth on the phone for 30 minutes, at which point I think I understand a few of the more important items on the list, and get to working on them.

One of the requests is to doctor up some PDF files with changes, and I inform him that I’m not able to do it. He suggests I print it out and white things out and scan it back in … because, well, he’d do it but his scanner is broken (!!!). At this point, I just can’t take it any more. I tell him I don’t have a scanner and he should hire a graphic designer to make the changes he wants. Instead, he goes to Kinkos, whites out and hand-scribbles his changes, scans it and sends the results to me. I’m not joking; I wish I were.

Fast forwarding a bit, days go by … us going back and forth, me trying to zero in on what each of those nuggets from his “list” mean. Finally, last night at 8:52 PM, I go into Elance and request that they cancel the project. I muster every ounce of willpower I can, writing and rewriting the next message over and over, trying to eliminate all of my seething hate and anger. I finally wind up with this, and I send it:

I’m sorry, but I can no longer work on your project. This is not how I do business and I cannot continue to wait for you to decide what it is you need done.

I’m going to mark this job as cancelled. Please find a new provider.

Despite losing out on what little money I was going to make off this project, I felt a huge relief after doing this. It was finally over. Dare I say it was almost orgasmic. Yeah, it felt that good to finally get this monkey off my back. But …

Today, he finally responds at 3:31 PM with:

Im not sure what prompted this message however I do hope your satisfied with future clients and that they meet your needs. If you send over an invoice i will remit.

What? What, what? Seriously, two weeks into this mess you don’t understand why I’m canceling this project with extreme prejudice? I guess in all my agony to try and be pleasant, I guess I failed to be adequately clear. So, at 4:10 PM, I sent this final message:

This project was bid at 8 hours for $[redacted]/hr. It went on for two weeks, and was well over the 8 hours – probably closer to 15-20, but I wasn’t watching the clock, could be more, I don’t know.

What I do know is I can no longer continue to respond to you in a timely fashion because the large amounts of time I spend trying to decipher what you’re asking for, reading and re-reading your messages, listening to your voicemails, talking with you on the phone — it was cutting into time I had committed to other clients and your project was putting ALL of my other work at risk.

It was a difficult decision to cancel the project, but I would be losing a LOT more than $[redacted] if I let ALL my other projects suffer because of yours. I’m sorry, but I cannot afford that — this isn’t a side-job for me, it’s my primary source of income and it pays my mortgage and feeds my kids. I cannot afford to let you jeopardize that, not for $[redacted]/hour.

Good luck finding another provider on Elance and completing your project.

I. AM. DONE.

***

Let this gruesome tale of a freelancing opportunity gone horribly wrong be a lesson to all of you: JUST SAY NO. Sure, you might wind up passing by a few good opportunities, but you’ll definitely avoid these train wrecks. In the end, they cost your business more than those few possibly missed opportunities could ever be worth. Trust me.

Dear Nintendo, bring the sexy back!

You know what? Playing Super Mario Bros., the vintage NES version, on the Wii, really sucks. Why? The slight lag due to the Bluetooth Wiimote just makes the gameplay not feel identical … and it bugs me. 🙁

NES console with controller

Nintendo needs to release with a “throwback NES” — a game console contained inside the original NES plastic housing, with every NES title ROM ever released, preloaded on a 64 GB flash chip, with the original connectors and two vintage corded square NES controllers. It would power on, you’d select what game you want to play from a menu, and it would load the ROM off the flash memory. Sure, I’d miss the occasional blowing on the contacts of the cartridge, but this would be such an awesome product.

I’d pay $100, maybe even $150, for it. And I’d play with it a hell of a lot more than I play with the Wii.

Elections, the biggest obvious waste of tax money ever

Today is Election 2010, a boring mid-term election. The air, or at least the US-centric area of the Internet, is buzzing with a borderline Jingoistic fervor with all the “Get out and vote” and “I voted” rubbish.

@dossy: I didn't vote; you all did. Things will no doubt get worse. Is it really my fault because I didn't vote, or are you all just wasting time?

Have you ever tried to find out how much these elections cost us? I’m not talking about campaign funds and all that nonsense which apparently reaches into the billions of dollars, but the actual stuff that is, I assume, paid for using tax dollars: staffing polling locations, the cost of vote-capturing equipment, developing and certifying said equipment, processing absentee ballots, and whatever other overheads there are that I’m not even thinking of. Can you find a source for these cost figures?

I found this article that suggests that a special election that was held in West Virginia cost roughly $20 per vote. In the absence of actual costs, let’s assume that this 2010 general election will cost us taxpayers $20 per vote, too. Looking at 2006’s general election turnout rates, it appears that approximately 83.8 million people voted. That’s potentially $1.6 billion dollars in cost. Quick, name me three worthy causes that you think could really benefit from a boost of $1.6B towards their operating budget.

I know, people vote because “that’s how democracy works” and “if you don’t vote, don’t complain” and all that other noise. Lets face it: has there ever been an election outcome that can be clearly connected in a causal manner to a political improvement? I don’t mean “the person I wanted to win, won,” but a real, tangible benefit on a macroscopic level for the country as a whole. From where I sit, over time, the “goodness/badness” scale bounces around seemingly randomly despite whoever happens to be the elected officials at the time, and if you zoom out a few levels, it mostly looks like a flat line hovering around the midpoint.

It’s hard to really make claims that “elections make things better.” Sure, maybe because we didn’t have close to 100% voter turnout, the system failed to work properly. I’ll say it now: it is irrational and unreasonable to believe that we will ever get even close to 100% voter turnout, I mean not even close to 80% turnout, even. Lets face it, we’re lucky that we get the 62% that we get. So, putting a system in place that requires high voter turnout, when it’s unlikely we’ll ever achieve it, is downright stupid.

It’s more plausible that elections don’t actually have a measurable impact, other than to pacify people with poor deductive reasoning skills who enjoy spending other people’s money.

Think I’m totally off the mark? Just entertain me with a very simple thought experiment: instead of spending over a billion dollars to record votes of millions of people, instead one single person is equipped with a true and fair coin and merely flips it deciding who the winner and who the loser in a particular race is. In the event of multiple candidates in a race, the process is repeated pairing candidates in a single elimination fashion until a winner is selected.

From a distance, can you really tell whether the outcome was based on the votes of millions of people, or by pure random chance? Better yet, do you seriously think it makes a difference? You sure can’t tell by looking at the state of America, I’ll tell you that much.

Do you seriously want to bring about change? Don’t waste our tax dollars by voting. Encourage everyone you know to do the same. Eventually, we can eliminate the entire voting facade entirely and simply rotate politicians in and out of office at random. I guarantee that the outcome will be indistinguishable from what we have today, and we’ll have saved billions of dollars in the process.

Just remember, by the 2012 election, I will become eligible to be the next President of the United States …