2 Posts Tagged 'MS-Access' RSS

A rant about rants

I was just working on an Access DB, and I noticed that it's now somehow 415 MB. Want to know the funny part? There's no data in it. Not a SINGLE ROW. Just two EMPTY TABLES. HOW?! Someone was paying me to do this as a side-project, and I'm going to have to tell them tomorrow that I've completely and utterly failed. I simply cannot get Access to work. There are two possibilities as to why: either Access 2007 is a piece of garbage, or I'm an idiot, and I don't think I'm an idiot in this particular case.

Having gotten that out of the way: if you read through a few posts in this blog, you'll probably quickly come to realize that my blog is approximately 97% rants. In this case it's about something I truly hate (MS Access). Most of the time I'm really just being silly. I don't really hate Emacs or Python or most of the other targets of my ramblings. They're well-developed, useful, successful open source projects.

I have to hope and pray that most other people feel the same way. Even people who participate in the infamous Vim vs. Emacs wars or the Linux distro wars or the Ruby vs. Python vs. Perl wars or whatever, even those people I think would admit that deep down, they don't really hate the opposition. I really hope that's true. (Except in IE vs. Firefox/Opera/anything else wars, in which case yes, IE deserves to burn in web browser hell for all eternity.)

Why the rants then? For me, it's because I have a love-hate relationship with computers. I think that anyone who spends a lot of time dealing with them eventually will end up feeling the same way too.

Imagine a carpenter who is forced to use a hammer that on 19 swings out of 20, misses whatever he's aiming at. Or the head flies off and hits him in the face. That's the process we go through as programmers every day.

We put spend hours and hours training ourselves to be good programmers, bending our minds in all kinds of pretzels, learning the minute esoteric details of exactly how to write and format code in some programming language so that not a single character is out of place. Then we put forth all kinds of thought and effort and creative energy to produce something useful and powerful and maybe even a little bit artistic. And then we try to run our shiny new program, and we're treated to a screenful of "WRONNNNNNGG! SYNTAX ERROR!!!!!! UNDECLARED VARIABLE!!!!!! CORE DUMP!!!!! UNHANDLED EXCEPTION!!!!" Over and over and over, eight hours per day (at work; more at home at night if I'm in the mood).

Some people can deal with that, and some people can't. I've seen non-programmers try to do something as simple as write a web page in HTML. I'm not surprised at how quickly the task reduces most people to foaming-at-the-mouth, frothing, psychotic rage.

I've long believed that it takes a special kind of personality disorder to be a programmer. It takes an obsessively over-active attention span and a willingness to subject yourself to a very mild yet unrelenting form of mental torture. It's not that programming gets any less frustrating. It's that we learn to accept and even welcome the pain of it. Most good programmers I've met are a cynical, sarcastic, somehow cheerfully pessimistic bunch.

So at some point after the seventh or eighth hour in a row of non-stop code-writing, it's no longer about solving a problem or having fun. It's about revenge. Anger and hatred take over as motivation. The problem is simply going to be solved, even if I have to rip the computer apart with my bare hands and divine the answer on its entrails. Picture Office Space, a couple of geeky guys going out into the field with baseball bats and letting the printer have it. Everyone who's written substantial amounts of code knows exactly what that's like.

Yet at the end of the process, having experienced failure after failure after failure, eventually there will come a point where you hit Enter, and against all expectations, completely by surprise, your program works. Glorious streams of correct output flash across the screen. Is that moment worth all the anguish to get there? It must be, because I keep doing it.

I think in the end I do love programming. I'm lucky to have a job where I can do it every day. At the same time, if you ever come into my office and I'm curled up under my desk in a fetal position, laughing maniacally, try to look the other way.

December 17, 2007 @ 3:51 AM PST
Cateogory: Rants

: (

I'm working on an Access database for work using Office 2007. This is probably the most painful thing I've had to do in a long, long time. Oh the things we do for money.

Do you want to know how to get Access to crash? Step 1: Add a label to a form. Step 2: Delete it. Step 3: Try to undo. Crash.

Here's another way. Step 1: Add a bunch of text fields. Step 2: Highlight them all. Step 3: Click this big "Control Padding" button. Step 4: Watch the applicaiton hang, then put it out of its misery.

Did you know in Vista when you crash an app, the "fatal error" popup dialog box gives you a helpful option to restart the app? See, Microsoft anticipated the problem of instability, and gave us a fix. What more could you want?

I added a bunch of fields to an Access form, and they all auto-appeared stacked directly on top of each other. I tried to auto-size some text fields via some cryptically named "To Fit" button, and it made them all 1000 pixels wide, with 1000 pixel wide labels beside them. I think they're trying to boost computer monitor sales.

I accidentally added too many columns while designing a table (there's a limit to how many columns can appear in a table, and it's not hard to hit). So Access wouldn't let me save the table. It started complaining about there being too many indexes on the table. Then it just complained about there being too many columns. I started deleting columns. It still wouldn't let me save because it thought some of the columns I deleted were still there. I deleted almost all the columns but it still wouldn't let me save it. I had to delete the whole table and start over.

There's this thing on the left that's supposed to list your tables and forms and queries. It took me 15 minutes to figure out how to get it to show all three of those things at once. The menu that lets you pick what to display is like some kind of sadistic logic puzzle with no answer. Picking one option suddenly makes a bunch of other options disappear or rearrange themselves. Some things in popup menus look exactly like options but are unclickable.

Really it's like every single minute part of the Access GUI was specially designed to behave differently than every other part. It's like they didn't have a widget toolset to pick from so everyone made up their own widgets. I honestly couldn't make something this hard to use if I tried. But Microsoft has billions of dollars of resources to throw at the problem I guess.

Buttons on the magic ribbon are sized according to how important they are, I guess:

The huge labeled "Logo" button on the left adds a pretty decorative icon to the top left corner of the form. The microscopic button last thing on the right lets you view and edit source code for the form.

I just noticed that my "Form Footer" actually appears ABOVE my form right now. ...I'm speechless. (I'm actually not speechless. I'm sitting here cackling madly, on the brink of losing my wits.)

Make it stop hurting. Why won't it stop hurting?

November 25, 2007 @ 7:05 PM PST
Cateogory: Rants