Scott Hanselman

The Charity Auction has Begun: Bid on an Hour of .NET Consulting Time to help Banda Aceh

January 22, '05 Comments [6] Posted in ASP.NET | INETA | Learning .NET | Web Services | DasBlog | XML
Sponsored By

The link is live 9am EST Sunday, spread the word!

.NET Charity Auction - http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=5552696499 

 

This auction is a charitable contribution. Winners will pay for an hour each of .NET consulting time to benefit the Tsunami victims of Banda Aceh.  ALL of the money will go to help the victims (tax benefit for you as well). ALL eBay fees are going to be paid by thinktecture (http://www.thinktecture.com/) an European consulting firm.

 

Bid for an hour of a .NET Celebrity Consultant’s time. Winners can pick the brain of a .NET Expert for an hour (highest bidders will be first in the “draft” for the consultant assigned to them). Winners can call, email or IM the consultant and use the hour to answer that nagging question, do a code review, or just get some general .NET advice.

There will be 30 winning bids. eBay rules require that all 30 winners pay the lowest bid price. So you are required to pay the lowest bid amount, but are encouraged to pay for your final bid (we will invoice you for both, it is your choice how much you want to donate to IDEP (payments via PayPal)). Here are the participants we have RDs and INETA speakers from all 6 continents and 12 countries!

We've added even more consultants for you to bid on!

Michelle Leroux Bustamante, Kimberly L. Tripp, Jonathan Goodyear, Andrew Brust, Richard Campbell, Adam Cogan, Malek Kemmou, Jackie Goldstein, Ted Neward, Kathleen Dollard, Hector M Obregon, Patrick Hynds, Fernando Guerrero, Kate Gregory, Joel Semeniuk, Scott Hanselman, Barry Gervin, Clemens Vasters, Jorge Oblitas, Stephen Forte, Jeffrey Richter, John Robbins, Jeff Prosise, Deborah Kurata, Goksin Bakir, Edgar Sánchez, Thomas Lee, J. Michael Palermo IV, Vishwas Lele, and John Lam

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Own a LinkSys WRT54G? Sveasoft released Alchemy v6.0RC6 and I HAD to install it at 2am

January 22, '05 Comments [10] Posted in Gaming | Tools
Sponsored By

Shoot, who DOESN'T have this router? Seems like the LinkSys WRT54G is ubiquitous these days.  Greg Hughes turned me on to this little $99 gem, and while I have a love-hate relationship with it (and Greg :) ) I have stuck with it.

I just noticed on LinkSysInfo that "Sveasoft has released a new release candidate for alchemy v6.0RC6, This firmware is for WRT54G v1.x and v2.2 and WRT54GS 1.0 and v1.1 models."

The deal is this, you paypal Sveasoft US$20 every year and they continue to improve the LinkSys firmware under the GPL. This little LinkSys is just a firmwarey Linux Box and god-forbid we should leave the default software on it! :) If you are too cheap for $20 there are free public versions you can run also.

There are a number of Firmwares available from Sveasoft under various code names. The ones you should know about are:

  • Satori - This is the current stable/public release. It includes bandwidth management and VPN support along with a host of other good things. You can download this for free and mess around.
  • Alchemy (Alchemy-6.0-RC6 v3.01.3.8sv) - The current pre-release available to subscribers. It has a fantastic QoS interface (Quality of Service) to guarantee bandwidth by MAC, by IP Port, by protocol or by RJ45 port! It supports local DNS caching (DNS MASQ), UPnP (for seamless XBox support), Port Forwarding (so my two ReplayTVs can talk to Poopli), as well as the dubious ability to increase the milliwatt output of your Wireless router by 900%. This can make the wireless signal a lot more realiable if you're on the back porch if you know what I mean.

Good Things:

  • QoS: I'm using it with Vonage and have been able to easily setup a Static IP in DHCP to be assigned to my Vonage Router via MAC address. Then I went into the Sveasoft Quality of Service interface and set Vonage to be at the "Premium" level. This means that bits going to and from my Vonage Router have PRIORITY. I tested this by downloading a 3 GIG file from Microsoft via FTP while the wife was on the phone. I've got 3 megabits downstream, so I get about 300-350K/sec down. When QoS was off, Mo could barely hear your sister and the digital artifacts sent here directly to me to complain. When QoS is on, Mo hasn't once mentioned any trouble with Vonage sound quality.
  • Port Forwarding: I've always found this to be hard to configure and a tricky thing. However, once you know what IPs each machine is on via static records in DHCP (rather than plain old static IPs which are hard to keep track of and configure) the Sveasoft interface makes it easy. I 'opened up ports' for Vonage and my two ReplayTVs, as well as the XBox for good measure (I know it's not required.)

Bad Things:

  • Flakey: This is a flakey router. I have to reboot it once or twice a month. Also, when I flashed it this evening with the new Alchemy build (I was upgrading from Satori) I had to hold the reset button for like two minutes. Also, the power light wouldn't stop flashing (a bad thing) until I disconnected and reconnected the Internet cable (a weird thing) then everything started working again (a good thing.)
  • I'm Not Smart On These Things: I got an 'A' in TCP/IP class and I can run Ethereal with the best of them, but I don't understand how the Linux TCP/IP stack is organized and I can't calculate NetMasks without scratch paper and I don't have my 128-bit WEP keep memorized, so I feel stoopid when I read the Support Forums on Sveasoft.
  • You CAN Screw Yourself and Your Router: Greg has messed his up during the firmware flashing process a few times. When that happens you sometimes have to open the router up and fiddle with dips or something. I haven't messed it up that bad, but I've gotten close. You should always have a default LinkSys firmware already downloaded as it sucks to have no Internet Access and the tool you need isn't already on your system. There's five second window of time on bootup when you can re-flash an older firmware via TFTP.

Thank God I got this working again before Mo wakes up. Having no email is bad, but having no phone service is a problem.

All that said, I'm digging it. Chris Brooks is running it now I believe, as well as Greg Hughes and (I think) Chris Sells without any screams of pain.

Do you run Sveasoft or the default firmware?

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Parsing my IIS Log Files with LogParser 2.2 to learn more about Blogs stats from NewsGator and NewsGatorOnline

January 21, '05 Comments [5] Posted in ASP.NET | XML | Tools
Sponsored By

LogParser is pretty slick. It's wicked hard to learn, in my opinion as I'm not very SQL-y, but it's still awesome. Here's the marketecture description:

Log parser is a powerful, versatile tool that provides universal query access to text-based data such as log files, XML files and CSV files, as well as key data sources on the Windows® operating system such as the Event Log, the Registry, the file system, and Active Directory.

There's a unofficial support site at LogParser.com which makes me respect the tools usefulness even more. Not even unsupported Microsoft tool has it's own unsupported support site supported by MikeG.

It's not only cool because it's a super-psycho command-line tool, and we all know how I love those. But, it's also got a COM Interface so it programmable/scriptable as well.

So, long story short, I noticed recently that GregR over at NewsGator said that he's including subscriber statistics in the NewsGatorOnline User-Agent. Now, I'm not sure what I think of tunnelling information like that in such an odd place, but what do I know? The idea is clever as hell.

I decided this was a good time to learn how to use LogParser. I grabbed a 20-Meg IIS log file from my ISP from a random day last week and setup some queries. Here's what I did in about 5 minutes.

C:\Program Files\Log Parser 2.2>LogParser.exe -i:IISW3C "SELECT COUNT(cs(User-Agent)) AS Client FROM c:\temp\ex050120.log WHERE cs(User-Agent) LIKE 'NewsGatorOnline%' "
Client
------
134

Statistics:
-----------
Elements processed: 90386
Elements output:    1
Execution time:     3.71 seconds

So, if I'm understanding this correctly, NewsGatorOnline's Aggregator hit me 134 times this particular day. What's my number of NewsGatorOnline Subscribers?

C:\Program Files\Log Parser 2.2
>LogParser.exe -i:IISW3C "SELECT DISTINCT cs(User-Agent) AS Client FROM c:\temp\ex050120.log WHERE cs(User-Agent) LIKE 'NewsGatorOnline%' "
Client
---------------------------------------------------------------
NewsGatorOnline/2.0+(
http://www.newsgator.com;+2+subscribers)
NewsGatorOnline/2.0+(
http://www.newsgator.com;+1+subscribers)
NewsGatorOnline/2.0+(
http://www.newsgator.com;+250+subscribers)
NewsGatorOnline/2.0+(
http://www.newsgator.com;+15+subscribers)
NewsGatorOnline/2.0+(
http://www.newsgator.com;+249+subscribers)

Statistics:
-----------
Elements processed: 90386
Elements output:    5
Execution time:     3.67 seconds

Now, I don't know if I'm doing this right, but I'm not sure what I'm being told here. Either I'm doing this query wrong or Greg's stats are off. I'd expect the number of subscribers to be constant or change +/- a few a day.

UPDATE: I realized this on the way home and GregR emailed me to remind me, each distinct RSS Url is tracked by NewsGator. So my ATOM Feed and my Category Specific Feeds each have their own statistics.

This is just NewsGatorOnline folks. I also run queries on actual NewsGator Add-In users for both version 1.0 and 2.0. (I'm sure there's a way to do it all in one query, but again I'm not SQL-y.

C:\Program Files\Log Parser 2.2>LogParser.exe -i:IISW3C "SELECT DISTINCT COUNT(c-ip) AS Client FROM c:\temp\ex050120.log WHERE cs(User-Agent) LIKE 'NewsGator/1%' "
Client
------
25

C:\Program Files\Log Parser 2.2>LogParser.exe -i:IISW3C "SELECT DISTINCT COUNT(c-ip) AS Client FROM c:\temp\ex050120.log WHERE cs(User-Agent) LIKE 'NewsGator/2%' "
Client
------
4874

I thought this means I have around 25 distinct IPs using NewsGator 1.x who hit my site that day and about 4874 using NewsGator 2.0. But, that seems like WAY too many people subscribed to my site with just NewsGator. So, I changed the query:

C:\Program Files\Log Parser 2.2>LogParser.exe -i:IISW3C "SELECT COUNT(DISTINCT c-ip) AS Client FROM c:\temp\ex050120.log WHERE cs(User-Agent) LIKE 'NewsGator/2%' "
Client
------
385

THAT'S more like it. 385 distinct IPs using NewsGator 2.x hit my site this particular day. As an aside, there are actually 2 people using NewsGator 1.x. Cool. I need to spend more time understanding this tool. I believe I can ask it more complicated questions about my site than something like LiveStats, and I could set it up to email me charts or stats, or create an ASPX page for blog-specific reports.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Prompt(s) along with PushD and PopD

January 21, '05 Comments [6] Posted in ASP.NET
Sponsored By

Let this post serve as a reminder to me (and you if you don't use it all the time) that PUSHD and POPD are available in Windows.

Certainly TAB AutoCompletion is a goodness (it KILLS me when I have to watch someone, especially on stage, type long dirs and files one char at a time) and folks often forget that you can even do more tricky things like:

C:\TEMP>type my*.ofx (now PRESS TAB)

and get:

C:\TEMP>type myfiledata.ofx

but you can also

C:\TEMP>pushd .
C:\TEMP>cd "\Documents and Settings\shanselm\Desktop"
C:\Documents and Settings\shanselm\Desktop>popd
C:\TEMP>

Shawn Van Ness via Craig Andera make this tip even more useful when combined with their command PROMPT environment variable (Remember when "Customizing Your OS" consisted of 10-line long PROMPT statements in 4DOS? Ah, the good not-quite-old days.) From Craig's post:

$P$_$+$G

Which, when I set it via either the prompt command or the PROMPT environment variable, gives me a command line that looks like this:

C:\data\Projects\flexwiki\FlexWikiCore
++>

The plusses indicate that I'm two levels deep in pushd, and I like that the working directory appears on the line before, obliterating the problem of long paths making commands linewrap. Nice!

 What a nice series of tips for a random Thursday. Thanks guys!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

List of the undocumented bugs that are fixed in the .NET Framework 1.1 Service Pack 1

January 20, '05 Comments [0] Posted in ASP.NET | Learning .NET | XML | Bugs | Tools
Sponsored By

Darned interesting stuff from Adrian Bateman:

When Microsoft issues service packs for developer tools and redistributable runtimes or libraries there is usually a knowledge base article published that lists which previously documented problems and bugs have been fixed by the service pack (referring to the KB article describing each issue). These service packs usually include other fixes that were found internally but that hadn't necessarily resulted in a public article. It is much less common for details of these fixes to be made public.

It has been brought to my attention that there are actually two articles that describe the previously undocumented bugs that were fixed in both the .NET 1.0 SP3 and the .NET 1.1 SP1 releases:

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.