Monday, January 10, 2005
DasBlog and DotText coexist?

During lunch I started thinking a little bit about how I would roll this over.  One thing that came to mind, is, could I make the two co-exist in 1 web site?  The main reason I would like to do that is I would love to keep my blog at blog.iceglue.com, and still support both my old links and new ones.

There are a few options I have come up with.  First is take a static snapshot of the .text blog, and keep the permalinks up as static sites.  Possible, and relatively easy, but lose the .text functionality. 

Another idea I had was just to move the new blog to another domain, ie weblogs.iceglue.com, but that solution feels like I am getting beat down by the code. 

Another possibility is having both of them co-exist in the same dir, and just munge the http handlers together so the right urls hit the right codebase.  This seems like the most flexible, but probably the most technically challenging. 

The last idea I had was to move everything over to DasBlog (I will be updating the DotText2DasBlog to handle categories and comments anyway), and then make some http handlers that will redirect the old .text site to the new DasBlog site on a post by post basis.  Actually, this one is probably the most challenging, and probably the best solution. 

Has anyone gone down this road and not taken the easy way out (new hostname).  Any good or bad experiences with any of these ideas?  Anyone have any other ideas?

 



 Sunday, January 09, 2005
Beta dasblog up

Here goes24 starts in 30 minutes so I better wrap this up now. 

Still have some work to do, but it's getting there. 

Code | Random


DotText2DasBlog beta released

I searched for something that would move my DotText over to DasBlog, and didn't see anything handy.  Since I've got the DB here, and theres the DasBlog web service, I was able to throw something together in about 30 minutes to handle it. 

Currently it will move entries only.  No comments, no categories, just entries.  The main reason I want to import my entries is for searching them in DasBlog, so I'm not that worried about the old stuff.  If others seem interested, I might add some more to this though.

Heres a screenshot:

Grab the source code here

[Edit]

There have been a number of updates since this post.  Please follow this link to get the details on the newer releases.  Thanks



DasBlog : Adding page templates for individual pages

As described here, here are the quick and dirty details on how I implemented multiple templates in DasBlog. 

Each page in the DasBlog system inherits from SharedBasePage, which has a virtual method GetPageTemplate.  All of the pages I investigated defered to the base SharedBasePage.GetPageTemplate, which in turn calls GetHomeTemplate. 

Being as all these methods are there, I either assume there are parts of the framework that actually already dynamicly load templates, or there were plans to add these features in the future.  This being the case, I wanted my implementation to touch as few places as possible so I can yank it out if I need to. 

To quickly implement this, I added some code to the GetHomeTemplate method in the SharedBasePage that will :
1) Get Current Page Name (ie Permalink.aspx)
2) Attempt to load a template for that page (ir permalink.blogtemplate)
3) return the custom page, or if null return the home template

To accomadate this, I also added an OpenNamedTemplate passthrough method in the themes.cs file.  Once again, these two minor changes now facilitate each page having their own template by simply adding a new template permalink.blogtemplate.

You may ask, why would you want this?  The main reason is to try to emulate how MT works when someone clicks an individual link.  So once I had this, I added a new permalink.blogtemplate, and removed the DIV's that handle the right sidebar content.  Easy as cake.  I haven't found another place to use it, but I'm sure I will as I continue to dive into DasBlog.

Complete Change :

In SharedBasePage.cs:newtelligence.DasBlog.Web.Core.SharedBasePage (CHANGE)

  /* [DynamicPageTemplates]
   * Changed to allow dynamic templates.  Will parse out the page name, and attempt to
   * load a template based on that name.  If it finds one, it will use it, otherwise
   * will drop back to home template. ajj 1.7.04 [/DynamicPageTemplates]
   */
  public virtual string GetHomeTemplate(string path)
  {
   string templateString="";
   string localPath = this.Request.Url.LocalPath;
   string pageName = localPath.Substring(localPath.LastIndexOf(@"/") + 1 ,localPath.Length - (localPath.LastIndexOf(@"/") + 1)).Replace(".aspx",string.Empty);
   using ( TextReader sr = Theme.OpenNamedTemplate(path,CategoryName,pageName) )
   {
    if (sr != null)
    {
     templateString = sr.ReadToEnd();

    }
   }
   if (templateString == string.Empty)
   {
    using ( TextReader sr = Theme.OpenHomeTemplate(path, CategoryName ) )
    {
     templateString = sr.ReadToEnd();
    }
   }
   return templateString;
  }

In Themes.cs:newtelligence.DasBlog.Web.Core.Theme (NEW CODE)

  /* [DynamicPageTemplates]
   * Added this method to load a named template to allow a page to load
   * any template ajj 1/7/05 [/DynamicPageTemplates]
   */
  public TextReader OpenNamedTemplate(string basePath, string categoryName, string templateName)
  {
   TextReader templateReader = OpenTemplate(templateName,basePath,categoryName);
   if (templateReader == null)
   {
    return null;
   }
   return templateReader;
  }

 



Blog rollover delayed

I'm going to put off rolling over the blog for a little bit.  This is mainly since I doubt I will be moving forward with movabletype.  MT is a fantastic product, but I just had a bad feeling about introducing ActivePerl and MySql into my environment.  Since I host my own blog, I had this feeling of void not knowing what was going on inside the blog.  I also had no idea even how to backup and restore mysql, let alone administer is.  So in the end MT it was fun, but I have to say goodbye.

The problem is I really like how MT works.  It's template engine is fantastically simple yet capable, and I also really like the out of the box end user experience with MT.  Based on my experience adding podcasting to .Text, I knew modifying .Text to do what I was looking for would be out of the question. 

Enter DasBlog.

Not knowing what to expect, I grabbed the latest source off of GDN for DasBlog, and started up with that.  I had originally passed on DasBlog because of it's lack of SqlServer support, but then figured I don't get anywhere NEAR the traffic of say a Scott Hanselman, so I'm sure I will be ok without Sql Server.

I was up and going with DasBlog in about 20 minutes, and started diving into it right away.  The first thing I noticed is it had somewhat of a template system, using the .blogtemplate files as a partial direction on how to render pages.  Not quite like MT template, but still quite usable.  I quickly modified the source and added support for multiple templates (separate post on that), and suddenly DasBlog was looking damn good.  Within an hour of installing it I was able to setup a basic blog, AND modify the source to support multiple templates. 

I started doing a bit more research on DasBlog, and ended up spending a good portion of the weekend working on a replacement for the MT blog I just finished.  I think DasBlog will be a keeper.  I was able to move all of the HTML and stylesheets over in a couple hours, and although there are some features not in DasBlog yet, the newest source off SourceForge includes enclosure support.  Nice.  It also looks like development has picked up on it greatly in the past few months.  Even better.

I should have a public dasblog no later then Tuesday, and hopefully move over either next week or weekend.  Also, anyone know any .Text -> DasBlog converters?  I'm sure it will be pretty simple since I can get to my .Text DB and DasBlog has web services into it, so if I can't find any I'll post some details here.

 



 Wednesday, January 05, 2005
Blog rollover this weekend

This weekend I plan on moving the blog over to the new blog.  I hope things go smooth, but there may be some difficulties getting here over the weekend. 

Currently my plans are to snag my entire blog into static html so I can preserve my old links, and then move the host header in iis.  I thought about trying to make .text and MT coexist, but decided not to even try that since I didn't see much value in it.  The feed url will stay the same, although there will be a new feed that will have enclosures. 

After some thought, I've also decided to ad some google adsense to my blog.  I debated about this for a bit, but decided to try it out.  The ads will be at the bottom of the pages, blended into the new design.  I think it's very unobtrusive, but might generate at least some revenue for server expenses.  (read: I want a new server since this celery900 can't do much more then what it does  :)

The new blog also has my del.icio.us feed on the sidebar.  I have been using this site for a week or two and so far it's fantastic.  I've tried a few ways of centralizing bookmarks, but this is by far the most versitile tool I have tried.  The social aspect of the bookmarks has already taken me down a few interesting trails, so I think I'm going to find all kinds of value in del.icio.us. 



 Sunday, January 02, 2005
New year new blog

First off, I’d like to say Happy Holidays to all, and I hope everyone had a great new year.  Back to work tomorrow, bah.  Oh well. 

I was actually on vacation this week, and it has been wonderful.  Not only did I get to spend alot of time with my family, but I got a decent amount of time to play with my new toy, and work with my blog a bit.  More on that in a minute.

First on my new toy.  All I wanted for Christmas was an MP3 player.  I was burning just a ton of CD’s (to the tune of 7–8 per week) listening to podcasts, and it gets pretty annoying.  Now, I have a ton of podcasts loaded for some archiving and Nimiq out working making sure I am up to date.  Yay, now I’m on top of podcasting. 

Speaking of podcasting, I was going to do a post on predictions and goals for the new year and all that, but I was too busy working on them to talk about them.  I hope to go into more detail on some of my thoughts on the upcoming year in the next week or two, but if I don’t get to it I at least wanted to say podcasting will be huge.  This year, I think podcasting will make huge strides.  I think next year is the year my mom asks me about podcasting, but this year I think alot of the geeks that aren’t yet on board will be. 

Back to the MP3 player for a second.  If you are in the market, I would highly suggest you take a look at the h320.  I plan on posting more about that too, but this thing rocks.  And, with a little firmware upgrade, you even get video.  All for around 250$.  Sweet.

I did alot of thinking about digital media, and content delivery this week, and have some thoughts that are coming together.  I had been wanting to do _something_ with the blog, but wasn’t sure what.  I knew it had to involve podcasting, though, so the first thing that came to mind was to modify this blog to do what I wanted.  Thanks to this tutorial, I was able to add podcasting to .text in just a matter of a few hours.  As I started to dig more into .text, though, I realized alot of the things I wanted to do were going to be difficult, so I decided it might be time to switch platforms.

After some buy/build decisions of my own, I decided to start playing with Movable Type.  So, after installing a few things, I had a test blog up and going.  In a matter of about 30 minutes I had some podcasting support, and by then I was hooked.  So, sometime in the near future there will be a pretty big change to the blog. 

With the cosmetic update, I would also like to make a bit of a philosophical change.  I want to post more, more original useful content, and more personal bullshit.  Along with this, I hope to provide some audio content soon, but you’ll have to wait on details for that.  I think you might like it though.  In the meantime, you can at least see a beta of the new blog.  This is a beta, broken links all over, feeds not right, the url isn’t even final.  Check it out, but don’t change your subscription yet.

Code | Random


 Saturday, December 18, 2004
Trillian 3 released

Installing the beta was on my list for this weekend, but looks like the folks over at Cerulean Studios are ahead of me.  Last night, they released some final bits for trillian.  Very cool. 

If you don’t use Trillian you should at least look at it.  It is a fantastic program that combines all of the popular IM clients into one, and does it exceptionally well.  I have been using it for years now, and could never go back.  The new version adds quite a few features based on the product tour, so I’m pretty siked. 

Ear candy: The Cosbys - aly-ellen-izumi-paula-rachel-s



 Friday, December 17, 2004
NFL be DAMNED

I’m a big fan of football.  There’s nothing I would rather do on a Sunday then sit around and watch football for like 9 hours.   Of course that never happens, but thats another story.  Oh, and GO COWBOYS!

Back to the topic at hand.  I found out a couple nights ago from a friend that NFL sold it’s video gaming soul to EA.  EA’s intentions are obvious, and I can’t fault them for trying.  The NFL, on the other hand, what the fuck are you doing?  I can not believe that you would agree to this, and just snub all of the other game developers who have worked hard building, and marketing their games, which in turn markets your brand. 

I’m disappointed to say the least.  Congrats EA, great move for you I suppose.  Although my guess is next year I’ll be playing with the Ft Worth Cowmen with players like Julius James just so I don’t support this move.

Boo hiss.

Ear candy: The Roots - Sacrifice (Feat Nelly Furtado)



 Thursday, December 16, 2004
XML Config file pre-processing

Saw this over on Loren Halvorson’s blog.  How timely, too.  Deployed to a test server yesterday, and then everyone is yelling and screaming that this or that doesn’t work.  Well, it all stemmed form the fact of how we were handling the different config files.  This seems like an ideal solution, 1 config file that renders itself appropriately for each environment.  I’ll need to see how this can fit into Nant.  Hopefully in the next couple days too, don’t want that to happen again.  Either way, check it out here

Ear candy: Soul Coughing - Pensacola



 Wednesday, December 15, 2004
Caching the results of a method

Sometimes caching at the UI isn’t always ideal.  Of course you always try to cache in the presentation layer, but sometimes I’ve been left with the feeling that I wish I could cache lower down the call chain.  Here is a post from Peli’s blog about doing just that, and wanted to post about it so I don’t lose the link  :)

You do have the overheard of a ContextBound object, so caching fast methods may even degrade performance, but for that highly intensive method that may be called from 5 different ui’s within the next 3 minutes, this may be an ideal solution. 

Ear candy: Method Man And Redman - 1212



 Monday, December 13, 2004
MSN toolbar suite? Not on 2k3! Bah!

Bah.  More and more people are using 2k3 as a workstation.  Although not it’s intended use, it certainly works, and offers additional functionality to the advanced user (read developer).  I got the idea after seeing some MSCS (Microsoft Consulting Services) consultants used it for development.  They did not give me a recommendation to do it, I just thought it was a great idea. 

Now what I don’t understand, is why cripple where the toolbar suite can be installed.  I can understand the reasoning for an AV company, but not a product like this.  Maybe there is a technical reason way in the bowels of 2k3, but I really doubt it.  It’s still NTFS, and my mail is in the same OST/PST it would be on XP.  Bah

I’m hoping this is adjusted in subsequent releases, or someone find a hack.  I don’t see a business reason to not allow it on a 2k3 server, and highly doubt its a technical reason.

Anyway, no msn toolbar for me.  Good thing I uninstalled the google one first huh?  :)

 

Ear candy: The Doors - Ghost song

[Edit]

Man blogs are great.  Within 5 minutes of my complaining, I find this, which may or may not work for the installer, but at least worth a shot.  Updates will be coming.

[Edit2]

Found the answer here.  Just finished the install.



MSN Desktop Toolbar (aka MSN Desktop Search)

All the rumors were correct.  MSN has released their own desktop search agent.  I’m downloading as I type.

This is good since last week I was just complaining about the google one.  Not that its a web server, not that it’s on my google home page, but just that I didn’t find everything.  I would search outlook for “xxx” domain term, and find at least 50 emails.  The same search in google, although 100x faster, would return 12.  Not quite sure why, didn’t look into, just frustrating.

So either way, I’ll be at least trying out the msn offering.  And news over the weekend shows Yahoo coming to the plate soon too.  Lots of competition firing up. 

Check out the MSN toolbar here

Ear candy: Coldplay - Don't Panic



 Friday, December 10, 2004
Google's intellisense

From scoble, Google has released a beta of an autocomplete search box.  I type in asp. and it knows asp.net.  Not really helpful in itself, but it also shows the number of documents matching the term.  Very cool.  Check it out here.

 

Ear candy: Jay Z - Change Clothes and Go



 Thursday, December 09, 2004
My criminal life

As you can see, I wasn't a very good crook.

Priceless

No, thats not really me, but classic either way.

 

Ear candy: Sublime - Hope



 Wednesday, December 08, 2004
Code Camp 3 Announced

I was at the last one, and I’ll be at the next one.  Great technical content, free stuff, and best of all, free.  Check out the details here

Ear candy: qtip - qtip - Moving With U



 Tuesday, December 07, 2004
Easy popup of cookies in IE

Another dev here showed me this cool trick where if you enter javascript:alert(document.cookie); in your address bar it will show your cookies.  So I quickly added a shortcut to my links bar and now I'm 2 clicks away from seeing my cookies on any page.  Very easy and cool.

Admin | Code | Random


 Monday, December 06, 2004
Have eyes? Get the DNR movie

I've been anxiously awaiting word that the DNR crew had released their movie, and hot damn it's here.  Tried to order it Sat but my wallet was all the way in the office with my CC, but I was in the living room.  Good thing they are taking Paypal now so I don't have to stand up to buy it.

Why are you still reading this? Go order it!

Code | Random