Friday, November 27, 2009

Specification

Today I was in a meeting with... oh wait, they might be reading this someday.

Start again. Uhhh... yesterday, a good friend of mine, who just happens to look like me, and who, purely by coincidence, possesses lots of characteristics not dissimilar to the ones possessed by yours truly, might I mention, for example, modesty, charisma and almost a superhuman quality in the highly esteemed general area of... oh wait, I digress. (Heh heh. The suckers won't be able to prove anything now with this legalese in place.)

Anyway. The friend, who works in an unnamed company, that is not actually in the software business, but whose business revolves around a huge, custom-built software application, was in a meeting with the business people. Now, this company, as unnamed as it is, is still learning a thing or two about software development, so they're not actually "mature" as defined by the CMMI model. In fact, they might still be on the scarcely mentioned "using Etch-A-Sketch for a laptop & occasional cannibalism at status meetings" level. In this company, the functional specification for the custom software is not written by professional functional specification writers. Instead it's written by the business people. People who aren't trained to write specifications.

So, anyway, some coder was in a meeting with some business people who write the specs. He asked the business people a question about the software, about how a certain detail should be implemented and if they could provide a document listing all the ways how a certain set of properties should be determined in any given situation. It was a quite a complicated piece of functionality, and the business guy who answered did it by saying "well, I don't know how it should go".

Now, let's pause for a second. Then let's think of the ramifications of that answer. We're implementing software. We're doing it because we need to have a part of the business logic of the company automated, to be handled by computers and software. We need to have it automated mostly because it is not feasible anymore to have certain things, like calculating lots and lots of data, done by humans. Otherwise the company could not exist in the present day competition in the specific business segment. So, what do we actually make the software do? These days, software can do amazing things. Things you wouldn't have dreamed about just 10 years ago. Just take a look at some of the products provided, free, by Google. What do we implement with all the cool technology we have now?

We implement the things the business experts tell us to do. They give us the specifications and then we implement them. Then, the testers verify that the software functions as specified. Then the, users learn to use the functionality by reading the manual, which is derived from the spec. Then, they actually start to use the system in the production environment.

Now, what happens, if the spec isn't there, or isn't detailed enough, or isn't written down in a clear format? What happens is that there is a vague assumption, or in fact, a huge number of vague assumptions, floating around the project about whatever the project is supposed to implement. The coders will interpret it each in their own individual way, the testers will interpret everything individually as well and the users will complain a lot, mess up whatever it is possible to mess up in the application and even stop using the application and continue to rub two pieces of wood together in order to light a fire, metaphorically speaking, if they can.

If there isn't a detailed spec, the coder can write just about anything and it will all be equally good or bad. If the spec says "build a messaging system", the system could spit random insults to the user and the app would still be perfect according to the requirements.

If the spec isn't there, the testers will make a lot of assumptions of how the app should work, and issue bugs of anything they don't like. A lot of arguing will ensue about whether or not the functionality is correct. A huge number of man/woman hours will be wasted.

If the spec isn't there, how will you construct a building? "Well, I suppose it's gotta have some floors? 3 or 20? Anybody couldn't want more than 45. And some windows, you gotta have those. And a radiator to keep it warm, or should we have two? Never mind, we'll make it up as we go." I tell you, software is a lot more complex than a building. And yet, software is being built without decent planning.

Now, let's get back to the innocent "I don't know" uttered by the guy who should know. In my perspective, he's the guy who should know. Everything. And if he actually doesn't know something, he should find it out. And if this isn't possible, he should still write the spec, with the best assumption, and possibly with a comment saying that there is some uncertainty involving the subject and detailing everything that is known about it at the moment. Yeah, I'm a Nazi. But it's cute when I do it! And we can change it later, when we know more about it. But it's still vital to document everything about the known, and unknown issues.

In a software project involving about 3 people or more, you've got to have a decent spec. If the spec is not written & pictured, everyone involved will picture their own mental model. You picture a balloon, that guy sees a pyramid, that jerk over there is imagining a train speeding into a tunnel, I see a monkey with five asses. The results won't be pretty if the goal is not synchronized, and everything would be a lot cheaper & faster if you knew what you're trying to build from the beginning. I tell you, the spec is just as important as the code.

Friday, September 18, 2009

Random writing

Hey, even though I've been kind of a silent lately, I can still write! Just look at this, these are clearly words, arent't they? And you're entertained, aren't you? You must admit that you just clicked the bookmark, thinking along the lines of "oh, the old bastard hasn't published in 4 months, he's not gonna do it now, might as well erase the bookmark, what am I doing anyway, might as well do something useful with my life", didn't you?

And then you were exhilarated that there actually was a new post after an incohembresingly... indchoret.. wtf... incomb... (damn, am I that drunk already?) incomprehensibly long period of dryness. Well, honestly, I'm sorry that I ever caused your life to be miserable, and I'll try to make it up by writing something even though I haven't much to say. Hopefully, my superior writing skills will make it all up.

So, in lieu of an actual subject, I'd thought I'd just click on a random Wikipedia article, and then write about what comes up. Let's see what happens.

1) Self-averaging

Ahem. Physics. Anyway, I'll have to make the link open in a new window first, then I can concentrate on the writing. This was, like, a test.

2) Maratha light infantry

Erm. You ever wonder about the word "infantry"? You know, infant == child, so what the hell is an infantry? A childry? Otherwise, thinking about an Indian army makes me think of Indiana Jones and eating of monkey brains.

3) Raunds Co-operative Society

They tell me that "The society operated a large supermarket and a department store in Raunds, and as of 2007 held 350 acres (1.4 km2) of farmland at Northdale Farm, farming wheat and oilseed rape. [2] It had 4,297 members in 2003.[3] It was a subscriber to the Co-operative Party and a customer member (shareholder) of the Co-operative Wholesale Society."

Well, that's just neat, you're co-operating and stuff. Oh boy, I didn't know the wikipedia is this boring. Next, please!

4) Les Riggs

Oh, who? A footballer? Spare me. I wonder if there's anything more boring than ancient sports statistics. Have you noticed that whenever you google up a person's name, most of the search results are local sports statistics? And in any sports event, there are always enough people participating to ensure that the first & last name combination you are searching for is included. Google should have an option for filtering out sports results.

5) The Defuser

A fictional character portrayed in a reality show? What?

Ok, I'm going to have to skip some entries, these are just impossible. I'll rule out actual persons that I've never heard of. And then some. The Wikipedia is just too large.

6) Beppi's restaurant

Good for you, Beppi. You got yourself a restaurant. Even though the location is somewhat unfortunate. I hear that in a couple of decades, it will be unbearably warm over there, so you'll have to move.

7) Advanced Pico Beena

Wow. A computer for Japanese kids. Hopefully it's better than the Rölli "laptop" for kids we have in Finland. Which is a product I just can't understand for two reasons:
1) Rölli is a troll living in in the forest. What's he got to do with computers? If he'd find one he'd probably try to eat it, or throw it in the lake.
2) The computer has got a screen of about the size of a stamp, wrapped in a mound of plastic of about the size of a real laptop. The functionality is worse than of a 90's cell phone. Who's buying these things? Oh yeah, the elderly, the grandparents. I know that they mean well, but it's us, the parents who have to go throw these environmental hazards in the lake. I don't enjoy it any more than you do, except when I hit an endangered sea bird square in the forehead, but what can I do. Can't let the offspring get used to an inferior UI. Might be detrimental to their career later.

8) Mothers against decantaplegic homolog 4

Apparently, scientists have a sense of humour, or something resembling it:
"The phrase "Mothers against" was added since mothers often form organizations opposing various issues eg. Mothers Against Drunk Driving (MADD)."

And the pic is nice too.
9) Electricity and Gas Regulation Commission

It's probably the best for everyone that they have these commissions for regulating whatnot. If they didn't, everyone would just go crazy, spending gas and electricity like silly. Actually, there was a situation like this in our household lately. I was going to use common funds to purchase an Xbox. My finger was already on the right button on the mouse, the pointer of which was already on the "Submit" button of the online shop, but the commission overruled my decision to click in the last minute. Which is, probably, good for all of us, in the long run.

10) Knowie

Knowie is an area of some kind in Poland, apparently. I rode around Poland on a motorcycle in the 90's. On the trip I learned that the roads in Poland are uneven, and once I bought petrified bread from a shop that apparently sold edible commodities. I also learned that you've got to be careful when opening the radiator cap if the motor is still hot. Luckily no-one got hurt.

Saturday, July 18, 2009

Yet more things

Lately, I've come to love two things: the new thing that is there and the old thing that isn't there anymore.

I bought a new thing that I love, a bicycle. A good one. One that's made out of carbon fiber. I love it a lot. I'm very satisfied that it's sitting there in the corner.

Then I sold some things that I never used. Guitar effects, a synth, a motorcycle. Now, I feel relieved that they aren't there anymore, clogging up the cupboards and gathering dust under the bed. It felt like taking a big dump. I'd like to have the minimal amount of stuff I can survive with. But quality stuff.

Friday, July 17, 2009

People and things

One of the things I remember about school is a teacher asking the question "which do you prefer, things or people" some 20 years ago. Possibly, I remember the incident because I was embarrassed to find out that I was the only one in the class who preferred "things"over "people".

I remember that at the time I was disappointed in people. Or probably very much in the turmoils of the teen age. Anyway, at later ages, the only sane answer to the question seems to be "people".

Lately, I've come to the conclusion, that, yes, people are more important than things, but however, things are very important too. You've got to have things, be interested about them, do things, talk about them with people. Otherwise life is uninteresting. A bunch of philosophers floating around in space would seem an uninteresting way of life. The things and the people are intertwined, interacting pieces of an universe.

Friday, June 26, 2009

Nerd rants

So fed up with Windows. Vista.

I just obtained a new, supercool device, a Garmin sports watch. A heart rate monitor and a GPS device in one package. I love it already. Everything's worked perfectly so far, but now I'm trying to get it to transfer data to my laptop. It's not going as it's supposed to go. I've tried a couple of things, and I'm a bit fed up already. So I open up the control panel, and it looks like this:



Yeah, I'm nearly 35, so I'm blind. I have to have cat-size icons so I can tell which item is which. Even though I manually change the view to 'Details' every time I have to open this friggin' thing. I like the 'Details' view because most of the stuff fits in and I don't have to scroll and the things are shown in neat alphabetical order so I can quickly find the item I'm looking for. But no, Windows just refuses to remember my preference, and shows me these huge, colourful blobs instead.

I mean, they're neat and all, and yes, it's nice that graphic designers have got work to do, but does anybody really focus on the icon? This is the control panel, it's pretty technical stuff and I, for one, focus on the text below the image to find the thing I'm looking for. I mean, I'm a software engineer, and I don't know what the 'iSCSI Software Initiator' does. Why the hell is it on my laptop anyway? Who the hell knows the icon to it by heart? Who the hell thinks there ought to be an icon? Icons are good, when you want to distinguish Word documents from PDF documents in a folder. But, you don't make an operating system easy to use by designing icons for complex functionalities and then forcibly wrapping them around the faces of unwilling users.

I actually feel sorry for the poor graphic designer who had to design the icon for 'Internet settings'. It's got an Earth, not unlike a dozen of the icons in this view, and a, ooh I get it, a dialog box with some check boxes. Yeah. I wouldn't have guessed without the text underneath it though, that by clicking this picture, I actually get to set the Internet settings. Is there a way to hide the text? I can't find it. But if there was, things would really get interesting.

So please, Bill Gates, the next time, remember my preference. I want to see text. Just so I can find stuff. Like this:



And another thing. In Windows 2000 the 'find in files' functionality of file system search worked. In Vista it doesn't. How the hell can this be possible?

Just try it. If you dare. If you have Vista. It even sounds like some kind of a contagious disease. Yeccch. Like this:
1) create a text file in any folder, named 'test.txt', containing e.g. the word 'ville'
2) copy the file to the same folder with a different file extension, e.g. 'test.pkb'
3) search the folder for the string 'ville'.

I claim that you can't make Windows Vista to find the file 'test.pkb'. Not by using the advanced search options, not by indexing the file, no way. It just doesn't work. In Windows 2000 it worked fine, the search functionality could find strings from binary files, no problem.

And I'm not complaining just because nerds like to do that. I really need this function in my work. It's not a rare situation that I need to find out where a certain procedure is called from, and the only way to do that is to search the file system.

Yeah, I know there are options. There are programs that can search the file system better than Windows. I just find this a horrific flaw in the basic functionality of an operating system.

Oh. And BTW, when reproducing the test case I described earlier, I just found out that now the Vista file search finds the string 'ville' in every file in the test folder.

MUTINY!

(is Mac any better?)

Thursday, June 18, 2009

The times, the times

There are times you want to listen to Coldplay. There are times you want to listen to Dimmu Borgir.

There are times you want to buy an apartment. There are times you want to sell one. There are times you want to do both at about the same time.

Times when you buy a motorcycle, thinking that it's the coolest thing there is to do. Times when you sell the motorcycle. Thinking that it's not so important now, it's been 10 years there sitting in the barn, without nobody driving it. Better that somebody drives it, an enthusiast. I'd rather ride a bicycle now. Because I'm not going anywhere far away, and I like to burn spaghetti instead of gasoline.

Times when you play the bass, times when you play the guitar, times when you play with nothing except the FruityLoops software. Times when you think that being a musician is the only possible career option there is, times when you don't even think about music, except learning a song from the childrens' show that's on each morning. Times when you see how right you've been, and how wrong you've been. Times you realise that it's about the perspective.

There've been times when I've been very lonely. When I've craved attention, a lot. From about anybody. There've been times when I've craved for solitude. Oh boy, there's been a lot of those times lately. The balance might be tipping at about now. If you count only the time, not the intensity. And after some decades, when the offspring have left home, it might tip the other way again. Of course, there'll be about a decade of celebrating the new freedom, in the meantime. But I'm getting way ahead now.

There are times when you think that Mad Max II: The Road Warrior is the greatest movie there is. And then again, uhh. Well, it still is, isn't it? Ok, some things persevere. And that's good.

Perhaps, the thing that I wanted to say, is: it's not the times that change, as they keep on saying, it's you that changes. And by you, I mean myself. And you also. Clear?

Times when you want to write the blog, or whatever, times when it's not a question about what you want, instead of about what you have to do. Might be weeks or months, the times. Patience might be required. But if there's a hole, in the tight schedule of all the things that need to be taken care of, I will write a tiny post, while consuming a couple of doses of alcohol. I enjoy that a lot. I hope that reading all of this, to the end of the very last sentence, is not an insurmountable pain for you. You're not skipping paragraphs in hope of finding a punch line, aren't you?

There isn't one.

Friday, April 24, 2009

Vater-Maschine


"Watching John with the machine, it was suddenly so clear. The Terminator would never stop. It would never leave him, and it would never hurt him, never shout at him or get drunk and hit him or say it was too busy to spend time with him. It would always be there, and it would die to protect him." --Linda Hamilton, "Terminator 2"

I've been a father for nearly three years now. It's a very responsible position to be in, but also a very rewarding one. There is an untold number of books on the difficult subject of parenthood, some of which I've read. Ok, I'll be honest. I've skimmed through a couple, read a couple whole chapters of one or two and ignored a truckload.

Just like on any complex subject, there are a whole lot of tips for specific situations you can learn from books. However, the gist of it can, and should, be condensed to a set of simple rules that can be applied in complex every day situations, which sometimes change astonishingly fast. This is the set I'm trying to use:

1) Have discipline. I'm the boss and I define the rules (where I = myself and the wife). The kid has to know it and adapt to it.
2) Do what the terminator would do. Have infinite patience. Don't get embarrassed about anything. Whenever you have to, stand guard in the window through the night, while the family is sleeping, with a sawn-off shotgun on your shoulder.

I'm serious. Of all the guides on parenthood in the world, the movie Terminator 2: Judgment Day is perhaps the one that has touched me the most.

Friday, March 13, 2009

Random news

Good evening. This is George Truly and today's news, possibly even the weather, if there's time. Oh, there is? Oooookay. We'll make something up. And by the way, I planned to wear pants this time, but it just felt so, you know, unnatural. So no pants this time either. But on to today's news.

Writer's block

A noted blog writer, also known for his striking handsomeness, suffered from writer's block. So instead of a serious entry, he decided to do a "funny" "news" item, for the crapillionth time. Yawn.

Political strategy revealed


The Finnish prime minister has been under heavy pressure because his party suffered a defeat in the communal election lately. Also he's been heavily criticized by many for daring to suggest solutions to problems. Today he revealed the new strategy for his party in an interview: spinelessness and outright lying. "We'll promise anything the voters want. Anything! For instance, I usually promise either lower and higher taxation, depending on the situation. Then I'll just weasel out of it later, somehow", he was quoted saying.

Lex Nokia effective

The Finnish communications minister, supposedly an expert in matters related to information society, couldn't be reached for a comment about Lex Nokia last week. Today it was revealed that it was because she was a victim of an unfortunate series of accidents. First, her mobile phone dropped in the toilet. When she tried to rescue it, her palmtop fell in too. Then her hand got wedged in with the two appliances so that she was stuck in the toilet. She was stuck for several days and was only discovered incidentally by a cleaner because, for some reason, her expertise wasn't required by anybody for anything.

Economy plunge

The economy continued to plunge. Sadly, hardly any suit-wearing scamps calling themselves "investment bankers" were kicked in the nuts by the authority despite badly deserving it.

Nobel scandal

A well-known blog writer was harshly denied by the Nobel academy when he proposed a new Nobel Prize for achievements in besserwisserism. This was considered unjust by the famous writer, humbly willing to appear anonymous, because he knew everything.

The weather for investment bankers

Climate will continue to be pleasant in the comfort of your SUV for some time. However, the angry masses will soon rise from the horizon, tear you out of the disgusting, over-priced, polluting, paid-for-by-a-scam vehicle and hang you naked from a lamp post. Which, objectively, serves you right.

The weather for angry masses

The short-term weather forecast for angry masses shows lots of turmoil, tear gas and bricks flying around. Some truncheoning by the pigs is likely too. However, it will get calmer later, and by the way, the moral justice is on your side.

The weather for the upper lower middle class


The climate in your suburbian sauna will continue to be nicely warm and humid. The comforting glow of your flat screen TV, along with the depressives offered by your local will continue to sedate you just nicely so you don't have to worry about anything. However, beware of the political awareness rising from the horizon, which might turn you into angry masses.

Les music videos

Regarding the previous post: I kind of knew that it's stupid to link to YouTube videos, because they'll get deleted in time. And the time in which that happened this time was surprisingly short. I'd like my blog writings to have an ageless quality to them, and obviously non-working links seriously undermine that ambition. But I just couldn't resist the temptation. And I can't resist it now, either, so check out this video by the coolest guy that ever lived:

Saturday, January 31, 2009

Hair metal

It's a widely accepted fact that music achieved perfection in the early 80's, when hair metal was invented. I consider myself lucky because early 80's also happens to be the time when, at about the tender age of 10, I first became interested in music. It's also possible that early 80's hair metal is widely considered crap and I just happen to like it because incidentally I was surrounded by it at the time the aesthetic sense of an individual is carved in stone, which happens at the age of 10. Right?

Anyway, lately I've time travelled a lot by listening to my early favourites. It's been very interesting because some of them have, in a way, been buried in a time capsule for decades. I mean that there are artists that I listened to a lot when I was, say, 12, and then forgot about them for some 20 years. When I listen to them now it's all in the spine, buried somewhere but instantly recognizable. I just listened through the album "Theatre Of Pain" by Mötley Crüe for the first time in 20 years, and it just felt very familiar and comforting.

So, for your, and mine entertainment, here's the top 13 of the childhood favourites of Yours Truly, as seen some 20 years later. The entries are in no particular order.

1) Ozzy Osbourne: Ultimate Sin (1986)

Musically great, although I can't tell why. Ozzy just somehow manages to sound great even while sounding like shit. The 8o's style stuff in the video is just great. Ozzy's clearly been batshit insane for decades while managing to get on just fine, and therefore must be some kind of a Zen master. The glittery bee-coloured dressing gown is just hideous though. Also check out Lightning Strikes from the same album, which too is pure gold.

2) Anthrax: Among The Living (1987)

Although, scientifically speaking, not strictly hair metal, Anthrax do have a lot of hair and they play metal. And I love them. To me, they, in a way, opened a new leaf in music. Before listening to Anthrax, I'd had no idea that music can be so complex, interesting, scary, funny and extreme. And guys not wearing make-up was kind of refreshing after listening to tons of real hair metal (or tights metal is it called?). Compared to extreme metal of today, they now sound kind of sloppy and lightweight and somehow cute. That's progress for you. But I wouldn't exchange them for anything.

3) Mötley Crüe: Home Sweet Home (1987)

Surprisingly, in the last few weeks I've found that Mötley Crüe is musically great. They often seem to be publicly dismissed as crap that's somehow managed to sell 80 million records worldwide. I must say that I've thought that way also. But lately when I've returned to old Mötley records after a long Mötley-free period, I've been surprised of how great this stuff is. The songs are just incredibly catchy, the sounds and the not-too-skilled playing fit them perfectly and each member of the group is a perfect rock cartoon character. If I had a time machine, my first stop would be a 1987 Mötley Crüe gig.

4) Poison: Every Rose Has It's Thorn (1988)

Yuck. I listened to this? Without puking? Pathetic, pompous crap, although I must admit there's a certain catchiness to this.

5) Ratt: Round And Round (1984)

Oh no, it's getting worse. These guys have all the hair and pompousness of Poison but none of the songs. There doesn't seem to be a single Ratt song that I recognize even though I definitely remember listening to their cassettes a lot in a certain period. And Ratt is not a very glamorous name either. They could have named themselves Crapp to begin with.

6) Deep Purple: Perfect Strangers (1984)

Deep Purple shouldn't perhaps be considered hair metal because they've been around from the paleolithic age (do they still exist?). Anyway, I distinctly remember listening to the Perfect Strangers album a lot while reading a scifi book (I forget which one) in about '85. The combination made me feel very futuristic. And this song is still great as ever. The musicians don't look futuristic though, in fact they look like the dinosaurs they are.

7) Kiss: Tears Are Falling (1986)

Oh look, it's the great-grandfathers of hair rock, Kiss! Of course, in 1984, they'd already been around for 30 years or something, but to me this is the best Kiss period. I definitely remember seeing a music video for this song in the 80's, with neon-coloured long coats and all, but I couldn't find it now.

Now that I think of it, I remember sitting in a train, listening to the Asylum album on the headphones, wearing sunglasses, at about 12 years old. My grandmother was sitting at the seat behind me. I didn't want to sit beside her because it wouldn't have been cool, travelling with your grandmother. I wanted to be cool then. I feel ashamed now.

8) David Lee Roth: Yankee Rose (1986)

I still don't get the beginning of the video. Dave must have consumed more cocaine than all of Mötley Crüe combined. I vaguely remember being uneasy about all the sexual references in this video as a kid, but otherwise I thought it looked real cool, with all the glitter and such. But I suppose that shortly after this Dave began deteriorating, you know, getting bald, old and insane. No wonder, because he must have been at least 45 or something in this video. Also, I suppose that this must be of the most listenable stuff that Steve Vai ever did. Although I wouldn't know, because I don't listen to that kind of crap.

9) Judas Priest - Turbo Lover (1986)

I remember being confused about this. Now this was supposed to be a heavy metal group, but the music was clearly influenced by sissy music, which anything made with synthesizers was considered then (an example: Modern Talking: You're My Heart, You're My Soul). Anyway, after a couple of listens, I remember liking this. I like the Modern Talking song too, now, therefore I'm a sissy.

10) Iron Maiden: Stranger In A Strange Land (1986)

Oh, the kicks I got just staring at the Somewhere In Time LP cover. There was always a new small detail to be discovered. Very futuristic. Futurism suggests change. Iron Maiden, perhaps paradoxically, resists change. The stay the same, year in, year out. But they have a perfectly valid excuse for that: they know they've perfected music in the early 80's, therefore they keep churning out more of the same old same old, and touring, forever.

11) W.A.S.P.: Blind In Texas (1985)

In 1985, W.A.S.P. seemed so scary at first, that I wasn't sure if I could start liking them. I overcame my fear and did like them, but now this seems a bit crap. The music is not very innovative, the singing style's just annoying and to be honest, Blackie jumps around like some kind of a demented ballet dancer.

12) Twisted Sister: I Wanna Rock (1984)

They couldn't have made it any clearer. Authority sucks, heavy metal rules. With this video, Twisted Sister managed to make an entire generation of kids politically aware. Or if not, at least the most of us who've become very normal upper lower middle class citizens might sometimes remember Dee Snider and his weird looking gang because they had a cool video, didn't they? But not very often.

13) Def Leppard: Animal (1988)

I still wonder: how can guys with such stupid hair cuts have such an overproduced, finely-tuned sound? Even though it might be crap, you've got to admit that it's very well polished crap. Which they say couldn't be done.