C Snobs

Recently, I ran across one of the many little spats that develop between bloggers. This time it was between Alastair Rankine of girtby.net and Jeff Atwood of Coding Horror.

It’s the typical spat. One blogger decides that another blogger is no longer writing what they want to read. Rather than just unsubscribe, they write a big public post about why they have decided to unsubscribe and why the other blogger sucks.

And, as is typical of these kinds of spats, the blog post starts by talking about how they don’t normally slam on people they unsubscribe from… then they slam on them anyway.

Sigh….

Anyway… you can read the spat at the two links below if you want… but the details aren’t that important to what I have to say.

Rankine’s post:

Atwood’s reply:

What really got my attention in reading Rankine’s part of this train-wreck (this is the nerd version of Jerry Springer right here) was that Rankine jumped Atwood’s shit for not knowing C. In fact, he went as far as to say that by not knowing C, Atwood was not credible as a programmer.

Every time I see this opinion put forth by otherwise smart programmers it makes me foam at the mouth in rage and frustration.

This isn’t a minority opinion in my experience.

I see this “must know C” prejudice all the time. I’ve even been passed over after a job interview had revealed my lack of a C background. There isn’t any telling how many interviews I didn’t even get to attend because my resume lacked C/C++ (even though I’ve never applied for a C/C++ dev position).

I also see this idea put forth by people that I otherwise respect… even Joel Spolsky, a hero of mine, makes a big deal out of knowing C. In his legendary advise to college students article  #2 on his list is “Learn C before graduating”.

He even gives an amazing (in terms of stupidity if you ask me) example:

“…if you can’t explain why while (*s++ = *t++); copies a string, or if that isn’t the most natural thing in the world to you, well, you’re programming based on superstition, as far as I’m concerned”

So how does knowing this help me write better C#? This doesn’t directly apply in C#. Wouldn’t it be better if I knew how C# does string stuff, which mechanisms are more efficient in specific cases, and why?

I could take Joel’s advice and go off wasting my time learning C. Then, like him, I’d be able to translate my C# concepts into C in order to understand how it all works under the hood… or I can just learn how C# works and skip the C translation step. Both are valid approaches, but I think it’s unfair and narrow minded to discount my ability to understand what goes on under the hood just because I lack a formal C background.

I’m not saying that knowing C would hurt me. In fact, I’ve often wished I had the patience to go back and learn C. But honestly, writing in C makes me want to die. How did any of those old C guys actually get anything done?

Besides, if everyone based their understanding of higher level languages on C then where is the diversity? In some ways, my understanding of some areas of C# is actually better than that of people with C backgrounds precisely because I DON’T have a C background.

While Joel has good reasons for preferring C experience in his employees due to the kind of development his company does, that doesn’t map well to other areas of the programming field.

I do asp.net web applications. When I’m hiring, I’d MUCH rather you have a solid understanding of how IIS works internally. I don’t care if you can write a fancy-pants sorting algorithm in C. I trust that the .NET framework guys will work out most of that anyway. As long as you understand the internals of C# or VB and the .NET framework you’ll do fine in my field without knowing any straight C at all.

When someone like Rankine makes such a prejudicial assumption about an otherwise competent person based just their lacking a C background… well… it strikes me about the same as the racial prejudices I’ve had to hear all my life.

See, I live in the Deep South of the USA where all Mexicans are illegal, all black men have 15 kids by 5 different women, and all Arabs are terrorists. Here most narrow minded ass-holes blame their minimum wage income on the irrefutable fact that non-English speaking illegal Mexicans have stolen all the jobs. While everyone here complain that Mexicans should be wasting their time learning English instead working, the Mexicans are working their asses off, getting shit done, and getting paid.

I guess it’s fair that all you C snobs can watch those ignorant non-C speaking savages steal all your jobs too.

while (*bigot++ = *asshole++);//see, natural isn't it?

Experts Exchange – please go fuck-off and die already!

As a programmer, my number one tool for getting out of a tough bind is a quick google search.

Developers are chatty, and we have about a million different forums, blogs, wikis, example sites, source projects, etc. When I’m having a problem with my code, chances are that there have been many other programmers that have already found a solution, and some of them probably posted answers online somewhere.

But, in any given search, you are bound to get at least a few links to this place called “Experts Exchange”.

Note: I’m not linking to Experts Exchange… this is deliberate…

Nothing about the text of the google result will stand out as being an Experts Exchange related site… it’ll just have a reasonable title and an excerpt that suggests it as a good place to look.

So I click the link.

And then I see the Experts Exchange page.

…  and then I just want to fucking KILL the bastards that run this fucking sham of a site!!!

The idea of Experts Exchange itself isn’t so bad. A subscription based community of IT professionals working together to create a database of answers to IT related issues.

No problem in theory…

In practice though, they gimmick the big search engines like Google into returning their pages knowing that those answers are NOT going to be on the page when the user follows the link. This technique is called ‘cloaking’, and I am annoyed that Google doesn’t remove experts exchange from their indexes for such a blatantly deceptive tactic.

The trick is against Google’s own guidelines even.

My second problem is that the quality of the actual answers on experts exchange is retardedly bad. Certainly not worth paying a monthly subscription fee.

But what annoys me most is just how much of my time I’ve wasted having to back-track after falling for yet another worthless experts exchange link. It happens at least two or three times a day… sometimes more.

And it gets old… really old…

If I ever do finally go postal, then I’ll be stopping by the offices of Experts Exchange pretty early in the tour…

FDA – Information Terrorism for Epileptics

Caress (who posted about this too) and I came across this report on CNN yesterday. Since then I’ve seen it reported at least a dozen other places on TV and around the net.

The FDA has issued an advisory designed to needlessly scare the shit out of epileptics and healthcare professionals treating epileptics.

According to the FDA advisory, epileptic treatment drugs cause people to commit suicide!

Check this shit out:

Data from 199 placebo-controlled clinical studies covering eleven different antiepileptic drugs were reviewed and analyzed for reports of suicidal behavior (completed suicides, suicide attempts and preparatory acts) and suicidal ideation…

The analysis included a total of 43,892 patients ages five and older (27,863 in drug treatment groups and 16,029 in placebo groups).

In the FDA’s analysis, patients receiving antiepileptic drugs had approximately twice the risk of suicidal behavior or ideation (0.43%) compared to patients receiving placebo (0.22%)….

Four of the patients who were taking one of the antiepileptic drugs committed suicide, whereas none of the patients in the placebo group did.

That’s right… 0.2% more suicidal behaviors were reported among people taking a brain chemical altering drug to treat a debilitating brain disorder.

Holy shit!

Warn everyone about the pending health apocalypse before its too late!

Epileptics must stop taking their drugs immediately or they might die!!!

I know several epileptics, including my own sister, and one thing I can say for certain is that having epilepsy sucks ass!

In ANY study of epilepsy, it shouldn’t surprise anyone to find suicidal behavior to be a real problem.

What surprises me about this particular study is the unbelievably low number of “reported suicidal behavior” incidents overall.  Oddly enough, the number of reported suicidal behaviors in the FDA’s study is lower than the National Institute of Mental Health’s reported rate of suicidal behaviors in the general population.

That should be a big clue as to just how unreliable the FDA study’s conclusion is!

Even with so many subjects being analyzed, a number like 0.2% is beyond ridiculously small…it is irrelevant.

Come-the-fuck-on!

0.2% ?

WTF!?!?

It isn’t as if healthcare professionals don’t already KNOW that suicidal behavior is something to watch for in epileptics… telling them that treating epileptics with drugs makes them “twice as likely” to commit suicide is just plain irresponsible.

But what pisses me off more than the FDA wasting my tax dollars pointlessly making a big deal out of nothing, is that the major news outlets are also picking it up and presenting it as news.

The news outlets certainly haven’t bothered to use common sense in reading the report. Nope… they just see the “twice as likely” part and report that part!

The reason this is such a problem in my opinion is that  one of the worst problems related to epilepsy is that so many epileptics don’t take their medication.

Ask any police officer or EMS worker how they feel about epileptics!

They fucking HATE epileptics.

That’s because so many of them don’t take their meds and end up killing or injuring themselves or someone else. Often untreated epileptics are scraped off the road after a car wrecks… and often others get hurt in the process too.

This really is a BIG problem that doesn’t get near enough attention… instead everyone is too busy talking about titty-cancer and buying autism awareness ribbons.

There are lots of reasons epileptics stop taking their drugs, and most of them I can’t blame them for. I am pretty sure that if I were epileptic I’d probably consider going off my treatment too.

The medications have side effects that are often worse than the epilepsy itself. Some turn you into a zombie, some make you groggy, some make it hard to concentrate, and some fuck your memory up worse than Alzheimer’s.

The medications are also very expensive and many epileptics just can’t afford them, especially the better drugs that have fewer side-effects. This problem is made worse due to the limited employment options for epileptics and their resulting lower incomes. And that doesn’t get into the fact that many insurances don’t cover the drugs for pre-existing conditions like this one.

Some just refuse their meds because they don’t want to admit they have epilepsy because it estranges them from friends and family. I’ve known at least a couple of closet epileptics that refused to even get medical tests because they knew they’d lose their drivers license. I even knew one that drove race-cars and if they got diagnosed they’d get booted out of the race circuit… better to just gamble that you wont have a major seizure when anyone is looking.

But now, thanks to the FDA’s crack research team, epileptics have one more reason to refuse their drugs… the false assertion that the drugs will make them kill themselves.

Fucking good job FDA!

Why is my phone bill so high?

When you think about the U.S. phone system, you have to be amazed! Copper and fiber wires running all over the country connecting nearly every home and business, plus all the equipment in between that makes the magic happen. Its massive and staggering in both scale and complexity.

All that infrastructure cost a fortune to create, but it must also be enormously expensive to maintain and keep up with too.

So when you think that a phone line only cost between $20 and $30 a month, it really is a pretty sweet price tag.

In contrast, cellular networks must be dirt-ass cheap to both create and operate.

Sure, you have to have lots of towers and connect them all via fiber or copper wire… but that is nothing compared to the sheer scale and fagility of the old system of wires.

Upgrading and maintaining the cell networks has to be far easier than sending technicians out to each individual home every time something needs connecting, breaks, or when construction crews dig up some back-woods line somewhere.

And never forget that once upon a time the phone companies were only able to sell one phone line per household. But cell networks can sell one phone line for each member of each household. So the entire size of their market is much larger than the size of the old phone market.

So why then does my cell plan cost $80 per line?

Sure I have data services, but I had that on my land-line once for only $10 extra and it worked a hell of a lot faster than my cell phone’s connection.

My cell phone is portable and more convenient than my land line, but the wireless aspect is what should be saving my phone company an embarassingly large amount of money.

I can call the entire U.S. on my cell phone without paying any extra, but that doesn’t cost the carrier significantly more than a local call does either.

So what am I actually getting for all that extra money? The cell phone doesn’t do anything I couldn’t do with my land line, and much of it the land line did better.

I guess the only reason my cell phone bill is $80 is because customers are willing to pay that much.

Its too bad the artificial barriers to entry are so high in the cell business. If entry wasn’t controlled by so much regulation and real competition was allowed into the cell market I wonder how much my phone bill would be now?

Akamai MSDN Download Manager sucks!

 Richard’s Braindump: Problems with the new MSDN Download Manager

I agree with Richard, the new MSDN download manager is worse than horrid. I’ve ran into every one of the problems reported but these in particular really chap my ass:

  • Close IE and the download manager closes. It asks you if you really want to close it, but it doesn’t matter what you say… it will close anyway. When you re-open it, your download will be corrupt and you’ll have to start over again from the beginning.
      
  • It’ll just randomly tell you it can’t download because of persistent network problems… and you can’t resume because your file is corrupt.
     
  • If you have pop-up blocking on in IE 7 (which is the default) you might never get the download manager installed. It pops up a new browser window, which IE blocks, then the main page refreshes so fast you never see the notification that there was a blocked pop-up.

I have additional complaints too.

  • Adding additional files to the download manager sometimes (and by “sometimes” I mean “nearly always”) closes the download manager… which as we discussed already, corrupts any files it was already downloading.
     
  • Manually pausing a download also usually corrupts it.
      
  • When it asks if you want to start the download all over again, and you say yes, it usually can’t… so you have to remove the file from the manager, go back to the MSDN page then re-click the link…. which will close your download manger and corrupt the rest of your files!

And even if they fix these major technical problems, there are other issues I have with it:

  • Files are either downloading, or paused. There isn’t a way to put them in any particular order in the queue and download them sequentially… so if you want to pull in 5 files, but you want 1 file immediately, then the rest to finish up whenever you have to pause all the downloads except the one, wait on it to finish, then manually resume the others.
     
  • There doesn’t appear to be any mechanisms in place to allow you to throttle how much bandwidth it uses.
     
  • It allocates the disk space before the download starts. I HATE that. If you only have 1gig downloaded so far, it should not be taking up 4gig on my hard drive. When I’m low on disk space I can’t start the download and have it coming down while I go and clean up some drive space. I have to clean up the space before I can start downloading. Minor issue, but still annoying.

Seriously, this thing is a total piece of shit… Why can’t you just give me a damned link?

I have a download manager than works really good. I can control what files come down, in what order, how much bandwidth to use, and how many files to work on at a time (I use ReGet for those of you that may be curious).

Come on, just give me a regular old hyperlink or put it up on an FTP or something.

Considering that an MSDN Premium Team Suite subscription costs $10,000 up-front and around $3500/year for renewal fees,  it isn’t too much to ask for is it?

Microsoft Money… still sucking…

The world of personal finance software is one of my least favorite. Anyone developing in this market has a tough job. People are idiots, and personal finance itself is especially designed to cleverly imitate real accounting yet completely fail to make any logical sense at all.

So I am never surprised at the crazy junk I see in personal finance software. The system it targets is moronic in the extreme, and the target user is assumed to equal that standard. 

But I’m a special idiot… one that uses Microsoft Money. I have tried Quicken, but I find their junk just a tad more annoying than MS Money but for different reasons. I also detest Qicken’s license terms and marketing strategies. In contrast, Microsoft’s lack of strategy in the personal finance market is quite refreshing. So I keep using MS Money even though I hate it.

The most annoying thing about MS Money is that they somehow makes it mandatory to upgrade to the new version every year. Somehow the old version just ends up “breaking” over time until you eventually get pissed enough to upgrade. I have no idea how they manage this, but eventually my old copy just sorta stops working right. Last time it was the fact that it wouldn’t work after a patch for IE came out (and no fix available for the old version naturally). This time it just stopped being able to talk to my bank one day.

Every time I upgrade, I end up being amazed at how little was actually improved, or even changed from the previous version and equally amazed at just how many annoying “features” are still exactly as annoying as before. There always seem to be a couple of things I really like that manage to disappear from each version, and one or two new features show up that I don’t care about at all. So each time I curse myself for forking over yet another $50 instead of just taking the time to put together my own spreadsheet in Excel… but I still I upgrade anyway.

Among my biggest complaints is the default “basic” checking account register. It completely lacks seriously important features, features I’d consider quite “basic”…  like the fact that it is missing the entire right-click menu and has no obvious alternatives for useful things like creating a reoccurring bill from an entry in the register, or marking transaction as reconciled, etc. It is also not obvious that you are even in a “basic” mode, nor that there an “advanced” mode that you could be using instead. Sure, there is a “Basic Register” icon, complete with text label at the top of the page, but it blends in so well that I never even noticed it until someone pointed it out to me. The “basic” mode just make the application feel like a piece of crap that doesn’t do much of anything.

Fortunately, I do know about advanced mode, despite not having noticed the icon. I know this because I had used older versions where the advanced features were enabled by default. When I first upgraded to a version with the “basic” register and saw that those features had gone missing, I located how to enable them again via the online help. But the “advanced” register isn’t exactly “advanced”.  It just adds a few minor details to the list of transactions, turns on the right-click menu, and that’s about it. But getting advanced mode enabled sure does requires an hell of an advanced level of skill. That icon at the top of the page isn’t even clickable to toggle the mode! Instead, enabling the advanced register remains something that I have to look up in the online “help” feature each time because it is cleverly hidden deep within the not-so-fun “options” section of the program. Fortunately the online “help” is one of the few really well done parts of the application, and provides clear instructions for how to enable the missing functionality.

Then MS Money has the “basic” bills tracking system as the default too. In a misguided fit of “simplification”, the developers of the default bills tracker helpfully allow you to choose to pay a bill using automatic payment (a.k.a. Bill Pay), electronic payment (e-pay), or by writing a check… But they thought that a “direct draft” bill was just too fucking complicated for the “basic” user, so that option isn’t available unless you turn on the advanced bill tracking system. It’s almost like they missed the fact that nearly every utility company on the planet pushes direct draft payment options like it was high-grade cocaine… Even people like me that prefer a push payment system over a pull payment system often end up with one or two drafts each month. In my case, some of my utilities actually give a discount if you agree to let them draft your payment. But, according to the crack MS Money development team I now know that only “advanced” users would need direct draft as a bill payment option. Thanks guys.

Then you have odd shit. Like the fact that, even in basic mode, MS Money encourages you to track your gross pay, taxes, withholdings, etc. from your paycheck. Most average joe home-users are obviously people that need to track the exact amount of their 401K deductions, but they would never need anything as advanced as fucking direct draft!

Anyway..

I find this “basic” vs. “advanced” thing to be a very obvious sign of poor UI design. After-all, it isn’t as if there are THAT many “advanced” things you can do. Seems to be there should be just one account register, and just one bill tracking system. Then, by using good UI design, the software can helpfully arrange commands in a way that isn’t confusing. The saddest thing is, the “advanced” register and bill tracking systems are actually quite easy to use once you figure out how to enable them. But most average joe home-users will never even learn that there is an advanced mode at all, much less get it turned on. Instead, most people would just think MS Money sucks and would not bother to use it… and, after asking around, this seems to be exactly what most people really do think.

Weighted Obsolescence: Phone book season

Few things annoy me quite like having phone books delivered to my house. There was a time when the phone book was pretty important –a time when taking a decent sized ad out in the yellow pages was the difference between a successful small business and a fire-sale. But between the internet and 411, phone books are obsolete now.

There are still a small number of people, mostly older ones, that consider this whole internet thing to be a fad. They would still prefer a printed phone book… old habits. But for most people the phone book is just a huge waste of paper. And they must be terribly expensive. Someone has to spend large amounts of time composing the contents, doing the layouts, and overseeing a massive printing and distributing operation. The books have to be printed, and that’s a LOT of printing. Then they have to be physically delivered, which must represent a truly staggering cost since each one is bulky, heavy, and has to be shipped individually to a different location. Massive costs, and massive waste. Wouldn’t it be better to just charge a nominal fee to people that WANT a printed phone book, and just not bother the rest of us?

Despite the irrelevance of phone books though, there is an active war in the business between several different companies. Each of them has, for reasons that still elude me, decided that the phone company isn’t qualified to maintain and distribute the directory of phone numbers. Instead, these motards decided that they could do a better job and that it is their moral imperative to bring competition to the phone book market!

So every year, I get two or three huge bricks of useless paper delivered to my door. Well, more precisely, delivered to some random part of my yard that I probably won’t go into for at least four or five months after the phone book has been delivered to it… not actually delivered to the door you know. For reasons even more screwed up than the basic business plan, all of these companies decided that they had to deliver their brand of awesomeness at the same time of year.

So last week I got three massive, but irrelevant phone books littering my yard. Of course, by the time I noticed two of them, they had been sitting there collecting water and bugs for a few days making them even more massive. The water and bugs don’t make the book any more useless though, that would be an impossibility given their very nature.

Its bad enough that I have to dispose of these relics of hate, but what REALLY chaps my ass is this… I don’t have a phone line. In fact, there is not and NEVER has been a phone line at my address. So WHY do I get three damned phone directories that I wouldn’t need even if I did have a phone?

You guys seriously need to talk to Maxxum. At least they put half-naked girls on the cover of the unsolicited, irrelevant crap they drop off at my house.

Stupid Crusade – Block Firefox to protect your revenue!

Seems someone out there really thinks that a browser that blocks ads is theft. So they’ve outright blocked all Mozilla Firefox browsers and are advocating others do the same.

Software that blocks all advertisement is an infringement of the rights of web site owners and developers. Numerous web sites exist in order to provide quality content in exchange for displaying ads. Accessing the content while blocking the ads, therefore would be no less than stealing.

Their message gets richer too… so check out the entire thing:

http://whyfirefoxisblocked.com/

Never mind that ad-blocking is available for just about any browser, and most Mozilla users are savvy enough to work around being blocked… what boggles my mind is how these people think that blocking an entire browser will increase their ad revenue?

Of course, it seems clear that message is intended to drag the users into the politics of the issue, and is not an honest attempt to increase ad revenue. Sadly for them though, most users that see this message are going to be solidly on the other side of the argument… and pissed for being blocked!

Way to gain sympathy there guys!

Local Coffee Shops Suck – Go Starbucks!

I have many friends and acquaintances that “hate Starbucks”. Hating Starbucks might even be more popular than hating Paris Hilton.

They all have their pet complaints, usually about some isolated unfair trade practices or injustice carried out by some mid-level area manager or something. The argument always trends to wrap up with how local coffee shops suffer when Starbucks comes to town (the Wal-Mart argument).

But the sad fact of it is that any company that size will have ass-hats that occasionally do bad things. I try not to hold that against a company unless that kind of behavior becomes the executive policy of the company as a whole (which is why I don’t hate Wal-Mart or Starbucks but do hate Disney and Apple).

Anyway…

Let me tell you why Starbucks kicks ass… aside from the fact that they actually serve a decent enough cup of coffee.

The reason Starbucks kicks ass is because they understand this that you can’t stir a 20oz cup of hot liquid with a fucking 4 inch tall plastic stick!

Starbucks has big sticks that fit down into the cup all the way to the bottom without burning your fingers! Out of dozens of local shops I’ve been to in dozens of towns, maybe one or two have had sticks that are appropriate for their larger size cups.

You’d think that if your fucking business IS coffee, then you’d take the time to notice that 4 inches of stick does NOT-the-fuck fit into 10 inches of cup!

How god-damned hard is it to understand ?!?!

See, Starbucks pays attention to those little details.

They provide this level of service in EVERY store.

So… I don’t have to wonder if I’ll have a way to stir my shit when I get to Starbucks because ALL of their shops have good sticks.

I don’t have to wonder if I’ll be stuck trying to open half a dozen tiny little packets of sugar (which is always messy) because Starbucks has both packets AND a free-pour canister of sugar on the counter (I know… almost unbelievable!)

That is why Starbucks is killing your local coffee shop.