<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>The ZAZ Blog</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/" />
    <link rel="self" type="application/atom+xml" href="http://www.thezaz.com/blog/atom.xml" />
   <id>tag:www.thezaz.com,2008:/blog//10</id>
    <link rel="service.post" type="application/atom+xml" href="http://www.thezaz.com/mt4/mt-atom.cgi/weblog/blog_id=10" title="The ZAZ Blog" />
    <updated>2008-04-16T22:03:45Z</updated>
    <subtitle>When all you have left is a chicken and a rocket launcher, make some really badass scrambled eggs.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.0</generator>
 

<entry>
    <title>Finally, a new day job</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/general/finally_a_new_day_job.php" />
    
    <id>tag:www.thezaz.com,2008:/blog//10.211</id>
    
    <published>2008-04-16T21:37:25Z</published>
    <updated>2008-04-16T22:03:45Z</updated>
    
    <summary>So after five and a half years with Subway, I have found a new job that&apos;s actually in the industry I have real talent in. Not to say hadn&apos;t done a good job managing over a hundred teenagers, it just...</summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p>So after five and a half years with Subway, I have found a new job that's actually in the industry I have real talent in. Not to say hadn't done a good job managing over a hundred teenagers, it just isn't what I want to do. Not to mention it requires me to work about 50 hours a week over 6 days. If I were single and had no friends, it wouldn't be so bad, but considering neither of those are true it really gets to me sometimes.</p>

<p>But no more. I just signed and returned an offer letter.</p>]]>
        <![CDATA[<p>A few weeks ago, I was contacted by a company regarding an opening in their engineering team. I was called before the job was made public, and my initial conversation went very well. I was asked to send over some examples of my work, which I did, and we scheduled a phone interview with one of the existing engineers. That went very well. After about an hour, we hung up our phones and I expected to hear back maybe later that day or the next. Nope, I got a call about ten minutes later - to setup a time to fly me out there.</p>

<p>This was a Thursday, I was at their office on Monday. Talk about short notice. The experience was fantastic, and a lot of fun. I spent the day with them, and since I knew many of their names ahead of time, felt very comfortable.</p>

<p>My return flight was terrible, I literally spent twelve hours returning home, only six of which were actually flying. It was 2:30 when I actually made it back.</p>

<p>I didn't hear anything for a couple days, which worried me. Then I get an email from the lead engineer stating they had decided not to hire me.</p>

<p>What? Really? After all that? Why?</p>

<p>Basically, I don't have any experience with a team development environment which was a source of concern and the main reason they had decided not to hire me. I spent another day pretty depressed, because I was really looking forward to working there. Then, literally as I'm talking to a friend about the entire situation, I get a call from the original person who contacted me. He explained what happened, and brought up the idea of a different position. The new position would work more with the website and such like that, which I have a lot of experience in. It paid a bit less, but still acceptable. This way, they could see how I work and potentially get an engineer position in the future as it becomes available - granted I prove myself. Which I will.</p>

<p>So I talked to a different couple people on Monday. It went well. Well enough that a couple hours later, I was offered the position.</p>

<p>My head is still wrapping around the idea. I love it, but I've been with Subway for so long (and never left a job before) that it almost doesn't seem real. But it is. I have to move. Far away. To a state I'm less than fond of. But Kelly loves the idea and location, so it's not all bad. And the cost of living is cheaper. I'll lose seasons, but that's okay. (<em>note to self: stop using sentence fragments</em>.)</p>

<p>Luckily, I can work remote until after the wedding, then we'll move. That makes life much easier, since we already have everything booked.</p>

<p>My last day with Subway will be May second. I have the weekend to adjust, then I fly out Monday the fifth for my first day on May the sixth. They need me on-site for the first two weeks - which won't be ideal as I have to live out of a hotel with no car for the time. But it'll be okay.</p>

<p>Oh, and the company is REAL Software, makers of the wonderful REALbasic. I figured I'd save that until the end.</p>]]>
    </content>
</entry>

<entry>
    <title>AnimationKit 2.0 Released</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/announcements/animationkit_20_released.php" />
    
    <id>tag:www.thezaz.com,2008:/blog//10.210</id>
    
    <published>2008-03-30T16:50:08Z</published>
    <updated>2008-03-30T16:55:20Z</updated>
    
    <summary>I have finally found some free time, so I decided to release a brand new version of AnimationKit. This new version is significantly changed, and will break existing code. It does, however, include some great new features....</summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="Announcements" />
    
        <category term="REALbasic" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p>I have finally found some free time, so I decided to release a brand new version of AnimationKit. This new version is significantly changed, and will break existing code. It does, however, include some great new features.</p>]]>
        <![CDATA[<p>First of all, the Start and Stop methods are no longer needed - AnimationKit will start and stop itself automatically, saving vital system resources.</p>

<p>But most importantly, there is a completely new class structure. The new AKTask class handles the generic code to describe an animation, while the AKMoveTask is a subclass used to describe a movement. AKMoveTask is the newer version of AnimationTask.</p>

<p>The great new feature is AKFrameTask - an AKTask subclass which allows very simple graphic-based animations. Animations such as progress wheels are now very easy to accomplish.</p>

<p>So <a href="http://www.thezaz.com/opensource/realbasic/animkit/">check it out</a>, though be prepared to update some code.</p>]]>
    </content>
</entry>

<entry>
    <title>Hamachi Starter</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/announcements/hamachi_starter.php" />
    
    <id>tag:www.thezaz.com,2008:/blog//10.209</id>
    
    <published>2008-03-12T06:52:53Z</published>
    <updated>2008-03-14T05:24:10Z</updated>
    
    <summary>After reading about some trouble on the Hamachi forums, I decided to whip together something more than the how-to I wrote a few weeks ago. I have here a Mac OS X installer package which will install the files necessary...</summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="Announcements" />
    
        <category term="Mac OS X" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p>After reading about some trouble on the Hamachi forums, I decided to whip together something more than the how-to I wrote a few weeks ago. I have here a Mac OS X installer package which will install the files necessary to auto-start tuncfg, and give you a "Start Hamachi" application which you can add to your login items to automatically start Hamachi. You can find it in the /Applications/Utilities folder.</p>

<p>This is <strong>not</strong> an installer. You must have a working install of Hamachi in order for this to work.</p>

<p>The package is only lightly tested, comes with absolutely no warranty, and is <strong>not</strong> an official or sanctioned product of LogMeIn.</p>

<p><a href="http://www.thezaz.com/files/hamachistarter.zip">Download the small file here</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>Worst Headphones Ever</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/rants/worst_headphones_ever.php" />
    
    <id>tag:www.thezaz.com,2008:/blog//10.208</id>
    
    <published>2008-03-01T13:01:07Z</published>
    <updated>2008-03-01T13:28:33Z</updated>
    
    <summary>http://www.arriva.com/ I don&apos;t normally do stuff like this, but this thing dropped my jaw to the point I feel a rant is due....</summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="Rants" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p><a href="http://www.arriva.com/">http://www.arriva.com/</a></p>

<p>I don't normally do stuff like this, but this thing dropped my jaw to the point I feel a rant is due.</p>]]>
        <![CDATA[<p>If your goal in life is to look like a complete fashion retard, these headphones are for you. If you ever thought, gee... &quot;I'd sure like to reach around to the back of my head to change this song&quot; then these headphones are for you. I can't think of a third joke, so just digest one of those two again. I'll wait.</p>

<p>My fear is that these will become popular. Like the behind-the-head headphones that took over the "streetz" a while back. Remember those? I could see thugs wearing these while bludgeoning somebody with a baseball bat over some crack money.</p>

<p>On the positive side, this little kit will provide about a square inch of protection to the back of your head. If you're lucky enough to get hit with something right in that spot, you'll likely be okay. And luckily the iPod Shuffle is cheap and useless anyway, so replacing it is a snap. Heck, you could probably just grab one off the back of somebody else's head - then run like hell.</p>]]>
    </content>
</entry>

<entry>
    <title>Ham &amp; Cheese Update</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/ham_cheese/hamachi_update.php" />
    
    <id>tag:www.thezaz.com,2008:/blog//10.207</id>
    
    <published>2008-02-29T20:10:58Z</published>
    <updated>2008-03-07T04:11:35Z</updated>
    
    <summary><![CDATA[This is important information for anybody interested in Ham &amp; Cheese. The product will not see the light of day due to a contract I have recently agreed to. As I'm now under an NDA, I cannot reveal any new...]]></summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="Ham &amp; Cheese" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p>This is important information for anybody interested in Ham &amp; Cheese. The product will not see the light of day due to a contract I have recently agreed to. As I'm now under an NDA, I cannot reveal any new information, so please keep the requests to yourself. I'm confident this move is the best for every party involved. Thank you for your support.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Passwording, Favorites, and... Invitations and Profiles?</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/ham_cheese/passwording_favorites_and_invi.php" />
    
    <id>tag:www.thezaz.com,2008:/blog//10.206</id>
    
    <published>2008-02-20T06:18:06Z</published>
    <updated>2008-02-29T20:21:17Z</updated>
    
    <summary>Tonight, I&apos;m sharing two screenshots. Nothing fantastic on that front. But I&apos;m also going to share an idea I just had that I think is very cool - and it&apos;s another unique feature!...</summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="Ham &amp; Cheese" />
    
        <category term="Mac OS X" />
    
        <category term="REALbasic" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p>Tonight, I'm sharing two screenshots. Nothing fantastic on that front. But I'm also going to share an idea I <em>just</em> had that I think is very cool - and it's another unique feature!</p>]]>
        <![CDATA[<div id="marquee"><div id="marquee_inner"><p style="font-size: larger; text-align: center;"><a href="http://www.thezaz.com/blog/ham_cheese/hamachi_update.php">Important information regarding Ham &amp; Cheese</a></p></div></div><div style="float: right; margin-left: 10px; margin-bottom: 10px; width: 100px;"><a href="http://www.thezaz.com/blog/images/hnc_passwords.png" rel="lightbox[thumbs]" title="Both the Join and Create dialogs have a &quot;Remember my password in Keychain&quot; option now. But the Create dialog also has the standard Mac OS X Password Assistant. Sweet."><img src="http://www.thezaz.com/blog/images/hnc_passwords_thumb" style="margin-bottom: 10px;" width="100" height="70" alt="HNC" /></a><a href="http://www.thezaz.com/blog/images/hnc_faves.png" rel="lightbox[thumbs]" title="Switching the action of the two favorite buttons is as easy as right-clicking."><img src="http://www.thezaz.com/blog/images/hnc_faves_thumb" style="margin-bottom: 10px;" width="100" height="70" alt="HNC" /></a></div>So I've added Keychain support to Ham &amp; Cheese tonight. Nothing out of the ordinary here. I've also added access to the Mac OS X Password Assistant on the Create Network dialogs and setup assistant page. This way, you can quickly create some insane-to-crack passwords for your networks - and use Keychain to never need to remember them. Just imagine the poor Windows users having to join your network...

<p>I described before how you can change the two &quot;Favorite&quot; buttons up top. Here's an actual screenshot. Just right-click and choose your service. Sorry though, the icons do not change. Basic logic issue - what would they change to? How would the app decide which to use? Offer <em>more</em> user options? Every option has it's disadvantage, so I stuck with the most basic - they don't change.</p>

<p>And another juicy chunk of fun: Invitations. By right-clicking on a network, you'll be able to send an invitation to anybody with an e-mail address to join your network. Ham &amp; Cheese will write the e-mail for you. But what makes this really cool is how it's handled. When you do this, Ham &amp; Cheese will ask if the recipient(s) is running Ham &amp; Cheese. You'll answer Yes, No, or Don't Know. If you answer &quot;yes,&quot; Ham &amp; Cheese prepares a basic message with a clickable link to join the network. All the recipient needs to do is click and enter the password. In fact, this link will also be postable to web pages! If you answer &quot;no,&quot; then Ham &amp; Cheese will prepare an e-mail with instructions for users of the Windows client. Answering &quot;don't know&quot; will essentially include both.</p>

<p>Lastly, I think I've come up with something very cool. Ham &amp; Cheese currently supports a great Backup / Restore feature. You can backup and restore to/from both GZipped Tar archives and a unique (and double-clickable) Hamachi Config Backup format. So I thought to myself &quot:I could imagine somebody creating a folder with a couple backups, and switch accounts on-the-fly just by double-clicking the backup.&quot; It didn't take long for me to realize I could easily build this feature in and call it... Profiles!</p>

<p>Did it just get more exciting in here, or is it just me?</p>]]>
    </content>
</entry>

<entry>
    <title>Services Preview</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/ham_cheese/services_preview.php" />
    
    <id>tag:www.thezaz.com,2008:/blog//10.205</id>
    
    <published>2008-02-16T23:23:25Z</published>
    <updated>2008-02-29T20:22:04Z</updated>
    
    <summary>Want more Hamachi? Who doesn&apos;t! These screenshots should hold us over for a few days... or make everybody want it more!...</summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="Ham &amp; Cheese" />
    
        <category term="REALbasic" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p>Want more Hamachi? Who doesn't! These screenshots should hold us over for a few days... or make everybody want it more!</p>]]>
        <![CDATA[<div id="marquee"><div id="marquee_inner"><p style="font-size: larger; text-align: center;"><a href="http://www.thezaz.com/blog/ham_cheese/hamachi_update.php">Important information regarding Ham &amp; Cheese</a></p></div></div><div style="float: right; margin-left: 10px; margin-bottom: 10px; width: 100px;"><a href="http://www.thezaz.com/blog/images/hnc_services.png" rel="lightbox[thumbs]" title="These are some of the built-in services."><img src="http://www.thezaz.com/blog/images/hnc_services_thumb" style="margin-bottom: 10px;" width="100" height="70" alt="HNC" /></a><a href="http://www.thezaz.com/blog/images/hnc_ns.png" rel="lightbox[thumbs]" title="Creating a new &quot;Collaborate With&quot; service - obviously will only work with Mac peers."><img src="http://www.thezaz.com/blog/images/hnc_ns_thumb" style="margin-bottom: 10px;" width="100" height="70" alt="HNC" /></a></div>The services feature, currently unique to Ham &amp; Cheese, allows you to very quickly start various types of communications with another peer. You can assign any service to the double-click action, as well as assign different services for the "Share Screen" and "Browse Files" buttons. By default, "Share Screen" opens a VNC connection, "Browse Files" opens an AFP connection, and double-clicking also does VNC. But like I said, it's all completely customizable.

<p>Ham &amp; Cheese also supports the "Custom Label" feature from the Windows version, and acts exactly the same way. You can set a default pattern for every peer, and set special ones for individual peers.</p>

<p>Those who have seen the <a href="http://www.thezaz.com/products/hnc/demo/">demo movie</a> of Ham &amp; Cheese in action should note that you will now have the option to restore your Hamachi account from a saved backup, rather than just creating one for you automatically.</p>

<p>More to come...</p>]]>
    </content>
</entry>

<entry>
    <title>Hamachi for Mac OS X</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/announcements/hamachi_for_mac_os_x.php" />
    
    <id>tag:www.thezaz.com,2008:/blog//10.204</id>
    
    <published>2008-02-11T07:27:47Z</published>
    <updated>2008-02-29T20:23:12Z</updated>
    
    <summary>After being supremely upset with the current options for using Hamachi on Mac OS X, and the difficultly of getting it installed in the first place, I set out to solve every issue I&apos;ve ever had with Hamachi on the...</summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="Announcements" />
    
        <category term="Mac OS X" />
    
        <category term="REALbasic" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p>After being supremely upset with the current options for using Hamachi on Mac OS X, and the difficultly of getting it installed in the first place, I set out to solve every issue I've ever had with Hamachi on the Mac. At least, as much as is possible.</p>

<p>It's important to note that I am NOT an official developer for LogMeIn, and this project may not see the light of day due to some issues I cannot yet speak about.</p>

<p>But if this does work out... damn... Hamachi on Mac worries are over.</p>]]>
        <![CDATA[<div id="marquee"><div id="marquee_inner"><p style="font-size: larger; text-align: center;"><a href="http://www.thezaz.com/blog/ham_cheese/hamachi_update.php">Important information regarding Ham &amp; Cheese</a></p></div></div><div style="float: right; margin-left: 10px; margin-bottom: 10px; width: 100px;"><a href="http://www.thezaz.com/blog/images/hnc_2008-02-11.png" rel="lightbox[thumbs]" title="The best unofficial Hamachi GUI is rapidly becoming better than the official Windows version."><img src="http://www.thezaz.com/blog/images/hnc_2008-02-11_thumb" style="margin-bottom: 10px;" width="100" height="70" alt="HNC" /></a></div>Look at that screenshot. This is just an early alpha build, and the UI keeps getting better, as well as the features.

<p>A full setup assistant allows mind-numbingly simple setup of Hamachi - right down to creating or joining a network. The peers list allows you to pick from any number of default "services" - actions to take on a peer - and you can quickly add your own. You can even assign one to the double-click action of a peer. The three most useful, "Share Screen", "Browse Files", and "Copy Address" are available directly from the main window with a single click.</p>

<p>At this rate, this new app will have some great features that LogMeIn will want to consider integrating into their official product.</p>]]>
    </content>
</entry>

<entry>
    <title>Supremely Awesome</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/general/supremely_awesome.php" />
    
    <id>tag:www.thezaz.com,2007:/blog//10.203</id>
    
    <published>2007-11-23T03:28:58Z</published>
    <updated>2007-11-23T03:46:28Z</updated>
    
    <summary>I consider myself a bit of a gamer. I have, until now, kept it mostly secret to the outside world that a) I have a PC, and b) I use it to play games. Let&apos;s face it - the Mac...</summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p>I consider myself a bit of a gamer. I have, until now, kept it mostly secret to the outside world that a) I have a PC, and b) I use it to play games. Let's face it - the Mac sucks for games. Completely and utterly terrible. Everything else, and you wouldn't hear me say enough good things about the Mac. But gaming? No way, at least not until Apple makes a truly customizable Mac.</p>

<p>But we won't get into that today.</p>

<p>What I've done here is one of those "Holy crap that was a good idea" moments we all like to have once in a while.</p>]]>
        <![CDATA[<div style="float: right; margin-left: 10px; margin-bottom: 10px; width: 200px;"><a href="http://www.thezaz.com/blog/images/saweb.png" rel="lightbox[thumbs]" title="Playing Supreme Commander: Forged Alliance on my 42&quot; HDTV"><img src="http://www.thezaz.com/blog/images/saweb_thumb" style="margin-bottom: 10px;" width="200" height="150" alt="Supremely Awesome" /></a></div>I bought a DVI-to-HDMI cable and an Optical Audio cable to plug my PC into my home theater system. Playing games like Battlefield 2142 and Crysis on it were very satisfying - enough to re-cement my feet into the "I hate Xbox and PS3" blocks once again.

<p>Then I tried some options to really utilize my setup here. Supreme Commander's dual-screen support would be awesome. I knew it would be cool, but I underestimated my system. I put the main action at full detail - and I mean everything, even 16x Anti-Aliasing, on my HDTV at full 1920 x 1080 resolution AND the map view on the second screen at 1280 x 1024 without slowing down my video card.</p>

<p>I nearly wet myself when I started playing this. I wasn't just making things bigger to fit on the screen like the other games, I was actually rendering more content on the TV.</p>

<p>My only complaint is that I need to put the screen setup in a quite unusable mode before playing, and switch back when done. If only the NVIDIA Control Panel supported quick profile changing.</p>

<p>Oh, and one last thing - the G15 keyboard by Logitech is also overly cool and useful.</p>]]>
    </content>
</entry>

<entry>
    <title>Leopard Compatibility Notice</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/mac_os_x/leopard_compatibility_notice.php" />
    
    <id>tag:www.thezaz.com,2007:/blog//10.201</id>
    
    <published>2007-10-27T02:29:13Z</published>
    <updated>2007-10-27T02:32:25Z</updated>
    
    <summary>I have waited the line for my copy of Leopard. Mail.app RSS sucks. But more importantly, I&apos;ve tested my projects for compatibility for Leopard. I find no flaws. Everything, including HIToolbar and Mac OS X Search Field appear to work...</summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="General" />
    
        <category term="Mac OS X" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p>I have waited the line for my copy of Leopard.</p>

<p>Mail.app RSS sucks.</p>

<p>But more importantly, I've tested my projects for compatibility for Leopard. I find no flaws. Everything, including HIToolbar and Mac OS X Search Field appear to work exactly as they should.<br />
</p>]]>
        
    </content>
</entry>

<entry>
    <title>Some insight about REALbasic toolbars</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/hitoolbar/some_insight_about_toolbars.php" />
    
    <id>tag:www.thezaz.com,2007:/blog//10.200</id>
    
    <published>2007-10-20T03:09:59Z</published>
    <updated>2007-10-20T06:01:56Z</updated>
    
    <summary><![CDATA[So upon looking into a new rewrite of HIToolbar, I've wanted to hit at least one of two incredible features: controls-in-toolbars and cross-platform toolbars. Focusing on the latter in this post, I said to myself &quot;If REAL Software can do...]]></summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="HIToolbar" />
    
        <category term="Mac OS X" />
    
        <category term="REALbasic" />
    
        <category term="Windows" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p>So upon looking into a new rewrite of HIToolbar, I've wanted to hit at least one of two incredible features: controls-in-toolbars and cross-platform toolbars.</p>

<p>Focusing on the latter in this post, I said to myself &quot;If REAL Software can do it, then there is no reason why my class cannot do the same.&quot;</p>

<p>This statement, as it turns out, is incorrect.</p>]]>
        <![CDATA[<p>After struggling to find the content I was looking for on MSDN, I finally found it. Windows toolbars support many of the same conventions as the Mac OS X HIToolbar & NSToolbar. The more I looked into it, the more I thought I could certainly make a completely new HIToolbar that wrapped both the Mac OS X HIToolbar and the Windows Toolbar.</p>

<p>So I started reading on how to actually accomplish this and got defeated right from the get go.</p>

<p>Windows Toolbars are created using the CreateWindowEx function. Basically, the toolbar needs to be created at the same time as the window. Since REALbasic does not open the functionality to me in any way, it seems I've been shot down before even starting.</p>

<p>Well, not completely. But it'd be awkward. I could have the developer place an RB Toolbar on the window, and then my class could work with it and control it's content. But it's not worth it.</p>

<p>This does, however, explain why we cannot create or remove the RB Toolbar in code. Once again, Windows ruins the fun for all of us. The developers of the REALbasic team found a way to make it work, but it certainly feels like a hack. I'm certain that toolbars in REALbasic would be completely different if Windows could create and assign toolbars to active windows on-the-fly, just like Mac OS X can. But it can't.</p>

<p>However, there still is no reason that the RB Toolbar cannot support customization (unless it is Linux holding them back - I don't know). Both Windows and Mac OS X support it. Both the Windows and Mac OS X toolbars are very similar, and support similar view styles - despite being named differently.</p>

<p>So what is the next option for cross-platform using HIToolbar? Well, in the next version, I'm experimenting with *replacing* the RB Toolbar at runtime. See, the idea is that the developer will create an RB Toolbar and work with it like normal. On Windows, it works. On Mac OS X, the developer would call a simple routine that would replace the toolbar with one of mine. In theory, this will work. In practice, I don't know yet.</p>

<p>I'm also thinking about renaming HIToolbar. Soon (hopefully in 2008 according to Geoff Perlman), it will become a wrapper for both HIToolbar and NSToolbar. And if true cross-platform ever happens, the name will be very wrong. It's also strange for terminology sake. But I really like the idea of HIToolbar 2, and not alienating my existing users.</p>

<p>And lastly, I'm learning to create REALbasic plugins. I know I can do it, but the documentation is awful and outdated. My goal is to make HIToolbar 2 a plugin, which will allow me to interact with the OS more naturally - rather than some of this crap I have to do now. I'm also far more likely to be able to support controls-in-toolbars this way than without. I've tried. I've already rewritten HIToolbar (this rewrite is cool, but not public and never will be) with this feature nearly working - but it just doesn't.</p>

<p>So that's my &quot;state of the toolbars&quot; address. I'm still interested in completing REALSyndication and progress moves on that slowly. The task is extraordinarily daunting and boring. And I'll leave you with a nugget of interest. I've been interviewing with REAL Software for the past month. I've talked to many important names, starting with Geoff Perlman and then Mars Saxman. My last interview was with the REALbasic team - Aaron Ballman, William Yu, and Mike Bailey.</p>

<p>I found out yesterday that I would <strong>not</strong> be helping as their new Mac OS developer. I understand though, as I have no formal training or experience. I still feel I would be an excellent member of their team, but I respect and understand their decision.</p>]]>
    </content>
</entry>

<entry>
    <title>Converting HTML Entities [Updated]</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/announcements/converting_html_entities.php" />
    <link rel="enclosure" title="HTMLEntities Module" type="application/zip" href="http://www.thezaz.com/products/realsyndication/download/htmlentities.zip" length="8960" />
    <id>tag:www.thezaz.com,2007:/blog//10.199</id>
    
    <published>2007-09-22T22:20:30Z</published>
    <updated>2007-09-22T22:21:21Z</updated>
    
    <summary>I&apos;ve made another mini-release. This is simply a REALbasic module which allows quick conversion back and forth between HTML entities, and their actual character....</summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="Announcements" />
    
        <category term="REALSyndication" />
    
        <category term="REALbasic" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p>I've made another mini-release. This is simply a REALbasic module which allows quick conversion back and forth between HTML entities, and their actual character.</p>]]>
        <![CDATA[<p>If you are not sure what I mean, the problem generally arises in XML. For example, in an XML element, characters such as &lt; and &gt; are can mess up the parser. So there are two options: wrap the content in a CDATA section, or convert the content to &quot;XML-Safe&quot; - which this module does.</p>

<p>It also converts back to the original characters, and converts code points as well, but only in UTF-8. These are bits of content that look like &amp;#156; which the gets converted to a character using REALbasic's Chr function. Adding support for customizable encodings should not be difficult.</p>

<p>There are two methods to think about. EscapeHTML and UnescapeHTML. They can be used either as methods of the module, or methods of the string. For example:</p>

<pre class="rbcode"><?php echo FormatRBCode("MyString = EditField1.Text.EscapeHTML"); ?></pre>

<p>Or</p>

<pre class="rbcode"><?php echo FormatRBCode("MyString = HTMLEntities.EscapeHTML(EditField1.Text)"); ?></pre>

<p>Either method is fine.</p>

<p>[<em>Update</em>]</p>

<p>The original module had a case-sensitivity mistake. This has been corrected, but it's now a module and a class, rather than just a module. The setup is still quite fast, and self-initializing.</p>]]>
    </content>
</entry>

<entry>
    <title>Blog Comments Back Online</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/general/blog_comments_back_online.php" />
    
    <id>tag:www.thezaz.com,2007:/blog//10.198</id>
    
    <published>2007-08-19T22:13:48Z</published>
    <updated>2007-08-20T00:44:14Z</updated>
    
    <summary>Alright, the upgrade to Movable Type 4 is nearly complete - at least for now....</summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="General" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p>Alright, the upgrade to Movable Type 4 is nearly complete - at least for now.</p>]]>
        <![CDATA[<p>I've utilized the new comment authentication features of MT4 to let comments come back without an excessive amount of spam. I do, of course, fear that it will come back.</p>

<p>At the moment, comments are unmoderated. They may become moderated in the future.</p>

<p>I'm also planning to allow TrackBack pings. Not that anybody has ever in my life pinged something I wrote, I'd still like to have the option - especially for when some of my new content is ready for publishing.</p>

<p>Overall, I like MT4. Though I have to ask myself - why did I just spend my day doing this? Alright, I've got some new options and that's great - but did I <strong>need</strong> them? Probably not. I had to re-create all my CustomFields data to make the appcasts work again, which really pissed me off and, of course, didn't get me any better off than I was before the upgrade. And MT4 appears to be quite slow - I hated rebuilding my site to test stuff, but now it's excruciating!</p>

<p>I did also add a "Digg button" option for my entries. I'll likely start turning that on for some of my more useful posts.</p>

<p>Overall, I'm not unhappy with MT4 - but I'm not loving it.</p>]]>
    </content>
</entry>

<entry>
    <title>Signal: Don&apos;t Bother</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/mac_os_x/signal_dont_bother.php" />
    
    <id>tag:www.thezaz.com,2007:/blog//10.196</id>
    
    <published>2007-07-29T17:39:57Z</published>
    <updated>2007-07-29T17:57:35Z</updated>
    
    <summary>I&apos;ve given a shot to a relatively new program called Signal which allows mobile control of iTunes from an iPhone or Windows PocketPC. While it&apos;s remote-side interface is beautiful, I was very disappointed by this app....</summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="Mac OS X" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p>I've given a shot to a relatively new program called Signal which allows mobile control of iTunes from an iPhone or Windows PocketPC.</p>

<p>While it's remote-side interface is beautiful, I was very disappointed by this app.</p>]]>
        <![CDATA[<p><strong>Pros</strong>: Great remote interface</p>

<p><strong>Cons</strong>: Terrible Mac-side interface, no options, completely disappeared during use, very pricey for the feature set.</p>

<p>I really don't intend to be mean here, I can see the application is new and needs some completion. But it really should be marked as a beta.</p>

<p>While I was trying to setup and test Signal, it began working okay, then communication stopped. When I looked at my Mac, Signal had quit. But not unexpectedly. I have a feeling this is a demo time limitation. That's fine, but it's handled really, really poorly. There is no notice at startup, no notice when it's time to quit, no information on the website except price, no help, and no read me. There's really no information regarding the demo.</p>

<p>The remote-side interface is excellent, and replicates the iPhone's iPod app very, very well. Sorry though, this is really my only compliment.</p>

<p>Sorry <a href="http://www.alloysoft.com/">Alloysoft</a>, Signal is getting AppZapped.</p>]]>
    </content>
</entry>

<entry>
    <title>Macros, Combo-Filtering, and 68k Scanning</title>
    <link rel="alternate" type="text/html" href="http://www.thezaz.com/blog/archdetect/macros_combofiltering_and_68k.php" />
    
    <id>tag:www.thezaz.com,2007:/blog//10.195</id>
    
    <published>2007-07-23T16:44:24Z</published>
    <updated>2007-08-20T23:47:55Z</updated>
    
    <summary>Using only two small screenshots, today I&apos;ll show two very useful features and one &quot;why the hell not&quot; feature of ArchDetect 2....</summary>
    <author>
        <name>Thom McGrath</name>
        <uri>http://www.thezaz.com/blog/thom_mcgrath/</uri>
    </author>
    
        <category term="ArchDetect" />
    
        <category term="Cocoa" />
    
        <category term="Mac OS X" />
    
    <content type="html" xml:lang="en" xml:base="http://www.thezaz.com/blog/">
        <![CDATA[<p>Using only two small screenshots, today I'll show two very useful features and one "why the hell not" feature of ArchDetect 2.</p>]]>
        <![CDATA[<div style="float: right; margin-left: 10px; margin-bottom: 10px; width: 100px;"><a href="/blog/images/ad2_macros.png" rel="lightbox[thumbs]" title="Macros automatically activate the correct Combo-Filters to show exactly what you want to know."><img src="http://www.thezaz.com/blog/images/ad2_macros_thumb.png" style="margin-bottom: 10px;" width="100" height="59" alt="" /></a><a href="http://www.thezaz.com/blog/images/ad2_filters.png" rel="lightbox[thumbs]" title="Combo-Filtering allows you to select multiple filters to show anything that matches any of the selected criteria."><img src="/blog/images/ad2_filters_thumb.png" width="100" height="12" alt="" /></div></a><strong>Macros</strong><br />Macros are one of those &quot;Duh, why did't it do that before&quot; features that really make ArchDetect sing. Simply select the &quot;Native&quot; item, and ArchDetect automatically selects both Universal and Intel filters on Intel Macs or Universal and PPC filters on PowerPC Macs. Similar features for the Emulated and Incompatible Macros.

<p><strong>Combo-Filtering</strong><br />Combo-Filtering allows you to select any number of filters. ArchDetect will filter using an &quot;OR&quot; operation, so selecting Universal and Intel will show you anything that is either Universal, or Intel-Only. Selecting the All item automatically deselects everything else, and selecting everything automatically switches to All. It's very intelligent and works exactly as you'd expect.</p>

<p><strong>68k Scanning</strong><br />Some users have actually requested this. Some users still need to use Classic for a few apps, so before upgrading to an Intel Mac, they wish ArchDetect would tell them which apps will no longer work at all. Although most users won't need this feature, it's not very difficult to add, so we've done it. Thankfully, ArchDetect is smart enough not to run this scan unless it needs to. For example, it won't run this scan on anything that is a bundle, which is most Applications these days. If it is not a bundle, ArchDetect won't bother running the Universal scan, because that's impossible. So this additional scan really won't slow down ArchDetect at all. Especially not after all of the other optimizations I've already made.</p>]]>
    </content>
</entry>

</feed> 

