RossCode Weekly #006

posted on 2005-06-27 at 00:04:56 by Joel Ross

First, the biggest news of the week came out of Gnomedex, as I expected it would. RSS will be a central feature of Longhorn, and IE 7 will have extensive support for feed subscriptions. To be honest, I figured IE would have a built-in aggregator, but what was revealed was much deeper than that. Longhorn will have a central store for feeds and make those available to any aggregator - so at least now, Microsoft is not in the aggregator business, but that's not to say they won't be eventually. A side effect that's not really being mentioned a whole lot: Microsoft demoed IE 7 for the first time.

Also, Microsoft announced an extension to RSS to support ordered lists. I guess this would be the first time that "Embrace and Extend" is an acceptable practice, huh? Microsoft now embraces RSS, and they've extended it - even updating the spec based on (almost immediate) feedback from the community.

More from Gnomedex. Before the big Microsoft announcement, two things came out of it. First, Newsgator announced they're releasing FeedStation in a beta that will work with Newsgator Online. Feedstation is a podcatcher that previously only worked with FeedDemon. Since they recently bought FeedDemon from Nick Bradbury, it only makes sense that FeedStation will integrate with their offerings. Still, it's one of the first podcatchers I've seen that works with an online aggregator.

One other announcement. Audible will provide secure RSS feeds for people subscribed to periodic content.

The new Technorati site is live, and looks pretty good. One thing that's pretty cool: - hacking the URL is very easy now! This'll do a search for this site.

MSN Local Search was released in beta. Now the "Pizza in Redmond" mystery is solved. It's apparently not available everywhere, but it was available here in Spring Lake, so it seems to be pretty far along in adding locations.

eBay launches a new developer community site. I'm not sure what'll come out of there, but any resource for developers is worth highlighting.

Odeo is launching this week, via invite only. I got my invite, but I haven't explored a whole lot. Odeo is a service for creating and listening to blogs. Interesting that this is the second online aggregator that offers a stand-alone podcatcher, via Syncr. And they both were announced in the same week.

Microsoft's BitTorrent killer? Not exactly. Avalanche is a concept described in a Microsoft whitepaper about how to solve many of the problems that Bittorrent was designed to solve, and a few more.

Microsoft updates it Anti-spyware software. It's not a new beta - it's still beta 1, but they did extend the expiration deadline from July until December.

Project Aardvark was revealed this week. Project Aardvark is the latest software product coming from Joel Spolsky, founder of Fog Creek and author of a very popular blog. Oddly, the people at Project Aardvark are going on  as if it wasn't revealed.

Overall, it was a good week for news. And I'm all caught up on my feeds, so I think I caught the major items!

Categories: RossCode Weekly


Now What?

posted on 2005-06-25 at 00:45:10 by Joel Ross

I'm sitting here with no unread blog posts, no unread email, and no podcasts to listen to.

Now what?

Categories: Personal


Microsoft's RSS Announcement

posted on 2005-06-25 at 00:20:10 by Joel Ross

First, the news: At Gnomedex today, Microsoft is going to add an extension to RSS to support ordered lists, and Longhorn is going to be built with integrated RSS support.. The extension is released under a Creative Commons license (similar to the one I use for my content). This is similar to what Yahoo did with the Media RSS.

I watched the Channel 9 video, and the support in Longhorn is tremendous, but that's not the point of this post.

It's amazing how fast people jump on the Anti-Microsoft bandwagon. Slashdot has a post already about it, and, ignoring that the content of the post has an anti-MS spin, one of the comments got me. Not the comment itself ("Repeat after me 'embrace and extend'"), but the fact that it's moderated to a "+5, Insightful". Real insightful. I think I read that comment on just about every post about Microsoft for the past 8 years now.

Then there's Nick Finck's post. Not so much his post, but the comments in it. Somehow, extending RSS has turned into MS RSS. Not exactly the same thing, but I guess you don't have to bother with details when you're bashing Microsoft.

Categories: General


Microsoft Sucks

posted on 2005-06-25 at 00:13:58 by Joel Ross

Got your attention, didn't it? Anyway, I read this post by Alex Bosworth, where he knocks Microsoft pretty hard, and some of the knocks are definitely unjustified. The stuff he talks about reminds me of a post I made back in November about a conversation with a vendor who said .NET is dead. It’s not exactly the same, but it's similar.

Sometimes, people's hatred for Microsoft blinds their judgement. For example, Alex says "no one wants to run Windows servers" but that's not what I'm seeing. In March, I helped launch a big site that runs on Windows servers. I've worked with another client who sells warehouse management software, and their latest version will require a Windows server for all of their clients, and everyone they show the software to is very excited about it.

If you provide a good product, people will put the necessary hardware in their datacenter, regardless of what the hardware is.

He mentioned that Microsoft doesn't embrace standards, which I find odd, since today, Microsoft is announcing how they'll be supporting RSS (an open standard), and isn't C# and the whole CLR an open standard? How would Mono be around if it wasn't? And talk to the IE 7 team about how they'll be supporting standards.

AJAX is another thing he touches on - he says it was a Microsoft thing that didn't garner any support until Firefox started supporting it. So, Microsoft is to blame because Firefox/Mozilla is 7 years behind the curve?

I'm not going to respond to every point, because I can't speak to every point, but some of his points are just wrong.

Categories: General


A Change to Switch Statements

posted on 2005-06-25 at 00:06:02 by Joel Ross

I ran into this today, and if it was available, my life would have been easier. Here's the problem I came up against.

Let's say that you have an object that has two properties: color and shape. You need to do something based on the combination of those two properties. Here's how you could do it now:

     1: if(myObject.Shape == Shape.Round) {
     2:     if(myObject.Color == Color.Red) {
     3:         // Do something
     4:     } else if(myObject.Color == Color.Blue) {
     5:         // Do something
     6:     } else if(myObject.Color == Color.Green) {
     7:         // Do something
     8:     }
     9: } else if (myObject.Shape == Shape.Square) {
    10:     if(myObject.Color == Color.Red) {
    11:         // Do something
    12:     } else if(myObject.Color == Color.Blue) {
    13:         // Do something
    14:     } else if(myObject.Color == Color.Green) {
    15:         // Do something
    16:     }
    17: } else if (myObject.Shape == Shape.Triangle) {
    18:     if(myObject.Color == Color.Red) {
    19:         // Do something
    20:     } else if(myObject.Color == Color.Blue) {
    21:         // Do something
    22:     } else if(myObject.Color == Color.Green) {
    23:         // Do something
    24:     }
    25: }

This could also be done with one level of if statements:

     1: if(myObject.Shape == Shape.Round && myObject.Color == Color.Red) {
     2:     // Do something
     3: }

And so on...

Either way, imagine now that switch statements could accept more than one expression. This makes this code much easier to read:

     1: switch(myObject.Shape, myObject.Color){
     2:     case Shape.Round, Color.Red:
     3:         // Do something;
     4:         break;
     5:     case Shape.Round, Color.Blue:
     6:         // Do something;
     7:         break;
     8:     case Shape.Round, Color.Green:
     9:         // Do something;
    10:         break;
    11:     case Shape.Square, Color.Red:
    12:         // Do something;
    13:         break;
    14:     case Shape.Square, Color.Blue:
    15:         // Do something;
    16:         break;
    17:     case Shape.Square, Color.Green:
    18:         // Do something;
    19:         break;
    20:     case Shape.Triangle, Color.Red:
    21:         // Do something;
    22:         break;
    23:     case Shape.Triangle, Color.Blue:
    24:         // Do something;
    25:         break;
    26:     case Shape.Triangle, Color.Green:
    27:         // Do something;
    28:         break;
    29: }

The code isn't that much smaller, but to me, it's much easier to read and see where things are happening. You could even go farther, and have a wildcard operator so you could say that a particular parameter doesn't matter for a particular case. For example, let's say that if the shape is a triangle, you need to do something if it's red, and something else if it's any other color. You could rewrite the last three case statements to be two case statements:

     1:     case Shape.Triangle, Color,Red:
     2:         // Do something
     3:         break;
     4:     case Shape.Triangle, *:
     5:         // Do something
     6:         break;

I haven't thought this completely through, so I may be missing something. I ran into a situation where I have 4 parameters to base off of, and this would have made the coding simpler and easier to understand.

Now, how do you go about getting a change into a language?

Categories: C#


Make Your Own DVR

posted on 2005-06-24 at 01:28:50 by Joel Ross

Make Magazine has a cool article about taking a PC and building your own media center - right down to including a gaming system using N64 controllers and emulators.

One of the cool things I found was the streaming music using SlimServer, although I tried to set it up, and while I could see the streaming going, there was no music. However, I think it would be cool to get one of their devices, and use it to stream music through my receiver, since I don’t have any immediate plans to build a DVR.

Categories: General


Winer vs. Thurott

posted on 2005-06-24 at 01:23:19 by Joel Ross

Dave Winer posted earlier this week about the announcement coming from Microsoft about RSS support in IE 7, even explaining that he had permission to post the information.

Well, Paul Thurott wasn't happy about it, but he's got it wrong from what I can see. He says Dave violated his NDA, which, even according to what Paul quotes, isn't true. And Paul says Dave got his information "through other channels" but I don't see Dave saying that anywhere. In fact, Dave says he got his info from Microsoft's RSS Team.

I'm not sure who's right here, but my guess is Dave that is - and that's mainly because Paul hurts his own credibility with his own quotes. I know there's a lot of "anti-love" for Dave, and some may be justified, but this at least appears to be completely un-called for. Dave's right to call for a retraction.

Categories: General


AJAX.NET Goes Open Source

posted on 2005-06-24 at 01:21:19 by Joel Ross

Somehow I missed this when it first came through the aggregator, but I got it on an update. Anyway, AJAX.Net is now open source and hosted at Sourceforge.

The CMS project I'm pseudo-involved in is using this, and, although I haven't been involved in the implementation of AJAX.NET, we got it up and running in a day - very nice!

Categories: ASP.NET


CruiseControl.NET 0.9.2

posted on 2005-06-24 at 00:55:45 by Joel Ross

No, it's not out yet, but I saw one of the features they added, and I want it now! It supports getting the latest version automatically from Vault instead of relying on a nant script to do so for you. This would be a huge benefit to me right now, because I'm having issues with not being able to do this right now.

Here's why: I am only building one project, and I have multiple projects because I am monitoring a bunch of folders. I only want to rebuild projects that need to be rebuilt if something changes that affects that project.

If I include all of those in one CCNET project, then if anything changes, it calls my build file, and I end up getting the latest of all files, which causes everything to be rebuilt - which takes 10-15 minutes.

By getting the source automatically through CCNET, I can do what I want - have one project, and be confident that only files that changed were updated, and my build will be optimal.

Now, when will 0.9.2 be released?

Categories: General


4Guys Oddity

posted on 2005-06-23 at 00:39:34 by Joel Ross

In case you didn't notice, I follow the new articles on 4GuysFromRolla, and I have for a while now - I found it through a co-worker in '99, back when I was doing ASP work! Anyway, recently, I've been linking to quite a few of the articles there written by Scott Mitchell (who runs the site), as I think he puts out the best articles there.

But one thing has always struck me as odd. I'm currently signed up for their email list, and have been for a while. When I started using an aggregator, I subscribed to the feed. The email has the full text of the article, but the feed only has an intro to the article. I wonder why. Also, I don't even see a way to sign up for the newsletter anymore.

Categories: General


<< 1 ... 70 71 72 73 74 75 76 77 78 79 80 ... 124 >>