comments edit

Wired Magazine May 2004 I just finished reading an essay in the latest edition of Wired by Gary Wolf entitled “The Return Of Push!” discussing whether or not RSS will realize his prediction made seven years ago. His prediction in Wired 5.03 was that web browsers were about to become obsolete due to push technologies such as PointCast.

Instead, browsers flourished while PointCast whithered. In the essay, he mentions a point that Meg Hourihan, cofounder of Pyra Labs (think Blogger), makes that RSS depends on a “polling” system which she feels is inadequate.

Can you imagine 1 million news readers all checking 300-plus sites every 15 minutes? Or even every hour? It’s no horribly inneficient.

She hopes to see some sort of peer-to-peer solution.

At the moment (and perhaps due to ignorance), I’m skeptical that this is a serious problem for several reasons: 1. It is unlikely that these millions of aggregators will all hit the same site at the same time. The traffic patterns are more predictable and steady than what one sees when a news story breaks on a news site. 2. Many RSS aggregators such as RSS Bandit and web sites implement conditional GET requests so that new content is only downloaded when there’s something new to get. 3. The actual RSS feed is something that is very static in the sense that it is updated rarely and there’s no need to dynamically personalize the content (in general). Thus, it is possible for blogging tools to generate a static RSS file after updates. Static files are served quite efficiently by a web server.

Having said that, the idea of merging P2P with something like RSS Bandit is intriguing. I’m about to throw out some crazy ideas here. The good ones are the result of my evil genius, and the bad ones are due to the muscle relaxants I’m on and the late hour.

If the polling system truly becomes inefficient, perhaps a technology like BitTorrent can be incorporated. In such a situation, I wouldn’t necessarily get feed updates from the source, but rather get it from a P2P network.

In terms of improving the social networking aspects, how about tighter integration with blogging tools. For example, in a very narcissistic fashion, I subscribe to my own feed. Suppose I could configure RSS Bandit with my user name and password to my .TEXT blog so that when someone posts a comment on my blog via RSS Bandit, our aggregators would make a P2P connection and the comment would appear as an IM within RSS Bandit (or MSN Messenger… who knows?). Then I could reply to the comment immediately and the ensuing conversation might appear in the comments section of the blog.

Perhaps when I first get online, RSS Bandit would give my own blog special treatment so that I can automatically see all new comments on my own blog.

comments edit

BooBoo

AP - Wildlife experts were stunned this week to see an eagle attack and carry off a bear cub in view of its mother. The Norwegian Institute for Nature Research said it had not been able to find any other such attack documented anywhere.

Yogi Bear[Via Yahoo! News - Oddly Enough]\

Memorial services for young BooBoo will be held tomorrow 10AM at the ranger station despite the fact that his body has yet to be recovered.

Yogi Bear was visibly distraught at this unfortunate turn of events. “Hey Boo Boo! Where are you?!” he was heard to say as he stole yet another picnic basket to console himself. Despite his shaken state, he will attend the memorial services.

comments edit

With Visual Studio.NET 2005 and on, you can now reference an exe assembly just fine.

Can you reference an exe assembly? If you answer yes, you are correct. If you answer no, you may also be correct. It depends on which tool you are using. It turns out that VS.NET will not let you reference an exe assembly. However, you can reference an exe via the C# compiler using the /r switch.

This is quite problematic for me as I᾿m a firm believer in the benefits of test-driven development with unit tests (my tool of choice is NUnit). I like to have my unit tests in a separate class library from the code I᾿m testing, and have my UnitTest assembly reference the code I᾿m testing.

However, if I᾿m working on an exe, VS.NET won᾿t let me reference the exe. Thus, I either have to add my unit test fixtures to the exe and have the exe project reference the NUnit class libraries (which I am loathe to do), or move as much of the logic of the exe into an extraneous class library just so I can unit test it. Of course there is a third option which is to use Visual Notepad and the csc command line, but I᾿d lose a lot of productivity that way. Hopefully this is fixed in Whidbey.

For more info on test-driven development in C#, check out this MSDN article.

comments edit

If you read my blog in an aggregator, you probably haven’t noticed the little advertisements at the top of the page. These ads are served from Google as part of their AdSense program and require a bit of javascript to display (hence they do not show up in individual blog postings as I intended).

I put them there mainly as a whim since a) It’s free and b) someday when I’m destitute but read by millions, these ads will put food on the table. Admittedly, I am not giving up my day job banking that “b” will happen. However, my wife just informed me that she just noticed the ads them and has been clicking on them all day. :D I let her know that Google probably tracks cookies so that clicking on them repeatedly won’t make us rich, but I appreciate the intent. She’s always looking out for me. A truly lovely person.

comments edit

File this one in the “I told you so” category.

“This shows the increase in the past 20 years is almost exclusively carbohydrates and certainly corn syrup consumption has increased dramatically.” \ \ Gross said he was not “picking on the corn syrup industry,” but added, “It is hard to ignore the fact that 20 percent of our carbohydrates are coming from corn syrup – 10 percent of our total calories.”

[Via Boing Boing]

comments edit

Geek Life During our internet access drought after moving into our new place, I would check my wife’s email for her at work. Since I had access to her account, I thought I would add my RSS feed to her “My Yahoo” page so that my headlines appear. She thought it was neat, but then complained that my content is pure geek.

Therefore, this entry is authoritatively non-geek. I wont mention the fun I had this weekend generating a class from an XML schema using XSD.exe. Nor will I mention the fun I had playing around with XML Serialization in .NET.

Rather, I will mention that I did play soccer on Saturday while my lovely wife was off to class. We played for two and a half hours and I could barely walk afterwards. It was a nice game in which I scored none, but hit the post three times. That evening, we had an esteemed overnight guest, Maria Estella (whom we call Maria of the Stars despite the fact that estrella is star, not estella. But I digress). My wife cooked up a delicious grilled chicken salad. We rented “The Haunted Mansion” (for lack of better options) and had a good time drinking Boba at Lollicup. My favorite flavor is Sesame Boba. You really must try it.

On Sunday I settled down to watch the Lakers play. It’s amazing how fit and energetic Karl Malone is at 40. I have a newfound respect for this guy. Afterwards I worked on RSS Bandit a bit and watched Alias with my wife. We finally figured out the problem with the HD set-top box so we finally are receiving High Definition television. It’s great!

comments edit

Rate This Content Screen Shot\ Scott Mitchell writes about a neat feature he created for .TEXT in this article and this follow up article. Basically, it adds a “Rate This Content” control to each blog entry much like MSDN has for each of its articles. This allows you to let the author know just how much you love or hate the article, and hopefully provides some constructive (or if not constructive, at least humorous) criticism.

I’d love to take this one step further. Currently, when a blog supports one the CommentAPI, RSS Bandit allows you to comment on a post via a “Post Reply” context menu item. It’d be neat to create a “Rate This Item” API so that aggregators can allow users to rate a blog entry if the blog supports a ratings system. What do you think?

comments edit

BurningManUnfortunately, my plans for going to Burning Man this year are not to be. However, it looks like Mr. Sells and his wife are going.

For my non-geek friends out there, Chris is a popular Windows expert who has written several books and countless articles on programming for Windows in its many incarnations. He recently joined Microsoft and is now a Content Strategist for the next version of Windows.

I went to Burning Man for the first time two years ago. Trying to describe what it is in words is very difficult. The experience is different for everyone. For me, it felt like being at a circus carnival refugee camp on the planet of Tatooine. Sort of.

In the picture attached to this post, you can see me and my wife hanging around the Mad Max inspired Terror Dome. Every night, this dome would be covered in people while two combatants attached to cords would swing around inside whacking each other with foam padded sticks.

Marquee de Sells: Chris’s insight outlet

comments edit

After reading up on the CommentAPI, if I were to write the RatingAPI, I’d pretty much plagiarize the CommentAPI but only make the following changes:

Remove the title and link elements (they are unnecessary).

Change the html discovery to:

<link rel=”service.rating” type=”text/xml” href=”url goes here” title=”Rating Interface” min=”0” max=”5”/>

Change the new comment element to a rating element:

<wfw:rating xmlns:wfw=”http://wellformedweb.org/RatingAPI/”>\

    <wfw:endpoint>http://bitworking.org/news/ratings/52</wfw:endpoint>\     <wfw:min>1</wfw:min>\     <wfw:max>5</wfw:max>\ </wfw:rating>\

What do you think?

comments edit

C64I was fooling around with building a custom stylesheet for formatting RSS items within RSS Bandit and I created one that tries to emulate the Commodore 64 look and feel. While it is possible to download the exact font used by the 64, I chose not to require a font download and instead chose Terminal. It is close enough and exists on most machines. If you want this style for yourself, download the template here and save it to the following directory (assuming a default installation):

C:\Program Files\RssBandit\templates

If you’re designing your own templates, I have a little tip for you.

  • Grab the XML for an RSS from your cache located at C:\Documents and Settings\PHaack\Application Data\RssBandit\Cache on my computer.
  • Drop it in your templates directory.
  • Open it up in a text editor (such as Notepad) and add the following line just underneath the XML declaration
  • <?xml:stylesheet type="text/xsl" href="PathToYourFormatter.xslt"?>

    Now when you open the XML file in Internet Explorer, it automatically applies the stylesheet to the XML allowing you to quickly test changes to your formatter stylesheet. Note that this will not work if you are using the AppStartupPath or AppUserDataPath variables as these will not be in context.

comments edit

XEarth For you grizzled Unix hacks out there, this might be old news, but I just learned of a really neat tool that I’m sure will appeal to the geophysicist in each of us (or at least Erik).

XEarth for Windows is a neat little application that acts as your desktop image. It displays either a globe, or a flattened representation of earth with the areas that are currently bathed in sunlight lit up, while the areas that are in the midst night are darkened. Not only that, any earthquake of magnitude 4.0 or above is also displayed as a yellow circle. The larger the circle, the larger the earthquake. Check it out.

UPDATE: Los Angeles doesn’t exist in the list of cities - its location is 33.56, -118.24 and you can add that manually.

comments edit

TweekendPulled this classic CD out of the crate for a little funky listening today. It starts off with a robotic funky track in “PHD” and progresses through some ragin’ rock in “Name of the Game” before settling down into a lush soundscape with “Blowout”, my favorite track on the CD.

Though it lacks the commercial appeal of their earlier hit “Vegas”, I tend to favor Tweekend probably because of its lack of overexposure.

comments edit

A friend of mine told me about a deal his company is working on in which an dot com internet company which was valued at around a couple million dollars a few years ago has now reached an agreement to be sold for a couple hundred million. He’s not at liberty to discuss which company (so we can buy up its stock), but the company does not deal with rocket science.

It got me thinking that it’s time I start throwing ideas around with some of my brightest friends and come up with a business idea that will be easy to implement, and if not make us millionaires, provide us with a steady income and nice place to work. Here’s what we came up with…

business plan

comments edit

Soccer Ball I once scored even faster than this… oh wait, we’re talking soccer here.

This must have been a nice shot off the kickoff. In college we once had a friendly scrimmage with the women’s team. To help even things up, our coach (who played professionally) played on the women’s side. In order to humble our loudmouth goalie during after we had scored, took a tap off the kickoff and sailed it into the net over his head. I didn’t time it, but I imagine it was close to 2.5 seconds.

AP - An amateur soccer player who scored 2 1/2 seconds into a game earlier this month was credited with the world’s fastest goal by the England Football Association on Tuesday.

[Via Yahoo! News - Oddly Enough]

comments edit

Back in the day, amidst all the stupidity prevalent on the web, there was one site that dared to raise the banner and take the stupidity one step higher. That site was, my friends, lostyouth.com.

LostYouth is now defunct due to a corporate scandal involving its founder who cooked the books like a ragin’ cajun and squandered the money snorting blow of the backs of midget strippers.

However, rising from the ashes like a city in Arizona, lost youth is back! (Though now it is hosted at a free hosting site. This makes sense if you were paying attention because the guy squandered all his money.) Ladies and Gentlemen, I present to you, the return of LostYouth.

comments edit

“Unfortunately, the regular expression language is no different from any other in that it has various dialects and accents” – Masting Regular Expressions, Jeffrey E. F. Friedl

So I know this is basically the geek equivalent to those cheesy email surveys that go around asking you to answer a bunch of questions about yourself and then send the questionnaire and your answers to all your friends, but I have to participate anyways. I found this meme going in a blog entry that asks you to do the following:

Grab the nearest book. Open the book to page 23. Find the fifth sentence. Post the text of the sentence in your journal along with these instructions.

So there you go. I admit, I don’t have every arcane rule of regular expressions in my head. I often refer to the \^(1+)$ times a day. It is truly the [A-Za-z] of regular expressions.

code comments edit

In an earlier blog entry, I asked the question if it made sense to add code in a debug version of the TimedLock class (written by Ian Griffiths in this post and commented on by Eric Gunnerson in this post) to store the stack trace when acquiring a lock on an object so that if another thread blocks an attempt to acquire a TimedLock, we can discover the StackTrace of the blocking thread.

Well I stopped asking questions and started writing answers. I update the TimedLock class with stack trace tracking and also wrote an NUnit test that demonstrates the fact that we can identify the stack trace. Check out the source code in the TimedLock repository.

Please keep in mind, this is meant to be a DEBUG version. In order to store the stack trace, I place it and the object being locked into a static hash table. In doing so, I acquire a lock on the hash table which can hinder overall concurrency as it is a static member. Hopefully, this will still be useful for tracking a pesky deadlock issue. I haven’t done any serious analysis or testing yet, so I welcome your comments if I’m way off base.