Skip to main content

Posts

Showing posts from July, 2006

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