Pause

posted Thu, 28 Nov 2002 23:14:20 GMT by Jonas Bengtsson

Perhaps I should let you know why I’ve been that “quiet” lately. It’s because I moved this weekend. It was really much work. As I’ve mentioned sometime before I have search for work and apartment in Gothenburg but I’ve had no luck. So now I search for work anywhere in Sweden (please let me know if you hear about anything programming related). But now I don’t have broadband anymore and have to use dailup :-(. And I really have to spend more time on my master thesis if I ever want to graduate. Thus, I put this blog on pause for a while. I might post something but it won’t be much. Expect me back in a couple of weeks/months.

Btw, I own eclipse java browsing ajdt on Google!

Comments Three comments

Outlook of no return

posted Fri, 22 Nov 2002 03:04:41 GMT by Jonas Bengtsson

Yesterday I got a crazy idea that I wanted to migrate some mail for mailinglists from Outlook to a mail application I use for mailinglists. It turned out to be easier said than done.

First I tried to save a mail in Outlook, but I could only save it as text (in Swedish and did just include subject, from, to, date (also in Swedish), and body), or as binary files. Hurray!

Then I tried to export a folder of messages to a comma separated file. I tinkered a bit with Ruby, got the csv library to parse the file and was able to create one file per mail. But, I later found out that the exported file from Outlook did “just” include subject, body, from name, from address, from type (e.g. “SMTP”), to name, to address, to type, cc name, cc address, cc type, bcc name, bcc address, bcc type, billing information, sensitivity, categories, priority, travel allowance (km). That is a lot of information! But not anything about when it was sent, the id of the mail, the headers, and a lot of other interesting stuff. Hence, comma separated files were a dead end. Sigh!

Somehow I thought that I would get what I wanted by using COM and accessing Outlook directly. It must be possible since there are several synchronization applications for example Palm. But I had almost no clue about how to use COM (the only time I’ve messed with it before was a couple of months ago in Java). So I turned to Python. After a lot of tinkering I managed to access the different mails in Outlook and read some of the information (it was not completely trivial). So I started by printing stuff like date, from, to, subject, and body. But, of course, the date was not a valid rfc822 date. And apparently is strptime() only available on some versions of Unix, but the Python Cookbook came to the rescue with a pure Python version of strptime(). So now I could parse the date and create a rfc822 compatible date.

But then I got greedy. By using Outlook I can read the headers, why should I not be able to do that in Python? So I googled around for some time and eventually I found an object model of the MailItem Outlook Object. But the headers are nowhere to find! But then I found the OutlookSpy which is an Outlook plugin that you can use to browse the objects in Outlook. There it was! My search seemed to be over: the property with the tag PR_TRANSPORT_MESSAGE_HEADERS. But how do you access that? After some time of trial and error I posted a question to comp.lang.python. I got a pointer to msgstore.py in the SpamBayes project. But the code was a little bit hard to understand.

I had given up at this point. But as I was writing the above I decided to take a look at the script again and noticed the test at the bottom. That didn’t look too tricky. And after a while I managed to use it to get both headers and body of a mail. Success! Now I have exported all the 487 messages to individual files, and then imported the messages into the other mail application. Now I can sleep with a smile on my face! :) Good night!

ps. What are they (Microsoft) thinking? Why do they lock their users? Why aren’t they embracing open standards? When will I be trusted with my own data? Why, oh, why? Perhaps I should get that sleep now :
) ds.

Comments One comment

Did you know...

posted Fri, 15 Nov 2002 19:33:27 GMT by Jonas Bengtsson

... five centuries ago there were 10 million indians in the Amazon Rainforest, now there are less than 200,000?
... I’m a feedbackoholic? (met with one of my advisors to my master thesis yesterday and one today)
... it was probably XP and other agile methodologies which infected me with feedbackoholism because of their focus on feedback?
... Trimmatom nanus (atomstubb in Swedish) is the smallest fish in the world (about 1 cm)?
... it is quite annoying to realize that you missed taping the last couple of minutes of the rather good The Bone Collector?
... the smallest telescopes at Walmart are more powerful than Galileo’s?
... I learnt today that the thesis should be between 45 and 55 pages (60 is maximum)?
... mine is now 53 pages and I have quite much left to write?
... Opera has released the first beta of Opera 7?
... the fastest flying insect is the Australian dragonfly which can fly up to 60 km/h?
... the music magazine RollingStone have published a nice thank-you letter (pdf) to record execs in New York Times, starting: “Thank you for fighting the good fight against Internet MP3 file-swapping. Because of you, millions of kids will stop wasting time listening to new music and seeking out new bands.”?
... I will move in a little more than a week?
... an item marked 18 karat contains 75 % gold?
... they have four books about agile software development at my university’s library? Ambler’s Agile Modeling (which I have reserved), Beck’s Extreme Programming Explained (which I borrowed today), Cockburn’s Agile Software Development (which I have borrowed), Schwaber and Beedle’s Agile Software Development with SCRUM (which I own).
... I added Barabási’s Linked: The New Science of Networks [via Tesugen] to my wish list at Amazon (which I use to remember interesting books)?
... to measure the distance to the moon they use laser beams which reflect on mirrors placed by astronauts?
... there are about 4.5 million people (amazing for a town with 20-30 thousand people in a country with 9 million people) at the same time at the local grocery store at 4 p.m. each Friday? (ok a little exaggeration)
... although I know that the grocery store is swamped at Fridays I seem to forget that every time?
... a vulture once flew about 37,000 feets up in the air (the highest flight by a bird ever documented) and smashed with a plane?
... I just realized that the “exists”-links in the sidebar are not specified and that I will fix that in a moment?
... Bill Gates’ $50 million residence was designed on Macintosh computers?
... this was the easy way out to write about a lot of unrelated things in the same blog?
... these are all important things to know?

Comments One comment

C#

posted Wed, 13 Nov 2002 12:51:25 GMT by Jonas Bengtsson

I don’t like this a bit! I’m starting to get interested i C# (both present and future as described in this presentation [via Thinking In .NET]). I probably have to learn some of it in the future. The things that hold me back are that Visual Studio .NET is expensive (unfortunately there is SharpDevelop), the fact that I don’t have the time (this is probably the largest factor), and that I really want to explore further into J2EE and the different open source projects out there (Bryan Dollery has written a really nice article The Best Java Open-Source Tools (requires free registration) and there are projects like WebWork).

By the way, I have only one googlism [via Thinking In .NET]: jonas bengtsson is getting interested in aspect. I wonder if this works: Jonas Bengtsson is unfortunately getting interested in c-sharp (recursive link).

Another by the way, it’s interesting to note that the two companies mentioned in the last blog, SAS Institute and GE/Durham, (which are both wonderful companies) might seem totally different: one is providing tons of perks, and the other one provides none. I think the thing that they both have in common is that they treat the employees as adults.

Comments Zero comments

SAS

posted Mon, 11 Nov 2002 03:25:38 GMT by Jonas Bengtsson

If you would ask me about what the acronym SAS means a few days ago I would say: Scandinavian Airlines System. Now I’m more interested in SAS Institute, the largest privately held software company in the world. Before I read the article Sanity Inc. a couple of days ago I hadn’t heard of SAS Institute at all (there is also the articles My Day in SAS Day Care and Voices of SAS in the same edition of FastCompany). Now I, just a couple of minutes ago, saw a piece on 60 Minutes about the company, thus I have to write something about it here. When I first read the article in FastCompany I thought it was one of those dreamt upped, ‘what-if’, articles. But now I know it’s not!

What about: day care, car washing facilities, dry cleaning services, a subsidized cafeteria, a masseuse, playing fields for frisbee or soccer, a swimming pool, aerobics, a weight room and basketball court etc etc etc. The parents eat lunch together with their kids in the cafeteria (which features a piano player). They have 3% turnover (compared to the average 20%). The gates close at 6 p.m. every evening and the employees are encouraged to work 35 hours a week. They consume 22.5 tons of M&M’s a year. It seems to grow quite fast since the FastCompany article (from ‘99) states that they had 5,400 employees worldwide, and now they have 8,300. There is a SAS offices in Sweden as well. I wonder how much of the culture and mindset have been transferred from the Raleigh office?

The mastermind, two-third owner, and CEO, Jim Goodnight, said at the end of the 60 Minutes piece something like: “95% of my assets drive out the front gate every evening, and it’s my job to bring them back!”

Now, go and read the article! Pronto! (If you like the article you might want to have a look at another article by Fishman: Engines of Democracy [via Tesugen a long time ago] about GE/Durham. It’s not a software company but it’s immensely interesting nevertheless!)

Comments One comment

Time-boxing

posted Thu, 07 Nov 2002 16:55:32 GMT by Jonas Bengtsson

Now I’ve taken a little look on the CrossTalk edition about Agile Software Development (mentioned here). Or more specifically I’ve looked at Jim Highsmith’s article What Is Agile Software Development?. In it he have the following paragraph:

The practice of time boxing, or setting fixed delivery times for iterations and projects, has been abused by many who use time deadlines incorrectly. Time deadlines used to bludgeon staff into long hours or to cut corners on quality are a form of tyranny; they undermine a collaborative environment. It took several years of managing ASD projects before I realized that time boxing was minimally about time – it was really about focusing and forcing hard tradeoff decisions. In an uncertain environment in which change rates are high, there needs to be a periodic forcing function to get work finished.

I think it’s great! When you have a firm deadline you must make uncomfortable decisions and concentrate on what gives the most customer benefits. As long as you are able to make the right decisions and not compromise with the quality I think the result will be much better than if you don’t have any firm deadlines. And since you get this kind of deadlines continuously through the project you can’t defer these decisions to the end.

There are other gems in this article as well. Such as: “The agile movement covers a broader set of issues than the word methodology connotes, so I use the word ecosystem to include the three characteristics that define agile development: a chaordic perspective, collaborative values and principles, and barely sufficient methodology.” I like that (and yes, I will buy his book Agile Software Development Ecosystems sometime in the future). And what about: “One of the biggest problems in implementing software development methodologies over the years has been the attempted mismatch of culture and methodology.” It’s a great read and overview of agile development and the main agile methodologies (except Scrum :-( )

You might also want to read his article Beyond Optimizing (requires free membership I think)

Comments Two comments

Pairing

posted Thu, 07 Nov 2002 16:16:38 GMT by Jonas Bengtsson

Rachel Ross has written an article titled ‘Pair programming’ an ill-fated shotgun wedding [via AgileMovement] where she rants about how bad pair programming is. Some quotes: “It’s too bad the entire concept works against human nature and financial efficiency.” “Remember we’re talking about programmers. While they aren’t all social outcasts, my own experience as a programmer leads me to believe that a good percentage would much rather work on their own.” “There’s only one keyboard, after all, and the driver can only type so fast.” First of all I think Ross has not realized that programming is a social activity. And as Martin Fowler says, ?Pair programming would be inefficient if typing were the hardest part of programming.? (I’m not saying that pair programming suits everyone and all situations, but I think it could be used far more than currently)

Comments One comment

w.bloggar

posted Tue, 05 Nov 2002 22:18:31 GMT by Jonas Bengtsson

w.bloggar 3.0 is released. New features include spell check (perhaps you’ll be able to read what I post in the future), support for a number of different blog engines, and a bunch of other stuff. Great work! I’m using it to post his entry…

By the way, Windows Commander has changed name (since Windows is a registered trademark) to Total Commander and version 5.5 has been released, but I have not tried it yet. Quite interesting that Microsoft have not mentioned this before. Windows Commander is 9 years old, and quite popular.

Comments One comment

J2EE vs .NET

posted Tue, 05 Nov 2002 16:27:33 GMT by Jonas Bengtsson

While catching up on my blogroll I stumbled upon The Petstore Revisited: J2EE vs .NET Application Server Performance Benchmark [via protocol7]. .NET wins the benchmark hands down. Ouch! I didn’t read the actual report but checked what they (The Middleware Company — a J2EE company) had to say and at the discussion at TheServerSide.com. I realized that there were some problems with the benchmark (The Middleware Company seems to agree since they are planning a rematch), but still J2EE lost some credibility in my eyes. I am far from an experienced J2EEdeveloper and have only created a community using Servlets and JDBC directly (hence avoiding many of the heavier technologies).

But then I checked Rickard Öberg’s blog and found out that he has written a review of the benchmark. He basically remove all traces of credibility from the benchmark. Now I feel good again! :
)

Comments One comment

XP and the Swedish economy

posted Sun, 03 Nov 2002 22:56:14 GMT by Jonas Bengtsson

While catching up on the giant amount of posts at the XP-list, I’ve been away for more than a week (hence the bloglessness), I found a couple of posts discussing the Swedish economy. How odd is that?

Here are the posts: 1 2 3 4 5 6 7 8 9

But no Swede has taken part of the discussion. Perhaps someone reading this could join?

Comments One comment