April 2004 Blog Posts
My company won't approve any capital expenses till June. Unless I can convince them to do a delayed expense (I pay now, they reimburse later) I probably won't make it. Boo.
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.
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.[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.
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.
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.
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."
[Via Boing Boing]
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."
You may be the one stuck training this guy to replace you. It's time to fight back with legislation. Support laws banning bananas in the workplace.
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!
Unfortunately, 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
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:
What do you think?
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?
I 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):
If you're designing your own templates, I have a little tip for you.
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.
Pulled 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.
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]
This is the type of research that keeps the head of Ikea rich rich rich...
AP - Austrians love their bedrooms, but seldom make love in them. Malaysians often have sex in their bedrooms, but don't get much sleep there.[Via Yahoo! News - Oddly Enough]
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.
"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.
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...
You've got to see this to believe it.
Tyson the skateboarding bulldog lays down some gnarly moves on the asphalt on his little skateboard.
And we had so much trouble teaching Ozzie (our dog in Alaska) how to take care of his business in the yard, and this dog is about to pull some ollies.
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. Download the source code here.
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.
I've spent the last 3 days trying to get an installation of Windows Server 2003 Enterprise edition onto a Virtual PC machine. I couldn't understand why it took so long until I realized I had accidentally selected the ISO image for the checked debug version. Arggggg!!! How stupid is that!?
Thankfully, the normal release version is installing much faster.
Code Complete by Steve McConnell was the first programming book that had me glued to its pages as one would read a page turner thrilling novel. I couldn't put it down. I still have several scars from the many obstacles I would walk into as I read the book and attempted to carry on my normal business. It's that good!
Simply, Code Complete is the Bible of code construction, i.e. the craft of writing code. Now on the horizon, Code Complete 2 is on pre-sale at Amazon. I can't wait to get my hands on this.
The video is gone. Sorry.
Innovation happens everywhere. http://www.geeklife.com/files/how-to-fold-clothes.wmv.
This is freakin' awesome! Greg Reinacker writes some sample code to generate an RSS feed from the Windows Event Log. This is a simple idea, but very useful for those of us who monitor EVERYTHING via an RSS Aggregator. Event Log Monitoring With RSS.
In a previous post I mentioned that I bought an LCD monitor from some unknow Yahoo store. Well I recieved it yesterday and I can't tell you how happy I am with it. I've never seen such a nice, well built, sharp LCD. It took my eyes a few minutes to adjust as I think they've grown accustomed to blurry text. In any case, the store sells it for $399.00 (includes shipping) which is a steal. Here's the URL http://store.yahoo.com/3btech/deulbysa17fl.html
I liked it so much, I am going to purchase another one. However, I need a graphics card (not too expensive) that supports a dual monitor set up. Any suggestions? Something around the $120 range.
I'm not one to act like an elitist snob and make fun of stupid people. Ok, who am I kidding. I do like to make fun of stupid people. Especially those with no sense of humor. Wired News has this great article about how many people take The Onion as serious news.
For those of you who have never read The Onion, it is a satire site with deadpan news articles that are quite humorous. Apparently however, the satire is lost on people. For example, there's the Chinese reporter, a paragon of journalistic integrity, who plagiarized a news article on the Onion. Then there's the many groups who held prayer vigils after reading an Onion story concerning a Chinese woman who gave birth to septuplets and has one week to choose one to keep and throw the rest off a mountan top.
Looks like four of the women in the Apprentice posed for FHM. They were offered $250,000 to pose for Playboy, but chose to pose for free for FHM instead.
The Pic on Yahoo...
I have a perfect eagle eye view of a car accident that just happened on San Vicente. Looks like a gray SUV slammed into the side of a little red civic or corolla (can't tell from here on the 17th floor). Funny how all these cars are slowly driving around it as it blocks most of the intersection. They just want to get on with their lives. Both passengers walked out of the car and seem to be having a civil conversation about it.
Oh, I can hear the sounds of sirens. Looks like the police and ambulance are showing up to take care of things. That was pretty quick.
DISCLAIMER: When I say Player's handbook, I'm not talking about a "Playa's Handbook". The book I am referencing is absolutely the WRONG thing to read if you want to pick up chicks. I'm already married, so I can bring this stuff out.
So after a long three day weekend of moving, I decided that I needed to geek out to the Dungeons and Dragons Player's Handbook 3rd edition that I borrowed from Micah. I played the second edition rules when I was a kid and have a lot of nostalgia associated with the game. I thought it would be fun to take a look at the new rules.
So far, the theme appears to be simplification. I like the fact that they've simplified the experience point table. Now, instead of each class having a separate table for advancement, everyone uses the same table. Multiclassing is simplified as well. I always thought that certain rules were overly complex. On one hand, that is fun in the "ooh, I like secrets" sort of way. But on the other hand, it led to too many "what fucking die do I roll!?" moments.
We're all moved in to our new place. I took a personal day Monday so that we could put the place together and not have to live in a huge mess. Much love to Dan, Micah, and Matt for helping with the heavy lifting.
The tough thing right now is that we don't have an internet connection yet, though it's been ordered. I'm looking forward to the 3Mbs cable connection from Comcast. In the meanwhile, I was hoping to piggyback onto a wireless connection. Not surprisingly these days, there are two wireless networks in the vicinity. Unfortunately, one is protected by a WEP key, so I'll leave that one alone (though I hear WEP is easy to break). The other is unprotected, but it is up very sporadically. This will be a loooong wait...
I know someone looking to fill a .NET developer position. They're paying around 75K for someone with around 2+ years of experience with ASP.NET, C#, etc... Let me know if you know someone who might be interested.
My man in the field, Koba, found this site with sound bytes from Rumsfield that put him almost in the class of the President himself.
I was recently contacted by a Contractor that I worked with a loooong time ago, Hi Thomas! Funny thing is, he contacted me because he was trying to find information about Reporting Services. My former employer is all over the place when you search on those two terms.
Funny thing is that he works for CyberU now, a company we did some work for years and years ago. I was surprised to hear that they are still around and have a tech staff of 12 developers. I have to give credit to their president for changing directions and making something of the company.
It’s finally official. We are legally, emotionally, officially, proud owners of a townhouse style condo. For you non-LA people, I could buy a 5 bedroom estate in Anchorage, Alaska for what we're paying. Heck, I could buy a 5 bedroom house in Seattle or Portland.
But what that gets us in L.A. is a two bedroom, 2.5 bath 1000 sq ft town house condo.
Koba pointed this one out to me. It's the CIA's Homepage for Kids. Have your budding spykid check out this page and report to the Dept of Homeland Security pronto!
Reuters - A woman in Mexico gave birth to a
healthy baby boy after performing a Caesarian section on
herself with a kitchen knife, doctors said Tuesday.
[Via Yahoo! News - Oddly Enough]
I just read Bruce Eckel's blog entry about embedding unit tests in code. Ideally, he'd like compiler support in programming languages for unit tests.
The resulting syntax produced what seems like an obvious Java solution for the same problem: embed the essence of the unit test code within inline comments in the code for the class to be tested, and then automatically generate the JUnit code - which can then be used without any examination or intervention on the part of the programmer. To make changes, the programmer only needs to change the commented source code, and run the JUnit generator again.
It's an intriguing idea and what I like about it is that these embedded tests have access to test code that you can't otherwise test with an NUnit or JUnit framework such as private member variables and local variables within a method. It allows for very tight testing. Additionally, it places the test code as close to the source code as possible, directly embedded alongside of it. Perhaps a compiler with the highest warning level set would run all the tests and break if a test fails.
There are two things that make me wary of this approach. One, I feel it could muddy up the code a bit. Maybe this is just me being resistant to change, but I like the fact that all my test code is in a separate class library (but part of my solution). When reading the main code, it's just the main code. I don't have to wade through lines and lines of test code (which can easily include many more lines than the code being tested).
The second issue is that unit tests are superb for testing how well factored your classes are. When you write unit tests such that they are another client of your code (without access to your classes' internals), it helps uncover usability issues with your code. If you find that you need access to private members in order to fully test your code, more times than not, it is a sign that your code needs to be refactored. I have no problems with refactoring code to make it easier to test because as I said earlier, unit tests are just another client to your code. If it's easier to unit test, it's probably easier to use for other clients.
Having said that, I realize that having compiler support for unit tests won't necessarily stop anyone from writing unit tests as a client. In fact, it's probably still a good idea despite my two issues with it. However, I'm not convinced it would lead to much better testing unless it was used sparingly.
LSD use is way down in recent years, according to arrest records, hospital records, and surveys with high schoolers. Slate looked into it, and came up with two reasons why. First and foremost, the DEA busted a couple of guys in rural Kansas back in 2000, who supplied 95 percent of the country's acid. The other reason is the breakup of the Grateful Dead.
[Via Boing Boing]
"The LSD market took an earlier blow in 1995, when Grateful Dead frontman Jerry Garcia died and the band stopped touring. For 30 years, Dead tours were essential in keeping many LSD users and dealers connected, a correlation confirmed by the DEA in a divisional field assessment from the mid-'90s. The spring following Garcia's death (the season the MTF surveys are administered), annual LSD use among 12th-graders peaked at 8.8 percent and began their slide. Phish picked up part of the Dead's fan base—and presumably vestiges of the LSD delivery system. At the end of 2000, Phish stopped touring as well, and perhaps not coincidentally, the MTF numbers for LSD began to plummet."Link
I don't know if you caught Saturday Night Live this weekend, but the Donald was hosting. He was a bombastic, self aggrandizing, braggart in true Trump fashion. For some reason, it just works for him.
This was one of the funnier episodes of SNL. I especially loved the skit where Trump plays a janitor and Darryl Hammond plays Trump. The janitor walks into Trump's office and starts bagging on the hair, the decor, everything. Classic.
Also attended a baby shower for my good friends the Perezes. Seems like everyone from my college is churning out the babies. There were two babies at the shower, and three more in the oven. As an activity, we did artwork on onesies. I wrote "Player" on mine.
Went out to celebrate a friend's birthday at La Luna Negra. It's a spanish tapas restaurant in Old Town Pasadena. There were a couple of intense middle aged looking Flamenco dancers. They looked ready to attack and devour each other at any moment as they danced, but not in a sexy sort of way.
If you haven't tried it yet, you should really give Froogle a look. I'm currently looking to buy an LCD monitor and I checked the usual suspects, Pcworld and Tomshardware for reviews, Pricegrabber for prices, but due to lack of inertia, I never thought to try Froogle.
Searching Froogle, I found a Dell Ultrasharp 17" (highest rated by PCWorld) for $399.00 with free shipping. At that price, I think I'll get two. I was intending to get a 19", but since 17" give you the same resolution as a 19" and are much cheaper, I think two 17" beat one 19" in terms of value and productivity.
I'm also in the market for an ergonomic chair, but that could take a lot of research.
Looks like a another company has stolen some of the thunder from Google's announcement offering 1GB of email. Spymac announces in this post that they offer 1GB of email storage with a promise that there will be no adwords or other forms of promotion linked to email content.
Found this on Slashdot. I already am a big fan of Sake, but who knew it was so versatile?
geeber writes "And you thought Sake was only good with Sushi? Well, think again! IEEE Spectrum has an article on how JVC has used sake to enable making speaker ...
Now I'm every bit as much the bleeding heart liberal as the guy to my left, but I have to say that I believe the outcry against offshoring and outsourcing is purely a reactionary response to the current bad economy. I don't believe that opposition to outsourcing is not based in sound economic principal nor is good for the country in the long run.
This coming from a software developer who makes his livelihood on custom software development. However, as jobs start to get created again (they will) I think the furor will die down a bit because everyone will be too busy working.
In the meanwhile, read this article I found from my economist friend Michael Krimm's favorite magazine. He will be quite proud of me.
Microsoft just released the the Microsoft Sql Server 2000 Best Practices Analyzer 1.0. It's basically FxCop for SQL Server. Very cool.
Adam Kinney posts about finding Google phrases that return your site at #1 with more than 100 results.
Because we geeks have nothing better to do and have a deep seated need for the validation that only Google can provide, I checked my referrer logs and came up with the following three phrases.
Also, before you mistakenly read the third option, it's spelled with an "A" not an "E". It's a skit on Dave Chappelle's (a hilarious comedian) show about a white "Harriet and Ozzie" family in the 50s with an unfortunate last name.
Google ego boosting challenge #2, find a search phrase on images.google.com that brings up your picture. A bit tougher...
For the past few months I've been teaching myself Longhorn programming via the PDC bits by building a better Spam filter. Some of the best filters will typically use an approach based on Bayesian probability modeling. For example, in this article Paul Graham discusses an improved algorithm for filtering spam
Although I am currently a software engineer (and manager) by trade, my background is in Mathematics and I'm not entirely satisfied with the current crop of spam filters. I realized that mathematical analysis alone isn't enough. There has to be an "intelligence" factor.
The app I'm working on takes the Bayesian approach, but integrates that with intelligent filtering by taking advantage of the cheap cost of outsourcing and the proliferation of peer-to-peer software (made easier by Indigo I might add). You can see my new spam filter here.
The search company launches Gmail, an e-mail service with so much free storage that users will never have to delete messages, it claims.
[Via CNET News.com]