Greg Reinacker’s Weblog

Musings on just about everything.

Archive for January, 2003

New Outlook News Aggregator Build

January 6th, 2003 by gregr

Version 0.2 is now ready! Perfect for those folks who refuse to use a 0.1 version of anything. :-) Here’s a rundown of what’s changed:

  • Improved RSS aggregator – removes numerous problems with certain RSS feeds.
  • Tray icon now changes (lightning bolt) when news is being retrieved.
  • Fixed insertion order of posts, so sorting within Outlook behaves as
    expected.
  • GUI is now responsive during news retrieval operations.
  • A retrieval cannot be triggered when a retrieval is already underway;
    this solves some rare duplicate post problems.
  • The check news interval is now saved between sessions.

You can download the application, readme, and release notes here. And as before, please post your experiences!

(previous related posts here, here, and here).

Category: newsgator | 15 Comments »

Outlook News Aggregator Problems Resolved

January 5th, 2003 by gregr

Whew!  Pretty sure we have this one nailed now.  Many of you were getting a problem where messages would download, but only the title would be shown in Outlook – not the message body.

To fix this, you need to install Office XP Service Pack 2, and then install the December 4, 2002 Outlook 2002 Update.  Both can be found on the Office Update siteYou must install both updates.

I have also added a test application here – if you’re having problems, download it, extract it to the same directory as olnews, and run it.  It’s a console application, and it should add a single message to the “Greg Reinacker’s Weblog” folder.  You can use it to make sure the Outlook integration is working correctly.

Thanks for bearing with me here!  This problem was pretty difficult to reproduce – my development machine is up to date with the Outlook updates, so I never saw the problem until you guys brought it up!

Category: newsgator | 7 Comments »

Outlook News Aggregator

January 5th, 2003 by gregr

Good news! Version 0.1 of the Outlook News Aggregator is now available for download. It requires Outlook 2002 (aka Outlook XP). If you run into any problems, please let me know. Thanks for your interest!

A big thanks to Joe Gregorio – the Outlook aggregator currently uses parts of the excellent Aggie as its RSS engine.

UPDATE (1/15): the links in this post have been removed; my logs indicate version 0.1 is still being downloaded. As of today, the current version is 0.6 – you can find more information and download links at the NewsGator site.

Category: newsgator | 17 Comments »

News Aggregator

January 4th, 2003 by gregr

Hmm…

…possibly coming soon to a weblog near you.  Anyone interested in something like this?

Category: newsgator | 21 Comments »

Referrer Logs again

January 3rd, 2003 by gregr

In an effort to deter unscrupulous hackers :-), I have modified the referrer log code to indicate which links either a) could not be followed, or b) could be followed but did not appear to link to the post in question.

At some point in the future I may remove the unverifiable links completely. On the other hand, it’s interesting to see referrers from news aggregators and the like. Anyone have any thoughts about this?

Category: Uncategorized | No Comments »

Improved Referrer Logs

January 2nd, 2003 by gregr

I have reworked the individual page referrer logs to show the title of the referring page where possible, rather than the URL. Here’s a good example.

This page lookup is done asynchronously behind the scenes; so in most cases, the referring page title won’t show up on the initial view, but it will typically be there within a few seconds.

I’d love to hear your feedback…and a big thanks to Les at 0xDECAFBAD for giving me the idea.

Category: Uncategorized | 2 Comments »

Pingback for Radio

January 1st, 2003 by gregr

Simon Fell has built a Pingback client for Radio…very cool! I can attest to the fact that it works. :-) This is great! The more pingback or trackback enabled clients and servers we have, the better for all of us.

Category: Uncategorized | 2 Comments »

TrackBack test post

January 1st, 2003 by gregr

Sorry for the noise…this is a trackback test for Justin.

UPDATE: trackbacks have been disabled for this post. Sorry! 

Category: Uncategorized | 17 Comments »

More on Caching

January 1st, 2003 by gregr

Justin Rudd did some research on a caching product called Coherence. Interesting…I wasn’t aware of any such product.

The part of his post that got me thinking was when he was talking about two different types of caches – “Replicated” and “Distributed” (I actually find the term “distributed” for the second type to be somewhat misleading). I got to thinking about what kinds of data you could safely store in each type of cache.

Justin defines the replicated cache:

A replicated cache is where every web server (or app server) has a cache. Then when an entry is added or removed, a multicast packet is sent out and all the other caches update themselves.

And notes that it suffers from the race conditions and other problems previously mentioned. But what kind of data could we store in this kind of cache? Read-only data, of course…but what about read/write data?

For this type of cache, any data for which outdated data is acceptable would be a candidate. My referrer log data for posts, for example. It’s not going to kill me if this data is slightly out of date. But in many cases, with complex inter-related data, I don’t think it’s always trivial to determine if stale data really is acceptable. In some cases you might have to cache related data as well, so you always have a consistent view of the world (albeit outdated).

The second type of cache, the “distributed” cache, is where there is a central cache server (or cluster of them) between the code and the database. Justin talks here about caching data from multiple tables, or multiple systems, even with data that requires transactional integrity. This cache type seems workable for some scenarios, but the transactional issue is more interesting.

You could only use such a cache for transactional data in the case where the underlying cached data is never updated from another source. If your cache has a stale view of data, then transactional integrity goes right out the window. This rules out many legacy systems, as these systems are typically being updated from legacy sources as well as the new code. And even for the single data source, multiple table case, this implies that all N tables involved are ONLY updated via the cache. This is a pretty tough constraint to put on an architecture.

For the sake of argument, let’s say we’re ok with this, and the cache will be the single source of updates. Then we get into the locking issues. I don’t think you can simply lock a single cache entry – it depends on the underlying data layout. For a single-table cache object, maybe…but the more general case gets complicated. Cases come to mind where locking one cache object might require locks on other cache objects, and figuring out which ones would not be trivial. To avoid having to determine which other (seemingly unrelated to the current operation) objects would need to be locked, one would have to design the objects to the very granular. For example, all updates to a customer would have to go through a single object instance.

So to ensure integrity of our data representation, all updates to customer A must go through cache object A. This is a pretty serious concurrency constraint. What I could end up with is multiple requests from multiple servers, all trying to lock a single object on a single server. This is pretty much the number one killer to scalability…

Most transactional systems I have come across or worked on tend to map objects to verbs, rather than nouns. And verb-objects don’t lend themselves to caching – caching is all about maintaining state, and verb-objects generally don’t maintain state. Especially across transaction boundaries. Thoughts?

Category: Uncategorized | No Comments »