Older blog entries for mstarch (starting at number 36)

Hmm, I'm not really keeping up with my diary entries. I feel observed - it's a limitation to write diary entries that are public, but at least I can maintain my tradition of keeping track of book reading.

Work

We have just finished moving to our new office on Frederiksberg, Copenhagen. They are _really_ cool. The office is in an old house situated in what have got to be the most charming part of Copenhagen. Right inside the city, 50 meters from one of the main streets (Vesterbrogade) lies a suburban district, with huge old houses with gardens, and nice quiet roads where there is no traffic, and where you can hear the birds sing, and look at the trees. Ahhh... Now all I need to do is to get some work done... :-) I feel more motivated to go to work than I've been for a long time.

Books

Right now I'm reading Umberto Ecos new book Baudolino. I've also just begun reading Flashmans Lady, and was thinking of getting the new Tom Demarco book, Slack.

Programmer philosophy

Programmers think too much. We're paid to spend all of our time thinking about elegant or at least effective solutions to practical problems. We're taught never to reinvent the wheel, and we're taught that an elegant solution is a goal in itself. Programmers put too much strain on themselves. Programmers are implicitly expected to create code that is new and revolutionary, and at the same time they are expected to maintain a complete picture of the state of the industry, so that they can choose the best-suited standard components for the job. Programmers are expected to enjoy working long hours, because they love their job, and they are expected to avoid stress by plaing with nerf guns.

Sometimes programmers need to be pulled out of the depths of the specifics of a given project, so that he can get a grasp of the role of the project in the bigger whole. It's essential for the programmer to have a feeling that the project he's working on is worth-while, and somehow contributes to the world at large. If this doesn't happen, or if the project really doesn't serve a higher purpose, the programmer will be disillusioned with time, and he will start to ask himself about the purpose of his efforts. If this continues, his doubts may become even more existential - what is the purpose of software, what good does it do, who does it serve, why is software always improved/reinvented/rewritten, will the world run out of software in need to be written? As I said, programmers think too much. Or maybe I'm just confused :-)

Books Have been reading "High Stakes, No prisoners" about the lifetime of the company Vermeer Technologies, and their road towards acquisition by Microsoft, buying their Frontpage product. It was a very interesting and inspiring book. I've also been reading Royal Flash, which although it's quite a different genre, was as funny as the other Flashman books I've read :-)
Job

The company has been taken over by 5 former employees, including myself and the former CEO. We're going to continue focusing on search engine and dialogue robot technology, hoping that the future will look more bright.

Books

I havent finished "The Satanic Verses" yet, because I've been pretty busy planning my new work situation. It's also a pretty tough read, so I have taken some temporary leave, reading Flashman. Now that's good entertainment :-)

.Net

I have been reading more .net documentation, and have also been looking at C#. I think that the entire platform will do lots of good for Windows development. I also find the Mono project interesting - it would be cool to get platform independence almost for free, when writing .net framework apps.

28 Jan 2002 (updated 22 Nov 2005 at 14:58 UTC) »

Books

Started reading "The Satanic Verses" by Salman Rushdie.

Started reading "Modern C++ Design" by Andrei Alexandrescu. That guy is a template nut, but he does some really really cool stuff using esoteric C++ features.

Technology

Installed Visual Studio .net. I will look forward to spending some time getting into it. It looks very promising.

Code generators using XSLT ?

I have been experimenting with XSLT lately, and combined with an article I read in the C++ journal about code generation using XSLT, I have wondered if writing some code generators for some of the most normal tasks might be a good idea.

One example of a potentially time-saving application of code generators is database infrastructure. An SQL table is created, which must be accesible from a C++ program, which again must be accessible from an ASP script as a COM object. If this is hand-coded, a lot of time is spent doing simple and redundant typing. When a column is added to the table, multiple sections of code must be updated to reflect this change. The work invested in the specific SQL solution cannot be leveraged for later projects that have similarities.

Auto-generating this kind of code seems like a good idea, but the risk that the constructed templates aren't versatile enough to ensure their use for a sufficient number of cases to make them worthwhile exists.

Solving a specific problem by writing a code generator that generates code to solve the problem is a possibility, if a substantial part of the problem has traits that makes it likely to reccur at a later time, and if the code generator doesn't take substantially longer to write than what would be necessary to solve the problem directly. Writing modular code generators that are combinable becomes a worthwhile challenge.

To what extent should code generators be built and used ?

Books

Finally finished reading Music & Silence; it was long, but relaxing. I've been reading a bit about XML Schema + an XSLT book; now I'm prepared when I stumble into an XSLT- prone project ;-)

Life

Saw a nature program on television today about a 16 year old oak tree that got re-planted. Thinking about that tree growing there for another couple of hundred years made me think about why we seem to be so busy nowadays that we have to feel guilty for relaxing a moment. On the other hand I'm an achiever type, so I'm bound to feel guilty regardless ;-)

I'm going to see LOTR for the third time tomorrow, and after writing this entry I think I'm going to start reading Silmarillion yet again - I got inspired yesterday by seeing a map-book of Beleriand.

Samba

I have really enjoyed the discussion started by lkcl's article claiming that the Samba team uses proprietary restrictive implementation practices. I think a lot of people have raised a lot of good points, and it's nice to see open source development discussed in the open once in a while (no pun intended).

I hope that the Samba team and <person>lkcl</person can come to some agreement; it would be cool to have full DCE/RPC support on Linux, and even cooler if some of the developers doing remote connections using self-invented socket protocols realized what they're missing :-) (sorry)

lkcl, I wish you best of luck with your quest; you're certainly one of the more inspired open source developers, and I'm very sure that you're going to have your RPC plans come through sooner or later one way or the other :-) If not, I will lose my belief in many of the perceived benefits of open source development, because you're so obviously right IMO.

Open software

I think sej has a good point in his prognosis of the computer science profession. I particularly liked his end remark - sej, I bet you must have felt really smug about yourself when you made up that :-)

Books

Finished reading "Peopleware". I know the book isn't new, it's actually more of a vintage classic, but it has a lot of classic good points. It's style is very warm and it is extremely well written. It covers a lot of issues regarding sound management of software teams, and in that regard it's very sociological in nature, because it primarily (entirely more like) focuses on the importancy of having highly motivated and cooperating employees/team members. No one will be worse off by having read this book.

Now I'm going to finish "Music & Silence".

29 Dec 2001 (updated 29 Dec 2001 at 23:38 UTC) »
The 'Is Open Source dead discussion'

Thought it an interesting discussion, so I will also contribute my 2 cents worth of open-source speculation;

Open source is thriving. Open source is a funny hobby, that allows individuals to gain experience, improve their social networks and have fun while doing it.

Open source does not depend on the succes of Linux or of any other "open" platform, because the two things are fundamentally different things.

Linux and all its related projects inspire lots of aspiring young programmers to get into the open source world. Linux is a crusade, a quest, a holy grail, that provide a focus- point for a lot of programming activity.

Linux makes it possible for all the distributed decision makers to make autonomous decisions that have as a focus- point what efforts will be to the good of the Linux community. However, due to the scattered activity and the absence of any real authority in the community, most or all decisions are made with a lack of information that prevents any decision from being optimal.

Of course there are several kinds of levels of decisions that are continually made. Decisions are made for a specific project, regarding how feature X should be implemented, whether feature X should be implemented at all, and decisions about who writes the documentation, or maintains the website or provides user support etc etc. I think this level of decision making is working flawlessly. All well-functioning open source projects have this level of decision making taken care of, that's what the project is all about.

However, the project doesn't contemplate the fact that 5 other projects exist that are spending time doing the exact same thing. All 6 projects are convinced that they're creating the best solution to the "problem" that this class of projects aim for, and none or very few of the projects cooperate amongst themselves. This is a new level of decision making. An absent level of decision making, because no decisions are made. The decision is left to evolution; the most stubborn project wins (or best if you're an optimist). This kind of decision making incurs a horrendous amount of replicated work, that is useless if any long-time success of the "open source crusade" is intentioned.

There is no way to make people give up this mode of operation, because the open source world is fundamentally an ego-boosting business. It's just not as cool to work on someone else's project. You can do the stuff he's doing better, and you're going to show it to the World. Linux is about ego boosting, and many developers work for projects related to the primary open source platforms to be a part of, and thereby gain part of the prestige that the platforms provide. Ego boost is measured in number of users, but most developers are kidding themselves if they say that they are working on their project for their users. We're only human.

At the same time, because the whole thing is a voluntary "for fun" hobby, no one but the most visionary/obstinate is interested in working on all the dull bits and pieces that are essential for the mass of projects to be able to function together.

This is why the open source community has got to come to terms with the fact that open source software projects like Linux will always be a niche, because it's made for the good of the developers, not for the good of the users. I think thats only fair, because it's the developers who have spent countless hours of their life working on cool software.

To conclude; open source as a creative hobby is far from dead, but a user-focused open source platform is a dead end.

25 Dec 2001 (updated 25 Dec 2001 at 22:57 UTC) »

So this is christmas...

In the following I will adher to the established Advogato trend of partitioning my diary into sections

Books

Finished reading "Flashman and the Redskins", yet another refreshing read about the english voyeuer and hen-teaser Sir. Harry Flashman, knight of the order of Bath, holder of the Victoria Cross, the order of the Elephant (funny for a dane), the congressional medal of Honour, and several other ill-deserved honourary titles. This book takes place both in the year of the gold boom of 1849, as well as 27 years later, in 1876, where he takes part in the "battle" of little Big Horn.

Because I've run fresh out of Flashman books, because I didn't get any for christmas (sigh), I've started reading a book by Rose Tremain, entitled "Music & Silence", about a english musician who get's hired at the court of the danish king Christian IV in the 1630's. Very relaxing.

Inspired by reading joelonsoftware.com, I ordered "Peopleware" and "High stakes, no prisoners" from amazon, which I will be looking forward to reading.

Work

No work until january 3rd :) Although I at the moment don't know what other uses I can make of my time, I probably need some time off.

Advogato

How about an option to "show recent diary entries, without observer diaries". In either case I really don't mind if a spammer writes a few diary entries once in a while. It's really quite interesting that someone can be so incredibly bored that he spams a site as effectively "boring" and "dry" as advogato :)

Programmer-philosophy

Sometimes I worry that we as programmers will run out of cool software to write. When the ultimate operating system exists running the ultimate productivity apps, and when every industrial sector has killer stock-management and auto-ordering, auto-configurating management programs. When hospitals have the best patient monitoring software that money can buy, when military weapons and space rockets as well as crude household equipment never fail. What if new software becomes unneccesary, or what if the need for new software stabilizes at a level supportable by very few people given the ultra-high-productivity languages and tools that are made for that purpose?

This might very well happen in our lifetime, and sometimes I wonder if all we're doing as programmers is working towards the day where we will all be obsolete or at least to a large extent neglectable.

I try to console myself with the thought that humans are basically vain creatures, who will always desire new and improved versions, if not to have better software, then to follow the newest trends and the newest fashion.

Maybe software will some day not be a matter of "pushing the envelope", but instead of polishing new and improved slick interfaces to the same low-level implementations of this years "software-fashion".

I guess that development would basically be a good thing, because it would mean that the basic infrastructure will already be in place, software and computers and the possibilities they provide will be a commodity taken for granted. I think the development is inevitable, given the basic "construct-once-use-in-all-eternity" nature of software.

It's like being amongst the many people who are building the big railways across asia or the north american continent. While building them we are heroes, but when the tracks are complete, we better start look for some alternative ways to make ourselves useful, because history will not be looking back.

Advogato diaries are such clich├ęs :)

I have been reading some more of the "Flashman" series. I finished "Flashman and the Dragon", and am now reading "Flashman and the Redskins". It's some pretty funny books, that have an entertaining way to convey some impressions from the world as it may have been around the 1840-60's.

I saw a link on Slashdot (oh no, not another Slashdot- reader) pointing to www.joelonsoftware.com, so therefore I've been reading some of his "rants" about the software industry. He really has some very good points, and I recommend reading the articles as they have sound advice on subjects ranging from employment policies to GUI design.

It's soon christmas, but work continues to be as stressing as ever - I need a vacation soon.

I've pretty much decided to follow a course at university next semester, dealing with techniques for creating adaptive "artificial intelligence" algorithms using Prolog.

Maintaining an online diary does provide a lot of censuring constraints on what can be written.

27 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!