Scott Hanselman

Face Recognition...uh, not quite

February 8, '06 Comments [13] Posted in Musings
Sponsored By

Here's a weird thing. A site called MyHeritage wants to use Face Recognition Technology to connect folks with their relatives. As a demo, if you sign up on their site you can get a Celebrity Match as well. It's a fun technology demo, but I wonder how true a representation of their technology it is. I hope this isn't what we're using to stop terrorism.

Here's some results...some more disturbing than others. I wonder how Riya's face recognition would do. Note the "confidence" levels in the pictures below. Maybe this means I'll finally meet Tim Berners-Lee.

Myheritagefacerecognition

 

 

 

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

Hanselminutes Podcast 5

February 8, '06 Comments [5] Posted in Podcast | ASP.NET | XML | Tools
Sponsored By

HanselminutesMy fifth Podcast is up. This was one is on Mono, the Open Source CLI implementation.

We're listed in the iTunes Podcast Directory, so I encourage you to subscribe with a single click (two in Firefox) with the button below. For those of you on slower connections there are lo-fi and torrent-based versions as well.

Subscribe to my Podcast in iTunes

As I've said before this show comes to you with the audio expertise and stewardship of Carl Franklin. The name comes from Travis Illig, but the goal of the show is simple. Avoid wasting the listener's time. (and make the commute less boring)

  • Each show will include a number of links, and all those links will be posted along with the show on the site. There were 15 sites mentioned in this fifth episode, some planned, some not. We're still using Shrinkster.com on this show.
  • The basic MP3 feed is here, and the iPod friendly one is here. There's a number of other ways you can get it (streaming, straight download, etc) that are all up on the site just below the fold. I use iTunes, myself, to listen to most podcasts, but I also use FeedDemon and it's built in support. IPodder is also a nice, free, client.
  • Note that for now, because of bandwidth constraints, the feeds always have just the current show. If you want to get an old show (and because many Podcasting Clients aren't smart enough to not download the file more than once) you can always find them at http://www.hanselminutes.com.
  • I have, and will, also include the enclosures to this feed you're reading, so if you're already subscribed to ComputerZen and you're not interested in cluttering your life with another feed, you have the choice to get the 'cast as well.
  • If there's a topic you'd like to hear, perhaps one that is better spoken than presented on a blog, or a great tool you can't live without, contact me and I'll get it in the queue!

Enjoy. Who knows what'll happen in the next show?

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

More on Alternate Linksys Firmware

February 7, '06 Comments [5] Posted in Reviews | Gaming
Sponsored By

B0001D3K8A.01._SCLZZZZZZZ_Just about two years ago Greg turned me on to alternate firmware for the ubiquitous Linksys WRT54G. This is the little router than could. You can pick these little guys up for a song but it's the thriving alternate firmware community that's so interesting.

LinksysInfo.org has the best listing of the different firmware projects available. If you concerned about compatibility, flip your router over, get the version numbers and check the matrix.

Linksys released versions 1.0 through 4.0 (I have an unused 1.1 and a 2.0 I'm using) powered by Linux. This little guy is a Linux box! Then, sadly, Linksys released version 5.0 powered by VxWorks and the hacking community was bummed. However, in an unusual turn of actually listening to the customer Linksys released the new WRT54GL with the "L" for Linux.

From LinuxElectrons.com: Linksys WRT54GL Features

  • Linux Kernel 2.4
  • Based on the Broadcom BCM95352E SoC
  • Hardware design is the WRT54G Version 4.0
  • After market firmware upgrades
  • All-in-one Internet-sharing Router, 4-port Switch, and 54Mbps Wireless-G (802.11g) Access Point
  • Shares a single Internet connection and other resources with Ethernet wired and Wireless-G and -B devices
  • Push button setup feature makes wireless configuration secure and simple
  • High security: TKIP and AES encryption, wireless MAC address filtering, powerful SPI firewall

I've noticed some interesting stuff going on with Sveasoft, my previous firmware, so I started looking for an alternative. Sveasoft hasn't released a new version in a while and I've consistently had trouble VPN'ing back into my house from outsite. Additionally, the wife insists on 100% uptime with Vonage (as she should) so I really need the QoS (Quality of Service) to be solid. If I'm downloading 5 Gigs from MSDN at 800k/s over Comcast, I need her phone calls to NOT be dropped.

My options:

  • HyperWRT is very well thought of, based on the Linksys 3.03.6 firmware, it adds adjustable transmit power, better QoS and port forwarding as well as command shells, etc. If you want something that is 50% better than the standard firmware you have now and you don't want to compromise stability, this is your firmware.
  • Talisman 1.1 is SVEASoft's firmware. There's some GPL drama going on over the last few years though.
  • DD-WRT is a fork of an early SVEASoft build that has now integrated lots of stuff from OpenWRT. I downloaded version v23. It is very actively developed. I heard good things about DD-WRT and eventually settled on it.

Good stuff about DD-WRT:

  • Includes XBox Live, BitTorrent and Skype in its QoS services priority list.
  • UPnP Forwarding admin screen lets you see what UPnP devices have punched holes through your firewall.
  • WRT radius authentication (that I haven't figured out how to work yet)
  • Support for updating my DynDNS.org account.
  • Support for Chilispot if I ever choose to charge my neighbors for using my wireless HotSpot.
  • DHCPd support for assigning IP addresses based on MAC addresses (centrally administered static IPs, very important, and very useful)
  • PPTP VPN Server using MS-CHAP means no-install VPN from Hotel Rooms

It was easy to setup and I was back in business and Mo was back on the phone in < 20 min. If you do use one of these firmwares, do use Kiwi's SYSLOG and turn on syslogd in the new Firmware, giving the IP address of the machine running Kiwi. This lets you see the router's boot up process and won't leave you staring at the lights (as I used to) wondering if it's coming back up.

Aside: There's even WRT54G firmware dedicated to sharing your bandwidth with other anarchists like-minded people. No one in my town though.

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

Classic Web Services versus POX XML over MQ - are you really using XML?

February 7, '06 Comments [7] Posted in eFinance | XML | Web Services | Tools
Sponsored By

Our CTO, Chris Brooks, was asked recently about the pros and cons of using "classic" Web Services (SOAP over HTTP) versus XML over MQ (Message Queuing). This is a common question amongst folks with existing back ends. Often folks argue that SOAP incurs significant overhead versus POX (Plain Old XML). Here was his answer, reprinted without asking, but I'm pretty sure he won't mind.:

First, you need to draw a clear distinction between message format and transport. 

For message format, you can go with "plain old XML" (aka POX) without a SOAP envelope, or with SOAP formatted messages.  The primary difference will be that there will be a SOAP envelope on the SOAP message, and the message itself will occur within the body element.  There isn't a significant amount of overhead for using SOAP over POX - you are really just talking about one nested element.  When using SOAP, you retain the possibility of adding headers that might be used for a number of purposes including routing, security/encryption/signing, and transactions.  Note that this choice is independent of the choice of HTTP vs. MQ Series - either transport can be used to carry either type of message.  Our recommendation is to use SOAP - it will have a very small impact on bandwidth and processing time and buys you flexibility.

For the transport layer, it ultimately will come down to what you are most comfortable with in your enterprise.  The advantage of sticking to SOAP over HTTP is that the tool support (both development and management) will be much stronger.  While web services are in theory supposed to be transport-neutral, HTTP is certainly the "first among equals" choice.  MQ is a good choice when you need to support guaranteed messaging or if your own testing has demonstrated that you have higher scalability and/or throughput for the volumes you are seeing.

My recommendation is to start with SOAP over HTTP and to consider alternatives only after measuring performance and planning for the sort of capacity you will need. - Chris Brooks

I think he's pretty much right on. One thing I would add about POX though that will often get you is that there's a big difference, IMHO, between true POX, whether you do it the REST way or not, and pushing what I call "angle-bracket-delimited files" around.

Here's a few (tongue in cheek) hints that you might be be moving angle-bracket-delimited files from place to place:

  • If you say <?xml encoding="UTF-8" version="1.0"> but your POX endpoint chokes on a Unicode BOM, you might want to ask yourself, are we REALLY pushing XML around or are we just lying to ourselves?
  • If most of your XML parsing code consists of string.IndexOf() you might not using XML.
  • If you don't include an XML <?xml> prolog, you might not be using XML.
  • If you don't use any namespaces, but you include a schema, you might not be using XML effectively.
  • If you embed a flat file within a CDATA section, you might not be using XML.

The Moral of the story is, if you are pushing XML around, regardless of how you're doing it, do try to use official, supported XML parsers, DOM implementations and SOAP stacks, rather than rolling your own. Do, try to use namespaces and strongly type your data.

As far as transport goes and the benefits of at least trying to get SOAP into your organization, Mike Champion said it well four years ago:

The beauty of SOAP, IMHO, is that it is both a transport-neutral [and I use the term advisedly!] application-level protocol and "just another XML format" that can be delivered using HTTP application semantics.  RESTafarians can see the glass as being half-empty (because it is perfectly legal for SOAP to tunnel HTTP), but you could also see it as half-full (because SOAP lets XML and HTTP get a foot in the door, allowing users to move to more web-friendly scenarios once the knowledge and security infrastructure are in place].  

Personally, it's not a glass half-full or half-empty situation, I think there's too much glass.

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

TopDesk 1.4.1 released with Windows Vista flipping on Windows XP

February 5, '06 Comments [3] Posted in Reviews
Sponsored By

Video_fliptilingVideo_tilingThe TopDesk 1.4.1 task switching software I alluded to last week is now out and available for download. 

You can get a free 30 day trial, and it's only $9.95 if you want to buy it. There's also discounts for 2 or 3 licenses. The company is just one guy in his spare time and what he's accomplished is pretty sweet.

If you've already bought it, you just got a massive free upgrade.

I've been chatting with James of Otaku Software on and off over the last year, and I (greatly) pressured him to try out the "Aero" Vista style of Flip3D task switching. He told me he was totally too busy to make it happen, but chatted me days later with a prototype...a true programmer to the last, he couldn't sleep until he'd tried it.

It's not only fantastic eye candy, but it does allow one to switch REALLY fast if you you have a video card worth it's salt.

NOTE: It DOES have a fairly large working set as it's dealing with screenshots and such, so don't immediately write it off just because it looks fat in the Task Manager. There is four options like "use less memory, more CPU" that you'll see during the very nice installer and also available in the options. For me, the memory usage is not as bad as Outlook and I use that all the time! ;) Also, if you're already running an alternative ALT-TAB like TaskSwitchXP and you choose to bind TopDesk to ALT-TAB, there can be only one, so be warned.

Note that the sample video/animation at the right is on Windows XP, NOT Windows Vista. The videos are really impressive. I'm looking forward to Vista.

You can still use TopDesk's "Expose" OSX-style tiling as well. There's a lot of screenshots, videos, and customizabilty here.

Go get it!

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.