Monday, September 20, 2004
As if you were snoop

Way off topic, but just way to funny not to blog about it.  Buddy of mine sends me a link to AskSnoop. AskSnoop is a snoop translator.  You can run any url through it.  I spent about 5 minutes laughing my ass off at cnn.com during lunch today.  My blog is pretty funny in snoop too.  Check it here

Also, click on a link once your in my translated blog.  Goes to the custom 404, which is also great fun.



Bloglines

Spent the weekend getting ready for a final sprint here at work (read lots of sleep, kissing my family goodbye, and some more sleep).  Couple tidbits for the blog tho..

First off Bloglines.  I've been using rssbandit for a long time now, and have always loved it.  After reading a few reviews about bloglines out and about, figured I would sign up to see what all the fuss is about.  In my opinion, the fuss is just.  Bloglines offers a very viable replacement for any client based aggregator, and in fact I think I might just be a convert.  The interface is very nice, and FAST (yes, rss, and fast..).  Also, there isn't this time once an hour that my machine spikes to 100% cpu and 100 megs of ram, which is nice.  Plus, I figure I'm doing my part for the rss overload since (I assume) bloglines only stores 1 real copy of any given feed, hence my rss addiction uses less overall bandwidth.  Check out my public profile here.

Been working on a brainchild in what time isn't dedicated to work, or the family.  The dev's I run it by seem very interested, so this may be one of my harebrained idea's that I follow up on.  I hope to have some alpha spec done by mid October, and hopefully an alpha by year's end.  More details after the specs are complete.

Damnit, there was something else I wanted to talk about.  Oh well, it will have to wait. 

 

 



 Thursday, September 16, 2004
Loosley defer a method/interface?

I have been working on a sub-system that is a bit of a service gateway, and ran into an instance where I wish I could have loosely defined an interface.  After going through the design, and review, I had such a pretty picture of how the whole api would work.  As expected, come implementation time, a couple things changed, and a line that I had thought would be abstracted ended up being typed.  No problem.... until I wanted to force consistency in concrete implementations. 

After looking at the design again (read trying to justify the abstraction), I was left with this empty feeling about the api.  The meat of the implementations would be in the concrete classes, but I had no way to control them anymore.  Now you might think that’s not my responsibility, I'm way down here, and up there, well they can do what they want.  Besides my professional responsibility for the whole api, I also felt as if there is justification for loosely defining an interface at this level, and that it could possibly add value.

So, what do I mean?  Consider a big buffet restaurant, with lots of different types of foods.  To cook all of this, there would be a number of cooks, each with skills in the area they are working.  Now, as the manager, I want to tell all of them to cook, but I want different results out of each.  I do have to deal with each one individually, but I want to deal with them all in the same manner.  I may even have to provide each of them different things, but in the end I still communicate with them the same.

Back to my thought. As an API designer, I think there is value in being able to define the fact that a child must implement something, but how you implement it is totally up to you, including the complete signature.  Anyone using this concrete class would need to be typed and couldn't generalize any others like me.

abstract chefBase
{defer Cook()}

public ChineseChef : chefBase
{public Cook : FriedRice}

public ItalianChef : chefBase
{public Cook(sauce) : BakedZiti}

So as a manager, I can tell all of my chefs to cook, no matter which it is.  This allows for consistent communication across my entire framewo…  kitchen. 

So I started to think about it a little more, and there might just be an abstraction point here.  As an owner of a number of restaurants, I could now have a managerBase.  Could the managerBase call chef.Cook? 

My purist mind says no, a managerBase knows way too little about the chef to call an undefined cook.  Then I started to think about the essance of the “defer”ing done above, and thought maybe it could.  A loose contract must be fulfilled by a concrete instance, so a loose requirement for it could be fulfilled by concrete implementation on the other end. 

abstract managerBase
{protected chef;
defer MakeCook(chef.Cook());}

This could allow the two api designers to gaurentee a typed contract with each other, long before having a typed interface.  Some would argue that even though the behaviors are loosely coupled, the api's are now tightly coupled, which might negate some value.  Agreed, but in some instances there could be value in having that low level coupling.

Anyway, this ends my rant.  It's probably crazy, but at least I can stop thinking about it now.

 



 Wednesday, September 15, 2004
MSDN2 (2005) up

Just noticed Darrell Norton posted about the new msdn going live here

Normally I wouldn't post on this, but wow the new msdn looks fantastic.  I love the static links to namespaces, and the way the namespaces are presented is leaps and bounds ahead of the last msdn.  I look forward to becoming more acquainted with the site as I dive into whidbey.  Thanks ms, this looks like a terrific update!



 Sunday, September 12, 2004
VPC in remote desktop for performance

I have been trying to find time to spend with whidbey, so I decided to resurrect my plan for a vm on my laptop with whidbey.  After a couple hours of installing, I'm almost ready to go. 

One thing that really bugs me about vpc, though, is when the window doesn't have priority vpc decides it should drop its usage to like nothing.  Although I see the reasoning behind this, I think this should be controlled via a set of options, as I'm sure it must be in virtual server.  This would at least let me use the other 10 or 15% of resources that are left for doing things like typing this post.

So after a couple minutes of thinking, I saved the state of my vm, rpc'd back into my box (thanks 2k3), and started up my VM again.  Result, VM taking all the resources it wants, while I'm free to use the rest.  Of course theres the overhead of the second desktop, but the overhead seems pretty minimal. 

 

Admin | Code | Random


 Wednesday, September 08, 2004
Places to submit your blog link

Was scanning scoble's link blog (I think I may be asking for trouble subscribing to that, but I'll see if I can keep up), and found very comprehensive list of sites that maintain lists of blogs. 

I run this blog on a non-syndicated server, and have gone through my share of trying to get the word out.  Looking through my logs, I feel as if I have done at least a decent job, but can always use more inward links.  I will certainly be submitting to all of these this week.

Check it out here



 Tuesday, September 07, 2004
Gmail in desktop sidebar

I have been testing a gmail panel for a friend of mine, and things are going well enough that it looks like he is ready to release some early bits.  If you use desktop sidebar, and gmail, this is a natural fit.  It has replaced the gmail notifier for me, and is working pretty well.

Basiclly, it shows your inbox much like an outlook panel, including showing the first few lines when you hover over a message. 

Check it out here



Copernic Desktop Search Followup

After working with both lookout and desktop search for a couple days, I uninstalled lookout.  Desktop search definitly suits me better, although it's still not perfect. 

My desktop search has my whole hd indexed, code and all (including a pretty big number of open source projects).  The entire database is around 80 megs, which isn't really bad when you consider how much code is actually indexed.  Searching through emails and code is very simple, and very fast.  I also much prefer the desktop search ui for displaying the results to lookout.  Lookout was great for email searching, this really fills in the rest of the gaps.

A few complaints still, though.  The indexing process took a very very long time.  It may be because it was pushed to a back thread a number of times, but it really took about 2 days of normal for the whole index to be updated.  Of course I could have let it sit overnight one night, but what kind of test would that be?

Also, the search app hogs is a bit slow sometimes, and can be a memory hog at times.  This would be expected, though, considering all the work its doing, so I can live with it.  The trade off is well worth it.  Also, outlook idles about 30 megs less after uninstalling lookout, so desktop search may actually take less persistant ram. 

So far, though, I am very happy with the desktop search.  I love searching through code cause yes, I am just that geeky.  Also what prompted this post was actually finding an email from months ago with a code snipplet I needed by the sender's last name, and the word “filter”, and it was the 5th email down.  Sweet.  (of course the time I saved in looking for the email, I used twice writing this post  :)



 Thursday, September 02, 2004
VB.Net's invisible wall

I think we have hit the infamous invisible wall with VB.Net.  It's still a bit early to be looking for solutions, but the solution is having more and more problems.  Vbc.exe errors, general vs.net errors, and interesting times when the IDE doesn't error, it just stops working the way you want anticipate. 

I may be a c# guy stuck in a vb.net world, but I have gotten used to some of the “features” the ide gives us for vb.net.  When they just stop working, it really does make it more difficult to code.  Plus restarting the IDE 5 times a day certainly doesn't help my productivity (isn't vb the “productive” language?  :)  I'm trying to analyze to see if I can put together patterns on when it crashes, but so far it does seem pretty random.  I started a spreadsheet this morning to try to help with that though.

I will probably do some searching this weekend (since I probably wont be checking in and out all weekend like I thought (teamsystem was only tested with 3 physical machines?!  I guess it is an early beta)).  Has anyone gone through this before?  This is a pretty big solution, but it's certainly not a 10k lb gorilla. 

 



 Wednesday, September 01, 2004
Copernic Desktop Search

I have been using lookout for a while now, and it certainly meets my needs for searching my non gmail mail.  Today, though, I saw a post from The Unofficial Microsoft Weblog about an app that cpernic has just released that aligns itself as competion.  Well, I'm a sucker for something new, and figured I would give it a shot. 

So far so good.  As with Greg, I like the idea of being able to search without outlook open.  It also seems to handle file searching more “naturally” then lookout (as it is now indexing a couple ebook pdf's that I have on my desktop).  I haven't used it nearly enough to decide if I will be uninstalling lookout, but will re-post when I have a better idea of how this thing will work out. 

Original Post
Link to product site



Team system (first public beta) released

A few people have posted this already, but it's one I've been waiting anxiously for.  New bits with Team System up on MSDN.  If you don't know what team system is yet, then stop living under that damn rock.  If you do, then you have probably been waiting like me. 

Of course this has to come when I'm busy (really busy) at work, and on a holiday weekend.  The wife will be really happy as I nerd out all weekend checking things in and out over and over again.  Ok maybe it needs to wait until next weekend  :) 

Get it on msdn (subscriptions only)



 Monday, August 30, 2004
Referer Spam Rant

Well, my blog got hit with the first bit of spam, and it's an odd one at that.  I just quickly went to my referrer logs for my lunchtime checkup, and I found pages and pages (probably 4 or 5 pages straight) of referrers from a site in the .uk.  The referring url was a CV (resume) of someone overseas.

If this is a way to get his url out, it worked.  I followed it and looked at his resume.  I then made sure to email him and let him know that I will match the CV against every application I review, and make sure we do not hire a spammer.  If for some odd reason he thought I was a point of employment for him, a comment from my blog would have been MUCH more appropriate.

Maybe I'm off base here.  Maybe next time I am looking for employment, I should spam my resume url to a number of blogs and cross my fingers.  I think I'll end up on the higher road, though.

 



More gmail bits

Couple things on gmail.

First, go vote for what you want in gmail.  Its an independent site for gmail users, and hopefully the votes are taken into consideration.  I voted what what I'd like to see.  Check it here

Also, did you know your gmail can accept “alias” mails.  Send something to

gmailusername+sometag@gmail.com

Interesting.  So I'm guessing this could be used to setup filters based on diff “aliases” that are added to your address.  Wish I had know this when I started the account, maybe I would have tagged everything without a + to be spam, and only qualified aliases would hit my inbox.  On well.



 Sunday, August 29, 2004
Some gmail invites for my blog

Since it was just my 100th post, and I have a few spare invites, the next two people to leave a comment on this thread or off the contact page asking for some gmail invite luvin will be emailing from a fresh new gmail account, complete with the new gmail account smell.

Been using mine for a couple months now, and I don't think I could go back.  If you've been wanting to check it out, let me know.

Sorry no more invites.

Admin | Code | Random


 Saturday, August 28, 2004
Speed up vss over vpn

If you have ever worked through a vpn using vss, you know the pain it can cause.  I still have a bald spot from where I hit my head on my desk one to many times waiting to check something in.  Something like a 1 line change, where you wonder how it could take literally minutes. 

So after some searching, I found a little app that seems to be working extremly well.  Vssconnect from VoxCode software has server bits that runs as a service on the VSS box, and client bits.  Server is pretty simplistic, and offers a couple options over the normal vss server, but nothing to cheer about.  The client, on the otherhand, is a very fresh perspective on vss.  Make to look like vss with a facelife, the ui does everything the normal vss ui does and a few extras.  It also seems much faster then the normal ui.

The best part, though, is it does what it promises.  I have been checking in and out all day long, and its so fast.  As fast as being at my desk, and it even seems faster sometimes.  Get latest still takes a bit, but much less then without the addin. 

I didn't setup the server, but that part seemed to go very quickly.  The client setup was cake, and the integration into vs.net is done behind the scenes, so you still deal with the same vss dialogs. 

I did have 1 minor complaint though.  I was having some networking issues at the time.  I was connected to the VPN, but was unable to get to a specifc vlan via tcp (although I could get there \\server).  I had the client installed, and it took over vss in the IDE.  VSS normally talks over netbios (forgive me if my protocol is wrong, been a while  :) so I could get to the DB from the vss ui, but I couldnt ping the machine, and thus I couldnt connect to the vssconnect service.  I searched for a way to turn off the plugin so I could at least use the old integration, but coulnd't find one.  Figure I would have had to uninstall.  Fixed it with a static route, and all was well, but I would have liked a way to “disable” vssconnect.

Anyway, check it out here

[Edit] Oh and I forgot to mention.  At 30$ a developer, it's very reasonable also.

Admin | Code


 Wednesday, August 25, 2004
Gmail tray notify from google

Google released a nice little tray app for gmail.  Very simple, shows when you have new mail, double click to open a new browser to gmail.  Just under 3 megs of ram.  Sounds like a done deal to me.

Check it here



 Sunday, August 22, 2004
Sourceforge score. Dabcos SQL compare compare type util

Was looking around sourceforge and found a couple things I wanted to play with.  One of them was immediately useful, and just a great find. 

DaBCoS works a little like SQL Compare by Redgate.  Now don't get me wrong, SQL Compare is a FAR superior product, offering a ton more functionality, and is well worth the coin.  If your needs are a bit less, though, this little app might just have you covered. 

Ran it against a few databases I have and it quickly gave me an idea of the differences.  It has a synchronize function that I haven't played with yet, but I doubt I would use it for that anyway. 

Checked the authors homesite, and looks like he has some ideas on the next version.  Can't wait.

Check out DaBCoS here
Davide Mauri's Home

Admin | Code


 Friday, August 20, 2004
My woot bag of crap

Got my bag of crap yesterday.  Was like x-mas, kinda.  It was very much as described though.  I got

Some desk puck for holding paper
Some crappy non-amplified tiny polk speakers (nice for my desk tho, thinkpad on full blast, cant here it outside the cube)
Some wierd “lock” for a bag that is supposed to protect your bag. 

What fun.. I would certinaly try again tho..  From what I gather a few lucky people got some nice stuff.