Scott Hanselman

WatirMaker redux or Watir WebRecorder ne WatirMaker

February 10, '06 Comments [1] Posted in Ruby | Watir | Tools
Sponsored By

Watir WebRecorderWell here's a shiny development. The folks at MJTNet have released a free version of the WebRecorder software that makes Watir code. It's beta 0.1, much as my own WatirMaker was (is).

It does more than my spike does including support for server auth login boxes, popups and nested frames. Be sure to use the mouse to click things as it's a little touchy about using the keyboard, especially if you pressed Enter to submit a form.

This (and WatirMaker) is a great way to jumpstart Watir development. I wouldn't recommend trying, assuming or thinking that you write all your tests with a tool like this, but it's a nice way to get started.

We've ended up writing most of ours from scratch.

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

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

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