Imx Fix in my experience
January 2004 Archives

January 30, 2004 11:33 AM

It's 2004 already and just yesterday I wrote a JavaScript function to tell if a character passed into the function is an alpha-numeric character. One would think that after writing JavaScript for several years that the need for this check would have come up already (and furthermore that there would be a built in method in the language, but that's not the case).

I approached the problem by using ASCII character codes. If you have BBEdit, there's a pallette that shows all of those code next to their characters, so I used that to write an annoyingly long if statement with four "or" statements and two "and" statements imbedded in an or statement. Annoying, but effective. Here it is...

function alphaNumericCheck(theChar) {

	if ((theChar < 48) || (theChar > 122) || 
	   ((theChar > 57) && (theChar < 65)) || 
	   ((theChar > 90) && (theChar < 97))   ) {
		return false;
	} else {
		return true;
To call the function, you would say something like...
<input type="button" name="foo" value="my button"
The part that says charCodeAt(0) will return the ASCII number for the character at the zeroth position in the string (the first character). The function will take that character and return "false" if it's not a number, a capital letter or a lowercase letter, and "true" if it is alphanumeric. Try it.

January 29, 2004 10:47 AM

Copyright Extensions Ad Infinitum?Many of us older nerds have played with MIDI files before and played them on our old crappy computers and enjoyed popular songs played out in the style of childish muzak. On the Mac, Quicktime Instruments (a plugin) did a better job than that old Amiga at playing these files, but GarageBand improves on that be several orders of magnitude. Here's how to have some MIDI fun in GarageBand...
  1. Use a Mac that is pretty fast (because GarageBand is kind of a pig)
  2. Go download Dent du Midi
  3. Find a MIDI file of a song you like, in my case, I used Google to find a MIDI file of the old "Popcorn" song by Hot Butter. There's plenty of files out there.
  4. Install Dent du Midi, open it and drag and drop the MIDI file you downloaded onto the Dent du Midi window. Look on the desktop for a folder with the name of the MIDI file with "-GB" attached to the end.
  5. Start a new song in GarageBand and drag the .aif files onto the GarageBand window (dragging the hole folder won't work).
  6. Start applying instruments to the various tracks and have butchering your old favorites into bloody mess.
Hey Kids! Now you can violate copyrights in a new way! Releasing your own remix of old one hit wonders (or even new classics like the Simpsons theme) may be annoying to the original copyright holder due to the quality of the output you can achieve with GarageBand. So, get that Eurythmics groove going again and record you own voice over your own mix, edit the ID3 tags to look like the real thing, and upload it to Usenet (using Unison of course) and make it available on Kazaa (with your PC)!

Better yet, why not just steal the baseline from one song, the drums from another, and the keyboards from another and just sequence them together with zero effort in GarageBand. No one will be able to tell when you distort the hell out of everything so you can call it your own and sell it on your very own website!

Spin faster Mr Bono.

January 26, 2004 11:54 AM

GarageBand Turntable IconI was at the Apple Store (in meatspace, not online) and was tooling around with GarageBand on a dual proc 1.8gz G5. Loading loops was taking longer on that machine than my G4, so I thought that was weird, but even more weird, and kind of amusing was that Terminal was, in a way, disabled on the machine. They had stuffed the file into a password protected archive which made it hard for me to scp my GarageBand file to my host (instead of being evil and rf -rm'ing the filesystem in Terminal).

I had been noodling around in GarageBand for about 5 minutes and came up with a set of loops and arrangement I liked and wanted to keep the file, so I just downloaded Transmit, connected to the host, uploaded the .band file, disconnected, cleared my connection from the 'recent connections' list, trashed the app and the .band file and walked away (after setting the music to play in a loop on the machine). It's WAY too easy.

January 23, 2004 2:22 AM

GarageBandBeing the Mac dweeb that I am, I of course am playing with GarageBand and have a few opinions to share ("opinions are like assholes..."). Primarily, it's an interesting application for non-musicians like myself who want to fool themselves into thinking they created some music. Without ever playing an instrument, you can fake it enough where your wife will believe that you created the music coming out of the speakers, and that can be pretty satisfying in itself.

Really though, GarageBand is a grokkable composition and arrangement application offering you some flexibility in modifying, tweaking and embellishing the (MANY) loops provided for you. And you can add in your own noodling with a keyboard and microphone, but I'm inept and will mercifully keep my talent out of the ears of others. And again, in spite of that, I was able to fool my wife into believing that I created the music and she was actually interested in knowing how I did it. I don't think i want to show her because the bloom will be off the rose at that point, and I think that might be the Achilles heel of this application for the masses out there (ie, I don't see any Billboard hits coming out of this app, but who knows...)

What I'll really be looking at when I use the app and when I hear the songs created by GarageBand users is the compositional quality and arrangement skills of the song and author. Lots of electronic music out there is anchored in composition with a veneer of beeps, twitters and synth chords (a delicious collection to be sure) so, I figure that I'll be able to use GarageBand for a long while without missing out on the creative process that is solely based on loops arrangement (in my musically untalented case, maybe not yours). There's enough value in that for me to justify the price of iLife 04 (of which GarageBand is a part).

In terms of user interface, I utterly loathe the wooden UI elements surrounding the main application. It's cheesy, ugly and matches nothing else in the Mac OSX software pantheon, and the brushed metal theme on other iLife apps don't fill me with dreams of derivative experimentation (like Kaleidoscope did for some reason). Luckily though, the app is simple enough to allow for this multiple document interface paradigm (I loathe that word more than any other). Adding in tracks and fiddling with output levels and timing is pretty straightforward, but the process of importing loops or other sounds is completely undocumented (afaict).

After using offline help (and failing) and online help I was able to figure out how to import loops into GarageBand thru drag and drop. Just drag a folder of loops onto the loops area of the window and it will import them. However, it won't highlight that area when you are dragging the folder over it, so you have no indication that you are doing the right thing. There is widespread absence of contextual hinting in the app's UI...

  • There are zero contextual menus in the app
  • Tooltips are non-existent, and there are several buttons in the app that are completely new to me and new to Apple iApps
  • Selecting a track will subtly highlight the instrument in the track and un-grey out the loops that may be in the track. This needs to be made more obvious.
  • Like I said before, droppable region hinting isn't there and the Help application shows no info when you search for 'import'.
The only hinting that I can see is a line appearing in the main composition window when you drag a loop into the area (the line shows where, in time, that loop will start). So called "Real Instruments" and "Software Instruments" can only be dragged onto certain types of effects filters so the line will only show up if you are making a new track by the drag and drop action, of if the loops is compatible with the effect defined in a track you have already created. It's annoying (to me, the neophyte) that there is this compatibility issue in there when it comes to loops and effects.

Still though, it's a fun application to use and it passes the 'wake up' test for me, which works like the following...

  • When I wake up in the morning, do I think about the application and feel motivated to get out of bed and use it?
  • When I use the app, does it make me think differently about things?
When the answer is "yes" to both questions, I get excited.

January 21, 2004 11:08 AM

After the debacle of getting my broadband thru a fixed wireless provider, I have decided to take the plunge and sign up for cable based internet service from Adelphia (a name I do not trust). Adelphia is my only other choice when it comes to broadband connectivity in my neighborhood (which is a fiber based community by the way, so DSL is not gunna happen due to it being copper based).

A large community down the street from me is served by Adelphia and has historically suffered serious reliability and speed issues. That didn't fill me with confidence, but, when you're a crack smoker and you gotta get your bit fix, you'll dance with the devil. The 12 intro rate of $26/month was a major factor in the decision where I was paying triple that price for unreliable service. So taking the plunge wasn't too hard to do.

Of course the install didn't go very well. I have some networking experience and I know what a high pass filter is and what collision domains are, but still I had to have a couple of Adelphia techs come out and fiddle with my gear (it turns out the green box in the backyard needed some tweaks). Since then, I have yet to have an outage of any kind, but in the evenings the connection is dog ass slow where the fixed wireless solution was consistent in it's rate of thruput (when it was working).

I don't think I have EVER had an outage on my phone line (other than outages due to east coast black outs, hurricanes or Nor'Easters). Why is residential broadband so unreliable?

January 14, 2004 10:55 AM

I can't decide if I think this after-market mod mania is totally bad ass or utterly ridiculous. It's like the fine line between stupid and clever.
Fly Away

January 13, 2004 2:13 AM

One problem with the Communiblog section on the right side of the page here is that text in there is transient, but still gets indexed by Google. So words in there will match this page, but when the Communiblog is actively being pinged, those terms eventually disappear from the page, and searchers land here for no good reason.

One example of that is people looking for "qttask" in Google, who find this page which doesn't mention that term. but when Google indexed that page last, the was a Communiblog entry with that term in it, so people land here. That's not a great user experience, so I'm going to mention qttask here, so it gets indexed in this page (and for the record, the home page here has a "no index" rule, and tells robots to follow links to individual archives and index them) and people can follow this link to directions on how to remove/disable qttask.

January 13, 2004 1:50 AM

Back in July I signed up for the only broadband option available (at the time) in my community. It was a bit of a pricey endeavor, but when you are a crack head, you'll pay anything, and so I went ahead and signed the one year contract. I knew not the mistake I was making.

After three months from the time I faxed my contract to the company, the wireless gear I need to receive the signal was installed in my attic. The connection was an 2.4 ghz signal blasted in my direction from a high powered antenna a couple of miles away. From my home I actually have pretty good line-of-sight to the antenna, so the promise of a megabit was believable, but I was really just drinking the Kool-Aid.

After the initial set-up, I was getting seriously slow connection speeds, and had to endure a couple of weeks of configuring, tweaking, re-aligning and hour long phone conversations to get nowhere, then one day, everything worked, and worked well enough (never reaching a megabit in speed though) to play games online and check my email and work from home sometimes. Sporadic outages were the norm though, and most phone calls to the support line went unheeded.

Two weeks ago the connection died with the destruction of my provider's gear by a crane installing the gear of a competitor. They were unable to get everything back up in working order within two weeks which provided me the right to end my contract. Two weeks. That's a long fucking time to be without connectivity at home, and the whole experience has soured me on fixed wireless connectivity. Even though modems are slow, they are RELIABLE, and a bird in the hand is worth two in the bush.

It took me hundreds of dollars to learn that lesson.

January 6, 2004 4:16 AM

Apple says that for fifty extra dollars, you can get a way better portable music player than you typical flash memory based unit. Well, for fifty extra dollars over this new iPod mini, you can almost quadruple the amount of storage (from 4 gigs to 15 gigs) with a less-than-modest increase in size. Essentially, the difference is $50, 2 ounces and 11 gigabytes. Somehow Apple has managed to make something less expensive and make it more of a luxury item.

January 5, 2004 3:48 AM

On our computers we expect that the key labelled "x" will give us an "x" on screen when we push it down. On our Macintoshes, we expect the key combo "command-q" to quit the currently running application, and on our Windows machines we know "alt-f4" will kill the top most window on the screen. These are system wide standards and allows us to work faster by reducing the stream of thought to complete our goals to almost zero.

At some point, hitting "command-s" or "control-s" is second nature and is made even more efficient by muscle memory. Really, you only need to say to yourself "I should save my work" and your hands find their way while you keep your eyes on the screen. There's no need to loop-up the key combo or to think about how to do it, you just do it.

In their interactive menus, Xbox Live games (at least the ones I've bought) do not leverage this fundamental usability concept. All of these games very similar features...

  • Search for games
  • Create a new game
  • Manage your "Friends" list and see what your "Friends" are doing
  • Quickly join a game without doing a search
  • Refresh and re-run your search for games
  • Invite "Friends" into your game
  • Change the game rules
Not all Xbox Live games have the same feature set and not all games have as many game modes as the others, but all of these games do have the features mentioned above in common. The unfortunate problem is that some games use one button for something and other games use a different button for that thing. For example, Project Gotham Racing 2 (PGR2) uses the blue "x" button to refresh and re-run your search for games. Crimson Skies uses the yellow "y" button for that, and puts the 'friends' menu on the blue "x" button. PGR2 puts the 'friends' stuff behind the yellow "y" button.

Now, take a moment and reflect back on Microsoft's decision to own everything associated with Xbox Live...

[A Microsoft Representative] defended the closed network approach of Xbox Live, in which Microsoft maintains control over the network, even bandwidth used to run titles from third-party publishers. Many publishers haven't invested in network resources and appreciate having Microsoft do the heavy lifting, he said. The unified approach will also benefit customers, as they will need only a single user name and password to access any online game.
More to the point...
"[Microsoft is] giving you a (complete setup) that means you don't have to worry about infrastructure or billing or security."
Shouldn't centralized control yield some HCI standards? End users shouldn't have to deal with mismatched methods for doing the same actions within a game. But, does it really matter? Well no, because it's just a video game system and there's more important issues out there, but I find that I have to stop and consciously think about what I'm doing when I'm playing my Xbox Live games, and I kind of feel weird saying this, but good (entertainment) experiences can often be tarnished by making me think.
« December 2003 | Main Index | Archives | February 2004 »