<rss version='2.0' xmlns:dc='http://purl.org/dc/elements/1.1/'>
<channel>
<title>Hazelware</title>
<link>http://hazelware.luggle.com/</link>
<description>Hazelware: the web home of Jonathan Hays</description>
<language>en-us</language>
<copyright>Copyright (c) 2004 Jonathan Hays. All rights reserved.</copyright>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<webMaster>bosshogg@luggle.com</webMaster>
<generator>Hazelware RSS Feed Generator</generator>
<item>
<title>Advertisement</title>
<description>
<script type="text/javascript"><!--
google_ad_client = "pub-1164091726055367";
google_ad_width = 120;
google_ad_height = 240;
google_ad_format = "120x240_as";
google_ad_type = "text";
google_ad_channel = "";
google_ui_features = "rc:6";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</description>
<dc:creator>"Google!!!"</dc:creator>
<dc:date>2007-06-11T15:01:04-08:00</dc:date>
</item>
<item>
<title>Moving to Austin!</title>
<link>http://hazelware.luggle.com/archive.html?106</link>
<guid>http://hazelware.luggle.com/archive.html?106</guid>
<description><![CDATA[Well, I&#39;m about to start a new chapter as I have recently accepted a new position in Austin, Texas.  I guess it&#39;s pretty common for people from the NW to relocate to Austin, and after my first visit there I can see why.  It feels like a very vibrant, socially conscious city which is very similar in character to where I live now.  The only thing I&#39;m really not looking forward to is the heat, but from what people tell me, you mostly get used to it.
<BR>One other good thing about Austin is that there is a large high tech presence with Dell, AMD, 3M, etc.  Heck, maybe I&#39;ll even run into <A HREF="http://unwiredben.livejournal.com/">Ben Combee</A>!
<BR>Well, I&#39;m sure I&#39;ll post more as I get more into the relocation activities, but for now, my head is spinning with all the things that I need to get done/get ready, etc.  If you have something <B>helpful</B> to tell me about Austin, I&#39;d love to hear about it.
<BR>
<BR>-Jon ]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2008-05-21T22:19:57-08:00</dc:date>
</item>
<item>
<title>Message for Jonah and Chris</title>
<link>http://hazelware.luggle.com/archive.html?105</link>
<guid>http://hazelware.luggle.com/archive.html?105</guid>
<description><![CDATA[This post is for <A HREF="http://jonah.luggle.com/entry/">Jonah</A> and <A HREF="http://www.fultonfam.com/">Chris</A> only.  Guys, you&#39;ll be happy to know that after almost a year and a half, the date/time display routines are fixed!  :-)
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2008-04-11T19:24:23-08:00</dc:date>
</item>
<item>
<title>Minor Changes to Hazelware</title>
<link>http://hazelware.luggle.com/archive.html?104</link>
<guid>http://hazelware.luggle.com/archive.html?104</guid>
<description><![CDATA[Not many posts lately.  What else is new.  I&#39;ve finally gotten sick of the Google brainwashing and taken the ads off of the site and cleaned it up a bit.  The other feature I added is a world map showing where the site traffic is coming from.  Of course I can&#39;t help but wonder how many are bots or other virii trying to whack away on my server.  You can see it up in the top left corner.  Well, that&#39;s about it for now.  I&#39;m still alive.  Just trying to finish school and working and playing with the kids.
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2008-03-31T21:48:54-08:00</dc:date>
</item>
<item>
<title>INDIA!!!</title>
<link>http://hazelware.luggle.com/archive.html?103</link>
<guid>http://hazelware.luggle.com/archive.html?103</guid>
<description><![CDATA[So, this week, I am <A HREF="http://maps.google.com/maps?q=Hyderabad,+Andhra+Pradesh,+India&sa=X&oi=map&ct=title">here</A> for work.  I&#39;m visiting my QA and Development teams in Hyderabad.  This is my first trip to India and it&#39;s been a blast so far.  On my very first day, my friend BV took me to <A HREF="http://7wondersofhyderabad.com/golkonda-fort/golconda-fort.html">the famous Golconda Fort</A> and to the <A HREF="http://7wondersofhyderabad.com/birla-mandir/birla-mandir.html">Hindu temple of Birla Mandir</A>.  Both had breath taking views of the city as well as incredible glimpses of the culture that is here.  <BR>Outside of site-seeing, the week has also been very productive from a work perspective.  It&#39;s good to have face-to-face communication with my remote teams.  It&#39;s been great to be able to spell out the long term plans and to let them drill in with their questions and concerns.  I so rarely get the opportunity that I really value the time with them.
<BR>It also has been very stretching, personally.  Hyderabad is arguably the fastest growing city in the world.  After touring all over the city, I&#39;m convinced that there isn&#39;t a single place in the city where you can&#39;t see a major construcion project happening.  The city is non-stop and never sleeps.  It makes Las Vegas and New Orleans look slow in comparison.  This of course means that there also is a large population of displaced people, which adds a tinge of sadness to the excitement of being here.  It is difficult to be driven to the offices in an air conditioned car with a driver, only to pass hundreds of people living in shacks.  Everytime I use the sink or toilet in my hotel room, I can&#39;t help but think that I am wasting valuable water as I brush me teeth or use the bathroom.
<BR>Well, that&#39;s all the time I have for posting today.  When I get back I&#39;ll try and post some of the pictures that I&#39;ve taken.
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2007-10-16T06:26:05-08:00</dc:date>
</item>
<item>
<title>It&#39;s Not a Bug, It&#39;s a Feature!!!</title>
<link>http://hazelware.luggle.com/archive.html?102</link>
<guid>http://hazelware.luggle.com/archive.html?102</guid>
<description><![CDATA[<A HREF="http://blogs.pcworld.com/tipsandtweaks/archives/feature.jpg">http://blogs.pcworld.com/tipsandtweaks/archives/feature.jpg</A>]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2007-08-22T14:45:57-08:00</dc:date>
</item>
<item>
<title>What I&#39;ve Been Up To</title>
<link>http://hazelware.luggle.com/archive.html?101</link>
<guid>http://hazelware.luggle.com/archive.html?101</guid>
<description><![CDATA[So, posting has been light for say, the last 20 months.  The good news is that there is light at the end of the tunnel!  In case you&#39;re wondering what I&#39;ve been up to at work/professionally, you can find info <A HREF="http://www.wvmls.com/flyer/activekey.pdf">here</A>.  I also enrolled in an Executive MBA program <A HREF="http://www.georgefox.edu/som/emba/">here.</A>  So between those two, I&#39;ve been totally swamped!
<BR>However, like I said, there is some light at the end of the tunnel so hopefully I can start doing some poking around.  There&#39;s so much that&#39;s happened in the PDA/Smartphone world to look at!  Between the iPhone, WindowsMobile Treos, .Net CF 2.0, Google Maps for Mobile, etc. I&#39;ll have my hands full!
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2007-07-10T21:57:21-08:00</dc:date>
</item>
<item>
<title>Debugging Windows Mobile/WinCE Applications Without ActiveSync</title>
<link>http://hazelware.luggle.com/archive.html?100</link>
<guid>http://hazelware.luggle.com/archive.html?100</guid>
<description><![CDATA[If you haven&#39;t run across it in the past, Chris Tacke has a <A HREF="http://blog.opennetcf.org/ctacke/">great blog</A> related to coding for the .Net Compact Framework.  One particularly great article details how to debug without using ActiveSync.  Very cool.  <A HREF="http://blog.opennetcf.org/ctacke/PermaLink,guid,136fadf9-a35f-4c10-99b6-0569dc283d19.aspx">Here&#39;s the link.</A>  Enjoy.
<BR>
<BR>
-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2007-06-11T15:01:04-08:00</dc:date>
</item>
<item>
<title>LinkedIn</title>
<link>http://hazelware.luggle.com/archive.html?99</link>
<guid>http://hazelware.luggle.com/archive.html?99</guid>
<description><![CDATA[So one of the things I&#39;ve been doing lately is building my <A HREF="http://www.linkedin.com/in/jonathanhays">LinkedIn</A> network.  If you haven&#39;t checked it out, it&#39;s kind of cool.  Part of my problem is that I&#39;m fairly obsessive/compulsive and their designers have created a professional networking site that TOTALLY caters to my OC nature.  Oh, well.  It&#39;s fun too.  I&#39;m always looking at increasing my "connections" so feel free to add me if you frequent my site at all.  My public profile is at <A HREF="http://www.linkedin.com/in/jonathanhays">http://www.linkedin.com/in/jonathanhays</A>.
<BR>
<BR>Cheers!
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2007-05-26T22:28:04-08:00</dc:date>
</item>
<item>
<title>I&#39;m BACK!!!!!!</title>
<link>http://hazelware.luggle.com/archive.html?98</link>
<guid>http://hazelware.luggle.com/archive.html?98</guid>
<description><![CDATA[Holy crap.  After having our server go down, and being forced to upgrade to Postgres 8.1, and being a general Linux IDIOT, I finally have stumbled my way back to blog functionality.  I have to admit that this hasn&#39;t been a huge priority for me lately, and work has been insane.  BUT, I&#39;m finally back in business.  Whew.  Well, if you&#39;re actually seeing all this, drop me a line and let me know what you&#39;re up to.  
<BR>
<BR>Peace out,
<BR>
<BR>-Bosshogg]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2007-04-30T22:25:08-08:00</dc:date>
</item>
<item>
<title>Code Monkey</title>
<link>http://hazelware.luggle.com/archive.html?97</link>
<guid>http://hazelware.luggle.com/archive.html?97</guid>
<description><![CDATA[<A HREF="http://www.jonathancoulton.com/mp3/Code%20Monkey.mp3">Code Monkey</A>]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2006-12-06T14:57:51-08:00</dc:date>
</item>
<item>
<title>Cool 3D Code Snippet From My Former Life</title>
<link>http://hazelware.luggle.com/archive.html?96</link>
<guid>http://hazelware.luggle.com/archive.html?96</guid>
<description><![CDATA[Earlier in my career, I worked for two different game development companies (<A HREF="http://www.3dcentral.com/miles.html">Mudpuppy Studios</A>, <A HREF="http://www.3dcentral.com/ib.html">Imagebuilder Software</A>) both which have gone out of business.  So, I used to care a lot about game development technology and hardcore optimization techniques.  So, when I came across <A HREF="http://beyond3d.com/articles/fastinvsqrt/">this article</A> on <A HREF="http://beyond3d.com">beyond3d.com</A> I was intrigued.    The 30 second synopsis is that it is a article detailing the author&#39;s attempts to locate the author of a super-fast algorithm that has been used in many 3D game engines, particularly ID&#39;s Quake3.  Anyway, I won&#39;t spoil the ending, but it&#39;s pretty enteresting, and I thought it might be fun to post it here.
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2006-12-03T14:44:48-08:00</dc:date>
</item>
<item>
<title>YouTube: The Revival of the Internet Time Killer</title>
<link>http://hazelware.luggle.com/archive.html?95</link>
<guid>http://hazelware.luggle.com/archive.html?95</guid>
<description><![CDATA[I remember when I first started surfing the web.  Life was young and I found myself absolutely wasting hours looking at nothing.  Eventually, (like 5 years later) I got bored of the Internet to the point that I only check my RSS feeds once or twice a day, and even then most things seem stale.  Enter YouTube.  The revival of my time wasting has come about.  I know YouTube isn&#39;t anything new, but I finally realized a few days ago that it has rekindled my love of the Internet.  When guys like Brent Simon can become pseudo-stars, and I can kill whole days, life is good. 
<BR>And now, Space Camp by Brent Simon:
<BR>
<CENTER>
<embed enableJSURL="false" allowScriptAccess="never" allownetworking="internal"        enableJavascript="false" allowScriptAccess="never" allownetworking="internal"     src="http://www.youtube.com/v/UY0xwRIGOdc" type="application/x-shockwave-flash" width="425" height="350"></embed>
</CENTER>]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2006-11-22T12:20:03-08:00</dc:date>
</item>
<item>
<title>WhereMate Released</title>
<link>http://hazelware.luggle.com/archive.html?94</link>
<guid>http://hazelware.luggle.com/archive.html?94</guid>
<description><![CDATA[After working on this one in the background for quite a while, I finally have gotten around to releasing <A HREF="http://hazelware.luggle.com/wheremate/">WhereMate </A> as a shareware application.  It really only does one thing, but it does it incredibly well.  WhereMate will substitute the "Unknown Caller" string on your Treo smartphone with the city and state that the phone that is calling from.  <A HREF="http://hazelware.luggle.com/wheremate/">Give it a try</A> and <A HREF="mailto:bosshogg@luggle.com">let me know what you think!</A>
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2006-09-04T21:59:26-08:00</dc:date>
</item>
<item>
<title>Palmasaurus Released As Freeware</title>
<link>http://hazelware.luggle.com/archive.html?93</link>
<guid>http://hazelware.luggle.com/archive.html?93</guid>
<description><![CDATA[As the cleverly worded title explains, I have decided to release <A HREF="http://hazelware.luggle.com/palmasaurus/">Palmasaurus</A> as freeware.  No strings attached.  I&#39;m also not actively developing it anymore.  
<BR>If you&#39;re interested in taking it over, <A HREF="mailto:bosshogg@luggle.com">drop me a line.</A>
<BR><BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2006-08-16T23:19:32-08:00</dc:date>
</item>
<item>
<title>VM-Plus Beta</title>
<link>http://hazelware.luggle.com/archive.html?92</link>
<guid>http://hazelware.luggle.com/archive.html?92</guid>
<description><![CDATA[Ok, so I&#39;m toying with releasing a new shareware application called VM-Plus.  If you&#39;d like to try the trial and give me some feedback, you can download it <A HREF="http://hazelware.luggle.com/downloads/VM-Plus-Handango.zip">here.</A>
<BR>Basically, I use my Treo a lot and have to call into meetings while driving and got very frustrated and just about killed myself several times trying to remember the conference numbers AND the log-in passwords while driving.  So, like all good software developers I solved my problem with a program.  VM-Plus basically lets me (and anyone that installs it) dial from text fields, copy passcodes to the clipboard and then send those as DTMF tones to loging and automatically send your voicemail password.  Anyway, if you get bored, give it a try and <A HREF="mailto:bosshogg@luggle.com">let me know what you think.</A>
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2006-08-09T23:01:13-08:00</dc:date>
</item>
<item>
<title>Handspring Undocumented APIs</title>
<link>http://hazelware.luggle.com/archive.html?91</link>
<guid>http://hazelware.luggle.com/archive.html?91</guid>
<description><![CDATA[So if you have ever developed for the Treos, you may have run into the fact that there are some functions that just aren&#39;t available in the PhnLib SDK.  One such function that I found missing the other day was a function to hang up a phone call that was already taking place.  
<BR>So, as is my usual pattern, when I need to find something, I headed to Google groups, the Palm developer site and the PalmSource/Access developer web site.  None of these turned up anything.  Ugh.  I started to get worried.  Next, as is my usual custom, I headed to the header files to do some digging.  
<BR>After poking around for a while in the headers, I found a tantalizingly named trap in HsPhoneTraps.h called &#39;PhnLibTrapDisconnect&#39;.  For some strange reaon, the folks at Palm/Handspring neglected to include this function in the SDK, but included the system trap for it.  
<BR>This was a fantastic find, and after a bit more poking and testing, I found some code that would work.  Simply declare this function prototype somewhere in your headers:
<BR>
<BR>extern Err PhnLibDisconnect(UInt16 refNum, UInt16 line)
                  PHN_LIB_TRAP (PhnLibTrapDisconnect);
<BR>
<BR>And then you will be free to disconnect whichever of the two lines you would like.  One caveat that I would offer, however is that there may be additional variables required by this function so to be safe try calling the function like this:
<BR>
<BR>char stackProtector[16];
<BR>Err err = PhnLibDisconnect(phnLibRef, 0);
<BR>
<BR>As long as your compiler doesn&#39;t optimize it away, the &#39;char stackProtector[16]&#39; right before you call the function should protect you just a bit from any stack issues that could arise from not having the right function signature.
<BR>Of course, you should use this snippet at your own risk, but I do sincerely hope that you find it useful.  I certainly have.  And as always, if you have additional info or comments about this, feel free to <A HREF="mailto:bosshogg@luggle.com">drop me a quick note</A>.  I always love good emails.
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2006-07-26T23:16:47-08:00</dc:date>
</item>
<item>
<title>Posting Malaise</title>
<link>http://hazelware.luggle.com/archive.html?90</link>
<guid>http://hazelware.luggle.com/archive.html?90</guid>
<description><![CDATA[So, it&#39;s been a while since I&#39;ve posted anything of significance.  This isn&#39;t to say that I don&#39;t have ideas floating around in my head; it&#39;s just that putting together a whole technical post seems to take an exorbitant amount of time.  
<BR>I&#39;ve also noticed this in other people&#39;s technical blogs: <A HREF="http://www.russellbeattie.com/notebook/">Russell Beattie, <A HREF="http://palmos.combee.net/">Ben Combee</A>, and <A HREF="http://bramcohen.livejournal.com/">Bram Cohen</A> are just examples of the general disinterest in blogging that I&#39;ve noticed.  Certainly Ben remains prolific in his <A HREF="http://unwiredben.livejournal.com/">personal blog</A>, but it&#39;s been over a year since he&#39;s had any activity in his technical one.  
<BR>Why is that?  Are Engineers simply fickle with fads and the blog is yet another to lose our interest?  I still read other people&#39;s blogs (when they post), but only if the RSS feed looks interesting to me.  Otherwise, I simply mark it as read and move on. 
<BR>Oh, don&#39;t get me wrong.  I have things to say, like the fact that some of my code is now being used to detect whales for the U.S. Navy (how weird is that?) or about how to programatically dismiss dialogs on the Palm OS, or about how .Net 2.0 Forms are diabolically slow.  But quite frankly, those kinds of posts take time, and will have to wait for later. 
<BR>
<BR>Cheers,
<BR>
<BR>-Jon
]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2006-07-19T10:44:18-08:00</dc:date>
</item>
<item>
<title>PhoneShield Released!!!</title>
<link>http://hazelware.luggle.com/archive.html?89</link>
<guid>http://hazelware.luggle.com/archive.html?89</guid>
<description><![CDATA[Well, I&#39;ve been working on this one for a while, and I think it&#39;s finally ready to release to the world.  <A HREF="http://hazelware.luggle.com/phoneshield/">PhoneShield</A> is a Phone application that integrates with the built in Treo 650 phone application.  It allows users to add rule based call blocking, including the blocking of unknown callers, and blocking all calls while roaming.  The user interface is incredibly easy to use, and comes with a fully featured 30 day trial.  Try it out and <A HREF="mailto:bosshogg@luggle.com">let me know what you think</A>.
<BR>
<BR>
<UL><B>PhoneShield Features:</B>
<LI>Block all unknown callers.
<LI>Block all callers not in your contacts.
<LI>Block all calls while roaming.
<LI>Add rule based call blocking.
<LI>Control whether blocked callers are able to leave voicemail.
<LI>For U.S. users, block incoming international calls.
<LI>Use the reverse lookup tool to figure out where calls came from. (Optional)
<LI>Fully integrated into the built in phone application.
<LI>Optionally, review blocked calls for the previous day.
</UL>
]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2006-03-25T15:36:55-08:00</dc:date>
</item>
<item>
<title>Special Numbers</title>
<link>http://hazelware.luggle.com/archive.html?88</link>
<guid>http://hazelware.luggle.com/archive.html?88</guid>
<description><![CDATA[If you remember some of the cool/special numbers from your younger days of school, <A HREF="http://home.earthlink.net/~mrob/pub/math/numbers.html">this site</A> will be a trip down nerd memory lane.  Enjoy!
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2006-02-08T08:55:44-08:00</dc:date>
</item>
<item>
<title>A Good Link on .NET CF 2.0</title>
<link>http://hazelware.luggle.com/archive.html?87</link>
<guid>http://hazelware.luggle.com/archive.html?87</guid>
<description><![CDATA[If you have written anything using the new .Net Compact Framework, you probably have begun scratching your head at how slow it performs, even on devices with 300 Mhz CPUs.  It&#39;s called progress!  Anyway, I dug up this handy FAQ reference from the CF team on improving performance in your applications.  Check it out: <A HREF="http://blogs.msdn.com/netcfteam/archive/2005/05/04/414820.aspx">http://blogs.msdn.com/netcfteam/archive/2005/05/04/414820.aspx</A>
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2006-02-03T14:32:32-08:00</dc:date>
</item>
<item>
<title>YASPR (Yet Another Software Patent Rant)</title>
<link>http://hazelware.luggle.com/archive.html?86</link>
<guid>http://hazelware.luggle.com/archive.html?86</guid>
<description><![CDATA[This post is yet another rant against software patents.  If you&#39;re tired of reading about people&#39;s frustrations with our current patent system, then move on to the next article in your RSS reader.  Otherwise, read on to find out about my personal sob story.
<BR>I found an application that was interesting to me called <A HREF="http://cequint.com/technology.htm">City ID</A>.  The gist of the application is that it looks at the first six digits of an incoming phone number and looks up in a table the city and state and displays that on the phone.  It works pretty well, but it has a lot of room for improvement and add on features.  So, I decided to go ahead and write my own implementation.  I grabbed the number/location pairing information from the <A HREF="http://www.nanpa.com/area_codes/">North American Numbering Plan Administration (NANPA) web site</A> and then threw together a little app that does what <A HREF="http://cequint.com/technology.htm">City ID</A> does.  Nothing more than a table look up.  I also added a handful of features that I thought were incredibly useful, but I&#39;m not going to post them here.  I finished it off and then gave it to some beta users who were all very excited and enthusiastic about my application.  I really thought I had a good thing going, but then I looked at one of the about screens in the <A HREF="http://cequint.com/technology.htm">City ID</A> application, only to find that they claimed patents covering their application.  Curious and slightly nervous, I hit the <A HREF="http://www.uspto.gov/">US Patent web site</A> and read <A HREF="http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=/netahtml/search-adv.htm&r=1&p=1&f=G&l=50&d=ptxt&S1=cequint&OS=cequint&RS=cequint">their claimed patent</A>.  I was floored by what I read.  Apparently, <A HREF="http://www.cequint.com/">Cequint</A> (the company that created City ID) has patented the entire concept for their application.  In a nutshell, they have a <A HREF="http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=/netahtml/search-adv.htm&r=1&p=1&f=G&l=50&d=ptxt&S1=cequint&OS=cequint&RS=cequint">very, very broad patent that covers adding geographic location to caller id information</A>.  That&#39;s about it.  Apparently, all of the work that I have done is worthless.  I&#39;m no lawyer and I don&#39;t really have the ability to hire one either, so I just have to try to come to grips with the fact that I am stuck.  
<BR>Now, I understand why we have patents, and I understand how they protect businesses, but I really have a problem with how they hurt end consumers.  Case in point, I would really like to take the concept for displaying geographic location information and add some very useful features.  However, because <A HREF="http://www.cequint.com">Cequint</A> was able to patent a table lookup, end consumers lose the benefit of our free market system.  <BR>What I really don&#39;t understand is why the patent system hasn&#39;t been overhauled.  I have read rant after rant after rant about how flawed our current system is, and yet nothing changes.  
<BR>Ok, I guess I&#39;m done ranting for now.  I&#39;m going to go look at some applications for <A HREF="http://www.law.harvard.edu/">law school</A> now.
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2006-01-21T22:42:34-08:00</dc:date>
</item>
<item>
<title>Documenting Wrongs (PalmOS)</title>
<link>http://hazelware.luggle.com/archive.html?85</link>
<guid>http://hazelware.luggle.com/archive.html?85</guid>
<description><![CDATA[One of the purposes for me having this blog is that I use it as a personal reference for quirks and oddities that I find while developing for PDAs and Smartphones.  When I find something, I&#39;ll write a short blog about it.  Then, later, when I&#39;m trying to remember how to do something, I can actually <A HREF="http://hazelware.luggle.com/search/index.html">search</A> for it on the blog.  This is one of those times.
<BR>
So, I&#39;m working on a little utility for my Treo 650 that has to know when an incoming phone call arrives.  Now, I&#39;ve worked with these APIs before (as I&#39;ve documented in other posts here) and I thought that I knew how to be notified when a call comes in.  It should be pretty simple; you have to 1. Load/Open the phone library, 2. Call PhnLibRegister, and then 3. Check for the phnLibLaunchCmdEvent in your PilotMain.  
<BR>I sat down one evening and quickly wrote the code to do it.  It all went pretty smoothly until I actually went to run it.  According to my asserts and debug statements, everything loaded and registered correctly, but for some reason, I wasn&#39;t receiving any notifications.  
<BR>Naturally I went to the web.  I Googled everything I could.  I looked in the PalmOS newsgroup archives.  I looked in the Palm Inc. developer site.  I looked in the sample code put out by both PalmOS and Palm.  I couldn&#39;t figure it out.  I was doing everything that they were.  Why wasn&#39;t mine working?  I struggled to rework the tiny bit of code  in numerous different ways, all to no avail.  Finally, through persistence and thanks to the magic of Google, I found 
<A HREF="http://tunes.org/~nef/logs/forth/05.10.13">this bizarre chat transcript</A> that (in a round-about way) describes how the value for phnLibLaunchCmdEvent used to be &#39;2bad&#39;.  According to the transcript, it had to be changed from &#39;2bad&#39; to &#39;abad&#39; because &#39;2bad&#39; isn&#39;t a valid value according to the PalmOS rules for custom launch codes.  Weird.
<BR>I went and looked at the value defined for it in my header files and sure enough, it was &#39;2bad&#39;.  Apparently, I have a very old version of the Handspring SDK.  Ugh.  If I had gone with a clean install of the SDK from Palm&#39;s site, I would not have run into this.  So, now that I have a valid value, I&#39;m up and running.  However, I do have a question if anyone knows: "Are there any Treo devices that actually use the value &#39;2bad&#39; for phnLibLaunchCmdEvent?"  Since my only reference is that weird chat transcript, I would love to know the full history behind it.  Ok, back to my code now.
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2005-12-27T16:11:22-08:00</dc:date>
</item>
<item>
<title>Unintended Consequences</title>
<link>http://hazelware.luggle.com/archive.html?84</link>
<guid>http://hazelware.luggle.com/archive.html?84</guid>
<description><![CDATA[About seven years ago I wrote some code to do Mu-Law and A-Law compression.  About six years ago, I decided to publish an article along with the source code for it.  You can find it <A HREF="http://hazelware.luggle.com/tutorials/mulawcompression.html">here</A>.  Anyway, the other day I received an email from someone who had taken it and modified it for what he was doing.  In doing so, he found a piece of misinformation that has been in my article since I originally published it.  Not a big deal, and I intend to rectify the issue.  However, as we chatted over email, I asked him what he was using Mu-Law/A-Law compression for.  Here is a clip from our email:
<I>
<BR>
<BR> > So if you don&#39;t mind me asking, what are you working on that has 13 bit
<BR> > unsigned audio input?
<BR>
<BR>Sure. I am designing a system that monitors lots of radio stations to capture and
<BR>detect Emergency Alert System activations - those ugly tones and occasional
<BR>voice messages you hear on the radio. The system has some rather incredible
<BR>shortcomings for a critical system in 2005. When the emergency management
<BR>office triggers an alert they have no way of knowing whether or not radio stations
<BR>actually broadcast the alert. Sometimes the system fails - too often. So our
<BR>system listens to the stations and sends a report back to Emergency HQ. In
<BR>most cases an exception report that shows which stations did not properly
<BR>send out the alert. So if the dam is breaking or the nuke is going critical they
<BR>can try again, use the phone, send a helicopter or something. 
<BR>
</I>
<BR>Whoa. Code that I originally wrote to compress audio in children&#39;s games is now being used to help monitor Emergency situations.  Talk about your unintended consequences!
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2005-12-14T22:15:19-08:00</dc:date>
</item>
<item>
<title>Cross Platform Code for Handheld Devices (Part 1)</title>
<link>http://hazelware.luggle.com/archive.html?83</link>
<guid>http://hazelware.luggle.com/archive.html?83</guid>
<description><![CDATA[The first two companies that I worked at out of college were both multimedia game companies where the importance and cost savings of cross platform code were highly stressed.  Both of the companies&#39; core business was around <A HREF="http://en.wikipedia.org/wiki/Edutainment">"Edutainment"</A> titles for Windows and Macintosh, and I learned a lot about hardware abstraction and many of the ways that C++ allows you to write cross-platform code.  (I&#39;ll go more into that in a later article.)
<BR>There are many, many <A HREF="http://www.goingware.com/tips/getting-started/">articles</A> littered around the web about the hows and whys of writing cross-platform code, so I won&#39;t go into those here.  
<BR>Well, both of the companies that I worked for ended up being dot-com-bubble-burst casualties, and my wife was pregnant, so I was forced to join Corporate America.  <insert your sob story here>  Anyway, I landed a job working for <A HREF="http://www.gesecurity.com">GE Security</A> where they hired me to be their lead PDA developer.  This introduced me first to the Palm OS, next WindowsCE, and eventually to Symbian development.  Over that time, I became somewhat familiar with the different development communities, and I discovered that the idea of cross-platform code is generally a foreign concept to handheld developers.  (The sole exception to that seems to be in game development.)  
<BR>This brings me to the crux of my post for today which is that I firmly believe that cross-platform is possible in handheld development.  From my experience, you need to be willing to invest in a framework abstraction of your core code, but once you have done that, you can quickly get a return on that investment by being able to write application code that can simply be recompiled to a different OS.  Of course there is a rigor that needs to be followed by not introducing non-portable code into the application code, but with practice and a solid code base, it is pretty easy to do.  To illustrate what/how this might look, I have built a simple <A HREF="http://en.wikipedia.org/wiki/Mandelbrot_set">Mandelbrot</A> viewer using my framework and compiled it for the Palm OS and for the MS Smartphone platform.  You can take a look at the application code <A HREF="http://hazelware.luggle.com/downloads/Demo.cpp">here</A> if you want to see how much code we&#39;re talking about.  Oh, and the binaries are <A HREF="http://hazelware.luggle.com/downloads/mandelbrot.zip">(PalmOS) here </A>and <A HREF="http://hazelware.luggle.com/downloads/MandelbrotPPC.zip">(Smartphone) here</A>.  What do you think?  Am I nuts?  Is this old hat to you?  Let me know.
<BR>
<BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2005-11-27T16:16:56-08:00</dc:date>
</item>
<item>
<title>New WiFi-Where Release With Bug Fixes</title>
<link>http://hazelware.luggle.com/archive.html?82</link>
<guid>http://hazelware.luggle.com/archive.html?82</guid>
<description><![CDATA[There is a new release of <A HREF="http://hazelware.luggle.com/wifiwhere/">WiFi-Where</A> that includes the following fixes/features:
<BR>1. Fixed the bug that crashes when you try to connect to an AP via WiFi-Where
<BR>2. Adjusted the signal strength indicator values to better reflect reality.
<BR>3. Changed the functionality of the "Clear" button so that you can either
clear all or clear unsaved AP&#39;s.
<BR>4. Added different tones for open vs. encrypted networks
<BR>5. Changed the AP details screen so that you can edit/change saved names
without having to delete them first. 
<BR>
<BR>That&#39;s about it.  I still have one <i>major</i> feature that I want to add and that&#39;s the ability to export AP information in a format that can be uploaded to the major Wardriving sites.  However, I&#39;m having trouble figuring out exactly which one I should do.  People have pointed me at <a href="http://www.netstumbler.com/">NetStumbler&#39;s</a> format, but that&#39;s a binary format and would be hard to get from your Palm to your PC without an SD card.  Because of that, I would like to find one that is text only.  If you have any knowledge/insight into these, <a href="mailto:bosshogg@luggle.com">drop me a line</a>.
<BR>Oh, and you can get the latest binary <A HREF="http://hazelware.luggle.com/downloads/wifiwhere.zip">here</A>.
<BR><BR>-Jon]]></description>
<dc:creator>"bosshogg"</dc:creator>
<dc:date>2005-11-23T21:07:50-08:00</dc:date>
</item>
</channel>
</rss>
