Skip to main content

Posts

Showing posts from 2006

Book Review: "America: A Love Story"

Like many non-Americans I have a strange attraction to the United States. Having neither the means nor the time to explore this vast continent on my own I am looking for substitutes to get intimately familiar with the different corners of America. This is what I was hoping to find in Torre B Isaksen's "America: A Love Story". The author, Mr. Isaksen, a Norwegian-born sea captain, spent half a year traveling from Alaska to Florida, using his car. His travels took him through many states and he writes about the people and places he saw. Quite a few exciting events happened to him during the trip, but that is not what makes this book interesting. Where Mr. Isaksen really shines is in his narrative of all the original people he met on his travels, sometimes old friends, but most of the time just random encounters on his journey. As the book title hints, Mr. Isaksen's unrelenting love for the US is ever-present throughout the pag

Emails to the FeedJournal Domain

I just had a large backlog of e-mails delivered to me. They were all addressed to any of the e-mail addresses in my feedjournal.com domain. There were e-mails all the way back from the end of August until today. Of course, this is an extremely costly thing to have happen to an µ-ISV and especially at a time around a product launch. I have been speaking to both my domain name registrar and my hosting provider and problem is now solved once and for all. You should all feel free to safely use the feedjournal.com addresses for contacting me in the future. I am terribly sorry for everyone who tried to contact me during this time (31st Aug - today) and never received a reply. I am now starting to process the e-mail backlog and reply to each and everyone of you.

FeedJournal v2.0 is Available

After a few sabbatical months in the aftermath of the Made In Express Contest, it is finally time for FeedJournal v2.0 to see the light of day. Functionality-wise there are no major differences between v1.0 and v2.0 - all the changes have occurred behind the scenes. The database is now using on a much leaner engine, considerably speeding up the download size and installation process. On top of this, the new version is going shareware, with a 30-day trial version without any limitations. The price for a single computer license is $39.95, but during 2006 there is an introductory offer of $29.95.

Hack.net v2.0

I have been knocking my head bloody against v2.0 of hack.net for over half a year now. This bugger seems even more diabolic than the first version of the puzzle, which wasn't solved until a few years after its initial publication. Every time I think I have come up with some clever approach how to solve the first stage, but no significant breakthrough so far. I am pretty sure that those curly brackets are a part of getting to the next step... How about a subtle hint, Ryan ? Anyone else out there working on it?

Moving Incoming Newsletters and Alerts to RSS

Spam and inbox overload is one of the unavoidable pains of an active online life, right? Well, not necessarily so. There are a few proven techniques for how to get rid of unwanted e-mail from your inbox. One of them is to be very restrictive about giving out your personal e-mail address, another involves investing in advanced anti-spam filters. But how do you go about signing up for newsletters and other information from sites that you are not trusting? I am happy with my current setup for solving these problems and thought that I would share it with you. The service I am using is free and called MailBucket. It is simply an email address with the suffix "@mailbucket.or g" that is free for you to claim. Let's say you want to use the e-mail address joe@mailbucket. org - you simply type this address in the e-mail field when subscribing to for example a newsle

Back in Blog Business

I am back from a long blog break which became much longer than scheduled. We went for two weeks' vacation in Sweden, which was excellent. Coming back to Israel I realized that I had forgotten my USB disk in Sweden. The disk contained my blog database, so I asked them to send it to me. A week ago it arrived, but the Thingamablog database had been corrupted for some reason; I guess it didn't like all the traveling... A lesson as good as any to take backups more seriously. Now I have finally managed to restore the database to a state more or less as it was before, and the blog should get going again.

Microsoft Resolves Controversy (WTG!)

Shortly after I published my previous blog post regarding the Made In Express Contest controversy, Microsoft contacted me. They said that they had conducted a review of the final results and had decided to award the amount of the Grand Prize to both of the First Place winners! So what swayed Microsoft into changing their attitude? I am not saying that my blog post did it, but I like to think that it played a part in their decision. Another huge contributor to this decision was Channel9 user Minh (thank you!), who called up Mark Jewett at Microsoft to get some answers. The phone conversation was recorded and you can download the mp3 from here . Way to go, Mark Jewett and Microsoft! I know that you took a a lot of abuse in the C9 forums but the way that you resolved the situation impresses me. Thank you!

The Big Controversy Regarding the Winner(s)

C9 posters demand that the winning team in Made In Express Contest will be disqualified from the competition and their $10,000 prize revoked. They point at evidence that the winner, professor Ernie Hall, did not abide by the rules by using already developed code and working in a team. I have been lurking in the C9 forums for the last few days, following the heated debate. Three forum threads [ 1 ] [ 2 ] [ 3 ] totaling over 200 posts to date, cover it all. The posters include Mark Jewett, the MS guy behind the contest, as well as two out of the three judges, Chris Pirillo and Robert Scoble. I assume the rest of the finalists have been following the C9 discussion as well, but so far all of them have kept mum. As the runner-ups, I and Ali Khalid, are identified as the big losers in all of this (a mere $9,000), I decided to make my opinion heard. First

FeedJournal is Awarded First Place in Microsoft Contest

Yesterday, Microsoft announced that my newspaper project FeedJournal had been awarded First Place in their Made In Express Contest. As regular readers of my blog know, my brainchild FeedJournal is the .NET application I am writing to revolutionize the way you read newspapers. The judges (Chris Pirillo, LockerGnome; Phillip Torrone, MAKE Magazine; Robert Scoble, Scobleizer) motivation read: Jonas helped us all take a step closer to publishing our own newspaper based on the news we care about. FeedJournal is actually a little glimpse of the future…it will likely be a common way for readers to ‘roll their own’ magazines in the near future. This is probably my finest moment ever in my long software development career and I want to thank Microsoft for arranging the contest and everyone who has supported the project by dropping emails or blog comments. And I want to send

Competitive Programming

I am a competitive guy. People who know me well, know that I always go to the bottom of things; have a passing interest in anything will never happen to me. It's either all or nothing. For years, I have been looking for ways to funnel my energies into some kind of online community. Requirements are that it should be engaging, competitive and educational. I have been taking quite a few stabs at different online gaming communities but they haven't turned out to be what I am looking for. I am happy to say that finally, I think I have found the niche I have been hunting. TopCoder.com . TopCoder is an online community for people who love programming. Or rather, it was; today it has grown to cater for architects, testers and graphics artists as well. The basic concept is that you participate in contests where you need to solve three algorithm problems in a language of you

FeedJournal Database Decisions

Chris Pirillo has something to say about the Made In Express Contest . Considering he is one of the judges in the contest, I am definitely listening. This is his verdict about my own entry, FeedJournal: Still has a long way to go, but I'd say that sample output is quite nifty. The only thing that keeps me from installing and recommending the app wholeheartedly is the need to install SQL Server 2005 Express Edition first - which I'm not going to do on my desktop. Suggestion: push forward with this one, but rely on something else for feed information storage (sorry, but installing SQL is overkill for users like myself). Considering his overall harsh judgment of the projects I consider this pretty favorable, and indeed he goes on to mention FeedJourn

FeedJournal v1.0 and Contest Voting

In Made In Express Contest it is now up to the public to vote for the project they like best. FeedJournal is one out of the 11 projects you can vote for. Please make a visit and choose your favorite! This also implies that you can finally download FeedJournal v1.0 from the the Made In Express link above. Despite the name it is a beta test version, while I am continuing to work on v2.0. Visit feedjournal.com for more information.

I'm Excited, and Writely So

When writing drafts for this blog, I have been struggling with how to type up the articles. Sometimes I am working on different computers and I need an easy way of moving the documents between locations. So far I have been using a USB drive where I store the documents. This has the drawback of needing the same application installed on all computers. Another option is setting up an automatic synchronization between shared computers but it doesn't work for me because some of them are blocked behind a firewall. Enter the new paradigm of online word processors! The idea is that your documents are edited using your web browser and the files are hosted on the service's website. You can choose to share or protect each document, and despite being a new phenomenon there are already a few interesting players on the market. All of these online services automatically integrate many a

Contest Deadline for FeedJournal

The time has come to let go of FeedJournal v1.0. I have been working on it for months and thinking about it for even longer. Without the definite contest deadline hanging over me, I think it would have been difficult for me to resist adding more features before publicizing it. But, in the end it's for the better. FeedJournal needs to get out there and get some real-world testing before it can mature into higher versions with a larger feature set. I definitely don't see this contest submission as the end of the line for FeedJournal, more like a baby's first steps. I choose to look at this version as a public beta test. Although v1.0 has been thoroughly tested I have decided to let it expire on October 1st, forcing users to upgrade to a higher version. Much like a beta or release candidate would work. The time has also come for me to sum up the experien

HOWTO: Auto-Increment the Version in Visual C# Express

One of the features that I miss the most when I am working in Visual C# 2005 Express Edition is the possibility to auto-increment the version number for each build. Below, I will explain how to get around the limitation and add this functionality to the stripped down Express Edition of Microsoft's Visual Studio development environment. The solution comes from CodeProject user PIEBALDconsult' s Versioner project. His C# class increases the revision number of the AssemblyVersion , given the path to the file where it resides (typically AssemblyInfo.cs ). Since PIEBALDconsult only provides the source code I took the liberty of compiling it into a .NET 2.0 executable, which can be downloaded from here (ZIP) . The steps necessary for enabling auto-increment are listed below: Download and extract Versioner.exe from the ZIP archive to the project directory where yo

SQL Server Everywhere Edition Requirements

The Community Technology Preview (CTP) of Microsoft SQL Server 2005 Everywhere Edition requires Windows XP SP2 or Windows Vista. If Windows 2000 is unsupported I will have to look at other solutions instead for the future. I tried to convert my database from Express's MDF format into Everywhere's SDF format, but ran into problems. With the short time remaining to the version 1.0 deadline (contest submission) the database optimization is something that will have to wait. Now is not the time to introduce more risk in the project. I also decided to go with the ClickOnce system of deploying the application, which is helping out. It comes especially in handy with the installation of the runtime environments for .NET 2.0 and SQL Server Express. ClickOnce automatically figures out if the user needs to get these installed without me having to write a single line of code/script, wh

Help Format Confusion

As I previously blogged about I was using Shalom Help Maker to generate my help file. After spending some time with this and finally completing the user documentation, I was ready to insert it into FeedJournal. The it suddenly hit me: this is not the right help format! The Danish Shalom Help Maker is generating help files in the old Windows .HLP format, which has been obsolete for some years now. What I need is CHM format, which I had up till now deluded myself into believing I was working with. Ouch! OK, there must be some way of converting my HLP file into CHM, right? Nope, at least nothing free, and all of the programs I tried generated an error during the conversion. Finally, after much hunting I found a link to a freeware application on the excellent forums at Joel on Software . The program was called HelpMaker , and sure enough its conversion feature also choked on

Finishing Touches

Two days left for FeedJournal 's contest submission and I am trying to prioritize which items have higher priority than others to complete. Right now I am working on the text of the CHM help file and I hope to finish it soon. After that (if there will be enough time) I want to see if I can easily switch to SQL Server Everywhere Edition , which should boost performance on low-end PCs quite a bit. Before submission I also want to make sure that the install scripts are completed. I haven't decided between ClickOnce and InnoSetup yet. I have previous positive experiences with InnoSetup, but Microsoft's ClickOnce also seems nice in that it can support transparent upgrades and it integrates the .NET 2.0 framework installation automatically. I will also need to write an build instructions document, which should be straightforward in my case.

The Demise of nDoc

Some of my fellow finalists have blogged about their intended usage of nDoc as a documentation tool for their source code. nDoc is hugely popular for automatic documentation of .NET code, using Visual Studio's support for XML comments in the source code. A week ago, nDoc went into a coma, when its single maintainer, Kevin Downs, announced his resignation from the open-source project. The problem, which in many cases are symptomatic of open-source projects, is that a majority of these projects are driven by one or a few enthusiast individuals, and their lifespan is directly related to how long it lasts until these individuals lose interest. It is rare to see a dying project being rescued by another developer, who keeps it running. Problems selling the software is the usual reason for the death of a commercial application. This sort of death is less painful for the software market, si

Promoting FeedJournal

Small software businesses, or µ-ISVs, are cropping up everywhere nowadays. A big challenge for them is to get a foothold in the industry and claim a piece of the market. Then they need to keep that attention. In Bob Walsh's excellent " Micro-ISV: From Vision to Reality ", I learned that a blog can be an excellent vehicle for spreading the word about your product. It can also help to make sure you are keeping your customer's attention focused, by having them subscribe to your blog's RSS feed. The Blogosphere is a fast-moving media where the attention span sometimes lasts shorter than it takes to read a headline. The cross-pollinati on in the blogosphere is an interesting phenomenon which I hope to be able to leverage some more in the future. For now, I decided to add a new section to FeedJournal's web site . The new section is called " In

Bots Soon to High-Card Humans

The online poker rooms are flourishing in what seems to be the Eldorado of our time. But not for long. Around the corner lurk the bots, or computer programs designed for playing poker, currently in hard training to win your hard-earned cash . Ten years ago I was an avid poker player, constantly on the lookout for new games. Most of my friends that I used to play for nickels and dimes are still playing today. They have taken their chip stacks online, and the limits have increased, but from the look of it they are doing well financially. Online poker ten years back consisted of a yearly e-mail tournament and games played over Internet Relay Chat (IRC), including first-generatio n bots. Online discussions took place on a spam-filled USENET newsgroup; in short, the situation wasn't very exciting. Today, you can hardly enter any web site without seeing advertising for online poker, with poker sites

Writing Documentation

Writing software documentation is probably the most boring part of a project for a developer. However, having blogged during the development process makes it easier. I am able to take some blog entries and paste them into the help files with very little editing. Also, by continuously writing blog articles during the past months, it is easier to fight writer's block. I am using the free Shalom Help Maker to generate a standard CHM-file, easily accessible from within FeedJournal . Writing the help files is instructive because it places you in the user's shoes, and any design flaw becomes much more apparent. However, I have been working hard to keep the application design simple, and I hope that it is intuitive enough for users, so that they will not need to resort to the help system.

Deep Linking from RSS

One of the more unique and perhaps controversial features of FeedJournal is that it can filter out the meat of an article published on the web. How does it accomplish this? FeedJournal has four ways of retrieving the actual content for the next issue. Actual Content In the trivial case, a site (like this blog for example) decides to include the full article text within its RSS feed. FeedJournal simply published the content; no surprises here. By the way, this is how all standard RSS aggregators work. The problem is when a site decides to only publish summaries or teasers of the full article text. FeedJournal needs to deal with this because it is an offline RSS reader, users cannot click on their printed newspaper to read the full article. Linked Content The <link> tag inside the RSS feed specifies the URL for the full article. In case the RSS only includes

Time for Code Freeze

Time, quality, resources and scope. Those are the four variables in software project management. As the deadline closes in I only have the luxury to change scope. Sure, there are more features I planned to get into this version, but the scope will be cut in order to make the release stable and have a timely delivery. Time is a rare resource for me these days with being a new father , having a full-time job, following the latest news about the regional conflict, and blogging/develo ping FeedJournal . Despite that, I am proud of what I have accomplished so far with my project in Visual C# 2005 Express Edition. One week remains until release, and the time has come for Code Freeze: no more new features. Until August 6th I will work on finalizing documentation, web site, and of course testing. FeedJournal will become a commercial project in version 2.0. Until then the

Test-Driven Development

Test-Driven Development is a paradigm shift with its novel approach to software development. It puts the fun back in development, while improving quality and end-user satisfaction. Unit testing is one of the cornerstones in agile development. A comprehensive suite of automatic tests for your source code generates many benefits. Your confidence in modifying the source code will skyrocket because you know that if you unintentionally break something the tests will catch it. But this is just the first step. By writing a test for a new feature before the actual implementation, you are set up to reap additional benefits. For most developers uninitiated in this technique, it sounds counterintuitiv e and like a big waste of time. Still, this is the way that I have developed software for the last couple of years, and I really can't see myself writing a substantial amount o

FeedJournal Sample Issue

Yes folks, we have a world premiere, the first sample of a FeedJournal issue is available for your viewing pleasure! Let me remind you that the purpose of the FeedJournal project is to generate a PDF newspaper based on RSS feeds, intended for printing. The PDF file is available for download here . In order to open it you will need Adobe Reader or Foxit Reader . The content spans a selection of last week’s blog entries from the Made In Express Contest finalists. I chose these feeds, not because I want to plug the contest, but because I want to avoid breeching copyright law for republishing other blogs’ articles. So what can you see in this sample issue? The following settings are in use: A4 paper size (a European standard), 4 columns, 0 points line spacing, 8 points column spacing, 30 points page margin and 10 points margin between headline and article text. Furth

The Modern Emigrant

When I decided to move to a different place of the world two and a half years ago, I knew it wouldn’t be easy. My confidence was strengthened by the knowledge that I am adapting fast to new situations. Internet has been a big help for me to stay in touch with my roots, but there are still hurdles which emigrants will always face. Deep in Swedish culture we find Wilhelm Moberg’s classic book “The Emigrants” (in Swedish “Utvandrarna”). It tells the story of a family’s decision to move away from hard times in Sweden to try their luck in America, and their subsequent lives there. The story is written in mid-twentieth century and takes place a hundred years earlier. The framework of the story can still today be related to in many parts of the world where people flee poverty or worse, seeking new golden opportunities elsewhere. The situation for me, and others who decide to e

Rockets and Progress

In an instant the situation here has deteriorated. Rockets explode closer and closer to our home (so far a safe distance away), and it will surely take time before we will see and end to it all. Native Israelis are more relaxed about the situation, more adapted, or perhaps it's just an image they are putting up. Having recently become a father makes me worry about my family's security. Between closely monitoring the latest headlines, spending time with our 1.5 month old daughter Noa and working my butt off at my day-job, the contest deadline is slowly closing in. I started to write the FeedJournal help file but I haven't decided on a format yet. HTML is attractive because I can easily host an online version of the help files, while keeping them up to date with minimal maintenance. CHM files are more standard and look more professional though. The jury is still out...

SQL Server 2005 - Everywhere Edition

Microsoft recently announced a new edition in their SQL Server 2005 family of products: Everywhere Edition . This is a free and lightweight version of SQL Server 2005. So what is different from the Express Editions that is required for us Made In Express Finalists? I can only talk for myself but the Everywhere Edition would be more suitable than the Express Edition for my Windows Forms application for a number of reasons (source: Steel Price's blog ): runtime size is only 1.4MB (in-process), single data file without transition log, smaller redistributable package, embeddable in applications. In short, Everywhere Edition is more system resource friendly! Of course, there are some limitations in Everywhere, compared with Express, for example it cannot run as a service and lacks multiuser support. These issues are not r

Creativity as Driving Force

Take a minute to remember the last project you completed alone. Can you remember the satisfaction of seeing the pieces fall into place to build a greater whole, to put the finishing touches and perhaps launch it publicly? This satisfaction, in its best moments, defines one of greatest feelings in life. It is the driving force for artists, hackers, bloggers, journalists, and anyone who lets their creativity be a central part of their day-to-day activities. Creativity can be manifested in different ways for different people. The force of it is just as powerful though, no matter if it is being used to cook, do gardening, writing, drawing, composing music, or anything else. I am a software developer, and my choice of profession has a lot to do with getting an outlet for my desire to be creative. It is my firm belief that people gain happiness and satisfaction from nurturing and giving

Why FeedJournal? (or why the information age matters)

The idea of an RSS syndicated newspaper came to me when I was subscribing to a morning newspaper last year. I hadn't had a morning paper for years then, so it was all a bit new to me. I really enjoyed to have access to news hot off the press, which I could read without having to stare into the computer monitor; for example in the comfort of my bed, sofa, or while traveling. But there were two things I strongly disliked about it: the monthly subscription was fairly expensive and I didn't really care for a majority of the content in the newspaper. The competing newspaper had a few sections that I would much rather read, but I couldn't afford to spend my time reading more than one morning newspaper. I knew that there were better ways out there for accessing relevant news in a comfortable way. I just needed to find them. Content is king. There are no two ways about it. When peopl

Microsoft CodePlex

A few days ago Microsoft officially launched their open-source project hosting web site CodePlex . It is great to see Microsoft finally embracing and supporting the open-source community with an initiative like this. Like all web launches these days CodePlex is a work in progress, and even though the functionality is still a little thin, I see great projects coming out of it very soon. What makes CodePlex stand out compared to the established player, Sourceforge , is the user interface and user friendliness. Sure, it is limited to .NET projects but isn't that what we all are passionate about? FeedJournal will not be hosted on CodePlex, but I will definitely consider submitting other projects of mine there, or joining something interesting. The reason I will keep FeedJournal off CodePlex is that I plan to take FeedJournal commercial after the publication of the free 1.0 versi

Newspaper Design Algorithm

As I was mentioning in an earlier blog entry , the part of the FeedJournal project which I have been feeling most insecure about is how to design the algorithm for laying out the articles in the newspaper. This is a critical step for a number of reasons: it has to look like a newspaper, it has to read like a newspaper, and it has to be pretty (the output PDF is essentially a part of the FeedJournal GUI). Anyway, I am happy to report that significant progress have been in this area. I developed an algorithm which dynamically creates a newspaper with customizable: number of paragraphs margins paper size font spacing between rows and various article elements I have also implemented support for a headline font size which is a function of the article's importance/size . Together with the mas

SQL Server Strangeness

So I got up at 4:30 today in order to get some serious work done on FeedJournal before going to work or the baby wakes up. Well that was my plan at least. The first part went fine; I got out of bed, went for a short run and showered. By then the baby was awake though so I had to do some multitasking with one arm holding the baby, while the other hacking away at the keyboard. But that's actually much nicer than it sounds. Seriously. Pretty soon I run into problems with my SQL database that has been working flawlessly until now. Whenever I tried to connect to it I was thrown an SqlException: "Failed to generate a user instance of SQL Server due to a failure in starting the process for the user instance. The connection will be closed." At first I thought it was due to an incorrect connection string but everything seemed fine and the database was in the right location.

NP-Complete

I have been sick with the flu for the last week and still don't feel so great. For this reason the programming hasn't really proceeded as I expected. However, I have been doing a lot of thinking in my head about the database and class designs. As soon as I feel better I will work on laying out the PDF newspaper dynamically, which I realize will be a tough nut to crack. Basically the problem is related to the classic computer science problem of bin packing, which is NP-complete. NP-complete is a computer science term, standing for "non-determinis tic polynomial time". It basically means that there is no simple solution to the problem. My approach will be to take some shortcuts and make compromises so that the layout will be acceptable from a design viewpoint, while not digging myself into a hole with a too complex layout algorithm In the meantime, while w

.NET multithreading

FeedJournal , like any RSS aggregator, needs to be efficient when it is updating the list of subscribed feeds. It is obvious that a sequential polling of feeds (check each feed and proceed to the next after finishing with the previous) will be sub-optimal in terms of performance and user experience. The internet requests will need to occur in parallel for optimal performance. However, if your feed subscription list contains more than a trivial amount of feeds, you don't want to congest your Internet line with all of these request at the same time. IE7's RSS infrastructure calls this throttling, and it limits the number of concurrent web requests to 4. I don't see a reason to differ from this approach and implemented the same system. One of the great things about .NET 2.0 is the easy-to-use infrastructure for multithreading and thread synchronization . By just

FontDialog and Font Paths

One of FeedJournal's system requirements is to be able to customize the fonts in the PDF newspaper. Honesty I thought that this would be a piece of cake. But, I run into some problems... In the PDF file you can specify Type 1 and Type 2 fonts. Type 1 are common fonts, such as Courier, Helvetica and Times Roman. Adding these fonts are very straightforward since the PDF format supports them natively. However the difficulties begin when the user should be able to select any font. The Type 2 fonts have to be specified using an absolute path to the font (which can be either TrueType or OpenType). No problem right? Yeah, that's what I said yesterday too. I tried to simply add a FontDialog to my settings form. From the control I wanted to get the selected font's absolute path. No dice... No matter how hard I looked for the suitable property in the .NET's Font c

Project Management with ToDoList

Reading my fellow finalist Douglas Steen's entry about bug tracking tools, I am totally agreeing with him that it would be great to have a lightweight bug-tracking tool built into Express. Sure enough, we have the Task List pane where tasks can be sorted and having a priority but that's not really accomplishing anything substantial. Douglas chose a web-based bug tracking system and he mentioned another web-based system. Hunting the Internet will lead you to yet other web-based systems. Why does 99% of bug-tracking systems have to be run in the browser? I hate the browser: it is less responsive than a native Windows application as well as usually lacking a menu and having quirky keyboard support. Just because a system is multiuser doesn't mean that the browser is the only interface. The large advantage I see of using the browser is that no client softwa

The Feed Format Jungle

I have started the implementation of my project in C# Express Edition, and one of the first things I have stumbled upon is the frustration of having to deal with many different XML feed standards. There are RSS and Atom, each of them with several different sub-versions. But that's not all. We also have a slew of Internet cowboy hackers who don't have any desire at all to follow these standards. In short, RSS/Atom land is a jungle. Time to take out the machete! When researching the options of a suitable machete for the feed jungle, the following 3 caught my attention: Atom.NET + RSS.NET IP*Works Microsoft's RSS library , included in IE7 Rolling my own component based on .NET's XML support Atom.NET + RSS.NET These are two separate open-source libraries, implemented in C# .NET, which enables user

Ode to Visual Studio Express Edition

Using the Visual Studio Express editions to build a software product is a delight. I have been using Visual Studio for years, and can testify to the great quality of Microsoft's development tools. When asked about my favorite application all categories, I always answer VS. With the latest Express editions, Microsoft have outdone themselves again. Beside making the IDE available for free, there are many important new features in this package. My hands-down favorite feature must be the built-in refactoring support. I have been a huge fan of Martin Fowler's landbreaking book "Refactoring" , since its publication in 1999. Since I have been mainly developing in C/C++ during my development career, I have not had the privilege of using any refactoring tool professionally. (refactoring is dependent on reflection support, which is difficult to achieve, if not impossible,

Domain Names

OK, time to return to the blogosphere after my honeyweek with the baby. I have set up a web site at feedjournal.com where all things related to my project will be collected and presented. In the meantime I have put up some basic information together with the project goals. I bought the domain from GoDaddy.com , and it was a very straightforward process. feedjournal.com was actually not my first choice of product/domain name. I was initially having my eyes set on a different name but the .com name was taken. Or rather not taken, but parked, like almost all decent .com domains today. It's pretty frustrating to see that one after the other of all your candidate names are taken, and when you try the more esoteric names you find them taken as well. And then you try the really absurd names, and sure enough, none is available. Not that these domain names are in use, many

I am a Father!

Today, my wife gave birth to a beautiful baby girl weighing in at 3,276g. Both she, and her mother are well. This also answers Kim's question about my sleeping patterns : I count on getting no sleep in the coming months...

Choosing FeedJournal Output Format

When I first started spawning ideas about an RSS reader that would print the articles as a regular newspaper, I had a tough choice to make between output formats . My main options were: HTML with CSS Microsoft Word Adobe's PDF format There are also other document formats (RTF, etc) I considered but quickly rejected. Let's look at each of these formats in order to see how I came to my final decision. The main factor guiding my choice was having the result look professional, with justified multicolumn paragraphs for instance. The thing is that I would love to be creating an HTML page with CSS styling because of the portability. Basically the full published issue would be contained in one HTML page (with a few hyperlinked image files). This package would open on any computer with a decent web browser. Also, page br

FeedJournal.com

As I have mentioned on the blog before, the big project I am working on right now is a feed aggregator in the form of a paper newspaper. This application is currently being developed using the .NET 2.0 framework. By using this development environment I automatically qualified to enter Microsoft's $10,000 Made In Express Contest where the idea was picked along with 11 other finalists. I have previously used the name "RSS Star" for the project, but from now on the name will be FeedJournal. Information about this project is available at www.feedjournal .com - and as part of Microsoft's contest I will also be blogging at http://spaces.m sn.com/madeinex press6