Home

t3knomanser's Fustian Deposits

More drek than you can pull from an elephant's arse.

How Random Babbling Becomes Corporate Policy

IOCCC Original Winner

Mad science gone horribly, horribly wrong(or right).

Navigation

October 13th, 2009

"Breathtaking" code

Add to Memories Tell a Friend
IOCCC Original Winner
Words like "breathtaking", "stunning", "astounding", "amazing", and "incredible" are not positive words. Oh, they're often used in a positive context, but in reality, they only convey a sense of wonder and disbelief. They can be applied to something horrifying just as easily as something delightful.

Such has been my experience over the past few days.

Once upon a time, some fragment of the giant behemoth I work for needed an application to manage some inventory tracking and similar tasks. They found an external contractor that would make it for them. In that era, the app was built in VB6 with an MS Access back end. Horrible, yes, but hey, it was the 90s.

Well, now it's time to upgrade. So they go back to the same contractor. "Hey, we want it to be .NET and use SQL Server. Here's a check."

Well, it wasn't that easy, of course. There are policies. Checkpoints. Oversight. I was part of the oversight, and my job was to get the application through our "gates". Since this was a purchased application, we didn't care if it was terribly well designed, so long as it worked. We weren't going to have to maintain it. So we got some design diagrams from the contractor, sanity checked them, and then called it a day.

More fool I.

Last week, I hear, "Hey, that application- they're not satisfied with the support from the vendor. They want to bring it internal. Hey, Remy, find out what you need to do to make it fit with our standards."

Now, when we develop an app internally, or have a contractor develop an app that we intend to support, the auditing requirements are much stricter. We don't care if an outside vendor has to suffer under horrible support issues, but if we're wasting time on stupid support work, we're unhappy.

So, the first step then, would be to audit the application via a code review. I sat down in a room with three other developers, we pulled up the code, and we started skimming through it.

It was breathtaking.

The first, most glaring thing, was that the actual design and the provided diagram had no relationship to each other. That didn't bode well. And it was all downhill from there. As a sampling of some of the amazing things we saw:
  • One window in the application has all of the business and data access code bundled up in it. It's like they took all the functions and dumped them into a bucket.
  • But not all functions. For example, when that main window wants to log an error message, it calls out to a class called "Utility". When it does that, the Utility class makes a call against the main window. Not only is the code just a disorganized pile in a big bucket, but sometimes the bucket says, "Hey, you gotta go look in another bucket to find that!" and when you do, the other bucket says, "Nope, it's actually back out in the original bucket."
  • All of the database access stuff is hard coded strings. With no SQL injection protections.
  • It stores passwords in plaintext
  • The most stunning thing, however, is what the application does every time it launches. Every time the application launches, it attempts to add columns to a bunch of tables. If those columns already exist, this would cause an error, so it just ignores the errors. Since, once the app has run once, the columns will exist, that means every time a user runs the app, it's trying to add columns to tables for no damn reason.
There's more, but I won't bore you with the details. I wrote a 2,200 word code review document. Normally, these documents follow this form: "File X, Line 128, variable strFoo should be named foo, we don't use Hungarian Notation." For even large projects, they don't tend to get that long, just because they're so terse. This, this was a 5 page essay. I couldn't even call out flaws by line numbers, just because the developer was so clearly incompetent. I've dealt with some bad code in my day, but this is just special.

There's a punchline. They started development using .NET 1.x, and then partway through switched to .NET 2.0. In .NET 1.x, there was no built in FTP functionality. If you wanted to do FTP, you needed to write your own class to do it, or steal some. Microsoft's developer documentation site, MSDN, had an MSFTP code sample, which demonstrated how one could implement their own FTP code. The developer copypasted this- despite the fact that .NET 2.0 had all the functions he needed- and included a class called "MSFTP" in his project.

He couldn't just use the class as it was, however. There were some quirks in our FTP server it didn't handle. And while he was at it, he added a "Dispose" method to handle cleanup, replacing Microsoft's use of the "Finalize" method. This is actually a good .NET technique for technical reasons that are irrelevant here, so he obviously read a book. He didn't read it closely enough, because his Dispose is actually implemented wrong, but that's neither here nor there.

In the comment above his "Dispose" method, he had the gall to include this:
'M$ should have implemented this. Man, this code is sloppy.

When I read that, I just started cracking up.

Until I saw how much my company paid for this. And then I started crying.

September 25th, 2009

Weekend Revolutionaries

Add to Memories Tell a Friend
Rippy the Razor Animated
The G20 protests haven't gotten too out of hand, but there's a lot of broken windows. Thus far, only 66 arrests and 6 injuries, nothing serious or life threatening from what I can get from the news.

But there was something else I caught on the news that gave me pause: some of these kids out on the streets are under the impression that they're fighting a revolution. They wear masks because the government could "vanish" them away into a prison. The various G-20 protest organizing sites use the terminology "revolution" and "images of revolt".

What an incredible degree of inflated self-importance. These kids show up for their "revolution" for a few days, throw some rocks, pretend that they've done something and taken a significant risk to life and liberty, and then go back to their lives. A few months later, some other protest-worthy event comes up, rinse and repeat.

They're revolutionaries like a guy driving a Prius is an environmentalist. As someone pointed out, Pittsburgh was home to the Homestead labor strikes. Steel workers wanted to unionize and it turned into a gun battle between them and the Pinkertons. Cannons were involved.

That puts a little pepper-gas in perspective, doesn't it?

With all that in mind, I would like to clarify a few things for our visitors:
  • Protesting is awesome. Seriously, enjoy the fact that you live in a country where this can happen. The Beijing G20 Summit in 2005 didn't see these kinds of protests- and we all know why.
  • Permits are awesome too. Chants of "Who's streets? Our streets!" resonate on a deeply emotional level, but the reality is large clusters of people pose a safety risk. So when the police attempt to disperse the crowd, they're not doing it to silence anyone, they're doing it because they are concerned about property damage, injury, and the ability of emergency vehicles to get through. Also, people actually live and work on those streets, and they have just as much right to use them as a protest does. There is no conspiracy to silence you, and requiring permits for large gatherings is not an unreasonable requirement.
  • There is no revolution. Don't kid yourself. If there were a revolution, you wouldn't do this for the few days when G20 was in town, but every day. You wouldn't be facing down pepper-gas and rubber bullets. You'd be dealing with real bullets, made of metal, that would kill and maim you.
  • The idea that the protesters and the police are adversaries is a dangerous and wrong idea. Everyone is responsible for keeping an event like this safe. Only someone deficient in basic humanity would actively wish harm on the protesters or the police.
  • Property damage is not communication. It's shitheaded jackassery. If you want to achieve social change, you need people to build a consensus. Smashing windows isn't a good way to do that.


I could go on, but this covers the key points. As I said, dont be a jackass, and you'll go far.

Also, Pamela's was one of the places that got its windows smashed. That's just not cool man, not cool at all. Pamela's is a Pittsburgh institution and home of the best pancakes in America. Not. Cool.

June 6th, 2009

Minna and I haven't been too hot on buying a house. We're saving a big wad, and waiting for the right thing to come along. We're not going to stress about it, we're not going to angst over it. Our apartment is nice, cheap, and enough for anything we need.

In short, we're a Realtor's worst nightmare. They can't leverage us. "I've got another offer in, so you need to act quick!" No, no I don't. If I don't get this place, there'll be something else. Each place I've looked at is nicer than the last, and at a better price.

We looked at a place today, and we were feeling pretty good about it. We tagged along on someone else's showing, so we didn't meet the selling agent. In order to save a few bucks, Minna and I are willing to brave the process without a buyer's agent, if the seller's agent is willing to cut their commission from 6% down to 4-5%.

I thought this was pretty reasonable, and I've talked to some Realtors that were fine with such arrangements. This Realtor, on the other hand, gave me shit over it. "Oh, I'm way too busy to handle both sides of the transaction for a mere 4-5%."

Yeah, because we've eaten up so much of your day by getting you to show the house (oh, right, we didn't!). And, like a regular buyer's agent, we've dragged you to a million houses while looking for something we like (oh, right, we didn't!).

If we brought in our own buyer's agent, she'd get 3%. I'm offering her 1-2% on top of that all for the glorious chore of signing some papers. It just makes no sense to me- I'm offering you more money for doing pretty much nothing. It just boggles my mind. Even worse, she was such a raging bitch about it, that I don't even want her to get even the 3%- I don't want to do business with her. It's not that she was rude, or really lost her shit, she just started ranting at me well past the point where I was ready to drop the subject. I'm trying to cut you a deal, I'm trying to work out something were everybody wins. It's fine to say "No thanks," but she ranted at me about it well past the point where I cared anymore, and was just trying to end the phone call politely.

It's sad, because it was a nice place, but the condo fee was too steep anyway- $200/mo is just more than we could afford on top of taxes and mortgage. She had an offer in anyway (she claimed, and I believe it), so she can just hope that goes through, because I'm not going to counter offer, and if I see she's the selling agent on another property I'm interested in, I'm going to avoid it. It'd have to be something really special to get me to deal with her.

There's a reason Levitt equates NAR with the KKK (Freakonomics is an excellent read, by the way).

May 4th, 2009

Antivaccination Deaths

Add to Memories Tell a Friend
abort!
An infant died of whooping cough in Australia recently. She was too young to be immunized, but if the adults she came in contact with had been, she would have benefited from herd immunity, and would still be alive.

Out of curiosity, I ran some numbers on vaccinations.

Let's be very generous. Let's posit that this utterly unsubstantiated and implausible link between autism and vaccination exists.

What's the rate of incidence? There's 6 in 1,000 people that have some sort of autism spectrum disorder. 2 in 1,000 have true autism. We'll work with that number. Let's assume that every member of this 0.2% is properly diagnosed and the disease was caused by a vaccination.

I repeat: these assumptions are very generous. Even if vaccines did cause autism (they don't), we know that there are other causes as well. These are very generous assumptions to make.

Now, let's look an measles. In an vaccinated person in a developed country, 3 in 1,000 people die- 0.3% fatality rate. In underdeveloped nations, it's closer to 280 per thousand. In immunocompromised patients, like AIDS victims or cancer patients, it's in the same neighborhood- about 300 in 1,000.

And that's just measles. And that's just deaths- we're not counting complications like corneal scarring- yes, measles can blind you.

So, even if we grant the most generous possible claims made by the anti-vaxxers, their arguments don't stand up. Measles, alone, is a more credible threat than vaccine induced autism, even if every autism case was caused by a vaccine. Even if we take the absurd claims at face value, the argument doesn't hold up.

Oh, let's keep going. Whooping cough kills 600,000 people a year of the 10-90 million it infects. Why the big range? It occurs mostly in third world countries where it's hard to get good statistics. Let's pick in the middle- say, 60 million cases. That's a 1% fatality rate. Heck, even if we go out to 90 million, we're still looking at a 0.6% fatality rate- which is the same rate of autism spectrum disorder in the population.

Between measles and whooping cough, we're talking a 0.9% fatality rate. Wanna start adding diseases? Polio isn't extinct, you know.

Ignoring the non-existent autism link, there are real risks to vaccines. The CDC has some data, but it should be perfectly clear: vaccines are less dangerous than the disease they prevent.

February 5th, 2009

Mike Nelson, of MST3K and RiffTrax fame, is taking it upon himself to eat nothing but bacon for a month. Rifftrax does live webcasts every couple of weeks, and I'm curious to see the horrors wrought on him by the second week of this experiment- if he keeps up with it that long.

You folks know me. I love bacon. But even I could not eat nothing but bacon for a month. Bacon with a side of raw broccoli, Mountain Dew and the occasional slice of pizza... well, not since college.

January 16th, 2009

The puzzle I posted about yesterday is fixed.

The immediate cause, that has resolved the issue, turned out to be some bad data in the tables that generate the dynamic SQL. A few rows were lurking that had NULL values, and that meant when they got appended to the other values necessary to make the SQL code. When SQL server appends NULLs to other strings the result is always NULL.

Now, I knew this, and I also designed my code with the expectation that there might be some queries with nothing but dates in the WHERE clause. So I threw in a COALESCE() call that says, "if the WHERE clause is blank, replace it with '1=1'". It's just a placeholder, because there's also some logic that appends "AND period_year=2008...". To keep the "AND" syntactically correct, I just wanted to throw in some condition that would always evaluate to true.

So, the intended behavior was that, if there was no WHERE clause, it would generate the following: "WHERE 1=1 AND period_year = 2008...". There was only one problem: I appended the "AND period_year" bit before I coalesced to 1=1.

Follow with me:
@whereClause is NULL.
I append "AND period_year" to @whereClause, and the result is NULL.
I then COALESCE to convert the NULL to "1=1".
I then send a query over to the remote system with the following WHERE clause: "WHERE 1=1".

And the query never completes. That was the immediate problem, and it's fixed now, but it raises a few other questions:
1) Why did the query complete when run on its own?
2) When this query was #11 in the sequence, why did the output hang at query #6?

My best guess answer to question #2 is that SQL Server's output was lying. It just didn't flush the output buffer and so it told me I was on query #6, but really it was busy hanging on query #11. Which is interesting behavior, and only reinforces how damn difficult it is to debug TSQL.

The moral of the story, of course, is that dynamic SQL is bad. I hate it, and I hate having to do it. This whole application is one of my least favorite projects, and sadly, there's really no way to avoid getting stuck with dynamic SQL given the objectives, unless I wanted to write it in .NET. Oh, that's right, I did want to write it in .NET or SSIS, but the user demanded that each query be implemented via a stored procedure.

Since SQL Server doesn't let you specify the linked server name via a variable, there is absolutely no way to do this without resorting to dynamic SQL. It's awful. Awful. I know people find Oracle frustrating to administer, but when it comes to programming in PL/SQL, I know that I'm not going to bump into arbitrary seeming restrictions, like "functions can't modify temp tables, even if the temp table is a locally created table variable, because we just don't like letting functions modify data, even if the only way to get data back from dynamic sql in Sql Server is to have it insert its results into a temporary table".

Ugh. Lesson learned: next time a customer specifies a technical preference for implementation details, I politely tell them to go fuck themselves and do it my way.

October 11th, 2008

Fark teaches you how NOT to code your website.

Someone is making it a habit to pass parameters on the URL. This allows users to edit those parameters. That allows users to pair up items and pictures in amusing and off-color ways. I only wish Wal*Mart didn't have such a family friendly line of products.

It's a game anyone can play! Just find two products and switch the assetID and imageID parts of the URL.

September 17th, 2008

Fark vs. the World

Add to Memories Tell a Friend
Terrorist
Sometimes, you spot something really interesting in a forum. In this case, the discussion was about how John McCain was blasting Obama's record, and claiming that Obama had taken huge sums of money from Fannie Mae/Freddie Mac lobbyists.

Read more... )

Someone forgot that donations are a matter of public record. John McCain has accepted ten times the amount of money from big banking lobbyists. I expect politicians to lie to me, but I also expect them to be passably competent at it.

July 9th, 2008

Troy police, under a search warrant, broke into a home to search for drugs and weapons. They shot the locks off the door, chucked in a flashbang, and went to town.

There's only one problem: their informant gave them bad info. Based on nothing more than that tip, they got a search warrant and trashed someone's home. According to the police, "All the checks and double-checks were done," but one would think that if they were really following up on that tip with investigative techniques to build a case to justify their no-knock raid, someone would have noticed that their suspect was entirely innocent.

It's okay though, the Troy PD is real remorseful, and will do whatever it takes to set things right.
Anya: "Will you be going back to clean-up the damage to the house?"

Sgt. Dean: "We just have to enter lawfully with our search warrant, that is our only obligation."

Anya: "And you can leave it in any state that you left it?"

Sgt. Dean: "Yes. We had probable cause that led us to believe there was drug activity."
No-knock raids are bad. They endanger civilians. They endanger the police. They're an action movie solution to the problem. So when Bruce Willis and Mel Gibson team up with Samuel L. Jackson and Danny Glover to take down drug dealers, you can use them. Until then, they seem to be an unreasonable danger.

June 15th, 2008

Take the work out...

Add to Memories Tell a Friend
Retarded
This morning, I realized I hadn't posted any horrible videos that are short samples of pure torture in awhile. Time to rectify that:

(in other news "idiots" has ascended of one of my top 5 tags used on posts)

June 10th, 2008

The Joys of Offshore

Add to Memories Tell a Friend
johnny cash
I designed an application recently. It's a really simple application, as such things go: Read a record from a database, send the record to the mainframe, and flip a flag on the record to mark it done. Tack on a little logging and error handling, and you've got a very basic project. So basic, in fact, that my boss decides that it's a waste of my time. I'll put the design together and we'll ship it to an offshore contractor.

Now, I've seen the way offshore fucks up projects. So I sit down, and try and figure out how best to prevent this sort of blow up. My solution? I write the program myself, mostly. I supplied design diagrams, documentation, and about 40% of the code, already implemented so that it matches the design. There are a bunch of blanks in the code marked with "TODO: Open the connection to the database and fetch the next record. Map the column values according to the tech spec, a la: 'rec.sMfgCode = dbrecord("sMfgCode")'*".

Now, it's entirely possible that the developer might screw up filling in those blanks. Mind you, this stuff is (theoretically) basic knowledge for a contractor, but hey- it could happen? But I was surprised by the scope of the offshore fuckup. The developer completely ignored the sample code I gave him. I did most of his job for him and he just pissed it down his leg and reimplemented the application. He ignored my design diagram, didn't create the classes I told him to, and generally fucked the entire thing up.

Also: no comments, bad coding practices, ignorance of key syntax elements, and a horrible horrible habit of doing lots of switching logic instead of using OOD and the config file to control app behavior.

I hate offshore.

*No, I didn't name the database columns. They really used Hungarian Notation. I hate Hungarian Notation

June 4th, 2008

Why I hate Troofers

Add to Memories Tell a Friend
spider
We all hate 9/11 "Truthers". Their conspiracy theory illogic and furious ranting is insulting, annoying, and generally devoid of anything resembling value. But this post isn't really about them.

It's about the US torture ships that we're just starting to find out about. Floating prisons involved in extraordinary rendition. The information this far is tentative, unconfirmed, but there's the glimmer of what may be a real conspiracy.

And this is what I hate about Troofers. They foam and froth and waste so much effort on idiocy, when there are very real conspiracies that are worthy of investigation. If their fervor could be tied to intellectual rigor, investigative journalism, and, y'know, reality, we might be able to, as a nation, really learn to control and monitor our public servants.

May 29th, 2008

Iron Lung

Add to Memories Tell a Friend
Podlek
There are still people living in iron lungs. How bizarre is that? I'm just stunned by how devastating polio really was. Armies of people kept alive in iron lungs because their body was too paralyzed to breathe.

It's actually very scary. We have this small legion of "vaccines cause autism" moonbats that ignore science, reality, and the human cost of not getting vaccinated. Polio was a horrifying disease and it's gone now. Think about that.

This polio clinic is your vaccine free future:

See how most of those iron lungs have four portholes on the side? You'll notice one in the bottom left of the image with only three portholes. That's the kiddie-sized iron lung.

May 23rd, 2008

Look, I've got issues with the death penalty to begin with. First off, you're giving the government control over who lives and dies. I'm not cool with that. It's not about ethics- it's about trust. I don't trust anyone with that kind of power.

So, of course, PA decides to consider making it easier to invoke the death penalty if the victim is elderly. The logic? Killing a minor under twelve is considered an "aggravating circumstance". Might as well extend that dubious privilege to the elderly.

PA: sane on gun laws, but not much else.

May 14th, 2008

Digitally Retarded Media

Add to Memories Tell a Friend
IOCCC Original Winner
I do mean "retarded" in the actual sense of the word- slowed, hindered and restricted. Because that's what DRM does. It uses digital technologies to make media retarded.

Microsoft has promised that they'll "explore" some sort of content filtering to keep pirated content off the Zune. Never mind that this would be doomed to failure in even the most competent hands, Vista media center can't even decide which shows you're "allowed" to record or not.

Man, isn't that a kick in the pants. Which shows you're allowed to record. Remember when you could put a tape in your VCR and record any show you wanted? Isn't it a little weird when the more than 30 year old technology is more useful and feature-rich than the new technology?

Digitally Retarded Media sucks.

May 13th, 2008

Drugs may be bad for you, but the "War" on drugs is worse for you.

This story, in particular is tragic. The summary: college hippie sells pot and ecstasy to friends. Gets busted. The cops offer a deal: be an informant, and we'll go easy on you. Girl falls for it. They wire her up and send her to buy way more drugs than ever before, a gun, and other such out-of-character behaviors.

A few days later, the police find her body.

Reason's blog often runs stories about the "isolated incidents" wherein "drug warrior" thugs break into homes with "no knock warrants", harass, abuse, and sometimes kill the residents, then realize that it was the wrong house. Sadly, Reason can't be arsed to tag their entries, so I can't link to the library of "isolated" incidents that they've collected.

May 12th, 2008

Well, this explains alot...

Add to Memories Tell a Friend
tesla
Worst of all from this point of view are those more uncivilized forms of eating, like licking an ice cream cone--a catlike activity that has been made acceptable in informal America but that still offends those who know eating in public is offensive. ... Eating on the street--even when undertaken, say, because one is between appointments and has no other time to eat--displays [a] lack of self-control: It beckons enslavement to the belly. ... Lacking utensils for cutting and lifting to mouth, he will often be seen using his teeth for tearing off chewable portions, just like any animal. ... This doglike feeding, if one must engage in it, ought to be kept from public view, where, even if we feel no shame, others are compelled to witness our shameful behavior.
What maniac said this, you ask? Why, George W. Bush's adviser on bioethics. This same man ranted against test tube babies and organ transplants.

Classy, classy guy. Read more about "The Stupidity of Dignity"

May 7th, 2008

(no subject)

Add to Memories Tell a Friend
IOCCC Original Winner
Ms. Venkatesan lectured in freshman composition, intended to introduce undergraduates to the rigors of expository argument. "My students were very bully-ish, very aggressive, and very disrespectful," she told Tyler Brace of the Dartmouth Review. "They'd argue with your ideas." This caused "subversiveness," a principle English professors usually favor.
This is pretty much a comedy goldmine of idiocy.

There's a general irony of people who argue against reason- and let's be honest, that's what she was doing. "Science" is nothing more than the primary tool of reason. To argue against reason, you must use reason, thus invalidating your argument. You could try and use nonsense to argue against reason, but that's... well, nonsense.

This professor seemed to excel at using nonsense.
CCTV cameras remain a waste of money for stopping crime on the streets.

May 2nd, 2008

Watch as this Detroit Councilwoman gets owned by an eighth grade girl.

April 4th, 2008

You're kidding, right?

Add to Memories Tell a Friend
4 Star Logo
The big local news story today? Did kindergartners expose themselves to a classmate?

As someone who was once a kindergartner, I'm going to go out on a limb: yes, they probably did. They're six years old, for chrissakes. What the hell do they know? But, oh god- this is headline news! The police are investigating.

Hi, I'd like to welcome you to reality. Over here, children are curious and don't know all of our social mores. Since their nerves function largely the way ours do, they at least understand that touching certain parts of their bodies feels good. They're probably vaguely aware of the taboo, But they don't understand it. Why not? Because they're children! Are there no child psychologists anywhere in that school district? Nobody to explain that this is pretty normal behavior for very young children?

*facepalm*

Public schools, we give your children psychological issues that will plague them for decades so you don't have to.

March 28th, 2008

Local news...

Add to Memories Tell a Friend
IOCCC Original Winner
This is local news- a Seahawks fan spit in a Steelers fan's burger.

March 21st, 2008

Boycott the Boycott

Add to Memories Tell a Friend
Retarded
I'm not the only one that thinks this boycott is bullshit. As you can gather from this post, I'm taking active steps to not participate, as opposed to the boycotting retards, who aren't doing anything.

Previously, I discussed how the outrage is much ado about nothing. Today, on the day of the boycott, I want to tackle the idiocy of the boycott itself.

First, you visiting LJ costs them money. A little bit, every time. Bandwidth mostly, maybe a little storage and a little processor time. If you have a paid account, you've already given them money. If you have a Basic account, you aren't, haven't, and probably won't, be giving them money. So they would probably rather you NOT visit LJ. If you have a plus account- do you realize how little money there is in ad revenue these days? You'd need the vast majority of the LJ Plus community to bail, and that just isn't going to happen. Most rational and reasoned people don't see anything to be upset about at the moment.

Second, are you really so deluded to think that your content matters? The blatherings you put it your own journal are so important that someone might care if you go missing for a day? I doubt it. In fact, for some of the people I read that are boycotting I know nobody will miss you for the day.

Third, boycotts don't work. Let's example the textbook boycott: Montgomery, Alabama, when Ms. Rosa Parks refused to move back in the buss. The boycott alone didn't accomplish anything. They marched, they canvassed, they distributed pamphlets, they brought cases to court. They did stuff. They sacrificed. By boycotting the busses, they gave up their main mode of transportation; they had to find carpools, use cabs (black drivers charged the same fare as the bus in solidarity) and some walked over 20 miles!

Let's ignore the difference of meaning between that boycott and the LJ boycott, and focus on the specific actions. What you'll notice about the successful boycott in Alabama is that people had to do things. They worked, they proved their commitment. The buses were running anyway, so the boycott cost the company money. This LJ boycott is just another example of "slacktivism". Proving your commitment to a cause by not doing anything is not really an effective negotiating strategy. In fact, it makes you look like an immature twit.

Fourth, LJ has already made it quite clear that they won't respond to belligerence. Even the impotent belligerence of this "boycott". Because they don't want to reward negative behavior with attention. And I agree with them wholeheartedly. Unlike the Montgomery, Alabama boycott, you are holding nothing over them. They don't need you, they don't need your content. Nobody with any clout in the outside world will see your complaints as valid or meaningful. Instead, you serve to reinforce the idea that LJ is populated with a pile of snotty drama queens.

Fifth, boycotts don't work. I know I said this, but I want to drive it home. You're what- not posting for a day? The implication there is that you will be posting tomorrow, probably to discuss how great you feel about the symbolic and useless act of boycotting. So why the hell should management care? Hell, if anything, you're drawing more news about their site, and that probably translates into more signups. If you want to get management's attention, leave. In droves. Don't boycott for one day- leave!

Oh, might that carry some cost? The risk of losing old posts? Old friends? Breaking up communities? Could it- actually cost you something? Heaven forfend!

Sixth, c'mon! One day? One frickin' day? You can't go a whole week without scanning your friends page, or reading the comments someone left to your most recent blathering?

Honestly, the whole thing disgusts me. I hate seeing these sorts of fake-movements; the crowing and backpatting and pride in made-up accomplishments. You aren't accomplishing anything but making yourself look like an idiot. The motivation for the boycott is baseless, your strategy is ineffectual, immature, and ill-conceived. You look like a bunch of whiny crybabies.

Finally, LJ itself is open source. This means anyone with a little technical knowledge can install in anywhere. It uses OpenID, so you could conceivably recognize existing LJ accounts on your own server. Hosting fees will probably start at around the cost of 3-4 paid accounts per year, depending on how many folks you entice into your server. With the magic of RSS and other Web 2.0 technologies, you can bring content from LJ to your site, and vice versa. If you're committed to offering Basic accounts and getting away from intolerant management: GO! Heck, if you integrate well, I'll probably sign up myself.

March 20th, 2008

Expelled!

Add to Memories Tell a Friend
IOCCC Original Winner
What happens when a prominent anti-creationist blogger tries to see Ben Stein's drivel?

He's not allowed on the property. But his guest gets in just fine. Read the link to see who the guest was.

In either case, you'd think, if the film contained actual facts or defensible positions, you'd want no show it to as many people as possible. That's just me, though.

March 19th, 2008

What the hell, people? There's sixteen kinds of idiocy floating around my friends page, and it starts here. I haven't been following the Basic account drama, but seeing stuff floating around my friends page lead me to follow up on it.

The new owners of LJ no longer offer Basic accounts. You either have ads, or you pay money. There's no completely free ride anymore- unless you already have a Basic account. Wow, that sounds kinda reasonable really. I mean, Basic accounts don't make LJ any money unless the Basic users are enticed into subscribing or paying for add-ons. And many don't. So, after reviewing the business model of their new purchase, the new owners of LJ decide to stop allowing new Basic accounts. That's pretty reasonable, actually.

In fact, they're pretty nice about it- if you already have a Basic account, you get to keep it. No forced transition to a Plus or a paid account. They have no obligation to do that. They could just shove the entire Basic account legion into the Plus bracket, throw some ads up and make some money. They decided that would alienate their users.

So the people who have always gotten things for free continue to get things for free, but newbies have to pay or get hit with ads.

Seriously folks, this gets your panties in a knot? Grow up, get over it.

Oh, not everyone got in a twist about that. See, some pointy-hair gets interviewed, and, like me, thinks this boycott thing is a pile of stupid. And he has the temerity to say so out loud.

Heaven forfend!

Let's look at the Q&A shall we? When I read through it, I don't see him being particularly offensive to the users. He seems to think the boycott is stupid (it is), he thinks people are upset over nothing (they are), and he's pissed that a pack of whiners who aren't even effected by this change are trying to force him into running his business how they want (who wouldn't be, in his position?).

I've taken the liberty of summing up the interview in my own words:
The harsh, 'Remy' version )

So, to sum up: all existing Basic accounts remain Basic, no new ones are allowed; only 10% of new signups are Basic, and most of them are for existing users; you can still have a free LJ, but you need to deal with ads; the big-boss of LJ thinks it's stupid and isn't afraid to say so.

Yeah, that's horrible. Seriously kids, this is idiotic. The Basic account change makes sense and doesn't affect existing users. The big-boss has every right to be short with idiot customers. The customer isn't always right, and the employees don't have to kiss their asses.

March 10th, 2008

Politicians DO go to Jail

Add to Memories Tell a Friend
Podlek
As a general rule, politicians are guilty of something, and probably belong in jail. It strikes me as a good idea, actually, to lock them away even while they serve their terms to protect the morals of upstanding citizens. Perhaps being under lock and key would remind them that they are but humble servants, and not power brokers.

Case in point? Twanda Carlisle, a Pittsburgh councilman got nailed for embezzling. She cried, she begged, she pleaded. Why should she have to go to jail for a crime? No pleading in the world could get her off though- she goes off to jail for embezzling $43K. Good job!

You know who isn't going to jail? Elliot Spitzer. Spitzer served as attorney general and campaigned for Governor on the basis of his "tough on crime" record. He took credit for closing down two large prostitution rings and spoke about them with the standard fire-and-brimstone disgust that we'd expect from an Establishment prude. Turns out, he was really just eliminating the competition. He is involved in his own prostitution ring.

Don't get me wrong, prostitution should be legal. But just like when high profile rabidly anti-homosexual ministers fall out of the closet, it's not about what they did. It's about the hypocrisy.

I look forward to watching Spitzer squirm.

October 17th, 2007

A Decision: Creationism

Add to Memories Tell a Friend
tesla
I have decided something. I have decided that nobody who claims to be a creationist really thinks they're right. The whole thing is an elaborate joke. A practical joke stretching across huge periods of time, drawn out so long that it's not really funny anymore.

Don't get suckered into it. Stop debating them. Just laugh politely and then ask, in an even tone, "Don't you think you've carried this quite far enough? It was funny the first few times I heard it, but it's starting to wear thin. I admire your ambition, but nobody can carry a joke this far- you've done well, but after a certain point, it just gets tasteless."

September 12th, 2007

Welcome to America

Add to Memories Tell a Friend
IOCCC Original Winner

Ain't it great?Dude in question is a cop... )

August 25th, 2007

Microsoft Shits the Bed

Add to Memories Tell a Friend
IOCCC Original Winner
Uh oh, the Windows Genuine servers- the little boxes that your install of Windows XP and Vista phone home to periodically? They're down.

What does that mean? If you own XP or Vista, your system marks itself as counterfeit and limits your access to certain features automatically.

You may want to look elsewhere for your next operating system.

August 18th, 2007

The Latest Fearmongering

Add to Memories Tell a Friend
Terrorist
As we all know, the Internet is evil. The bottom-up approach, the easy access, the quick transfer of information and ideas from place to place- it's unamerican. It supports terrorism!

I'm not going to get tinfoil here. I do not believe that there is an organized conspiracy that seeks to undermine the core working principles of the Internet and turn us into China. I do think, however, that the Old Guard power-brokers are concerned over the force it represents, and their confusion and fear leads to things like this.

Our brains haven't caught up with our powers of communication. In the environment in which our brains evolved, communication was entirely word-of-mouth. There were no recorded images of events. The only way to see a lion eating a villager was if a lion was actually eating one of your friends. Survival demands a response. Threats are immediate.

In a word-of-mouth society, if you know about a threat, it is probably immediate enough to require action. We spent most of our evolutionary history developing according to that premise. Writing is only about 5,000 years old. TV less than a century, and the Internet a bit more than a decade out of infancy.

When we watched the World Trade Center collapse in 2001, it had an incredible immediacy. The emotional content thwarted the most stoic of minds, and the scale boggled us. The threat seemed very, very immediate. Our brains have a very hard time dealing with the fact that it is extremely improbable, and will probably not be repeated on any useful time scale. Even if it were, it almost certainly wouldn't involve you or anyone you know.

But your brain actively tries to override it. You saw it happen. It doesn't matter that it was piped into your living room from hundreds or thousands of miles away. You saw it. That means it happened within the range of your vision, and that means it's a real, credible threat that needs an immediate response!

The same is true of so-called "Internet Predators". There is a minority of people trolling the Internet for under-age kids to have sex with. The odds of your minor encountering one are vanishingly small. But we see them on TV, in the newspaper- even through Internet news outlets, and our brains immediately react. This is a threat, and it is within our sensory range, that means DO SOMETHING NOW.

Now, no one ever died by overestimating the risks. But one has to wonder what kind of society we are going to develop by being enslaved to our instincts.
Powered by LiveJournal.com