Given the cyclical nature of technological advancements, I feel a new phrase will need coining. We’ve seen the movement between terminal/mainframe to standalone, then back again (this time, called “thin clients”), then back again, then back again (this time, called “the Cloud”).

I predict a new technology that actually lets you store your own data on your own local network. Imagine! You keep your stuff in your own home or business! Fully Cloud-compatible (via backup and sync services), your stuff is still accessible without the Internet! What do I call this down-to-Earth Cloud-based technology? I shall call it … the Fog.

The Fog is an at-home or in-business successor to Cloud-based technology. It’s like a local area network … but with a better name.

 

Folks: Not to sound like an arrogant prick or anything, but it may surprise you to learn I write code for a living. It may further surprise you to learn those who write code well for a living expect to be paid for it. While I volunteer some time and code here and there, one-on-one help is called consulting. If you’re neither family nor a very close friend, consulting will cost you money. Often not an unsubstantial amount. Should you contact me online and ask me to provide one-on-one help, please do not be surprised when I respond with my rate and request partial or full payment in advance.

In summary: I’m a coding whore, not a coding slut, thank you very much.

 

I recently – against my better judgement – re-opened an account with Vonage so I could have a business-only line. Now that I’m working from home, my cell-phone-as-my-only-phone lifestyle is no longer feasible. Minutes are gobbled up in countless teleconferences, etc. With the (not) new number came the previous owner’s problems and fan base. One such fan is the American Red Cross. Apparently the previous owner registered as a much-desired type O blood donor.

Yesterday I received a robo-dialer call from American Red Cross. Their robot expressed a craving for my tasty, tasty type O blood – a case of mistaken identity. It gave me several menu options but none of them were “leave me the hell alone.” I sighed heavily and gave up for the evening. This morning Matt mentioned a news article talking about a district judge who okays civil suits against robo-dialing. “Oh yeah!” I yelled, flashing from relaxing morning coffee mode to angry afternoon mode in an instant, then I ran to my computer to begin my crusade anew.

You see, being a non-profit organization, American Red Cross doesn’t have to obey the Do Not Call list. Fuckers. My only hope, the Internet claimed, was to contact them a million different ways and keep trying to be removed. Apparently that’s the hard part. Not only is it difficult to find any way to talk to a person who can actually help with this, but they really seem to be disinclined to give a shit.

Unless, of course, you inform them you have “undesirable blood.”

Random strangers in forums as well as people I know told me the quickest way to ensure the Red Cross wouldn’t touch your blood with a ten-foot blood-extraction device is to tell them you have some sort of disease or are a “man who has sex with men” (apparently “gay” isn’t politically correct in this particular context). Armed with this information, I sent them a letter, which I present below for your enjoyment.

To Whom it May Concern:

I’m writing to ask you to remove my (newly-acquired) telephone number from your robo-dialer. The number is XXX-XXX-XXXX.

Trouble is, I don’t have the blood type your robot stated it so desperately craves. If I did, you wouldn’t want it anyway, as it’s riddled with disease from my crack-addled, homosexual, alcoholic, prostitute boy-toy with whom I share needles and dirty, dirty bareback butt-sex in public truck stops.

Also, while I love pricks – can’t get enough of the devilish things, in fact – I’m outright terrified of needles. Well, needles without illegal drugs in them, at any rate.

On the other hand, if you have a handsome, boyish vampire (the modern, caring kind they show on TV these days), I might reconsider. I wouldn’t mind that particular form of blood extraction and, like a wistful teenage girl, I’m CERTAIN I can change him …

Sincerely,

- Joshua Nozzi

This isn’t to suggest I dislike the American Red Cross. My most recent donation was intended for the Japan relief fund. I just don’t like people (or bloodthirsty robots) calling me at random, asking for my body fluids.

 

Popular file-syncing service Dropbox has been in hot water lately. It was bad enough to find out awhile back their misleading phrasing wasn’t true and that files were indeed accessible to its employees. This has resulted in a formal complaint to the Federal Trade Commission. Now apparently that same design choice – the one about which they claim they didn’t mislead customers – made a new security snafu possible.

Apparently, for a four-hour window this past Sunday, any user account could be accessed using any password. Because a user’s files are encrypted on Dropbox’s servers (not on your computers or mobile devices), this means a security screw-up like this can give unimpeded access to any user’s files.

Conversely, had they chosen to encrypt files client-side, this authentication bug would not have granted access to the files because the password / decryption key would not match and the files would come back scrambled if they came back at all.

Twice, Dropbox has demonstrated poor security practice. Some would argue they also demonstrated dishonesty by claiming their employees couldn’t access the files (their wording suggested “unable” rather than “not allowed”). Now a new problem has been demonstrated: they have poor or nonexistent testing practices when rolling out updates to their servers. Had they at least automated testing of their authentication system, they would’ve discovered the problem before ever having deployed the changes to their public-facing servers. As a user, I have yet to learn of a single one of these incidents from Dropbox themselves.

This latest sin and all it reveals has caused me to abandon Dropbox entirely. I can no longer trust them. Wired suggested two alternative services: Wuala and SpiderOak. Both offer client-side encryption and Mac and iOS clients (important to me). I’m currently leaning toward Wuala (see update below) but have learned to do my homework first. I won’t be signing up for another Dropbox-like provider, free or not.

It’s that last sentence that could be used as a retort: “Relax, it’s a free service.” Granted if you need 2 GB or less, the service is completely free. Nice of them but not nice enough to allow them to – in my opinion – mislead me about their security and for me to put up with repeated ham-headed security offenses. Those who’ve known me awhile (or at least followed me on Twitter) likely remember I was hesitant to use something like Dropbox for awhile at all. I begrudgingly tried it and changed my opinion. I found a few good uses for it. Not good enough to make me want to integrate my own applications with it (a popular request a year or two ago), but good enough to use on its own.

I’m of the opinion that Apple’s upcoming iCloud service will offer a seamless file syncing experience (hopefully more “seamless” than iDisk). I also believe they’ll worry over security as well – they do have a reasonable track record. As I use all Apple devices, I should have no trouble getting to the stuff I need … with style. For this reason, I’ll be using Wuala (or SpiderOak) as a stopgap until iCloud is available.

So long, Dropbox, and thanks for all the fish.

Update – Err, never mind about Wuala. It’s Java-based (I’m a “native app purist”) and decidedly not user friendly. I can’t figure out whether it offers automatic syncing at all and it appears to be still in beta. Further, its completely unexplained “file system integration” setting in preferences is enabled but its “check” says it can’t “Access Root  Directory” to offer this feature. No fucking thanks.

 

Web developers (developers, developers): I need you to listen to me. Are you listening? Good. Stop trying to be smart about detecting browser capabilities. You almost always get this wrong. Usually it’s because you’re used to a single platform and only test on others and so you’re not always up to speed on how the various browsers of the world work.

There are two main scenarios in which you frequently fail hard, resulting in my assumption that you are a semi-professional entry-level developer at best. This makes me hate you. Often, it makes me fire off an angry rant to your contact address, chiding your lack of experience and your complete destruction of my faith in your site’s ability to be useful to me, even if I could find my way around your stupidity. Let’s explore these scenarios together that you might learn from them.

Mobile Versions – Whether You Want Them or Not

First, you assume based on my using “Mobile Safari” that I need to be railroaded to your “mobile version.” Many of you don’t even ask – you just shunt me to mobile and maybe, if I’m lucky, you give me the opportunity to view the “full site.” How generous. Some of you douche bags then fail to persist this choice so I have to go through the whole thing again the next time I visit (hint: there likely won’t be a next time). Then there are the rest of you. The assholes. The ones who classify visitors as “normal” or “mobile” and shove the “mobiles” bodily toward the “mobile version” without a choice.

I hate you. I hate you so much.

That might be alright for other mobile browsers (because they truly do suck), but not for my iOS device. I paid good money for great standards-compliant mobile browsing capabilities. Why the hell would you take that away from me for the simple crime of visiting your web site? Unless your site requires Flash (and it better fucking not), or mouse-overs (which is not compatible with our modern, growing, touch-based world), you have no reason whatsoever to force an iOS device to a “mobile version.” If I wanted some shitty, Y2K telephone web browsing experience, I’d shell out $500/month for 1.5 MB of download capacity for a Motorola RazR and download a low-fidelity Who Let the Dogs Out ring tone for $5.00.

I digress. If you must provide a mobile version in 2011, ask me up front if I want it and remember what I told you. A great mobile browsing experience on an iOS device has been available to users since 2007. You’ve had plenty of time to learn this so knock it the hell off.

Get a Real Browser

The other scenario involves “clever” JavaScript that decides either my whole web browser is “unsupported” (and refuses to let me in) or that I don’t have some plugin (that I often do) and doesn’t even try to do the right thing. This is just as idiotic as the “mobile version” scenario. These so-called web developers decide Safari (as a common example), which is standards-compliant and scores extremely high in this regard, just doesn’t work right and they won’t let you in if you’re using it. So many online banks did this until very recently (now only a few do it) for reasons completely unknown. Some of you assholes even go so far as to display a cheeky “get a real browser, LOLZ” message to users.

If you do this, what you’re really telling me is you’re completely incompetent as a web developer and I should be very wary of your site anyway because you clearly don’t know what you’re doing. If your site “doesn’t support” a modern, standards-compliant browser it’s your fault, not mine. It’s a bug and a goddamn big one. What you’re saying is “I’m a fuck-up, a miserable failure, and my site probably sucks even on my own browser of choice.”  You’re showing the world that you (and the company that hired you) are unprofessional, condescending jackasses who don’t deserve my business or readership because you’re either too lazy or too uninformed to build a proper web site. You tell me to get a real browser and I imagine you’re a high school aged relative of some clueless business owner who “wanted a web.” This isn’t the 1990s, folks. Hasn’t been for over a decade. Just having a web site – even a shitty one – won’t make you rich. These days it’ll just make you look like a moron.

So the real message isn’t “get a real browser” but rather “build a real goddamn web site.” It doesn’t have to be fancy. It just has to look nice and work no matter who visits it.

The other side of this is specific capability detection. You decide to employ your own “do they have Flash” routine. Ignoring the folly of reinventing the wheel many, many times (and doing it poorly almost every single time), it’s bad enough many of you decide to restrict capabilities rather than trying anyway and letting the user know “this may not work.”

These types of warnings should be informational. You should never ever restrict things on purpose based on your “clever” little JavaScript hack. Your goal should be to inform the user something seems like it may not work but try it anyway. To simply avoid trying to load a plugin because your detection mechanism failed to detect it will almost always end up mistakenly restricting a user. Real web developers’ sites degrade gracefully. They don’t fall flat on their faces, pissing and shitting themselves because their capability detection code (which often is never updated as browsers grow) was mistaken. It’s the same mindset as “Oh god, a big black man! He’s going to rob us!” It’s prejudice born of ignorance. Plain and simple.

If you do this you’re an inexperienced developer (and possibly racist). You may be an excellent graphic designer but you’re a shitty developer. Your goal should be standards compliance and graceful degradation (which is part of standards compliance but bad developers don’t seem to understand this), not trying to second-guess every possible scenario for every version of every browser. If you’re doing the latter, you’re doing it wrong and you’re pissing me off.

Rant Over

Okay, now that I’ve gotten that off my chest, here’s a message of hope: companies are beginning to realize how foolish it is to cut off entire browsers and platforms, and that there’s just no excuse for it these days. They see other companies’ sites – full, rich web applications – working just fine on all modern browsers. Hopefully this is sufficient pressure to force old-school (and newbie) developers to learn the modern state of the craft properly – to bring them out of the protective shell of their browser of choice and realize they must support all browsers. Cutting off a whole browser because [ pretty but useless effect ] isn’t supported is idiotic and detrimental to the goal of a web site: to draw in and retain repeat visitors.

Don’t be a douche bag web developer. You’ve got no excuse for it.

 
The Monkey Tail Beard

The Monkey Tail Beard (not mine)

I’m speechless. This is apparently a real trend. It’s as if someone said “hey, let’s take something a ridiculous as the green-dyed mohawk and give it a twist of gentlemanliness.”

 

No, that is not me in the photo.

 

Apple capitulated* to more than 140,000 people who signed an online petition to remove a “Gay Cure” application from their App Store. While the ignorance of those who attempt to “cure” homosexuality still astounds me, I admit I have mixed feelings about Apple’s actions and wonder if a small adjustment might get them out of their current “Moral Police” predicament.

I’ll admit right now I signed the petition. After all, since Apple has already removed published applications on moral grounds, it seems odd this one even made it into the store to begin with. Now I’m not sure I should have. Not because I don’t think the “Gay Cure” thing is right but because I gripe about heavy-handed censorship any other time.

The real issue is that Apple entered into policing the morality of applications posted to the App Store at all. By doing so, they’ve inadvertently begun broadcasting what people can’t help but take as a sociopolitical stance on a number of very heated issues. In the public’s eyes, if they ban God-Hates-Fags.app but allow Gaydar-Dating.app, they seem to take an anti-conservative stance. If they do the opposite, they take an anti-human-rights stance. In hindsight, it’s clear Apple should never have donned the Moral Police uniform in their store in the first place.

Now what about this “small adjustment” I mentioned? Many of us gripe at the idea of ratings (and how heavy-handed the “won’t-somebody-please-think-of-the-children?!” interest groups can be), but a rating system already exists in the US. What’s more is Apple itself has built parental controls into iOS. If they relied on ratings based on the same standards the TV, film, and radio industries use, they can easily put control back into the hands of dutiful parents who don’t want Little Billy to see (much less download) Gutter-Butt-Sex.app. Not only can children be protected (and I fully agree they should be) from smut and social recklessness until they’re old enough to understand it in context, but we grown-ups who can decide for our-goddamn-selves can set an appropriate filter level or ignore the rating system altogether.

Would this cause the App Store to be flooded with thousands of *Porn.app clones? Almost certainly. But if the filter defaults to “no X-rated stuff” and the App Store reviewers follow the rating system, not only can most of us avoid shocking our delicate sensibilities, but Apple can say “Hey, we’re just following the rating system as dictated by the will of the American people.” Also, you crazy Europeans can enjoy your X-rated apps sans American prudishness alongside your sex-themed donut commercials.

Let the bigots have their fun (only anti-homosexual bigots afraid they might be gay would download it anyway), but mark it as at least rated R for its borderline-hatespeech nature and let people vent via 1-star user reviews.

* The link to Fox News‘ coverage is just DRIPPING with snark …

 

I received another article of career spam today. The recruiter was looking for a “usability specialist.” While she earned points for at least matching a relevant term in my resume (earning her a friendly-ish response), her client’s expectations were rather strange. An excerpt from the e-mail and my friendly(-ish) response are posted for your enjoyment.

The Inquiry

Subject: Usability Specialist Needed ASAP!!!!

The Contractor shall provide application and business planning, analysis, and requirements support, including business process modeling, …

My Response

Michele:

I’m afraid your client has some bewildering requirements for the position you listed. This is at least several different types of professional that are likely to be the same person only for those often referred to as “free-spirited” (albeit in a rather disappointing “business nerd” abuse of the term) rather than “useful.” The likelihood of finding a passible “usability specialist” who performs these tasks reasonably well is as likely as “neurosurgeon who shall provide diesel engine analysis and repair, legal consulting, full business accounting, civil engineering, and farmhand duties.”

While I’m not saying this is impossible, I am indeed saying such an expectation is misguided at best, assuming “mediocrity” is not the type of bullet point your client is looking for on the resumes of potential candidates.

We may still be able to help one-another out, however. I happen to know an out-of-work grief counselor with an excellent construction background. She has a degree in business management and minored in pantomime. She’s not very good at grief counseling (which would explain her present lack of employment in the field), but since her resume frequently comes up as a match in qualifications and skills for the position of Horse Whisperer (because “horse riding” was innocently listed as one of her hobbies), I’m certain she’d be perfect for a grief counseling position. Perhaps even CEO.

I’ve taken the liberty of sending her your contact information. Don’t let her clingy nature bother you, just don’t give her your personal e-mail address, phone number, face-book page, or anything like that. In fact, you’d best not use your real name as she will try to “friend” you and send you pictures of herself riding what she claims is a horse. Please note: I’m unable to act as a reference for her at this time.

… Michele has not replied.

© 2011 Joshua NozziJoshua Nozzi is a Cocoa developer for hire.Suffusion theme by Sayontan Sinha