| Profiel van KeithKeith's BlogFoto'sWeblogLijsten | Help |
|
|
22 augustus Previous trackback post worked... try less manual attempt this time...OK, here we go. I'm providing only a hyperlink to the blog entry and not including a manual trackback entry. This post is about Windows Live Writer. I used it to post a few well formatted entries to my home blog. Looks and works slick. Another trackback test postWhy oh why doesn't this seem to work reliably?... I'm now running CommunityServer 2.1 on my main home blog. I've added a link to the post in my home blog, as well as filled in the manual trackback entry url. Let's see if this generates a proper trackback. 13 februari Refactoring a pet project is therapeutic!Yesterday I spent a couple hours fiddling around with a pet project of mine. Therapeutic refactoring, or “Care and Feeding“, of your pet project I think that every developer needs a long term pet project of some kind. It should provide a developer with a test application that they can try out new technologies, designs, and generally fart around with. Here are some general guidelines to picking an appropriate project:
A little about my pet project... The project is something that I started to learn more about Microsoft SQL Full Text Search capabilities. To really play with something like this you need something pretty big to search and check out the results on. I didn't really have piles of text just lying around I could import into a database, so I was on a search for a way to get something useful, that's text based, into SQL... I do some surfing looking for the latest in tech news all the time, and the process of visiting each of 20 or more favourite sites and scanning the headlines for anything new, just seemed inefficient. I thought, what if I could scan all the sites automatically, retrieve their content, and store it in a database, categorize it using the content, and then I could query the database to present a summary of the findings? That'd save me from having to manually visit each of the 20 or so sites! Better yet, if I was looking for something in particular, I could use the full text search capability to find articles matching my search criteria... By golly, I thought I was on to something. At the time, RSS feeds were only just beginning to be used by a few mainstream sites, but there were other websites such as Moreover.com that were providing RSS feeds by scraping mainstream sites that didn't already have RSS feeds, and summarizing them. RSS feeds are a standardized way to present lists of textual content with a title, link, and an optional summary. For sites providing RSS services for their content, I could build an application that would periodically grab the list of published articles, and gather them for searching.
This project was useful to me in that it gave me a real-life problem to solve, and I had the tools to solve it. It made it possible to experiment with solutions involving:
What I've built is a web page that displays the latest available web articles. You can choose a particular topic, how recent you want to limit your listed items, and how many items to retrieve. Since the page also automatically refreshes after 3min (by default) you can also opt to not show already displayed items. You can also use an RSS reader and hit the data behind the page using this url: http://www.geeqs.net/newslinks.net/rss/rss.aspx. Have a look at the XML comments in the returned document for instructions on how to customize what's returned by the RSS query. You now have a one-stop-shop for almost 200 major web sites, organized by topic and refreshed. What I did during my most recent refactor... Originally I had a thread class that is a gathererprocess that was responsible for opening a connection to the database, and retreivinga list of news channels (sites) and their respective news items. Within this gathererprocess was included code to handle parsing of RDF, RSS, and KlipFood feeds. I had classes before that defined a NewsChannel and a NewsItem, but no logic was n these classes, only data. I've now moved the RSS parsing into the channel class, and a channel now has a collection of NewsItems that will be populated when the RSS document is parsed. In addition to this cleanup of code, I've included support for Atom feeds in the NewsChannel class. After the refactor of code, this was made much simpler. It will also make future additions of different types of feeds (or quirky feeds that don't strictly follow RSS, RDF, or Atom like KlipFood) much easier. |
|
|