M3U2iTunes



M3U2iTunes has been moved here. Please update your bookmarks.

 

/Entries/M3U2iTunes | permanent link

 

Subversion

I tend to go through phases in thinking that I do or don't need some sort of personal source code control. I'm currently in the "need it" phase (which I fully expect to continue in perpetuity) since I have about 5 projects on the go on two different operating systems in three different languages.

Subversion seems to be the logical choice as the most modern system. Visual Source Safe is arguably the easiest to use, but it isn't cross platform so it's out.

As one might expect, I've been running into some annoying "gotchas" in the process of setting this up.

I wanted to avoid a server based system since it's just me (at the moment, anyways) and it's a bit of overkill. Easy, I think. I have a FireWire drive that I use mostly to boot Leopard and back up my MacBook. Lots of space left for an SVN repository for both my Mac and Windows code. Here's the rub, though...

In order to boot Leopard (or anything else), my drive needs to be partitioned using a Guid Partition Table. This is, apparently, a requirement of the Intel Macs. Even if I were to get a FireWire card for my PC, I still couldn't use the drive since Windows XP (the non-64 bit version, anyways) doesn't support GPT. There's no way I can use this drive as a general purpose carry-around SVN repository, and still use it to boot other versions of Mac OS X.

This is one of those incompatibility things that boggles me. Luckily Wendy just got herself a 300gb drive for her photography archives and happened to have an 80gb external USB drive that she doesn't need any more. It annoys me that I'm going to have to take a performance hit using USB instead of FireWire, but I have no intention of buying yet another drive.

So I've started importing projects into the SVN repository on this drive. On the PC side, AnkhSVN is an awesome addon for Visual Studio 2005 that adds integrated source code control management for Subversion. TortoiseSVN (I used the CVS version at one point) is a great Windows Explorer extension for same.

Xcode...well, it seems that Xcode has a problem with SVN which is fixed in the latest revision. I just received the ADC DVD today so hopefully the update is on it.

The last step in this adventure (once I finish getting the Windows projects checked in) will be to see if I can plug the drive into my MacBook and add Xcode projects. I'm pretty hopeful that this will all work just fine, although I'm prepared for some tussling.

/Entries/Code | permanent link

 

Colorizing Bitmaps

I've been enjoying working on the new, more, umm, "modern" looking pTravelAlarm lately. One of the fun things about opening up development on new versions of applications is that you tend to get a flood of suggestions, and since development is open, you tend to implement them ;-)

A repeated request is to allow the user to change the color of the text on the screen. This would, of course, be trivially easy if we were using text exclusively, but a lot of what you see is actually bitmaps.

In actuality, mapping a color in a bitmap to another color isn't all that hard either - although certainly more difficult that simply setting the color of a piece of text, since it involves modifying the actual RGB values in the bitmap. Luckily I had a piece of code lying around from Phone Today, which has the need to map its icons to the Windows Mobile Today Screen theme color.

The code to do the colorizing is presented below for those who might have the need to do something like this. Basically the LoadAndColorizeBitmap method does the actual loading of the bitmap resource as well as mapping one particular color to another.

All of the bitmaps which will have their color changed are saved using a particular color (yellow, in my case). When the Windows Mobile application starts and loads the required bitmaps, it calls LoadAndColorizeBitmap, passing in the resource id and the requested color. LoadAndColorizeBitmap loads the bitmap and changes the color, returning a normal HBITMAP handle to the caller. No further work is required (except, of course, to call DeleteObject when done with the bitmap).

I only had the need to map yellow to something else, so you'll see #define statements for the red, green and blue values of the source color, but the function could be generalized if necessary.

The code

/Entries/Code/WindowsMobile | permanent link

 

Why StoryGrinder is Freeware

As I've mentioned before, I wrote StoryGrinder for my own purposes rather than as a commercial exercise. I've actually been using it for over a year now, refining and tweaking some of the functionality until I was personally happy with it. This is probably the most enjoyable kind of software to write, because you end up being your own best customer. And hey, I'm pretty easy to work with.

I'm a great believer in writing. It focuses ones thoughts like nothing else. I'm also a great believer in the whole blogging scene; it may sound corny, but the opportunity for folks to express themselves is A Good Thing. I enjoy reading well-crafted, thoughtful articles (John Gruber at Daring Fireball springs immediately to mind as the first example).

So again, I have to preface my next remark as "corny as it may sound". StoryGrinder is my contribution to those people who are writing the things that I'm enjoying reading. Keep up the good work, and I hope some of you find the program useful.

/Entries | permanent link

 

Wow.

For the first time in 25 years (how the heck did that sneak up on me), I'm no longer gainfully employed. Not that I'm complaining too much, since the reasonable severance package will allow me to pursue my dreams of having my own real consulting and contracting company. Fingers crossed, anyways. Corporate mergers and takeovers aren't all bad, it seems.

What I'd like to do is some Mac work, but frankly I'm not sure how much of that there is out there. I expect I'll spend some time working on our (Burr Oak's) Windows Mobile apps, as well as the two Macintosh apps we have coming up, and at the same time start hunting for contracts.

I'm more excited than I sound. This kind of opportunity presents itself very very rarely.

/Entries | permanent link

 

Macbook

My older son ended up needing my (loaded) PowerBook for college, so I elected to take a small downgrade and replace it with a Macbook (not Pro) for myself.

Aside from a few annoyances, I'm pretty happy with it. I ended up partitioning the 120Gb drive into an 80Gb slice for Mac OS X and a 40 Gb slice for Windows XP. I plan on using the XP partition to hold games and viruses. And possibly Visual Studio 2005, which I picked up a copy of for $60 at the Microsoft Company Store when I was in Redmond.

I like the fact that when connected to an external monitor and keyboard, you can operate the Macbook closed. The actual operation seems to be fairly well thought out - close the Macbook, plug in the external monitor and keyboard and hit a key on the external keyboard to wake it up to display on the external monitor.

I don't care for the keyboard, which reminds me of the old TRS-80 Color Computer chicklet keyboard. Oh, and my Macbook is black and the lack of keyboard backlighting hurts.

Bootcamp is great, and XP runs nicely. The lack of a Delete key is a huge pain however, and having to press the right-hand Apple key while clicking in order to perform a right-click is just ridiculous. Isn't like 90% of the world right-handed? Aside from that, it's nice and fast and, in fact, regardless of what the armchair pundits speculated, the graphics adapter isn't bad - WoW runs at between 30 and 60 FPS.

I'm also trying out Parallels, since I occasionally have the need to run Windows Server 2003. I haven't decided though, whether it makes more sense to just boot from the XP partition and use VMWare.

/Entries/Mac | permanent link

 

SharePoint

I'm in Redmond this week, being educated on SharePoint 2007. SharePoint has a lot of potential: it's bewilderingly complicated in terms of setup and configuration, but it also has some amazing capabilities.

I spent a few years working on Portal back-ends from, oh, about 1999 to 2003 and it's interesting to see some of the ideas we thought about (but couldn't manage to bring to fruition) appearing in SharePoint. And done quite nicely. I predict that SharePoint will do quite well as a web front end, especially once people pick up on the power of features like the Business Data Catalogue, which effectively lets you create some (simple, at this point) level of composite application from various back-ends.

SharePoint 2007, BTW, works quite nicely in Safari on my PowerBook (which I have with me - and I'm not the only one). It doesn't have the tight Office integration that you'd have on XP, but the functionality is all there otherwise.

/Entries/Programming | permanent link

 

Allot of good

I know that every generation complains about the previous generation, and with that said I am, of course, going to complain.

I still remember, to this day, having the fact that "a lot" is two words drilled into me. It isn't "alot" or, as you'll see more and more often today, "allot" (which is what spell checkers recommend when you type "alot" - try it yourself). It's "a lot". Two words.

I don't think spelling, grammar or much of the English language are actually being taught, in fact. I suspect that it's a matter of scribbling down a phonetic representation of a word or phrase you've heard. Surely that's good enough, right? Because everyone knows that when you write:

For all intensive purposes

...you actually mean...

For all intents and purposes

Interestingly, these misheard phrases are actually making it into the (more or less) accepted English language. How many people know that it's actually couldn't care less?

Happily though, there's organizations like the Apostrophe Protection Society, who are here to help us. In fact, they're doing a lot of good. Do yourself a favour and bookmark their page. Send it to a friend. You'll be doing your part to prevent the language from degrading into inscrutability.

P.S. It's always dangerous to write a piece about grammar. I recognize this, so feel free to start picking. Comments aren't enabled on this site, so you'll have to email me. And I'll ignore you.

/Entries/Venom | permanent link

 

Dirty Secret

I have a dirty secret.

I have an Exchange server and I like it. A lot.

I started down the road to an Exchange server with the introduction of DirectPush on Windows Mobile (I've talked before about how well DirectPush works, so I won't go into that here). DirectPush required me to have an Exchange account, which I got through 4SmartPhone.net. This all worked well, except that I have several email accounts, and 4SmartPhone.net will only retrieve and forward mail from one. Further, with the outrageous GPRS pricing, I'm completely unwilling to pay to ship spam over-the-air, and their anti-spam protection was letting too many slip through.

Coincidentally, I realized that I had a perfectly good (if slightly underpowered) test server running Windows Server 2003 and Exchange 2003.

First off was to find a way to grab the email out of my various POP accounts and forward it to my Exchange account. I ended up using GetMail 4 Hotmail running as a service (to start out with, at least). This utility periodically grabs email out of POP accounts and forwards them to the appropriate email address via SMTP (i.e. the local Exchange server). The only complaint I have about this methodology is that I have to regularly remove the messages from the POP servers myself. I'm looking at using Fetchmail instead. For the time being though, it's working well.

I set up Spam Assassin to perform spam filtering; using the excellent SpamAssassin Sink to integrate it with Exchange. It was reasonably easy to set up, although I have to find a better way of updating the Bayesian tokens than running batch scripts manually.

Finally, I turned on DirectPush. I've set up Blackberry BES servers before, and the difference in configuration is night and day. Basically you check a checkbox and you're good to go.

I've been running this configuration for a few weeks now in parallel with my "normal" mail configuration (i.e. a mail client contacting various POP servers). I've had nothing but success so far (I received all of my email while at the WWDC on my JasJar via Cingular wireless) and I have vastly less spam delivered than I would normally get through Apple Mail.

Once I get the Pop->Exchange procedure running to my satisfaction, I expect to switch over completely.

Suggested reading:

Configure Exchange 2003 Server
Hotmail Forwarding - GetMail 4 Hotmail
Fetchmail
SpamAssassin: Welcome to SpamAssassin
Exchange SpamAssassin Sink
Exchange 2003 Backup and Restore with NTBACKUP

(P.S. I like Entourage, too)

/Entries | permanent link

 

Retain Counts

I thought I took pretty good notes at the WWDC but, as usual, what made sense when I wrote it didn't make sense when I read it. Actually it did make sense, but it wasn't anywhere near complete enough. Note to self: take longer better notes next time.

One of my Cocoa apps was (recently) crashing in obc-msgSend. Upon seeing this, I was delighted to remember a specific bit of one of the developer sessions which talked precisely about this. I gleefully turned to my notes and sure enough, learned that crashes in obc-msgSend are a sign of prematurely deallocated objects, and I should set MSZombieEnabled [sic] to find them. Sadly, I neglected to expand on the "MSZombieEnabled" thing or, in fact, spell it correctly.

Happily, thanks to the power of Google, I found what I needed in this wonderfully complete article on, you guessed it, debugging retain counts (complete with where to set NSZombieEnabled):

Big Nerd Ranch Weblog >> Debugging retain counts

/Entries/Programming | permanent link

 

Adium and XFire

I admit to using XFire on a semi-regular basis, as well as other less specialized IM systems. I was, therefore, delighted to see Xblaze - a plugin for the popular Adium IM application.

Xblaze encouraged me to switch from my normal configuration of iChat and MSN Messenger to a consolidated Adium setup, which is pretty handy - simplification is better, right?. Now all that's left is a Skype plugin, and my setup will be complete.

/Entries/Mac | permanent link

 

You've Come to the Right Platform

This was the tag line and message of this year's WWDC. Unsaid, but implied, was the message "pay no attention to Vista because Leopard will still outdo it". I suspect that Apple knows its history and remembers more than 10 years ago when another new version of Windows was on the way. Windows 95 succeeded in distracting attention from the Mac by duplicating (more or less) it's unique interface, even though a large number of people at the time mocked the Mac's cutesy desktop look-and-feel. Of course, those same people crowed the benefits of this UI once Windows duplicated it.

I've used the Vista beta and it's nice. It's still nowhere near as intuitive as Mac OS X: it seems that Microsoft has attempted a mostly superficial copy of the interface rather than any real ground breaking usability improvements. And it still has the dreaded registry. And an unbelievable number of inscrutable popup warning and confirmation dialog boxes.

Vista will however, distract quite a few people (and of course, the mainstream media) because of its superficial similarities to Mac OS X. And perhaps this is the genius of Microsoft at work.

From a developer's point of view, Mac OS X is vastly superior in its capabilities to Vista or any earlier version of Windows. The abundance of amazingly powerful APIs that are easy to use (think: CoreImage) and free development tools make it almost a pleasure to develop for. Except for the whole Cocoa memory management methodology, of course.

So Apple is mostly right. Mostly. From a technical point of view, it's assuredly easier to accomplish a task (and in a more elegant and satisfying way). Apple loses on the business attraction of developing for the Mac; lets face it, a 5% (or 10% or 12% or whatever the current claim is) market share isn't anywhere near as attractive as the 90 some-odd percent market share of Windows. And the market share, or rather the perception of market share, not the technical merits, will ultimately determine if this is the right platform or not.

As an aside, the question of percentages still needs to be taken with a grain of salt. Anecdotal evidence suggests that the vast majority of installed Windows software is pirated. People affluent enough to purchase a computer in the first place go to great ends to steal a $20 piece of software (the lengths that some people will actually go to to try to steal our software is mind boggling; one day I'll list some of the better ones).

So whether or not the Mac and its associated peripherals is, in fact, the "right platform" remains to be seen. If market share continues to increase, developers will have both a compelling technology platform as well as a compelling business platform. Lets hope that Apple remembers Windows 95 and is ready for it.

/Entries/Mac | permanent link

 

The Missing Sync

The Missing Sync has been released with Windows Mobile 2005 support, and boy this works great. I've been lurking (and sometimes contributing) in their beta mailing list for the past few months, and as a fellow Windows Mobile developer, I've felt their pain during the process.

What most (non-developers) don't realize is the huge expense both in hardware and time in developing for Windows Mobile. This always ends up frustrating me whenever I switch over to, say, updating Conversions In Hand from working on a Mac project. Consider the vast number of devices produced by a seemingly random selection of OEMs, each with their own particular idiosyncrasies and, because OEMs don't like to provide O/S upgrades anymore, different versions of the O/S itself.

We actually have a stack of defunct Windows CE/Pocket PC/Windows Mobile devices, sitting in a box, that we've had to buy over the years. Coupled with the huge chunk of money re-distributors take for each software sale, this ends up making Windows Mobile development, mmmm, less than lucrative.

We've taken to testing on only a small handful of devices, along with the new native code emulator in Visual Studio 2005. Hopefully (for us anyways), this will reduce our costs and frustration, although it's going to leave some of the fringe devices out in the cold.

Interestingly, it looks like Microsoft is going to take the same approach with their "iPod Killer". It's too bad really (for them, anyways), because all they'll end up doing is confusing consumers with the plethora of units produced by various OEMs, some known and some unknown. New units will appear and older ones will disappear on a seemingly daily basis. Said consumers will end up buying an iPod because it's the simplest choice.

/Entries/WindowsMobile | permanent link

 

Moved

Seeing as you're here, you may have noticed that this is my .Mac site, rather than the Geeklog powered version that you may have expected.

I finally realized that I didn't really need the whole dynamic site thing after I noticed that most people contacted me via email, and the only people (if you can call them that) that took advantage of the dynamic aspect (e.g. comments, trackbacks) were spammers. So...time to simplify.

This is actually a Blosxom site, making use of the static publishing capability. It works quite well, generating a site image using my iDisk and automatically building and updating a Google site map.

Most of the previous content is here, with the exception of two applications (InferNote and Blogs In Hand), which I've removed. They both needed updates - for J2SE 5.0 and WM2005 respectively, and I find myself lacking the time and desire to do the work.

If you're looking for something in particular, I apologize that there is no search capability in place. Once Google starts indexing this, I'll add a Google Search button.

/Entries | permanent link

 

M3U2iTunes Update

M3U2iTunes has been updated to 1.1 in order to fix a file association problem with Mac OS 10.4.6.

(Thanks Tim!)

/Entries/M3U2iTunes | permanent link

 

StoryGrinder 0.8.8

StoryGrinder has been updated to version 0.8.8 with the following changes:

  • Support for Spotlight based search of Scrap Box items
  • Added "Get Info" support for current document
  • Added the ability to set a title for scraps
  • Added the ability to cancel the load of cached items
  • Refreshing a cached item will now show a confirmation dialog box
  • Fixed a bug where adding a URL from an AppleScript would not always force the item to load and be cached

Out of these, I find the Spotlight search from within the Scrap Box most interesting since you can now not only archive web pages but actually search their content.

You can download StoryGrinder here.

/Entries/StoryGrinder | permanent link

 

Recuperation

I've been spending the last couple of days recovering from my Karate Black Belt grading this past weekend. After several months of preparation, it's a huge relief to have it done and over with (successfully, of course). Now that I don't have to worry full time, I'm expecting to be able to return my attention to other less all-consuming pursuits.

Thanks, of course, to those who helped me get through it with passive and active encouragement (and threats). You know who you are.

/Entries | permanent link

 

NetNewsWire to StoryGrinder

If you're a NetNewsWire user, you may appreciate this StoryGrinder script that lets you create a new StoryGrinder scrap from the current NetNewsWire article.

To install:

  1. Download NetNewWire Article to StoryGrinder
  2. Unzip the downloaded zip file to get the NetNewsWire Article to StoryGrinder AppleScript
  3. Copy the AppleScript file to the StoryGrinder Scripts folder, located in Library->Scripts

You can then run the script from the AppleScript menu in StoryGrinder.

/Entries/StoryGrinder | permanent link

 

Will DirectPush Save Windows Mobile?

I've been using DirectPush on my JasJar, coupled with the 4SmartPhone service for a couple of weeks now. I have to say...it works really, really well.

So well, in fact, that as I thought it's breathed new life into my use of Windows Mobile. Let's face it, if there's nothing else that the success of the Blackberry has taught us, it's that push mobile email is the killer application for handhelds. Everything else is icing on the cake. Good icing, but still icing.

DirectPush definitely works as well as Blackberry. Email arrives almost instantaneously, and the volume of data transmitted is low enough as to not overwhelm your data plan (and your wallet).

There are some distinct advantages over Blackberry as well. DirectPush can easily be turned off, so you're not getting distracting email messages at an inopportune time, and if you have a WiFi connection available, you can sync your email using it instead of, say, your GPRS connection (although due to hardware restrictions, DirectPush itself only triggers push email operations over cellular type data connections).

I'm convinced that given sufficient marketing of DirectPush, and the availability of reliable and attractive hardware, that Microsoft has a real chance at reviving Windows Mobile's fortunes.

Recommended reading, if you're interested in the mechanics of DirectPush: Exchange 2003 Mobile Messaging Part 1 - A look at the Microsoft DirectPush technology

/Entries/WindowsMobile | permanent link

 

More iMate JasJar

Things are looking up for my iMate JasJar, which has gone largely unused due to it not doing anything I really need it to do.

First off, real "push" email is finally available with the latest firmware update from Club iMate:

Microsoft™ Messaging and Security Feature Pack (MSFP): • Addition of the MSFP allowing Direct Push email, remote device wiping, security policy enforcement and Global Address List Lookup for customers using a Microsoft Exchange Server 2003 with Service Pack 2. Note that Push email will use GPRS connection even when connected to a WiFi network.

Not that I have anything to connect to at this point (the free Club iMate Exchange server doesn't seem to support DirectPush). I may have a look at one of the hosted Exchange providers if I can find one that seems reputable and supports Direct Push. Promising development though; it seems we've been hearing about this and waiting for it for years...

Secondly, The Missing Sync now supports Windows Mobile 2005 units in the new alpha version. It works very well (at least for me) and I'm now happily synching and installing from my PowerBook.

On a side note relating to the JasJar, I read the Business Week article regarding HTC with a some interest. Certainly they're pretty much single-handedly saved Microsoft's ambitions in the Smartphone market (and by Smartphone I actually mean Pocket PC Phone Editions). For all their self proclaimed passion though, I really do wish someone in the company would actually read some of the instructions that they give people:

(Hint: only one of the conflicting directions for resetting the unit actually work)

/Entries/WindowsMobile | permanent link

 

 Site Search


 Categories
» Entries (87)
  » Code (2)
    » WindowsMobile (1)
  » M3U2iTunes (2)
  » Mac (35)
  » MediaCenter (6)
  » Programming (3)
  » StoryGrinder (4)
  » Venom (1)
  » Windows (1)
  » WindowsMobile (5)
  » iPod-iTunes (7)

 Archives
» November 2006 (3)
» October 2006 (2)
» September 2006 (3)
» August 2006 (4)
» July 2006 (2)
» June 2006 (3)
» May 2006 (2)
» April 2006 (3)
» March 2006 (3)
» February 2006 (4)
» January 2006 (4)
» December 2005 (2)
» November 2005 (4)
» October 2005 (2)
» September 2005 (4)
» August 2005 (3)
» July 2005 (4)
» June 2005 (1)
» May 2005 (6)
» April 2005 (3)
» March 2005 (6)
» February 2005 (7)
» January 2005 (4)
» November 2004 (4)
» July 2004 (2)
» June 2004 (2)

 Downloads  

StoryGrinder


Version: 1.0RC1
Download page

BSD Fortune Dashboard Widget


Version: 1.4
Download

M3U2iTunes


Version: 1.0
Download M3U2iTunes



Copyright © 2006 otherslikeyou.com Inc.
All trademarks and copyrights on this page are owned by their respective owners.