Technical Archives

Derrick Story

AddThis Social Bookmark Button

“Last weekend, I decided to expand Coverflow to work with my entire photo album,” said Erica Sadun in her recent post, Accessing all your onboard photos from your iPhone database. “This involved exploring the MusicLibrary and PhotoLibrary frameworks to find out how I could extract a complete set of albums and their pictures. The PLPhotoLibrary class proved to hold the key. With it, I could request an album list, and then build up a dictionary of photos that linked back from the image identifier to the album it came from.”

She then goes on to post the code on how to accomplish this. Quite nice.

Derrick Story

AddThis Social Bookmark Button

Todd Ogasawara has continued to publish his Mac FFOSS (Freeware/Free and Open Source Software) column on O’Reilly’s Mac Center. If you’ve fallen behind on what’s new (and cheap) in the Mac universe, you might want to hop over there for a peek.

Derrick Story

AddThis Social Bookmark Button

Erica Sadun has posted a raft of excellent iPhone technical shorts on O’Reilly’s Digital Media Mac Blog. Topics include Programmatically Handling iPhone interruptions, Creating an UIImage from a URL, and plenty more.

If you’re an “under the glass” iPhone type, you should definitely check out what Erica has been writing about lately.

Gordon Meyer

AddThis Social Bookmark Button

I’ve previously written about how I use Radioshift as part of my home automation setup. However, in the last week or so I’ve been using it as a desktop application, as it’s intended, instead.

And frankly, it’s driving me crazy. I’m continually running into two problems:

First, the show streams from KGO-AM are seriously messed up. Without exception, about half-way through the recording, the first 10 minutes of the show repeats. Sometimes this happens more than once. After the repeated segment, the show picks up where it was before the flashback. It’s frustrating, and I’ve reported the problem to Radiotime (the provider of the streams), but it is exacerbated by Radioshift’s interface.

Which is the second problem. Although Radioshift is sometimes described at “TiVo for radio,” it really doesn’t offer many playback controls at all. There’s no “resume playback” feature, so if you stop listening to a show, you can’t get back to where you left off. Not only does Radioshift not remember your stopping point, it does not offer any controls for navigating the recording. No rewind. No fast-foward.

Dock.jpgBut there’s an easy workaround that you can use until Rogue Amobea addresses this oversight. Specify QuickTime Player as your “audio editor” in Radioshift’s preferences. Then, when you want to listen to a show, click “Edit Audio” to automatically open the recording in QuickTime Player.

This works exceptionally well because QuickTime Player, even without buying QuickTime Pro, provides almost all the playback controls that Radioshift lacks. My favorite is that the fast-forward button, if held down while the audio is playing, allows you to skim ahead and easily skip over commercials.

If you do have QuickTime Pro, you can use the AV Controls to speed up the playback of talk shows. Simply open the AV Controls window, then adjust the Playback Speed setting. I use about 1.5X faster. Then, adjust the Pitch Shift slider until the voices sound normal again. It’s really quite amazing and a great time saver.

qt_avcontrols.jpg

Finally, don’t forget that you can also skip to points in the recording by dragging the playhead. If you want to temporarily mark a point in the recording for later review, use the “I” and “O” keys during playback to set selection markers in the QT window (QT Pro required).

I hope these tips help you get more out of Radioshift. If you have one of your own to share, please leave a comment.

David Battino

AddThis Social Bookmark Button

A former Apple engineer told me the iTunes team is adding features faster than they can be documented. Here’s one I’ll be using a lot: a way to re-download deleted podcasts.

Occasionally, podcast episodes don’t download completely. This happens to me a lot with This American Life, and it recently happened with my own podcast, Digital Media Insider (home page | iTunes link). So I figured I’d delete the partial download and try again. But I couldn’t get it back. iTunes didn’t show the deleted episode when I clicked “Update Podcast”:

itunes episode 13 gone

Unlucky 13: After deleting the partially downloaded episode 13, I couldn’t get it back. Right-clicking and selecting “Update Podcast” wouldn’t display the missing episode.

The secret, I learned at KD Murray’s site, is to collapse the episode list by clicking on the disclosure triangle next to the podcast’s name and then to Option-click the triangle again. That expands the episode list and shows the missing episodes in gray with a “Get” button next to them:

itunes episode 13 back

Option-clicking the disclosure triangle next to the podcast’s name reveals the missing episodes.

Now, normally you wouldn’t want to re-download episodes you’d deleted, so I can sort of understand why this feature is hidden, but by using it on some other shows to which I subscribe, I discovered episodes I didn’t realize I’d missed. And the partial-download problem is probably fairly common, so it might be nice to have a “repair podcast” menu option. Or better, since the duration of the podcast should be recorded in the XML file, make iTunes smart enough to re-download truncated episodes itself.

What “hidden” iTunes features have you found?

David Battino

AddThis Social Bookmark Button

When I want to concentrate on a computing task, I often invoke the Finder’s “hide others” command by Command-Option-clicking on an icon in the Dock. But my screen is so big and my desktop so cluttered that merely hiding the other applications is hardly restful.

In less time that it would take to clean up the piles of icons on my desktop, I whipped up this AppleScript and mapped it to a function key. It grabs the path of the frontmost application, launches Katsura Shareware’s free Screenshot Helper — hiding everything on the desktop — and then switches back to the original app.

(* 
db Hide-the-Desktop
By David Battino, Batmosphere.com, 2007-09-30 
This script hides the desktop and then switches back to the previous app.
Requires Screenshot Helper, free at www.katsurashareware.com.
*)

set front_app to (path to frontmost application as Unicode text)

tell application "Screenshot Helper"
	activate
end tell

tell application front_app
	activate
end tell

Hopefully your virtual desktop is tidier than mine, but you may still find the “do something and then switch back” routine helpful.

Katsura Screenshot Helper

Katsura Screenshot Helper covers your messy desktop with a pure color or photo.

Gordon Meyer

AddThis Social Bookmark Button

So far, I’m pretty much enamored of Rogue Amoeba’s new Radioshift application. If you haven’t tried it yet, it allows you to easily listen to, and record, radio shows from around the world. It makes automatically recording new episodes of a show, or “subscribing,” as simple as TiVo does for television programs.

I think Radioshift would be a wonderful addition to my home, and I want to run it on the Mac that I already use for home automation. However, Radioshift isn’t really optimized for use in a “server” situation. That’s understandable, but it hasn’t stopped me from tying to bend it to my will anyway. Here’s are notes on my progress so far:

• I love that Radioshift uses a background process for recording shows that you’ve subscribed to. This means that you don’t have to leave the app running all of the time. You can use the sound files directly, without opening Radioshift, too. You’ll find your recorded shows in the ~/Music/Radioshift/ folder.

• I want to listen to my recorded shows using another computer, because the home automation Mac is tucked away in a corner and I rarely use it directly. Radioshift doesn’t have any built-in support for sharing, but I can load the above-mentioned files into QuickTime Player (or similar) after mounting the server’s drive. The bonus prize for doing this is that QuickTime Player allows you to fast forward during playback, to skip commercials, which is a feature that Radioshift currently lacks.

• If you don’t care about skipping commercials, just use the Finder’s built-in ability to play QuickTime files, as shown below. Very handy!

Radioshift.jpg

• Radioshift does, apparently, have the ability to add recordings to your iTunes Library. This means you could use iTunes sharing to listen to the shows on other computers. However, this doesn’t work for me. First, I haven’t been able to get Radioshift to successfully add a recording to iTunes. But even if it did, it’s a manual process (Radioshift doesn’t do it automatically) and I don’t want to keep iTunes running on my home automation Mac.

Although parts of this feel a little awkward, so far I’ve found it worth doing. I hope that as Radioshift continues to evolve the process will get easier. If you have tips to share, please feel free to chime in.

Erica Sadun

AddThis Social Bookmark Button

I just posted a quick how-to over at TUAW regarding installing the latest binary iPhone developer toolchain. You can download a copy and use the package to get started with iPhone programming.

The hardest part of the entire exercise involves copying your iPhone file system to your Mac.

Erica Sadun

AddThis Social Bookmark Button

Here’s a nifty little trick. Install my iPhone utilities package. Then cd into /System/Library/CoreServices/SpringBoard.app. Then issue the following command: restart; ./SpringBoard. This lets you run SpringBoard from the command line and peek at all its NSLog messages as they are issued.

Be aware that this is not safe, your stuff won’t work right, and you’ll surely have to reboot after. But it’s still kind of fun in a power-tool way.

Erica Sadun

AddThis Social Bookmark Button

A couple of days ago, as I was updating SendSong (latest version here), I discovered a really nice trick. Until now, I’d been storing ringtones in /Library/Ringtones, the same folder used by the built-in ringtones. Then “DarkTen”“Ste” tipped me off to the fact that you could store them in the root folder, in /var/root/Library/Ringtones and they’d still be recognized. (”LG” discovered this and Nate True confirmed it, adding that there’s a third way to put Ringtones into your iTunes folder–but it’s complicated.) SendSong now takes advantage of this and limits your access (both adding and removing ringtones) to that folder.

What this means, though, is that if you can track down a copy of iPhone Interface for either Windows or Mac, you can install ringtones without having to jailbreak your phone. Create the /var/root/Library/Ringtones folder (on a non-jailbroken phone, that’s the Library that appears as your home folder) and stick whatever ringtones you want into that folder. There’s no need to access system files. You can do it all from the public directories.

David Battino

AddThis Social Bookmark Button

Photographer James Duncan Davidson did a neat experiment with a recent blog, transforming a series of images into a tutorial movie that shows the evolution of a photograph step by step. This format lets the viewer compare images more easily because they’re superimposed.

Readers liked it a lot, but wished for more informative captions. (Duncan had pasted the captions right onto the images as bitmap text, so there wasn’t much room.) I also thought it would also be nice to step through the slides without groping around with the QuickTime transport slider.

My first idea was to replace the movie with JavaScript-controlled arrays of individual photos and text. But creating that would be too much hassle for blog authors. It’s also nice to have a self-contained slideshow file.

Then I wondered about using a QuickTime text track instead. It turned out to be surprisingly easy.

  1. First I created a five-picture slideshow in QuickTime Pro with the Open Image Sequence command.
  2. Then I typed out five captions in a text editor, with a return between each line, and saved the file as plain text.
  3. Finally, I opened the text file with QuickTime Pro (making it into a text-only movie), copied the text movie, and added it to the slideshow with the Add Scaled command. Opening the QuickTime Properties window, I then offset the caption downward.

Here’s the result:

But what about the interactivity? I considered investigating sprite tracks, chapter tracks, Flash, or more complex approaches, but then I noticed that the little left/right arrows at the right side of the QuickTime controller bar stepped between images. Interactivity is built in!

I did do a bit of behind-the-scenes prep on the slideshow above: I layered a black GIF in the background to create a frame around the movie. I also set the slide transition time to two seconds, because that’s the default duration of the captions QuickTime generates. But if you want to get fancy, you can format the fonts and colors as well.

Jochen Wolters

AddThis Social Bookmark Button

Last week, I got a call from a friend in dire straits: his MacBook would no longer boot and he hadn’t yet made a backup of an important documentary project he was working on as a freelance photographer. When I had a first look at the MacBook, it did start booting, the “progress rotor” did show up, but instead of presenting the OS X welcome screen, an icon appeared after a too-long wait, indicating the disk could not be found. Ouch.

So I inserted the OS X installation disk, re-started the machine courtesy of the Power button, and held down the Option key to be able to select the DVD as the boot volume. Interestingly, the Mac’s internal drive was among the boot volume options, but when launching the Disk Utility application from the OS X installation disk, the software could not find the internal HD. As the next step in the quest to revive this Mac, I booted it from a TechTool Pro 4 DVD and launched TechTool Pro, but, alas, the internal drive again failed to appear.

Erica Sadun

AddThis Social Bookmark Button

Website RIActant has kindly posted an iPhone tech talk debriefing for anyone who was not able to attend in person. In addition to an organized summary of the talk, they’re making their raw notes available as a PDF download.

Erica Sadun

AddThis Social Bookmark Button

Behold iLight, my latest creation. It turns your $500 or $600 iPhone into a flashlight.

Use. Enjoy.

David Battino

AddThis Social Bookmark Button

Pummeled by palettes, I’ve been thinking of connecting the extra DVI output* on my G5 tower to a second monitor. That daydream got a boost when my terrific eye doctor raved about his multi-monitor home setup recently.

multiplemonitor-c2k2e.jpg

Multiple monitor photo collage by c2k2e.

So…what advice do you have for setting up and using multiple monitors? Do you like them side by side? Over/under? Same size/brand? How do you arrange programs, windows, palettes, and the Dock?

Noah Gift

AddThis Social Bookmark Button

One of my fellow Cocoa Bootcamp friends, Jonathan Saggau has put his Cocoa skills to get use and wrote an “Unsanctioned”
Pong Application for the iPhone.

Here are two pics from his blog:

iPhone Menu

Pong in Action

Great job at being subversive Jonathan!

Erica Sadun

AddThis Social Bookmark Button

If you’re curious about Leopard, and haven’t had a chance to pop over to see Apple’s OS Foundations overview, I recommend you try to find a few minutes to browse through it. It’s part 6 of Apple’s Leopard Tech developer series and it’s freely available to all comers–you don’t have to be a developer to access it.

Erica Sadun

AddThis Social Bookmark Button

Although there’s already a “hello world’ floating out there for the iPhone, it involves a number of complicated classes. I decided to simplify and create a new “Hello World” from scratch based only on UIWindow, UIView and UITextView.

The code follows after the jump.

Erica Sadun

AddThis Social Bookmark Button

1. You probably want to wait for the binary UI toolchain if you can. Getting it built and configured is a nightmare.

2. /private/var/logs/CrashReporter is, as you expect, your friend

3. You don’t have to edit DisplayOrder.plist. SpringBoard will add any applications it finds to the Widget display. Only use DisplayOrder.plist to change the order or to hide items from the /Applications folder.

Erica Sadun

AddThis Social Bookmark Button

Here’s a quick how-to for people wondering how they can install the iPhone toolchain and try out their own command-line programs.

1. Jailbreak your iPhone and install ssh. You need full access to your iPhone’s file system.
2. Download a copy of the binary toolchain and unpack it onto your i386 Macintosh.
3. Copy arm-cc-specs to your home folder as .arm-cc-specs
4. Move the entire build (local-toolchain) into /usr/local/. (I don’t recommend breaking it out any further so you keep the entire install together.)
5. Edit .arm-cc-specs to match the location of your toolchain, e.g. /usr/local/local-toolchain/share/
6. Edit your path to include /usr/local/local.toolchain/bin and start a new window so the path matches up.
7. Create a new, standard helloworld.c
8. Attempt to compile it using arm-apple-darwin-cc, which will now be in your path. This will fail.

And now we come to the hard part. You either have to edit your system headers, which Apple made read-only for a reason, or load pre-updated headers, which you’ll have to google for. Editing headers basically goes like this: Whenever your compile fails, add || defined(__arm__) to any line that includes if or elif defined (__i386__). Repeat as needed until your hello world compiles. Then, copy your executable to your iPhone and test it there.

Erica Sadun

AddThis Social Bookmark Button

Recently, my iPod has been collecting duplicate playlists like a child collects dirt. It’s not an unknown problem. A bit of googling shows that others have had the same issue and as there didn’t appear to be a simple solution, I decided to write a little script to take care of things. The following code deletes zombie playlists from the iPod. After, I re-sync to restore the playlists. This takes only a second because the iPod has already been synchronized before I run the script. Figlet, as you probably might guess, is the name of my iPod.

tell application "iTunes"
	set Figlet to first source whose name is "Figlet"
	set pls to every user playlist of Figlet
	repeat with eachpl in pls
		try
			delete eachpl
		end try
	end repeat
end tell
Chris Adamson

AddThis Social Bookmark Button

I spent a few hours this weekend upgrading a Core Solo Mac Mini to a Core 2 Duo. Here are a few thoughts on the experiences and lessons learned.

Derrick Story

AddThis Social Bookmark Button

QuickTime 7.2 adds new export presets for the iPhone and an improved H.264 codec. Publishing movies on the Web and mobile devices has never been more beautiful. David Battino just published QuickTime Web Movie Secrets on O’Reilly’s Digital Media site. He’s included some great playback and embedding techniques. Definitely worth a read.

If you want to learn more about QuickTime Pro 7.2 and its capabilities, you might want to download the User Guide from Apple.

Erica Sadun

AddThis Social Bookmark Button

So does the iPhone contains Mobile Web Server, aka Raccoon? Instead of “websites”, Raccoon asks us to think using “mobsites”, mobile websites. This comes as a port of Apache web server to mobile phone platforms. From what I’ve been able to google, Raccoon enables mobile phone users to become content providers (using their keyboards, microphones and onboard cameras). I am just starting to learn about this so thanks in advance to anyone who can point me to more information about iPhone-generated content, Raccoon, and gateways. Am I right in thinking this goes beyond just normal virtual private networks?

Update: Here’s a post from Radar last year by Nikolaj Nyholm on Raccoon.

Update 2: Reader Rodolphe suggests that the racoon on the iphone is not the Nokia variant but rather part of the IPSec tools and used for connecting the iPhone to VPNs. Man page

Update 3: The “cc” versus “c” should have given it away. The cool Mobile Web Server has two c’s. The VPN stuff only has one c. Mea culpa–or more realistically mea reculpa.

Screenshot by request after the jump.

David Battino

AddThis Social Bookmark Button

Amazing. Moments after I mastered the .QTL hack to make QuickTime movies launch in full-screen mode from a Web browser (!), Software Update informed me the new version finally supports fullscreen playback. I commenced downloading, headed over to MacFixIt to read about the other new features, and saw this:

The QuickTime 7.2 disaster: Breaks all CFM apps on Intel-based Macs (Office, Photoshop CS2) for some; Problems playing Flash


I’m running a dual G5, so apparently I’m safe, but I canceled the update anyway. What have your experiences been?

David Battino

AddThis Social Bookmark Button

With one click, Spencer Critchley just eliminated the nail-dragging squeak my dual-G5 used to make every time it ran a complex screen saver or iTunes visualizer. His tip was to disable processor napping.

processor preference pane

Click once, squeaks vanish. Disabling processor napping on my dual G5 eliminated the squeaking sounds it made when running complex visuals. But could there be any drawbacks?

Giles Turnbull

AddThis Social Bookmark Button

Journalist and Mac geek Scott Walker had a great idea for an old Mac mini, a newspaper vending machine, and some Applescript: a home-made digital newsstand.

Here’s the gist of how it works:

The Mac Mini connects to the Internet and to my iTunes library through my home wireless network. Each morning the computer launches a script triggered by an iCal alarm. While cueing up a music playlist, the script automatically gathers images, crops them in half with GraphicConverter and launches a slideshow with PhotoPresenter, a nifty little $8 shareware program with lots of snazzy transitions.

It’s a lovely combination of hardware hack and smart software thinking, and the idea of putting the whole thing inside an old news rack bought from eBay is just genius. Needless to say, it makes me think that perhaps I shouldn’t sell that old redundant Mac mini of mine - I should think of a useful hack for it instead…

Via Technology Guardian

Erica Sadun

AddThis Social Bookmark Button

The official Apple iPhone keyboard video is here. Things that the keyboard does include intelligent type-ahead with word guessing, algorithms to correct for misaligned fingers, predictive resizing of a button’s press zones, intelligent capitalization correction, and more. Yes, there’s still not tactile feedback and I’m not sure if there’s much auditory feedback, and I’m not 100% buying into the punctuation and numbers separation, but it is surely a thing of beauty in and of itself. Go watch the video to see design ideas in action. I can’t wait to try this out.

Giles Turnbull

AddThis Social Bookmark Button

iic_terminal.jpg

My O’Reilly colleague Paul Weinstein has put together a very neat Mac hardware hack: he’s using an old Apple II machine as a terminal connected to a Mac mini. It’s a great way to recycle a chunk of old tech that a lot of other people would just throw away.

From Paul’s detailed write-up:

So virtual desktops is workable, but not perfect. What I need is the ability to off-load some of windows, ones that need to be visible even for a quick glance, as needed, an IRC conversation or the output of a running web process, for example. Taking a looking at the applications I depend on I see the beginnings of an idea. Terminal is an interesting application, a piece of software that’s mimicking what use to be a hardware function. Why can’t it be a hardware function again or at least why can’t it be running on a dedicated piece of cheap, reliable hardware?

To re-create his hack you’ll need a spare old-school Mac (hands up who’s got one or more of those lying around gathering dust), and a handful of easily-obtained cables and connectors.

Erica Sadun

AddThis Social Bookmark Button

About 2 weeks ago, my DSL modem started dying a slow, protracted, and painful death. Rather than fork over $80 to Earthlink, I went out to CompUSA and bought a noname modem for quite a bit less. Thanks go to BroadbandReport’s Earthlink DSL FAQ which revealed that I didn’t have to buy direct from Earthlink and pointed out the 0/35 VPI/VCI settings for whichever modem I bought.

Erica Sadun

AddThis Social Bookmark Button

In a kind of strange synergistic occurance, both Evan DiBiase over at 32584.com and I have been sleuthing (Evan’s “Nancy Drew” reference!) for new Yahoo!Sync references in OS X applications, specifically Address Book. My strings search (strings */Contents/MacOS/* | grep -i yahoo) found a good number of new Yahoo references, which you can examine after the jump. What’s more, Evan also found what completely escaped my notice: a Yahoo end-user licensing agreement in Address Book. (It’s in Contents/Resources/English.lproj/YEULA.html) Pop over to 32584.com to keep up to date on his discoveries.

Erica Sadun

AddThis Social Bookmark Button

WebkitInspectorJune07.jpg

Yesterday, the Surfin’ Safari blog introduced the newly updated completely redesigned Webkit Web Inspector, compatible with both Windows and Mac. Today, I fired up NightShift, installed the latest nightly build and gave it a go.

The new inspector has a completely different look from the old, translucent gray version. It gives you a lot more space to see things, the elements are all laid out more logically, and there’s far more control and overall usability than previous inspector.

Instead of the old-style red rectangles, the new version highlights items on the webpage using the new Safari-find style gray-overlay. You can see that in the picture here, with the selected item in the Inspector highlighted on the webpage behind it.

To be fair, the old style is in many ways “prettier” than the new one, but the new version fairly kicks the old style’s rear in terms of functionality. Nice work, Webkit dudes!

As a final note, for reasons I do not begin to understand, both the old and the new inspector seem to be in my current Webkit installation. Sometimes the new one loads when I inspect an element, sometimes the old one. Be persistent.

Update: The reason I ended up with both inspectors is that I had both the Webkit nightly build *and* the normal build of Safari running at the same time. I didn’t figure this out until the Window menu showed too few open windows that were clearly open.

A shot of the old-style inspector follows after the jump…

Erica Sadun

AddThis Social Bookmark Button

Over at TUAW, I posted about the new Yahoo!Sync framework that gets installed with the 10.4.10 update. I decided to do a little more technical snooping to see what goodies were inside this update and found quite a few phone-specific strings. These follow after the jump. Of particular interest may be the SIM references, the Conduit messages, and the kinds of data that can be synced (address book, calendar, tasks).

Giles Turnbull

AddThis Social Bookmark Button

Windows users, freshly arrived on Mac OS X, always ask the same questions. One of those is “How do I create a new file in this folder?”

It’s understandable they ask this, because they’re accustomed to right-clicking in any Windows Explorer view, and seeing a list of contextual options which include creating a new file (text or otherwise) at that point.

Whether or not you’re a switcher from Windows, if you’ve been looking for a way of re-creating that behavior on Mac OS X, there are various options available to you.

Document Palette is a freeware application that uses empty template files and a system-wide shortcut to let you pick from a list of new files to add.

NuFile is another choice, which again uses templates you can edit.

On My Command can be used to achieve the same effect, but it’s a geekier solution (and a far more powerful tool as a result).

But my chosen solution is Yellow Camp Software’s New File, because it lets you choose the file type simply by typing in the full filename with extension; then, having created the new file, it opens it for you in the default editor for that filetype. Quick and easy and very convenient.

What’s more, if you open it in Automator and re-save as an Application, rather than as a Finder plug-in, you can then drag that application into the Finder’s toolbar, and it becomes a very handy one-click route to new file goodness.

Robert Daeley

AddThis Social Bookmark Button

Recently I had an Apache access log file on a remote server that I wanted to archive. However, it was 3GB, and /usr/bin/zip refused to even admit the behemoth’s existence.

First idea that came to mind was splitting the file into smaller chunks that zip could deal with. For some reason, the prospect of an arduous manual process that would take me through Flag Day didn’t appeal, so I poked around via apropos to see what was available:

$ apropos split

Lo and behold, at the end of a bunch of other stuff,

split(1) - split a file into pieces

(The server was running OS X 10.3, which as far as I can tell does not include the more direct zipsplit utility found on 10.4. Same basic idea, though.)

I copied the behemoth to a secondary drive (took a while) and then navigated to its directory.

$ ls -l

which let me know:

-rw------- 1 robert staff 4239286441 10 Jun 04:55 behemoth_log

That’s a lot of bytes. Since I want to get the largest file down to a svelte 500MB, I’ll need to use this:

$ split -b 500m behemoth_log

Which, after a long period of splitting, produces these:

$ ls -lh

-rw-------   1 robert  staff          3G 10 Jun 04:55 behemoth_log
-rw-------   1 robert  staff        500M 10 Jun 05:18 xaa
-rw-------   1 robert  staff        500M 10 Jun 05:19 xab
-rw-------   1 robert  staff        500M 10 Jun 05:20 xac
-rw-------   1 robert  staff        500M 10 Jun 05:20 xad
-rw-------   1 robert  staff        500M 10 Jun 05:21 xae
-rw-------   1 robert  staff        500M 10 Jun 05:22 xaf
-rw-------   1 robert  staff        500M 10 Jun 05:22 xag
-rw-------   1 robert  staff        500M 10 Jun 05:23 xah
-rw-------   1 robert  staff         42M 10 Jun 05:23 xai

Alternatively I could have split it by kilobytes, or by number of lines using the -l line_count flag. There is also the ability to customize the output file names — read up on man split for more info. By the way, I’m guessing you want to limit your splitting to text files, so leave those binaries alone. See comments regarding using split on binaries as well.

Giles Turnbull

AddThis Social Bookmark Button

instantgallery.jpg

Rory Prior, developer at Think Mac and latterly a participant in our Indie developers in the UK article, has created a new user interface for the Inspector in his Instant Gallery application.

With more and more functionality being embedded in the Inspector, it was getting overburdened with tabs. So Rory took inspiration from what he’d seen of the iPhone interface, and created a menu-based system with smooth side-scrolling to the right for more detail, and to the left to go up the menu list.

Rory has posted a short explanatory screencast that shows the animated interface in action.

AddThis Social Bookmark Button

About a year ago I started a series of articles for O’Reilly on Artificial Intelligence topics with Python. The first of these articles was on decision trees and their uses in data mining and was rather well received. However, after getting off to a great start, my real life took over and my hobbies took a back seat and as a result this series stalled right out of the gate. Well, now that things have calmed down a bit I’m hoping to tack a few more articles onto this series and to start off I thought I might go over an email I recently received concerning the decision trees article, discuss a problem that was found in my implementation, go over a solution to the problem, and just try to give you all a better overall view of how this powerful technique works and maybe even give a little insight into its limitations as well.

To first sum up the email, the question within dealt with what happens in a situation where the decision tree built by the algorithm encounters a record that contains a value never before seen for one of its attributes. The example that was given in the email is described below.

given the following training dataset:

0, 0, LOW
0, 0, MEDIUM
0, 0, MEDIUM
1, 0, MEDIUM
1, 0, MEDIUM

classify the following record:

0, 1, LOW

The reason I wanted to share this question with everyone is that its a really good one for pointing out how a decision tree works and how the algorithm that builds one goes about its business. Look at the record we are tying to classify and see if you notice something about it that differs from the records in the training set. Do you see it? It’s in the second field of the record. Notice that, to date, there have only been zeroes in that field. Because of this, the decision tree has no idea how to classify the record, because it has no idea, from looking at the training set, that the value 1 could ever show up in the second attribute. This really brings to the surface two properties of decision trees that everyone should understand. First, its easy to see from this example that it is absolutely necessary to have a very large training set. Keep in mind that the decision tree algorithm uses probabilities to determine how well each attribute classifies data, and just like anything else in statistics, the larger the data set, the better the accuracy of the algorithm in determining these attributes. So, moral of the story, while small datasets are great for toy problems and examples, in the real world this technique is only trustworthy if there is a sufficiently large set of training data.

The second concept I wanted to point out was the general idea behind decision trees. Decision trees are classifiers and that’s it. The basic idea behind the algorithm is to take a look at a bunch of data and try to figure out which attributes of the data best classify each record in that data. That means if one attribute divides the data into two large groups and another divides the data into twenty small groups, the first is the better classifier since it does a better job of classifying large numbers of data points for each attribute value. So, what does this mean for our question? Well, what that means, essentially, is that the decision tree is no crystal ball. It can’t predict the classification of a record if it comes across one that has a value it’s never before seen and, therefore, has no idea of its existence. Makes since right? If our algorithm has never seen the value, how can it even know of the value’s existence?

So, where is all this talk leading us with respect to the question at hand? Well, there is actually a very simple answer to our problem of classifying a record with previously unseen attribute values–take a best guess. There are many different ways for doing this, some of which can be seen at the Missing Attributes section of this link (http://decisiontrees.net/node/34?PHPSESSID=b6335a10234cac9a895c31c6f139b8cc), however, the solution we are going to use is a very simple one. What we are going to do in our decision tree program is take a guess on the record’s classification based on the most frequently seen outcome from our training dataset (in the case of our sample data above, the default outcome would of course be MEDIUM). How do we go about altering our code to make this guess? Well that part is really easy. Take a look at line 150 of the dtree.py file. If you look at the original code from the article, you should see the following line:


tree = {best:{}}

This code creates a new node in the tree, which is a simple empty dict object. This means that when we search the tree, if we have a record that has no classification, meaning that we reach an empty node in our tree, we will get an error when we try to pass a key to this empty dict object. What we want our tree to do is return the default outcome whenever this situation is encountered. This can be easily accomplished by adding that default value to all of the empty nodes in our tree. Take a look at the following replacement code:


tree = {best:collections.defaultdict(lambda: default)}

What does this code do exactly? Well, essentially this code does exactly the same thing as before (i.e., creates an empty dict object as the next node in the tree), but it does so using the defaultdict method of the collections module. What does that do? It allows us to specify a function that can be ran whenever a key is passed to the dict object that does not already exist. In our code we simply create a lambda function that always returns the default CHOICE (i.e., most frequent outcome for our training dataset). This will ensure that whenever you try to classify a record that has no matching branch in the tree, you will get the tree’s best guess back as to how
it should be classified.

So that’s it, simple, eh? What we’ve done here is hopefully get a little better feel for how d-trees work and at the same time we’ve altered our original algorithm a bit to make it a bit more robust. I’ve attached to this post a new version of the original d-tree code from the article (get it here: Download file). In the tarball you’ll find the same files as in the original code, however, the dtree.py file will have the change we just discussed and the test.py file has also been altered to make a bit more usable. Now you can run the test and pass in a training dataset and a test dataset for classification, whereas it used to load these automatically and you needed to change the test.py file by hand if you wanted to run your own datasets. If you want to test out the new algorithm, just use the following line of code at the command prompt:


$ python test.py training-data test-data

where training-data and test-data are the names of the datasets you wish to use with the algorithm. One more thing, I used the ‘with’ statement in the new test.py file, so if you’re using a version of Python before 2.5, you’ll either have to alter the new test code or use the test.py file from the original code.

Well, I think that’s it for this session. Hopefully everyone got a little bit out of this post and everyone reading this now has a little better overall understanding of this very important data mining technique. If you’re interested in learning some more artificial intelligence/machine learning techniques, keep your eyes peeled for a few more articles in the series and also keep an eye on this weblog, since I am planning on also posting some information here on these topics from time to time as well. I hope to see you all here again very soon.

Erica Sadun

AddThis Social Bookmark Button

More on iTunes Plus data and possible privacy issues: EFF has found two fields (”a 1024 bit variant field labeled sign and a 630 byte variant field labeled chtb”) that seem be unique for each combination of user and track. Beyond that, the data difference between files may be due to cover art duplication (two copies rather than one copy). Read all about it here.

Erica Sadun

AddThis Social Bookmark Button

I need to upgrade to Vista. So early this morning, I started googling around for system requirements and to find out what would be involved in the upgrade. I stumbled across Microsoft’s page about its Window Vista Advisor and downloaded a copy. While attempting to install it, it alerted me that it “Requires .Net Framework”. I stopped the installation, downloaded a copy of the framework and began to install that.

After agreeing to endless end user licensing terms, the installation began. Nearly an hour later, I had to leave and drop the kids off at school while it was still installing. As I left, I noticed it rewriting my system registry and installing hundreds of megabytes of updates. Upon returning from my errands, the installation was finally complete.

I then launched the Advisor installer, agreed to its terms, and waited another 10 minutes for that to finish installing before I could launch it.

Once launched, it took another 15 minutes to tell me what I already knew–I needed another 256 MB of memory installed on my inherited laptop–and what I didn’t know–that other than memory, the laptop was Vista compatible.

So I started doing some math. To upgrade the laptop’s memory would cost me about $50-$100 depending on how much memory I added plus the cost of Vista itself, say another $100-$150 for Vista Home Basic. Alternatively, I could go to Walmart and buy a cheap-o desktop unit without monitor but with Vista Home already pre-installed for about $400 or less.

I’m really hesitant to go the bootcamp or Parallels route with this because (1) my Mini already has 2 partitions on it, neither of which I can get rid of at this time; and (2) I need native peripheral support.

So what advice do you have for me? Should I go the add-memory-and-upgrade-the-laptop? Should I shell out for the low-end desktop? All of this is for a 3-month project, after which I will no longer need much of this technology.

Giles Turnbull

AddThis Social Bookmark Button

My post last Friday began life in a moment of uncertainty. I have a system in place for managing my ideas - of which more follows in a moment - but I was suddenly struck by the thought: “Is there a better way to do this?”

Erica Sadun

AddThis Social Bookmark Button

This one is for Randy, who would like to sync his shuffle with a playlist. I went ahead and chose audio-only unplayed podcasts, but feel free to modify as needed. The script includes some oddball uses that work but look ugly. Like the conversion of “none” to string and the use of the floc local variable. Got a better way? See some obviously bad coding here? Let me know in the comments. Thanks go to Mark Hunte for several improvements.

tell application "iTunes"

	-- Create playlist if it does not already exist
	set podString to "Podcast Playlist"
	if not (exists playlist podString) then
		make new playlist with properties {name:podString}
	else
		-- Remove all existing podcasts in playlist
		delete every file track of playlist podString
	end if

	-- Collect every track that has downloaded
	set tracklist to every file track of playlist "Podcasts"

	-- Add audio-only items that are still unplayed
	repeat with eachItem in tracklist
		if ((video kind of eachItem) as string is "none") and ((played count of eachItem) is 0) then
			set floc to location of eachItem
			add floc to playlist podString
		end if
	end repeat

end tell
Erica Sadun

AddThis Social Bookmark Button

On the off chance that this might prove useful to someone, I thought I’d share. Here’s an AppleScript snippet that moves all the files from a playlist into a single folder you specify.

-- MoveItems:
--   Move all files associated with a playlist to a folder you specify
--
-- Erica Sadun, May 2007
--

tell application "iTunes"

	-- Playlist to use
	set myPlaylist to some playlist whose name is "tmp"

	-- Location to move to. Assumes folder already exists
	set newLocation to ("Data:tmp:" as alias)

	-- Move each track file in this playlist
	set tracklist to every track of myPlaylist
	repeat with eachItem in tracklist
		set nth to item ((location of eachItem) as string) of application "Finder"
		move nth to newLocation
	end repeat

end tell
Giles Turnbull

AddThis Social Bookmark Button

For your weekend homework, I’d like you to think about how you manage ideas on your Mac.

Ideas might start off as all kinds of input: a chunk of text, a URL, a document, a song. How do you store ideas? Sort them? Keep a close eye on those that change rapidly, whilst not forgetting the ones that lie dormant for a long time?

What software do you recommend for managing ideas? Are there any clever Finder techniques that can be used to manage them?

Any and all ideas about idea management are welcomed; please share your thoughts in the comments.

Erica Sadun

AddThis Social Bookmark Button

Let me start this story at the punchline with a quick abstract: After removing all atomic meta information from my iTunes plus purchases, the music files still retain distinguishable trace differences that could be used to track the data if loaded illegally to peer-to-peer networks. Now that you’ve heard the punchline, let’s rewind to the beginning and see how I ended up at this conclusion.

Looks like MacRumors has discovered that the enema is not as thorough as I thought it was. Read this.

More after the jump…

Erica Sadun

AddThis Social Bookmark Button

Yesterday, during D 2007, Steve Jobs talked briefly about Apple TV. He described it as a “hobby” more than a real business, an exploration of a new space–a set top box for the Internet. Apple TV (like Joost) is trying to find a business model that supports Internet-sourced content.

We’re still waiting for high definition iTunes movies and TV shows, content that Jobs hinted might soon appear to take advantage of the newly announced $399 160 GB Apple TV units. (Current Apple TV units have 40 GB hard drives.) And we’ll soon be seeing h.264 YouTube content directly on Apple TV.

The part of Jobs’ interview that really caught my ears wasn’t directly about Apple TV but rather about OS X on the iPhone. Apple TV, as you might be aware, runs a very stripped down, compact version of OS X that occupies just a few hundred MB. It sounds like the iPhone is going to take that approach even further, stripping down smaller and adding the multi-touch UI. In some ways, you might say that Apple TV has acted as the pilot program for iPhone technology.

As for third party iPhone applications, Jobs talked about the iPhone UI limitations: no mice, no pull-down menus and so forth, the “very different UI on the phone”. To me, this was a hedge. Apple TV has a “very different” UI as well and it runs OS X applications very nicely, thank you. On the other hand, if you’re in a two year $80/month data contract, I think people will be far less likely to disembowel their iPhones quite so readily as they currently do their Apple TVs to gain access to the underlying OS.

Giles Turnbull

AddThis Social Bookmark Button

UPDATE: Christoph Priebe has explained this payment system in much more detail. See the end of the post for his comments.

Posterino is one of the more interesting new apps I have had cause to write about in recent months. It’s like Pages for your photos, offering pre-packaged templates for turning photos into attractive posters, leaflets, cards and more.

One of the newer features is a built-in postcard sending service, where you design your card in Posterino, then with a simple payment it gets printed and posted for you automatically. No trip to the post office required.

What’s coolest of all is how you pay for this service. You can simply type your cell phone number into a box, to pay via your phone account. A confirmation SMS message will be sent to the phone number you enter (to prevent you entering the numbers of your enemies, obviously) and once replied to, your postcard is on its way. That’s assuming you have a cellphone contract with the right company, in the right country.

Giles Turnbull

AddThis Social Bookmark Button

The Humax PVR9200T is a combined digital terrestrial set-top box and personal video recorder. And I’ve just found out how you can plug it into a Mac.

David Battino

AddThis Social Bookmark Button

When Electronic Musician magazine asked me to write a tips article about the Frontier Design AlphaTrack, I was intrigued by the challenge. What could I possibly say about a $200 USB volume slider? I composed the first line in my head before the box even arrived: A controller with just one fader? Isn’t that like a piano with just one key?

AlphaTrack-angle.jpg Frontier Design AlphaTrack

The Frontier AlphaTrack adds a motorized fader, transport controls, knobs, buttons, and a ribbon controller to your computer. It’s powered by USB.

The magazine cut that line, but I quickly answered my own question by plugging the AlphaTrack in to my Mac and sniffing its output with Snoize MIDI Monitor. Lots of possibilities there!

Erica Sadun

AddThis Social Bookmark Button


Read more details at Mark’s blog here on his April 4th post.

Robert Daeley

AddThis Social Bookmark Button

This is one of those “Discovered By Accident” tips that I happened upon today in OmniOutliner 3.0 whilst futzing with the Inspectors.

Erica Sadun

AddThis Social Bookmark Button

He says so right here.

Ruby was also the clear winner of my recent “help me pick a language” poll. So how do I get started? And how long until I can start doing useful stuff? All pointers appreciated. Remember, I need mac-specific implementation guidance. I’m just going to go with the ruby built into my Mac. where ruby tells me that ruby is installed into both /usr/bin/ruby and /usr/local/bin/ruby.

% ruby --version
ruby 1.8.2 (2004-12-25) [powerpc-darwin8.0]
Jeremiah Foster

AddThis Social Bookmark Button

I have been working on a series of articles for the MacDevCenter about alternative windowing systems for Mac OS X and I haven’t been blogging recently. I am kind of hiding out from my editor since I am a little behind with the next article, its coming soon Bruce, I promise! :)

I wanted to mention something really cool that I found in researching the articles and that something is Camel Bones. Camel Bones is an Objective-C to Perl bridge which means you can use the underlying OS X system from perl to develop applications.
While you can develop desktop applications in nearly any programming language on OS X, Objective-C is really the best choice since there is so much good Apple documentation and it is what Apple uses. Camel Bones allows you to use perl and connect to all the Cocoa/Objective-C bindings obviating the need to learn Objective-C. This might be useful since you can scour CPAN for modules that have the functionality you want and you can use Camel Bones to build a GUI wrapper around the perl code and Voila! you have a new desktop application.

There are some apps already written using Camel Bones, like a web browser for example, so there is interest in the development community and the developer of Camel Bones, Sherm Pendley, is working actively on developing so here is your opportunity to influence the future of Camel Bones.

Apple should be more active in supporting this sort of development. Third party application development is key to the success of OS X, at least so says Apple’s SEC reports, and this is an excellent way for Apple to get some slick perl hackers on board. Recently SUN stated that Open Source Software developers should be compensated for their work and I think Apple too should look into this since their platform benefits directly from so much excellent Open Source tools, like Apache, MySQL, OpenSSH - the list is long. Making sure that Camel Bones is actively developed and has the resources it needs would be an excellent move by Apple showing its support for its development community.

Now go out and develop the next killer app!

Erica Sadun

AddThis Social Bookmark Button

QuickTime’s info pane offers a great summary of many movie properties, including helpful items like format and data rate. So when you fetch movie properties in AppleScript, why is the format excluded? Is there an easier way to programatically grab codec and bitrate information from AppleScript? From the command line? Using file tells me about AVI files but not much about MP4 files.
PropertiesMovie2.jpg

Erica Sadun

AddThis Social Bookmark Button

I just stumbled across this writeup about the Apple bug reporter and thought I’d share. Scott Stevenson has put togther a particularly nice how-to showing you how to sign up, log in, and create problem reports.

David Battino

AddThis Social Bookmark Button

foo-storycard.jpg

Here I’m presenting kamishibai stories at FOO Camp, Tim O’Reilly’s annual gathering of technology provocateurs. I cracked up when I saw the photographer’s caption: “It’s not just geeks.”

How do you present multimedia at conferences? For my workshops on Japanese kamishibai storytelling, I use a PowerPoint slide show with about 70 slides. Only the first, second, and last slides contain text, because the point of the kamishibai format is to look at your audience, not turn your back on them to read bullet points. (At FOO Camp last year, I wryly called the technique “PowerPoint for People.“)

Later this month, though, I’ll be delivering a lecture about my book and DVD, The Art of Digital Music, at a tricked-out auditorium. The bulk of the DVD is 60-second movies of the artists I interviewed for the book. For each interview, I extracted sound bites with Ambrosia WireTap, added original music with Ableton Live to move the stories along, and then synced the audio with photos I animated in LQ Graphics Photo To Movie.

My concept for the presentation is to intersperse video clips from the disc with photos and behind-the-scenes stories, such as why producer Don Was recorded the Rolling Stones on his iBook instead of in his million-dollar Hollywood studio, how I got a stealth interview with Brian Eno, and more.

Tool Time

My dilemma is one we often face with today’s cornucopia of creative software: Which program(s) would be best for pulling all those media together and presenting them smoothly? My first inclination was to rerender the movies and embed them in PowerPoint slides, but I won’t have my computer with me, so I was worried that the host computer might not be able to keep up. Ditto if I simply built an HTML page and linked to the media files. Perhaps Keynote would perform better, but I haven’t bought it yet. (Should I? Please leave a comment.)

Erica Sadun

AddThis Social Bookmark Button

iQuizEmu

In today’s Mac Devcenter article, I wrote that iQuiz Maker will not import raw data files for you to create trivia packs. However, iQuiz offers a nice feature that I did not cover in the article. It allows you to open and edit all existing trivia packs installed into the iQuiz 1.0 folder in your iTunes/iPod Games directory. “All existing trivia packs” includes the custom ones you build according to the directions in my article.

This means that you can use all the iQuiz Maker features with your custom trivia packs including its game emulator. So if you want to play an iQuiz game without your iPod, just launch iQuiz Maker, select your trivia pack and click Play.

For those of you who want to try out the multiplication and trivia packs I mentioned in the article, you’ll find them here. These include three variations on the multiplication game, the
C source used to create them, and a set of six trivia packs built using trivia data from the net that was represented as open-source and/or public domain on the sites I downloaded from. (If anyone knows otherwise, please let me know and I’ll remove them.)

Erica Sadun

AddThis Social Bookmark Button

Over at Mac OS X Hints, an anonymous poster has discovered that Apple TV retains whatever sort order you set in iTunes. If you want your music to show up in alphabetical order, make sure you click on the Name header in iTunes before you sync to Apple TV.

Erica Sadun

AddThis Social Bookmark Button

Over at AppleTVBBS, poster mtech figured out how to stream Internet radio using VLC. He installed a copy of VLC and my perlbin plug-in and then created individual “station” files in /Users/frontrow/perlbin along the following lines:

#!/usr/bin/perl
use strict;
use warnings;
my $status = system("/Users/frontrow/VLC.app/Contents/MacOS/VLC http://wnycam.streamguys.com");

According to a follow-up post, you can also create a pls playlist for use with the ATVFiles plug-in.

Erica Sadun

AddThis Social Bookmark Button

I’ve dabbled in Perl, messed with csh, but I always seem to come back to C (and her sisters) and Smalltalk. Now I have a little space in my life to learn a new language. Help me figure out where I should direct my energy and let me know why this will take me to new and important places development-wise. Thanks!

Erica Sadun

AddThis Social Bookmark Button

So here it is. The proof of concept Finder Hiding widget. So why did I bother? What’s the big idea? It goes basically like this: Apple TV (and, presumably the upcoming iPhone) can run many Intel Mac OS X applications because Apple TV is, essentially, an OS X computer that runs a slight variant on the OS. However, Finder wants to take over and control the way users interact with the unit. It refuses to hide, it refuses to hand over control to another app.

More after the jump…

Erica Sadun

AddThis Social Bookmark Button

It looks like iChat in Leopard is going to be more scriptable than ever before according to this article from Apple. You’ll be able to use Cocoa to access iChat views and write to them from your applications:

IMAVManager *manager = [IMAVManager sharedManager];
[manager setVideoDataSource:myView]; 

But what really interests me is the enhanced AppleScript access that will allow you to start video chats, send messages, and create iChat event handlers.

Erica Sadun

AddThis Social Bookmark Button

redrawissues.jpg

See that picture? That’s what happens when you attempt to hide Finder.app using releaseAllDisplays. Yes, you can kind of get Finder to hide but then when you launch another application, things get confused as to who is allowed to draw what. This shows me opening what should be a menu and revealing part of Finder.app’s screen saver.

With the help and knowledge of AwkwardTV’s Eric III and Alan_Quartermain, I did manage to create a plug-in that hides Finder but I can’t seem to launch a program successfully and get it to take over the screen. My greatest success involved launching VLC from the command line and having it play back a movie full-screen. Finder stays hidden and VLC’s constant video updates and redraws prevented the issues seen here. Unfortunately, you could not control the video playback at all using the remote control.

In other related news, Alan_Quartermain has posted an advanced Apple TV coding tutorial about creating custom controls that is well worth checking out.

Erica Sadun

AddThis Social Bookmark Button

Lots of new stuff on the Apple TV front today. Here’s a brief rundown of it all:

Elgato released EyeTV 2.4. Download it here. Lots of bug fixes and, best of all, Apple TV export. Here’s a screen cap from Monday’s “Drive”, which I recorded in High Def and then exported to Apple TV format. It automatically loaded into iTunes. Unfortunately, you really do need to sync these things or use 802.11n because streaming playback with this bandwidth nearly killed my 802.11g network. Lots and lots of pauses. Also, the detail looked very soft to my eyes, not nearly as crisp as the High Def original.

http://www.oreillynet.com/mac/blog/images/drive1scaled.jpg

Screen shot from “Apple TV video” exported from EyeTV High Def content. [Click to open at full resolution]

Apple posted a few Apple TV hints in their RSS support feeds. According to Apple, Apple TVs can be stored in media cabinets despite their warmth. Also here’s a doc about Apple TV Standby Mode.

I completely rewrote all my plugins. Here are updated versions of the two I’ve previously talked about and a new one. The URL appliance lets you load video from the Internet by supplying URLs in a text file. The Perl appliance runs any perl file you drop into /Users/frontrow/perlbin. And the new one, Quit, lets you quit form the Apple TV UI. I tried uploading the project sources but I ran into a file size limit with the O’Reilly server. If you want copies of the source, just send me e-mail. The new versions should all run concurrently on Apple TV without interfering with each other the way the earlier prototypes did.

URL Appliance: Download file

Perl Appliance: Download file

Quit from UI Appliance: Download file

Speaking of the URL appliance, readers have asked me if I could mod the plug-in to allow users to label their URL files. You can actually do that right now without any modifications. Just put text labels into your urldata.txt file. If you try to load a label, Apple TV will simply tell you that “no content was found”. The URLs should load normally.

http://www.oreillynet.com/mac/blog/images/URLupdatescaled.jpg

Create your own organization in the urldata.txt file. [Click to open at full resolution]

Erica Sadun

AddThis Social Bookmark Button

Apple just updated a bunch of their high level Developer Notes that provide developers with technical descriptions of Apple products and capabilities. The updated items include Audio (both analog and digital capabilities), Bluetooth, Ethernet, FireWire/1394, Mac Pro, PCI, RAM expansion, USB and video.

Giles Turnbull

AddThis Social Bookmark Button

One nice thing about Mail is the Redirect feature, which lets you forward mail to a particular address so that it does not appear to have been forwarded from you. The final recipient sees the message just as you did when it arrived in your inbox.

One annoying thing about Mail’s Redirect feature is that it cannot be used on more than one message at a time. You can’t select, say, the entire contents of one mailbox and tell Mail to redirect all those messages to your Gmail account. If you select more than one message, the Redirect menu item is unusable.

Erica Sadun

AddThis Social Bookmark Button

Google Data APIs provide a standard interface to access Google-based data stored on Google Base, Blogger, Google Calendar and so forth. Today, Greg Robbins announced that he created a Cocoa-friendly Objective-C API/framework. You can read more at his blog post, which is here.

Erica Sadun

AddThis Social Bookmark Button

I was surprised at how much I enjoyed myself this last week. Since Sunday, I’ve been programming Apple TV plug-ins. They aren’t big programs to work with–more like programming haikus–but it reminds me again how much I adore Cocoa and Core Foundation and all. I spend most of my programming time these days writing scripts to scrape webpages and access web APIs.

I’ve also been rewriting (or to be more correct, rerererewriting) an article about developers adapting sample Cocoa code to a shipping product. I also wrote about adapting sample code here. All this has brought me to the piece I’ve missed talking about, which is the role Google plays in Cocoa programming. The Foundation docs at Apple tell you what’s supposed to work but it’s all the developers out there in searchable google-land that tell you how to get around the known bugs and errors and how the method calls really work.

Thank goodness for Google.

Erica Sadun

AddThis Social Bookmark Button

Devcenter reader Dick Applebaum writes in to report that the URL plug-in works with good results. He’s been able to play several videos including live and archived streamed .wmvs. The files stream properly in that you don’t have to wait for the entire file to load before playback begins.

Unfortunately, some the live streams he’s accessing (as opposed to archived ones) stop playing after 5 minutes. It seems like the live source sends five minute segments. After that time, the plug-in returns to the main menu and he has to select the URL again to get to the next segment.

So all you streaming experts out there: do you know a workaround that I can put into the QT Player part of the plug-in to make it try to keep grabbing video? Or is this a problem at the server end? I posted the code I’m using a few posts back.

Make sure you’ve installed Flip4Mac in your /Library/QuickTime folder if you want to play with WMV files and streaming.

As a final note, Dick mentions that he ported SQLite over to the Apple TV without any trouble.

Erica Sadun

AddThis Social Bookmark Button

So it turned out that my plug-in that I posted about yesterday worked much better than I thought it did. If you feed it a URL and the data can be downloaded (rather than streamed from the server), it will download and play back. Here are some results of testing the plug-in last night.

RocketBoom: I connected to a RocketBoom .mov file. It took a minute or two to download to disk and then played back perfectly. Video was good, audio was good. I could not, however, start playback until the entire file downloaded. For RocketBoom’s relatively small video files that wasn’t a big deal.

http://www.rocketboom.net/video/rb_07_apr_10.mov

http://www.oreillynet.com/mac/blog/images/RocketBoomscaled.jpg

[Click to open at full resolution]

Lots more after the jump…

Erica Sadun

AddThis Social Bookmark Button

So I wrote this plug-in that takes a URL and attempts to connect to it and play it back. To test, I used the recent Apple Keynote (http://stream.qtv.apple.com/events/jan/j47d52oo/m_8848125_350_ref.mov). I get the audio just fine, but the video is all white. I checked out my codecs and they seem fine. So you all QuickTime experts out there, any hints as to where I might be going wrong? A similar test with a Comedy Central FLV stream failed completely. Just a black screen and an infinite wait loop(http://a25.c.akamai.net/n/25/9950/v001/comedystor.download.akamai.com/9951/_!/com/southpark/1011_cake_480.flv?__gda__=1176235556_733620de7b3346f8ad188c52111702d1)

http://www.oreillynet.com/mac/blog/images/tryingtostream3scaled.jpg

My URL test plug-in. [Click to open at full resolution]

http://www.oreillynet.com/mac/blog/images/tryingtostream2scaled.jpg

The QuickTime Keynote streamed audio but not video and displayed this white screen. [Click to open at full resolution]

http://www.oreillynet.com/mac/blog/images/tryingtostreamscaled.jpg

The Comedy Central FLV source did not stream at all. [Click to open at full resolution]

Erica Sadun

AddThis Social Bookmark Button

On Sunday, with a hundred better things to do but no incentive to do them, I put together an Apple TV plug-in that allows you to run any Perl script you place into a folder in your home directory. (/Users/frontrow/perlbin). The idea is this: a lot of people know how to write Perl who don’t want to learn to program Cocoa. And you can add new scripts from your normal office work computer (via ssh) but have them all available from Apple TV. You can do date & time, calendars, stock quotes, weather, and so forth. Scrape web pages, subscribe to RSS feeds, whatever.

The plug-in is here, and here are a few screen shots showing the plug-in in action. You can click each thumbnail to view the shots at full resolution.

http://www.oreillynet.com/mac/blog/images/PerlAppliance1scaled.jpg

The Perl plug-in in the main menu.

http://www.oreillynet.com/mac/blog/images/PerlAppliance2scaled.jpg

The submenu shows all files in /Users/frontrow/perlbin

http://www.oreillynet.com/mac/blog/images/PerlAppliance4scaled.jpg

Perl scripts, which are easy to create, can perform simple tasks like checking the date and time while displaying them in the Apple TV interface.

http://www.oreillynet.com/mac/blog/images/PerlAppliance7scaled.jpg

More complicated scripts can scrape webpages to gather information like this up-to-the-minute weather report.

Erica Sadun

AddThis Social Bookmark Button

You need ssh access to your Apple TV. Drop the plug-in into /System/Library/CoreServices/Finder.app and from there into Contents/PlugIns. You then have to kill and restart Finder.app. (Do a ps -x to find the process id).

What the plug-in does: I wrote it as a proof of concept for testing running command-line utilities through the Apple TV interface. “Weather” gives you a weather report for Denver. (You can modify the zip code in the plug-in bundle in Contents/Resources/Weather.perl.) “Time” tells you the time using /bin/date. There’s also a “Foolery” option that simply displays a static string. Finally, you can “Quit” from the Apple TV UI. (Not very useful unless you’re hacking.)

Use at your own risk. Give feedback. Don’t sue. How-to hopefully to follow.

Download file

Update: Just for the hell of it, I also wrote up an appliance that allows you to run any perl script you stick into your /Users/frontrow/perlbin folder. Feel free to test it:

Download file

Erica Sadun

AddThis Social Bookmark Button

Joost, with its limited beta and coveted invites, has become the next hot thing but unless you’re in on the beta program, there’s not too much information out there about what Joost is. So I thought I’d jump in here with a quick summary.

Joost is from the Skype people. The same people who founded Skype are behind the Joost effort.

Joost offers free streaming ad-supported video. Joost provides fast and efficient video streaming at surprisingly high quality given the actual bandwidth they use.

Joost plays back better than NBC Replay, CBS Innertube, etc. The video is smooth and watchable, far superior to what you find at the network sites.

You can’t skip the commercials. Joost isn’t TiVo.

Joost has premium content. Although the current content on offer is very similar to what you’d find for free on on AOL TV, Joost has obviously penned deals with Comedy Central, MTV, Nickelodeon, and BET, because some of their shows are already available for viewing. These are not the greatest shows, or even the most current shows, but they do provide a proof of concept that robust and watchable ad-supported TV-on-demand can be delivered effectively.

I love Rocky & Bullwinkle. And there are lots of episodes to watch. Plus Mr. Magoo. And, despite the Garnier and Eclipse gum commercials, my kids are learning to love them too.

It’s still beta. So sometimes there are program interruptions, and sometimes parts of some menus don’t display, but all-in-all it’s watchable and fun.

Intel Mac only. Joost does not support PPC. But it does run on Apple TV.

Erica Sadun

AddThis Social Bookmark Button

For the moment (and it’s probably only a moment), two white LEDs illuminate the fronts of two Apple TVs. One poor unit has been hacked so much that it takes several tries, several blesses and several plugging-and-unplugging sessions to get it to start. I think I’ve messed up its recovery partition beyond repair. (This is the one that got attached at one point to the G4.) For the record, I ended up having to bless both the CoreServices folder *and* the boot.efi file inside it. The command was: bless --folder=/Volumes/OSBoot/System/Library/CoreServices --file=/Volumes/OSBoot/System/Library/CoreServices/boot.efi --setBoot

The other unit is newly factory restored (the first won’t factory restore at all any more–it just reboots into the blinking question mark if you try) with spanking fresh hacks, ATVFiles, Perian, and Joost. It’s working great and sits (albeit with its innards still exposed to daylight) in its proud place on a ceramic trivet next to my TV. The other one gives it dirty looks through my office wall and sulks in look-what-you-did-to-me-and-now-I’ll-only-boot-up-if-I-feel-like-it demeanor.

But they live. And for now, that’s going to be enough. I’ve got to head off to CompUSA to swap out a Seagate 120 drive that’s been making horrible clicking noises. It never ends.

Anyone have any requests for AppleTV ports? Any software you’d like to see on it? Ideas for custom plug-ins?

Erica Sadun

AddThis Social Bookmark Button

A bit of good news, a bit of bad news.

The good news is that I brought my bricked Apple TV[1] back to life by blessing its Core Services folder. I then did a complete system restore, and then starting from scratch installed ATVFiles and the latest Perian and I can now play AVI files directly from the Apple TV interface. Woo hoo! They look fabulous and high def. (Take that Peter Svensson of the Associated Press.)

Also running: the latest beta of Joost, but with the SVG font issues other people have reported. (If you go back about 3 or 4 betas, Joost didn’t have the font issues. They’re working on fixing them now. If you’re having problems with Joost, make sure you copy both preferences files from an Intel Mac installation from ~/Library/Preferences (there are two) *and* also the Joost Application Support folder.)

The bad news? I connected my “good” Apple TV disk to my 733 G4 and now it won’t boot. Surely there will be a time when both units are up and running at the same time? Does anyone know a quick and easy “bless” solution without having to rebuild the entire disk from an image? Blessing Core Services didn’t work.

[1] For the curious, the way I bricked it was this. It was about 3 or 4 in the morning. I just got my youngest child back to sleep. Suddenly I had an Idea. (Never trust Ideas at 3 or 4 in the morning.) I decided to put a blank disk into my Apple TV, connect the good disk via USB and then press Menu-Down during boot. It was not a Good Idea. It was a Bad Idea. Hello Question Mark of Doom. The current bricking comes from having connected the other disk to a G4. Frack.

Robert Daeley

AddThis Social Bookmark Button

Spring can officially get started now that the baseball season is underway. And with baseball comes the necessity to keep up on your favorite players and teams, whether you’re a stat-obsessed fantasy player, or just a fan of Your Team.

Michael Calore over at Wired covers a number of utilities that’ll keep you informed all day long, in Let’s Play Two. Or Three. Baseball Widgets for Your Desktop.

Now, you could just download and use the pre-made ones, but as Michael points out, there’s lots of room for customization:

Just want updates about the Mariners? Are you a Yankees-hating Boston girl? The best way to track a single team is to make your own custom widget. All of the official Major League Baseball team pages have RSS feeds. News articles, opinion pieces, player trades and official wrap-ups — basically every bit of news about your favorite team — are served on these feeds. Send them to your RSS reader or your Ajax-powered home page, or use a widget platform like SpringWidgets to build an embeddable widget for your blog.

You can also send RSS feeds directly to your phone via SMS, Google Homepage for Mobile or one of NewsGator’s mobile options — these are great ways to get score updates when the boss calls an emergency meeting in the bottom of the sixth with two men on.

Whatever your druthers, the blessed Internet will keep you in touch.

Erica Sadun

AddThis Social Bookmark Button

This shell scripting primer from Apple has been around since May of last year, but it was new to me when I found it today on Apple’s RSS feed. It introduces basic shell concepts and shows you how to create subroutines, use regular expressions, and perform math. A nice find for pointing people to who are just getting started with scripting.

Erica Sadun

AddThis Social Bookmark Button

Amadeu writes “Hi Erica. One thing I have not yet seen in your series: how does the AppleTV compare with the MacMini, as for output quality? The AppleTV has a better graphics card but does this result in noticeable differences when displaying pictures or movies on the TV?”

I honestly don’t see a quality difference between the two. Both produce crisp watchable pictures. But then again, I’m neither an audio nor video perfectionist so take my opinion with the skepticism it probably deserves.

Also remember that Apple TV works out of the box and is pretty bullet-proof but isn’t meant for general computing. The Mini offers Front Row, but it’s pretty easy to leave that mode. Apple TV is $299 and the Mini costs significantly more.

Erica Sadun

AddThis Social Bookmark Button

Jajah.com provides Internet telephony that uses standard landlines. You enter your phone number into the [#1] field on the Jajah homepage and your party’s number into the [#2] field. Click [#3] Call. Jajah connects to the first number, then to the second, and then connects the two together.

You do not need an account to test out this service. You do not need to enter your own number into the “My Phone Number” field. Jajah will connect any two parties you specify. And you can clear cookies to remove the “remembered” number.

It’s April 1st. And this being O’Reilly, I’m pretty sure you can figure out the rest. Just lay off the poor pizza delivery services and adult bookstores. They have a hard enough time today.

Erica Sadun

AddThis Social Bookmark Button

AppleTVCompositeSized.jpg

Behold. Apple TV using a composite monitor. Thanks to KFM82, who suggested that connecting a standard RCA cable between a TV and one of the three component jacks would produce a monochrome image on a regular composite TV. It did. Not great for TV watching, but excellent for testing out an Apple TV box during modding.

Erica Sadun

AddThis Social Bookmark Button

I’m running out for the weekend, so I have to make this short. Sorry! Earlier, I crashed my Apple TV. (You know, blue screen of death, but Apple style, so there’s a nice Apple logo to look at).

When this happens, you need to run Finder to reboot and restart properly. But I’d swapped Finder out with QuickTime. So I had to take my hard drive back to my mini, switch Finder back to itself, put the drive back into AppleTV and then go through the whole “Select Language”, “Can you see the Apple Logo 720 p” routine. Once this was done, I was able to ssh over to my baby, kill ripstop, dekext Watchdog, and put QuickTime back as my Finder.

Summary: Apple didn’t kill my Apple TV. I’m guessing I did it myself with my relentless testing of software and plug-ins. If you mess up, make sure Finder is available for your reboot. Hopefully soon, someone will come up with a USB flash drive fix that doesn’t require anyone to move hard drives around physically.

Erica Sadun

AddThis Social Bookmark Button

Did it. Finally. This is a screen shot of a live stream from my EyeTV tuner playing back on Apple TV. I’m working on the write-up for Bruce and Mac Devcenter. For the curious, the screen shot was taken as such: /usr/sbin/screencapture -tjpeg ~/sponge.jpg from a ssh session at the Apple TV command line.

vlclivespongescaled.jpg

Giles Turnbull

AddThis Social Bookmark Button

One of my interests is electronic notebooks, and how different kinds of note-taking and note-storing software products appeal to different kinds of users. Scientists, in particular, need something to keep track of, and possibly annotate, all the papers they need to read in the course of their work.

Flip Phillips made two posts to Apple’s Scitech mailing list today, outlining his views on a variety of note-management apps that fellow scientists might put to use.

Part 1 looks at Yep, Papers (itself the subject of intense scrutiny recently), and DEVONthink; Part 2 deals with WorkLife, BibDesk, and EndNote.

If you’re looking at note apps, especially for use in academia, Flip’s brief views are well worth a read.

Erica Sadun

AddThis Social Bookmark Button

CustomIconscaled.jpg
AppleTVKids2scaled.jpg
Update: changed from TIFF to JPEG. Thanks for the tip!

Erica Sadun

AddThis Social Bookmark Button

Dan over at UneasySilence has hacked the raw floating photos Quartz Composer screen saver. Check it out.

Gordon Meyer

AddThis Social Bookmark Button

I’m often looking for ways to improve my home automation system. A few days ago, a post at Hackszine drew my attention to Jesse David Hollington’s article on Bluetooth Proximity Detection on Mac OS X. And more recently, Bruce Stewart wondered how else proximity detection might be used, with Jeff Harrell’s comment about the problematic range of Bluetooth, approximately 40 feet, echoing the problems I’ve had in trying to incorporate Bluetooth into my home automation system.

I quickly learned that using Bluetooth to determine if I am at home (as inferred by the presence of my cell phone) was simply not going work to my satisfaction. The problem was that if I wandered too far from my home office, yet still within my home, the Bluetooth connection would drop and my automation system would decide that I’d left. That’s not such a big deal if all this does is activate your password-protected screen saver; it’s a different story when it causes your home to completely switch operating modes.

Perhaps I should back up a little. One of the cornerstones of my home’s automation is that it behaves differently depending upon who is at home. For example, if someone is home at sunset, inside lights are turned on for them. If the house is empty at sunset, a different set of lights, and the porch light, are turned on instead.

During the middle of the night, if the system detects that someone is walking in the upstairs hallway, the lights in the kitchen are turned on very low, if that’s the direction they’re heading. However, if nobody is at home, and there’s motion upstairs, the house goes into full “intruder alert” mode!

This sort of thing isn’t hard to set up, and it starts to put the smart in “Smart Home,” but it only works correctly if the information about who is currently at home is trustworthy. Yes, it’s “garbage in, garbage out” all over again. I concluded that Bluetooth proximity detection, used for this purpose, would mostly result in “garbage in.”

But after finding out about the intriguing Home Zone application, I was willing to try it again, and this time I had a new idea. Instead of using Bluetooth to figure out if I have departed, I would use it only for determining that I have arrived.

I guess it seems obvious in retrospect, but this realization made all the difference for me. I’ve been playing with the idea for a few days now, and I’m quite pleased so far.

When I leave the house I press a button, located near the front door, that tells the automation system that I’m departing. This is similar to turning on an alarm system and is an easy habit to get into. (In fact, if I’m the last person to leave, it does turn on the alarm system. For full details on how all this works, see “Hack #70-Know Who’s Home” in Smart Home Hacks.)

Normally, when I arrive home I press the button again so the system knows I’m back. Now, I can eliminate that step by using Home Zone (or Salling Clicker , or Proximity, et al). This is accomplished by having the monitoring software execute the following AppleScript when my phone’s Bluetooth signal is detected.


tell application "XTension"

if (status of "Gordon Home") is false then

turnon "Gordon Home"

end if

end tell

This script works by asking XTension, one of the home automation software programs I use, if it believes that I am currently at home. (Represented by the variable “Gordon Home.”) If XTension already knows that I am home, the Bluetooth detection event has offered no new information, so it is ignored.

However, if XTension believes that I am gone, the detection of my phone’s Bluetooth signal is significant, so the variable that tracks my presence is changed. (Which causes other things to happen, depending upon the time of day and other conditions.) When I first got this working it was an almost magical moment; shortly after walking in the front door I heard my computer announce that I had missed four telephone calls while I was gone, and the lights in the entryway turned on by themselves.

For me, the key to successfully using Bluetooth to detect presence, for home automation purposes, is to track only the first appearance of a device, and even then, only in specific contexts. Inferring meaning from the lack of a Bluetooth signal is difficult; there are many reasons why a signal could vanish. But, the arrival of a new Bluetooth device is unlikely to be spurious, and it gives you concrete, actionable information that is easily incorporated into home automation routines.

Erica Sadun

AddThis Social Bookmark Button

There are three partitions. One, disk2s2 (400 MB) cannot be mounted. OSBoot is 900MB and contains a mini-OS X installation. Media (35.8GB) contains the AppleTV data and looks almost identical to the file system on an iPod.

Erica Sadun

AddThis Social Bookmark Button

Details and picures can be found here at the Make Blog. Reader “Dave” wins the “guess the time of warranty violation” sweepstakes and earns eternal bragging rights via this update post. For the curious I cracked the case about 5 hours after receiving it.

More details and experimentation after the jump…

Erica Sadun

AddThis Social Bookmark Button

Hey all you guys in reader land, I could use a hand. I need a 2.5″ disk drive and USB-2 enclosure and I need to get them both quickly and at a reasonable price (i.e. fast, reliable shipping). I need at least 80G for the drive and the enclosure has to be very Macintosh friendly. Any suggestions? Thanks in advance.

(And yes, this is for the Apple TV. And yes, I do not know why I was convinced it was going to have a 3.5″ drive–which I did have all ready but now can’t use.)

Update: I ended up going to CompUSA, paying far too much, and getting a rotten enclosure. I’m having a lot of trouble with my disk duplication and I think it may be the enclosure–or Apple TV may be using some strange error correction. Dunno. Thanks to everyone for the tips!

Erica Sadun

AddThis Social Bookmark Button

This is a work in-progress. I will continue to update it.

Apple TV User’s Guide [PDF, 1.1MB]

Apple TV Safety and Regulatory Compliance Information Manual [PDF, 573 KB]

Networking

Where do I find the Media Access Control address? On the Apple TV, select Settings -> About. You can also find the Wireless and Ethernet network IDs on the UPC label on the Apple TV case.

How do I set the name of my computer for AppleTV? In iTunes, open Preferences, click General, enter the computer name in the “Shared Name” field, and then click OK.

How do I check to see if the AppleTV is properly connected to my network? On the Apple TV, select Settings->Network and make sure that you see an IP address listed for your unit.

What ports are used by AppleTV? TCP 3689 communicates with iTunes. UDP port 5353 finds networked computers via Bonjour. TCP ports 80 and 443 communicate securely with the iTunes Store over the internet.

Can I stream using 802.11b? No. You need 802.11g/n to stream.

Can I sync using 802.11b? Yes. You can sync with 802.11b/g/n and over a wired Ethernet connection.

How do I connect AppleTV to my network? Select the network from Network -> Configure Wireless or Network -> Configure TCP/IP. If you’re not using DHCP for your TCP/IP network, you may have to manually enter your IP address, subnet mask, router and DNS addresses.

More FAQs after the jump…

Jochen Wolters

AddThis Social Bookmark Button

Sometimes, I can’t help playing the “what-happens-if-I-do-this” game on my Mac, and more often than not, there are neat little features to be found that are scarcely documented, if at all. Here a two finds of this kind:

You will already know that command-dragging the title bar of a window that’s in the background lets you move that window without making it active, i.e., without bringing it to the front. However, this also works for re-sizing: by command-dragging the window’s bottom-right corner, you can resize the window while it stays in the background. Very useful alternative to moving the whole window if you need to get a quick view of what’s behind it.

Another well-known feature of OS X’s UI is that you will see the folder hierarchy that leads to a Finder window’s contents when you command-click the title of the window. This works similarly in most document-based applications like TextEdit, Preview, etc., but some apps use this feature in unusual ways: command-click on the title of a Safari window, and you will see the URL’s hierarchy, instead.

CmdClick_URL.png

Do you know any applications that do unusual things when command-clicking on their windows’ titles?

Gordon Meyer

AddThis Social Bookmark Button

Interest in the messaging service Twitter is clearly on the rise (see this Wall Street Journal article if you’re not already familiar with it), and while most people are figuring out how to use Twitter for its intended purpose–social networking–I’d like to share a few notes on my more prosaic experiment of using it as part of my home automation system.

Home automation enthusiasts, particularly those of the hobbyist bent, have come up with several clever methods of having their systems send them notifications of household events when they’re away from home . For example, the home automation system might send a message to their cell phone when the kids arrive home after school, or when the UPS delivery person has left a package at the front door. (For more about the usual methods for doing this, and other examples, see my MacDevCenter article: Macintosh Home Monitoring. )

Why Twitter?

I’ve been experimenting with using Twitter for automated notifications, and so far I really like the advantages it provides over other techniques.

First, Twitter supports several methods of delivering messages (which are called “tweets” in Twitter-speak). A tweet can be received via SMS to your cell phone, via several instant messaging services, by visiting a web page, or by using specialized apps such as the terrific Twitteriffic.

The best thing about this flexibility is that the recipient chooses how they want to receive their tweets, and changing this setting is easily done “on the fly.” The sender of the message doesn’t need to know which delivery mechanism is currently active, it’s all handled by Twitter. This simplicity is a boon for home notifications which typically either take a shotgun approach and send notifications to several places at once (home, office, and cell phone email), or try to guess (based on time of day or other data) what the best destination might be. Letting the recipient determine where they want to receive messages, at any given moment, makes delivery much simpler and more reliable.

Finally, Twitter has a simple HTTP-based interface for sending messages. Instead of having to script an email program, or an SMS utility, sending a tweet is as easy as having your home automation system open a URL.

My First Implementation

This is an example of a notification sent to me, from my XTension-based home automation system, indicating that someone has been on my front porch.

Here’s how the same message appears on my personal Twitter web page:

When I’m away from a computer, I change my Twitter preferences to send tweets to my phone, instead. Twitter can also relay messages using iChat (AIM), GoogleTalk, LiveJournal, and Jabber but I’ve had mixed success with the reliability of delivery over IM systems, so I don’t use those options.

Getting Started

You’ll need two Twitter accounts. A personal account, for yourself, which you’ll use to receive the messages sent by your home. If you want to receive messages via SMS and IM, you’ll have to configure, and confirm, those details in your Twitter account settings.

The second Twitter account is for your home automation to use when sending the notifications. When you create this account, you will probably want to select the “protect my updates” option so that your notifications aren’t available to the public at large. Then, add your personal account as a “friend” of the home’s account so that you can receive the messages.

Implementation Details

Here’s how I currently have this working. Some of these details are specific to XTension, one of the home automation applications I use, but the concept is adaptable to other systems. (See Hacking the Hack, below.)

When a visitor comes to my front door, XTension receives a signal from a motion detector. (Readers of Smart Home Hacks will find the full details about how the visitor is detected beginning on page 271.)

The motion detector activity causes XTension to run a script that constructs a message telling me what happened, and copies the message to the Description field of a unit called “Notify Twitter.” (This is one method of passing variables in XTension.)

In the example below, which shows XTension’s Master List window, the Description of the Notify Twitter unit has been set by this script to “Somebody is at the front door!”

Next, the motion detector’s script sets the value of Notify Twitter to “On,” which causes the script attached to the Notify Twitter unit to execute. This script does the following:

  1. Retrieves the message text from the Description field.
  2. Formats the message and Twitter login information.
  3. Sends the message and login info to Twitter’s status API.

Here’s the script, which borrows some code from Tilman for using curl to send a Twitter status message:

set theMessage to description of me

set TwitterID to "yourID"
set TwitterPassword to "yourPassword"

set TwitterLogin to TwitterID & ":" & TwitterPassword

set TwitterStatus to quoted form of ("status=" & theMessage)

set results to do shell script "curl --user " & TwitterLogin & " --data-binary " & TwitterStatus & " http://twitter.com/statuses/update.json"

You’ll need to enter the login and password for your home’s Twitter account, as noted in the script.

Shortly after running this script, the message is delivered via Twitter, as illustrated earlier. It’s a simple as that.

Hacking the Hack

There are several ways in which this script can be used and adapted. For example, I’m using a variant of it with PhoneValet, to send CallerID information when someone calls my office phone. (See Growling PhoneValet for a starting point if this interests you.)

If I had a security camera on my front porch, it’s easy to imagine including a URL, in the tweet, that would lead to a snapshot taken at the time the motion was detected. Although, depending on the length of your URLs, you might need to utilize something like TinyURL to shorten it before sending. Twitter limits the size of tweets to 140 characters.

If you use Indigo, another Mac-based home automation application, the above script will work just a few modifications. Instead of passing the message text using the Description field, use an Indigo global variable.

If you use MisterHouse, an open source home automation application for Mac, Linux, and Windows, you’ll need to adapt this technique only slightly, replacing the AppleScript portions with Perl.

I’m continuing to tweak and adapt the basic idea here to new applications, if you have a suggestion or enhancement, please let me know what you come up with. Thanks, and have fun tweeting!

Erica Sadun

AddThis Social Bookmark Button

If video exported from your iPod is playing on your PAL TV in black & white, you probably need to set your video output settings to PAL instead of NTSC. For whatever reason, I’ve been contacted by several different people about this problem in the last month.

Hope this helps.

Giles Turnbull

AddThis Social Bookmark Button

A friend called the other day. She works at a web development company where most things are done on Windows, but a lonely eMac is kept sitting in a corner to ensure that the sites they produce look good in Mac browsers.

My friend had downloaded a new version of Firefox for OS X and was trying to install it.

“I don’t understand,” she said.

“I’ve downloaded it and got a dmg file on the desktop. I opened that but now I’m really confused.”

What my friend was looking at was this:

firefox-dmg.jpg

Erica Sadun

AddThis Social Bookmark Button

So I decided to give the new QuickTime 7.1.5 AppleTV export format a whirl. I wanted to find out what kind of size and bitrate would be produced by this QuickTime preset and see what kind of conversion times we’d be talking about.

I needed something pretty high quality to begin with so I started off in EyeTV with a relatively small (7 minute, 760 MB) High-Def recording. As you might recall from earlier articles in this series, EyeTV stores video as raw MPEG-2 transport streams. You cannot read these directly into QuickTime Pro, so you need a good quality intermediate format particularly because you cannot export directly to AppleTV in the current (2.3.3) version of EyeTV. I decided to export to 720p HDVideo as a first step and then use QuickTime to convert for AppleTV. For the curious, EyeTV’s 720p HDVideo is 1280×720-pixels at 29.97 fps.

I then imported the several gigabyte result into QuickTime Pro and chose File -> Export and choose Movie to AppleTV from the Export pop-up. There are no further options or settings to customize the output. (The Options button is disabled and you can only use Default Settings.) Enter a name and click Save to perform your conversion. The conversion for this clip took over a quarter-hour on my 1.66 GHz Intel Core Dual with 1GB RAM. I gave up and hit “cancel” long before it finished on my aging 733 G4, but we were at over an hour at that point.

The resulting video looked very nice indeed. Clocking in at just under 200MB (about a quarter of the size of the original HD video, and way, way smaller than the intermediate HDVideo video), the quality was excellent. (You can download sample screenshots here.)

Details:

Format. H.264, AAC, 44.1kHz, 29.97fps

Data Rate. 3884.70 kbits/sec

Frame Size. 960 x 540 pixels

Erica Sadun

AddThis Social Bookmark Button

So I asked the question: is AppleTV going to be a new kind of iPod? Chuq Von Rospach, replying by e-mail, suggested that as an iTunes-slaved appliance, AppleTV will be similar to but in a different class from the iPod. Neither one is meant to be a central processing hub and both serve stored data but they’re used in very distinct ways.

Robert Daeley

AddThis Social Bookmark Button

Cool tip discovered just now whilst watching a video podcast in iTunes.

Robert Daeley

AddThis Social Bookmark Button

“Colors and Prompts in BASH” is a quick how-to on putting some color and utility into the otherwise austere command line prompt for the popular shell.

Bourne Again Shell offers a lot of power, flexiblity and fun. Many new Unix users do not realize the flexibility of the shell environment; indeed; many new Unix users regard the shell as primitive and too restricted: nothing could be further from the truth. With very little time investment a new Unix user can learn how not to just make their work environment in the shell more productive but even a little fun.

Since bash has been the default shell on Mac OS X for at least a couple of cats now, this guide does the trick for us as well.

At the end, the post links to the mother of all prompt articles, the aptly named “Bash Prompt HOWTO” at faqs.org. Coming in at 140KB and over 17,000 words, this awesome guide will enable you to make all kinds of useful tweaks.

Most Linux systems have a default prompt in one colour (usually gray) that tells you your user name, the name of the machine you’re working on, and some indication of your current working directory. This is all useful information, but you can do much more with the prompt: all sorts of information can be displayed (tty number, time, date, load, number of users, uptime …) and the prompt can use ANSI colours, either to make it look interesting, or to make certain information stand out….

While you’re messing around on the command line, go grab a download of the “new” iTerm beta, version 0.9.5. I say “new” since it was released at the beginning of February, but I didn’t come across it until yesterday. :) Unfortunately, I kinda got distracted and otherwise occupied right about then, so I missed the update. Only been a day, but it seems to be operating better already. I did trash the old 0.9.0 preference and Application Support files before launching, but I don’t know if that was strictly necessary.

(Via rootprompt.org)

Erica Sadun

AddThis Social Bookmark Button

I apologize in advance for disjointed nature of this post. I’ve been thinking a lot over the last few weeks about how Apple intends you to use AppleTV and my time spent going over the new AppleTV strings in iTunes 7.1 has made me explore some new areas of thought.

It all comes down to this. Apple seems to think that AppleTV is an iPod:

  • They display it as part of the iPod store:
    iPodStoreimage.jpg
  • The AppleTV strings in iTunes 7.1 show functionality that’s very close to the standard iPod strings: playlists, syncing, movies, songs, photos, etc.
  • It’s only got a 40 GB hard drive! For video. Even presumably high-quality video. That’s iPod-levels of space, not media center-levels of space.

More after the jump…

Jochen Wolters

AddThis Social Bookmark Button

In what is easily the most concise tutorial I’ve seen on this topic so far, Melvin Rivera explains how to enable support for email signing and encryption in Mail.app. All that’s required for basic encryption is to request a personal security certificate and add this to your Mac’s keychain. No need to install additional software or configure anything, as Mail and Address Book support these features out of the box.

Its underlying basics like the concept of public-key cryptography haven’t changed, but email encryption has come a long way in terms of usability: add that certificate to your keychain, and encrypting your emails is as easy as clicking a button. That’s a big change from the early command-line tools, and it makes encryption accessible even to less experienced users. Why, then, is it that so few people actually encrypt their emails?

Consider this: as you may know, standard email is sent along the Internet as plain text, so that anyone with access to one of the computers along which that email travels from sender to recipient could theoretically read what you’re sending. The often-used comparison between an email and a postcard is very appropriate. In the analog world, though, we tend to prefer mailing a letter in a sealed envelope unless we send greetings from our far-away vacations, in which case postcards come in handy to make even the postman envious…

“Postcards” in the digital realm, envelopes in the real world. Where does this discrepancy come from? How about you, dear reader: do you use email encryption? If so, what kind of encryption (i.e., PGP, GPG, S/MIME, …) are you using, and which kinds of messages do you encrypt? And how many of your friends use encryption, too? If you do not use email encryption: is there a specific reason — like difficulty-of-use, lack of trust in the system, etc. — that keeps you from doing this?

Let’s find out what it takes to make email encryption more popular. Or is it already more popular than I think?

P.S.: I learned about Melvin’s article via Hawk Wings.

P.P.S.: For a much more detailed look at encryption and certificates, have a look at FJ de Kermadec’s article “How to Set Up Encrypted Mail on Mac OS X“.

Erica Sadun

AddThis Social Bookmark Button

Here is a list (in PDF format) of the localizable AppleTV strings from the 7.1 update of iTunes. There is a whopping amount of stuff (10 pages worth) added to iTunes that’s AppleTV specific. Highlights include support for AppleTV games (presumably along the same lines as iPod games), mounting and ejecting AppleTV, manual versus automatic synching, voice memos, photo album support (Aperture, Photoshop Elements, more), support for the Nike + iPod voice kit (how is that going to work with AppleTV?), calendars & contacts, and AppleTV-compatible video (same as iPod): Download file

Erica Sadun

AddThis Social Bookmark Button

Picture 1.png

Last year, I talked briefly about iPodcasting, by which I mean hooking up an iPod to an A-to-D converter and using iChat AV to broadcast a video over the Internet. Over the last few months, I have found this is something I do pretty regularly and one of the nice tricks I’ve discovered along the way involves sending video to someone who does not have a camera hooked up at their end.

By control-clicking (right-clicking) a buddy’s name, a contextual menu pops up offering the option to invite that person to a one-way video chat. This means that they can watch your video but will not send video back to you in return.

Probably one of the nicest things about a one-way video chat is that when you’re playing a video off your iPod, you don’t have to watch the other person watching your video. You don’t have to see them adjusting their hair, performing nasal maintenance, or any of the other unconscious things people do when they get involved in watching TV as opposed to engaging actively in a social situation. If you plan to iPodcast video, I suggest that your buddy switches off their camera. Do a one-way chat instead.

Update: Brian Sawyer over at HackZine thinks one-way video is a great match to teaching skills like knitting. Thanks Brian!

Giles Turnbull

AddThis Social Bookmark Button

One of the myths about OS X that pervades among Windows users is “There’s no right-click options, because you can’t right-click on a Mac.”

Well, of course you can right-click on a Mac, if you just plug in a standard USB mouse. Or you can Control-click, or use any of the default clicking-and-tapping arrangements on offer in those new-fangled Mighty Mice. Whatever means you use, a contextual menu is never very far away.

Windows users have all sorts of options to expand what the computer offers them when they right-click, and might think that the same expandability is not available in OS X. It’s easy, though, thanks to Automator.

Ever since Tiger was released, I’ve tinkered with ideas for Automator-based contextual menus. None of the workflows I’ve created has ever been very complex (most of them are just two or three actions long), but several have been incredibly useful. Especially because they can be saved as Finder plugins, and therefore made available in every right-click contextual menu that appears.

David Battino

AddThis Social Bookmark Button

Ah, interruptions. These days, when the phone rings or someone butts in, I hit the F13 key on my Mac. If music is playing, iTunes smoothly fades it down to silence and pauses itself. After the coast is clear, I hit F13 again and the Mac asks what volume I’d like playback to resume at. Hit Return and the music fades back up. The effect is more pleasing than simply stabbing the Mute key, and it means I don’t lose my place. Further, being able to enter a volume directly is often nicer than messing with the volume up/down keys.

itunes-stop-shadow.jpg

Launch the script when iTunes is playing, and you’re prompted to enter a new volume level. The default is 0, creating a fadeout.

It’s all done through this AppleScript I assembled from snippets at OSX Hints and Doug’s AppleScripts, plus some experimentation. I mapped it to the F13 key using the no-longer-available LumaCode Key Xing, but it should work fine from other AppleScript launchers.

Giles Turnbull

AddThis Social Bookmark Button

Cocoalicious is a neat open source app for posting links to a del.icio.us account, and browsing through your del.icio.us library (pun intended) outside of your browser.

Sadly, for some users recently, Cocoalicious has been broken. For some reason it simply wouldn’t connect properly to del.icio.us accounts. Old links were stored just fine, but new ones couldn’t be added. At least, that’s how the problem manifested itself to me.

Anyway, the good news is that there appears to be a work-around. Take a look at the very final comment on this blog post and you’ll find simple instructions for amending the Keychain item for your account in Cocoalicious - doing this seems to get things working once again.

David Battino

AddThis Social Bookmark Button

With all this podcasting I’ve been doing (iTunes link), my G5 tower’s 250GB hard drive is almost full. Perhaps not coincidentally, this ol’ Mac has been rather cranky lately. I remember reading that once the free space on your system drive dips below ten percent of its capacity, OS X starts to exact revenge, crashing randomly and forgetting things. That sure sounds familiar.

Be that as it may, I just ordered a 500GB internal drive to start offloading some of the detritus like audio sample libraries and disk images for DVDs I hope to watch someday.

The last time I installed a secondary drive, I was so awed by its relative size (20 times bigger than my stock Mac drive!) that I partitioned it into five slices. After a while, that just became a hassle.

So this time, I’m wondering: What would you recommend? One partition for a basic system backup and the rest for files? One big partition? Seven little partitions named after short men with pointy hats? Leave a comment and let us know what works for you.

250GB gone
GrandPerspective says, “You’re outta room!”

UPDATE, 2007-03-03: The drive arrived today and, keeping all of your comments in mind, I set it up with just one big partition. Using Grand Perspective, I found that the biggest space-sucker on the old drive was ripped DVDs, so I transferred all of them to the new drive—regaining 95GB in the process! Kinda embarrassing to realize I’m that far behind in my movie-watching.

Erica Sadun

AddThis Social Bookmark Button

Now that I own my own HDTV, I decided to see how the widescreen movies I encoded for my iPod played back in high def. I connected my iPod to my new TV. In Videos -> Video Settings I set both Widescreen and TV Out to “On”. Then I selected a video and played it.

There are a couple things you need to take into account when connecting to your HDTV from the iPod:

First, you are creating a standard definition signal from your iPod. To the best of my knowledge the current generation of iPods doesn’t do HDMI or anything like that. So you’re going to want to compare your video quality to the way DVDs play back on your TV and not, say, a true High Definition signal.

Second, you’ve got to use your most optimal compression for that big screen and that means QuickTime Pro. It allows you to bypass the published iPod 768 kbps limits and produce 624×352 video at 1600+ kbps. Obviously, you can produce better video quality than that, and you can even watch it in iTunes or Front Row, but it won’t sync to your iPod.

More after the jump…

Robert Daeley

AddThis Social Bookmark Button

Thanks to a post on Lifehacker, I found out about the It’s All Text Firefox plugin that lets you edit any text area in your favorite editor.

From the comments on the plugin page, some Mac users have had issues with getting it to find their editing applications, and it is still in beta, so your YMMV.

What I did as a workaround was point the plugin at the /usr/bin/open utility. This will open the field’s content in a document in whatever app you have as your default text-file opener — as man open says,

The open command opens a file (or a directory or URL), just as if you had double-clicked the file’s icon. If no application name is specified, the default application as determined via LaunchServices is used to open the specified files.

Hopefully they will get this working properly soon.

Erica Sadun

AddThis Social Bookmark Button

Apple just released a nice support doc detailing AirPort Extreme (802.11n) USB drive support. Looks like you can use HFS+, FAT16, or FAT32 with a 512-byte block size. (Apple notes that not all USB storage devices use 512-byte blocks.) No RAID volumes and no partitions allowed. (Update: At least that’s the official word. In the comments below, Jason reports that he’s had no problems using a 2-partition disk with his new AirPort Extreme.)

David Battino

AddThis Social Bookmark Button

My G5 tower crashed today, so I thought I’d reboot it from the Disk Warrior CD and clean out the demons. But first I had to get sneaky.

Holding down the mouse button so the CD tray would open on reboot, I hit the Mac’s power button. I heard the glorious startup sound, then…nothing. So I powered off again, slid the CD drive cover down with my finger, and poked a straightened paper clip in the tiny hole under the drive to open it. (It sounds ridiculous just reading this back.)

Plopping in the CD, I started up again while holding down the C key so the Mac would boot from the CD drive. And…nothing. Hmm. Had I damaged the drive by forcing it open?

Erica Sadun

AddThis Social Bookmark Button

Remember Bruce’s post a few weeks ago about storing his iTunes Library on S3. He said he’d be willing to spend $75 a year to be able to back up his data and access it from anywhere in the world. He was all ready to sign up until the realities of S3 costing dropped into his lap. At $0.20 per GB transfer and $0.15 per GB per month storage, it would end up costing him a lot more that $75/year.

Well, there may now be a solution. Bandwagon (formerly Xacktunes) will offer unlimited S3 storage for your iTunes for only $69/year (at least as an introductory price). No, this isn’t a “take it with you anywhere” scheme, but rather a back-it-all-up so you don’t lose your purchases when your Mac dies: music, videos, audio books, plug-ins, everything. It doesn’t matter whether you rip it yourself or you buy it from iTunes.

More after the jump…

Erica Sadun

AddThis Social Bookmark Button

Over at pbs.org, the “I, Cringely. The Pulpit” column takes on AppleTV, particularly asking why the Mac Mini, Airport Extreme and AppleTV share the same stackable footprints: “There is simply no imaginable situation where you would want to stack together these three components that are clearly made to be stacked. Unless what you want to do is somehow connect the Apple TV to the Mac Mini through the AirPort at a range of three inches just to take advantage of 802.11n, which the Apple TV and the AirPort Extreme have but the Mac Mini doesn’t. Well that’s just crazy.”

The columnist suggests that perhaps Steve Jobs is just messing with us–or that the seeds of a peer-to-peer movie distribution network can be found within the AppleTV’s always-on state. A Peer-to-peer system, he suggests, could reduce the network costs for iTunes, “making the network costs effectively free. Hello HDTV!”. Except of course, for that wonky DRM stuff.

Cool article. Read it all.

Erica Sadun

AddThis Social Bookmark Button

If you haven’t gone over to play with the new Yahoo!Pipes yet, you just might want to give it a try. It’s kind of like a Quartz Composer/Tinker Toy-inspired layout system for information and it’s tons of fun. Pipes allow you to collect and filter information to create custom information feeds.

To get started, visit Yahoo Pipes via Firefox. (Pipes works a lot better with Firefox than Safari.) Click “create a new pipe” and log into your Yahoo account.

More after the jump…

Erica Sadun

AddThis Social Bookmark Button

Apple just posted a fabulous article which does exactly what the name of this post suggests. If you’re interested in QC and/or Widget building, pop right on over and read it.

I haven’t tried this yet, but with Dashcode, “you can simply drop your Quartz Composer composition in the widget without writing a single line of code. Note that Dashcode is going to ship with Leopard, but is available now as Beta software”.

Erica Sadun

AddThis Social Bookmark Button

After Sunday’s big wipe-the-Mac-Mini-and-reinstall-Tiger exercise, I took a look at my collection of recently-installed disk images to see what items turned out to be the most critical for getting back up to speed. Admittedly, I’m using the Mac Mini for recording and playing back TV so these images skewed heavily video. There are many titles I use daily on my main Mac (like Photoshop and Microsoft Word) that would never show up on my test unit. And there are some items, like MPEG Streamclip that are seeing a lot of use these days on the mini, which wouldn’t get all that much day-to-day use on the primary Mac. Hopefully there might be someone out there in readerland who will get a kick out of the following list.

Erica Sadun

AddThis Social Bookmark Button

So I spent all of yesterday reformatting my Mac Mini, repartitioning and reinstalling Tiger. Why, you ask me, would you bother reinstalling Tiger? Because, my dear readers, I made two (count ‘em) backups of my developer operating system partition and none of the Tiger one.

Stupid me.

[more after the jump]

Erica Sadun

AddThis Social Bookmark Button

Not all is perfect in High Def land. As you may recall, I purchased an EyeTV Hybrid to accessorize my Mac Mini in anticipation of the release of AppleTV. I’m trying to build a high def streaming media center to be able to bypass TiVo and enjoy HDTV recording on my Mac. Today’s post is the complaint post. It’s about all the little bits that are bothering me about my setup with EyeTV and the Hybrid. All these problems occur under normal EyeTV/Hybrid operation running under a standard installation of Tiger. I’m ignoring any flaky behavior I observe while running EyeTV under developer preview operating systems.

The channel listings don’t always update. Having channel listings that you can browse and select for recording is one of the key selling points of the EyeTV software. Unfortunately, those listings are not consistent. Although I have not had any problems downloading standard analog cable listings, I’m running into repeated problems keeping digital over-the-air broadcast listings up to date. No amount of restarting the computer, restarting the program or selecting “Update TitanTV Guide” has worked in terms of updating the program guide. Right now, I’m trying to see if I can fake the program out by messing with the global Application Support folder, but so far no luck. Instead, I have to launch a browser, navigate to TitanTV and download “tvpi” files from the TitanTV site. I can then load these schedules into EyeTV for future recording. This is a complete pain.

Don’t “touch” the computer while recording. My 1.66 GHz Intel Core Duo with 1GB RAM is “underpowered” when it comes to HDTV recording. Any interaction with the system taxes it beyond what it can handle, producing breaks and interrupts in the recorded data. To produce a clean recording, I have to set the schedule and then leave the computer alone until the recording completes.

The program can get confused. The other day, my iPod export of an EyeTV show finished just as another show was due to start recording. Guess what happened? Nothing. The program missed the recording and never started, instead getting hung up in an odd “about-to-start-recording” mode. I have owned a TiVo since 2000. It has never gotten so confused between playback and recording that it missed a show.

The iPod output tags are confused. For whatever reason, when EyeTV exports video to iTunes, the episode name is set as the “Artist” and the TV show is the “Name”. This results in episodes of SpongeBob being called “SpongeBob Squarepants” as part of a TV Show called (for example) “King Krusty”.

In-program export is fracking slow–and incompatible. Using MPEG Streamclip to convert video is approximately an order of magnitude faster than EyeTV. It’s insanely and unnecessarily slow. And the iPod video it produces often doesn’t even sync to my iPod without reconverting through iTunes or QuickTime.

Erica Sadun

AddThis Social Bookmark Button

The Husband: “What’s wrong with the new HDTV? Every time they show the game, it gets all fuzzy and gray.”

Me: “That would be because it’s raining.”

The Husband: “Oh. Right.”

It actually looks fabulous and the TiVo-like replay buffer built into the EyeTV software for High Def reception worked beautifully. Especially when 14 seconds into the game you realize you just missed a touchdown.

Update: So Superbowl finishes, and I start taking down all the computer equipment to move it back to the office. Husband asks: “The HDTV was great but isn’t there a better way to do this where you don’t have to move the computer into the living room for us to watch?” “Yes,” I reply. “It’s called AppleTV and it will be here in just a few weeks.” Can’t wait!

Erica Sadun

AddThis Social Bookmark Button

Just a few brief updates this afternoon before I start getting ready for the weekend–and for (da da dummmm) Superbowl Sunday.

First, my decision to load Tiger into a new partition has worked amazingly well. I’m running EyeTV 2.3.3 and it seems bypass all the bugs I had under my nonstandard OS. Both remote controls–Apple and EyeTV–work exactly as advertised with the EyeTV software, which means I can hide the mini’s keyboard and mouse in a drawer. I was delighted to find that a button on the EyeTV remote allows me to turn closed captions on and off without having to use a menu. Very convenient! I can now understand what Milo Ventimiglia is saying in his scenes. (For whatever reason, I had no problem understanding Christopher Eccleston.)

More after the jump…

Robert Daeley

AddThis Social Bookmark Button

Via macosxhints.com comes this cool article, “Display Flickr collections as desktop backgrounds”, which describes subscribing to RSS feeds as Photocasts via iPhoto.

Have a friend or family member who posts images to Flickr that you continuously visit? Are you a member of a Flickr group and want to see what’s new? This hint uses the RSS feeds from Flickr and Photocasting in iPhoto to display images as your desktop background….

Of course, you could also subscribe to your own photo feed, or tag-based feed — like, say, ATHF, so you can keep up on the latest in the Global War on Error.

Erica Sadun

AddThis Social Bookmark Button

I have until now dedicated my Mac Mini to a WinXP partition (via BootCamp) and another partition to test out a certain nonstandard version of OS X, of which I cannot say more due to nondisclosure and Apple’s Men in Black. Having decided to use the Mini for all my High Def experimentation with EyeTV, etc, it’s been a bit of a pain using this configuration. I haven’t been able to upgrade to the latest version of EyeTV because it goes crashy crashy under the nonstandard OS, and previous EyeTV versions which are more stable will not export video from the program itself.

More after the jump…

Erica Sadun

AddThis Social Bookmark Button

TVPlaybackSo the new replacement HDTV set arrived yesterday, and all seems to be well. It’s so many lightyears of wonderfulness beyond anything we had with our old Quasar–and it’s very, very flat. My husband, about whom I shall shortly say more, kept pointing out to my youngest guy how if you look at the TV set sidewise that it’s so thin that it practically disappears.

More after the jump…

Erica Sadun

AddThis Social Bookmark Button

So last night I recorded Heroes in High Def, without incident. It seems as though my EyeTV Hybrid likes certain channels (like NBC) and hates others (like CBS). I live inside the city, very close to most of the transmission towers, which are all compass-wise in the same direction, so I cannot guess why some channels beat others for receptions.

The recording occupied about 7 gigabytes of MPEG-2 transport stream data. I attempted to load it into MPEG Streamclip, but Streamclip could not handle the 7 gigabytes on my 1 GB 1.66 GHz Intel core duo mini. It coughed, it gagged, it wheezed, it gave up the ghost. So I decided to edit the show in EyeTV instead.

This turns out to have been a horrible decision.

(More after the jump…)

Todd Ogasawara

AddThis Social Bookmark Button

Visio 2007 running in Parallels Coherence modeReader J.H. asks: When you use Visio on the Parallels Desktop, is operation of Visio as good, smooth and fast as using it on Windows XP? I tried Visio once on Virtual PC and found it unsatisfactory. Visio is the main reason my office
is not a Mac office.

J.H., out of courtesy, asked for a simple yes/no answer. Unforunately, I wanted to provide a bit more detail :-).

Virtual PC for the Mac was slow for a couple of reasons. First, it is an emulation solution. It actually had to emulate an Intel CPU to run the Windows code and application code installed on top of it. Second, it is pretty clear that the PowerPC G4/G5 processors were definitely slower than the Core Duo and Core 2 Duo commonly found in most Intel Macs out in the wild today.

Parallels has the advantage of being a true virtualization option that works directly on an x86 architecture. Moreover, the Core Duo and Core 2 Duo (and Xeon Woodcrest) have the Intel-VT virtualziation assistance built into the hardware. Basically, virtualized OSes including Windows XP and Linux fly on it an Intel Mac running Parallels Desktop for Mac.

The, BUT…, comes into play if you bought an Intel Mac early in the release cycle and didn’t bump RAM up to 1GB or more. I would hesitate to run Windows as a Guest OS on a 512MB MacBook, for example. However, if you have 1GB or more of RAM, set Windows XP SP2 with at least 512MB RAM for its virtual machine and Visio and other apps seem to run pretty fast to me. Combine that with Parallels Coherence mode that lets you run Windows applications in what looks like its own window under Mac OS X, and the experience feels nearly seamless (Windows apps menus always are Windows-like vs. Mac-like, of course).

So, if you have at least 1GB RAM on a Core Duo or Core 2 Duo (not so sure about a Core Solo in the original low-end Intel Mac mini), you should be able to run Visio and other Windows applications comfortably using Parallels Desktop for Mac.

Erica Sadun

AddThis Social Bookmark Button

So I’m still working on figuring out how to streamline the process of exporting from EyeTV into iTunes. Yes, in theory, you should only have to click iPod or Export let EyeTV do all the work. A few problems though: (1) I’m running EyeTV under a nonstandard version of the operating system (of which, I cannot say more without the Apple death squad visiting) and the Export/iPod functions simply do not work; and (2) EyeTV exports H.264/AVC 320×240, MPEG-4, which is not nearly the resolution I want to display on my upcoming AppleTV. So that leaves me working with things in a much more roundabout fashion.

So I thought, well, I’ll just use MPEG Streamclip to export my video. Normally I use QuickTime Pro to create my iTunes video. So I opened up a video I’d recently converted, made sure I matched all the settings between the Streamclip output and the QuickTime output–same bitrates, audio, frame size, etc. I dove into the EyeTV bundles, created an alias for the raw MPEG-2 transport stream data, loaded it into Streamclip, converted it, and loaded it into iTunes, where it played fine.

And then I tried to sync my iPod. Bzzzzzzzzzt. No go. No luck. No how. Even though I kept every setting the same, even though everything seems to play identically in QuickTime, I apparently created a file that wasn’t “blessed” enough to sync to my iPod. So I googled a lot. And I found out it wasn’t just me. QuickTime just seems to be able to exceed the 768 kbps, 320×240 official specs, but Streamclip can’t. See this video info? It syncs perfectly to my 30GB video iPod. And that’s 1655.78 kbits/sec. By my reckoning (checks on fingers a few times) 1655 is bigger than 768. But when I try to sync a non-QuickTime file on iTunes, I get the dreaded “Your video cannot be played on this iPod” message. Grrrr!

RecentVideoQTime.jpg

So I decided to try converting with QuickTime instead. And this is a good example of barrelling forth with things about which you know better, but you get into a wrong thinking groove and then have a simpsonesque D’oh moment after. I decided to use Streamclip to convert the transport stream into a normal MPEG-2 file. It’s fast and it’s easy, even though it takes up extra disk space. I loaded it into QuickTime, I exported to “iPod”. And there was no sound. D’oh! Damned multiplexed audio. I should have known better.

Now, it’s not as if I can’t export directly from Streamclip, keeping the settings to 320×240 and under 768 kbps and it will (in fact it did during my tests) sync to the iPod, but what’s the point of playing 320×240 video on a 720p display–which is the intended endpoint of this exercise? So here’s what I ended up doing for now:

Standard Def video: Open the EyeTV transport stream file in MPEG Streamclip and export to standard 320×240 iPod video.

High Def video: Open the EyeTV transport stream in MPEG Streamclip, export to a reasonably sized 16:9 format like 720×405 or 640×360. Open the converted video in QuickTime Pro and export using iPod settings.

Clearly, I’ve still got a ways to go here. I’m really hoping that the upcoming versions of QuickTime and iTunes hinted at in the AppleTV specs offer better video conversion and syncing capabilities to take better advantage of homebrew video resolution.

I’m also looking forward to some real highdef content over at the iTunes Store, but that’s a whole ‘nother matter.

Robert Daeley

AddThis Social Bookmark Button

Most users who’ve been using their Macs for a goodly amount of time know about the ability to “print” pages to PDF files, whether for simple preview, storage, or whatever else. There are a few other options available, though, that can be quite handy.

Like this morning, when I came across this recipe for Cherry tomato soup with basil, which looks simple enough to make and sounds quite tasty, especially on these frigid Southern California winter days where the temperature is plunging into the low 70s and the blue skies are kind of hard to look at due to the gorgeous mountains distracting you in the distance. Ahem.

Anyhow, like many newspaper sites, the San Jose Mercury News has an option to view a “print this” page, as well as “email this.” The recipe sounded like something a couple of different friends of mine would enjoy. Rather than submit my buddies’ email addresses to unknown processing potential, I clicked on “print this,” since it’s often nicer to email that link, or even copy and paste from the simpler layouts.

It occurred to me looking at the print-this page (since ingredient lists often get screwy in copy-paste) that I could probably email small PDF files just as easily. So I hit Command-P. As I did, I thought — hey, it would be nicer to email a PDF automagically rather than finding a saved file somewhere in the filesystem.

Sure enough, clicking on the “PDF” popup menu revealed this spiffy list,

screenshot of PDF print menu in OS X

including “Mail PDF” — score! Selecting the command results in a Workflow Action being called, then a new mail opens with the PDF attached.

And dig all those other PDF options! Looking back at that menu, though, check out the last command. “Edit Menu…” brings up this palette,

screenshot of Edit PDF Menu palette in OS X

The + button summons a navigation dialog box to choose your own scripts.

This suggests to me all kinds of possibilities, from automatically sending PDFs to your blogging software, to creating a web clipping service, to faxing online account statements to your tax people, to writing shell scripts that could do just about anything else you can think to do with PDFs.

And all that from cherry tomato soup with basil.

Now if you’ll excuse me, I think I need to close the window blinds — the sunshine is getting kind of bright in here. ;)

Robert Daeley

AddThis Social Bookmark Button

From the opening chime to the login window, there is quite a bit of activity going on behind the scenes during the Mac OS X boot process. Nowadays with newer versions of the OS, that process takes hardly any time at all. Old timers will remember the slow march of system extension icons in the paleolithic age, pre-OS X.

This page at kernelthread.com, “Mac OS X System Startup” uncovers the after-hitting-the-power stuff. A sample from the beginning:

  • Power is turned on.
  • Open Firmware code is executed.
  • Hardware information is collected and hardware is initialized.
  • Something (usually the OS, but also things like the Apple Hardware Test, etc.) is selected to boot. The user may be prompted to select what to boot.
  • Control passes to /System/Library/CoreServices/BootX, the boot loader. BootX loads the kernel and also draws the OS badges, if any.

(via rootprompt.org)

David Battino

AddThis Social Bookmark Button

I’m back from America’s largest musical instrument and software trade show, where the big software surprise was…the Pause button.

There were no major updates from Apple (Logic/GarageBand) or MOTU (Digital Performer). Ableton (Live), Digidesign (Pro Tools), Steinberg (Cubase), and Sony (Acid) were showing revs they released last year. Cycling ’74 had an unmanned kiosk. And Spectrasonics, a NAMM fixture for its powerful demos, stayed home.

NAMM 2007 Propellerheads

No new Reason, but Propellerheads did play sounds from its upcoming Thor “polysonic synth.”

Of course, there were still acres of cool new music gear to fondle, and I’ll be sharing my favorites over on the O’Reilly Digital Media blog. But when I asked several developers privately about the dearth of new DAW software, they all said they’d been struggling with porting their code to Intel Macs. (The Windows developers, of course, have their own challenges with Vista, although Cakewalk did score a hit by announcing Sonar would be Vista-compatible this month.)

By all accounts, music software performance on Intel Macs is much improved; several musicians said their MacBook Pros outran even quad G5s. But as one programmer told me, “Everyone used a lot of workarounds to make things run in OS X, and those don’t work anymore on the Intel chips.” He predicted that within the next year or two, we’d see some major advancements.

Personally, I hope those advancements are in usability. At the annual Grammy Soundtable, it was striking how many of the top producers on the panel used multiple parallel DAWs to make their music. More than a decade after Opcode merged MIDI and digital audio in a single program, we’re still searching for the best flow.

Erica Sadun

AddThis Social Bookmark Button

S3 Browser offers a free open-source tool that allows you to connect to Amazon’s Simple Storage Service. With it, you can upload and download data to this online storage service as well as set your access control restrictions for that data.

s3-screenshot-thumb.pngS3 Browser screen shot from the developer. Click to open at full resolution.

More after the jump…

Erica Sadun

AddThis Social Bookmark Button

We finally did it. We’re going to replace our 10-plus-year-old bargain-basement Quasar (got it refurbed over at the Panasonic outlet when they were still in business here) with HDTV. We’re getting this 32-incher HDTV from Costco. I put the order in last night.

I’ll be honest: the purchase had more than a little to do with the AppleTV timing but we’ve also been looking for a better TV for a few years now. For my shopping list, it had to have a built-in ATSC and QAM tuner. It had to have 720p and 1080i. It had to have HDMI and component inputs. (As a bonus, this one also has VGA and composite-in.)

Of course, larger might have been better, but this unit kind of hit the sweet spot of what we could afford versus size. It also had lots of happy reviews, free shipping and Costco’s generous return policy.

So here are my questions to the readers: are there any requirements we’ve messed up on or totally missed? (Just want to make sure before the thing actually ships!) I’m planning to hook up my Intel mini to it directly and use VLC, and later switch over to the AppleTV when it ships in February. Other than the HDMI cable, what else will I need to buy? We’re not going to wall mount the thing (at least for now) because it’s going to sit on an existing side table.

Any thoughts or insights or even “you bought what!!!??”’s will be greatly appreciated, especially from those of you who are using your minis as media centers.

Erica Sadun

AddThis Social Bookmark Button

Wow. All the negativity. Even our own Jochen isn’t impressed. Me? I can’t wait for AppleTV. The way I see it, AppleTV is a boatload of hackable fun just waiting to be played with. Think of it as a $299 Mac Mini with a smaller form factor and no power brick. Yeah, it has just a 40GB disk and an underpowered processor but do you think that those limitations are going to stick around for more than a few minutes after we geeks get our hands on it? How much do you want to bet that it’s running some familiar code on that underclocked Intel chip? How long until we can upgrade to a bigger disk? How much do you want to bet that we can get that “diagnostics only” USB port working? Yes, I am excited about AppleTV and can’t wait to start playing with my Lil’ Bastard Consumer Electronics Dissection and Torture Kit.

Chris Stone

AddThis Social Bookmark Button

As promised, here’s quick listing of some of the storage related vendors spotted on the MacWorld show floor, with a focus on inexpensive RAID solutions:

Chris Stone

AddThis Social Bookmark Button

Apple announced its new Airport Extreme Base Station (AEBS) this week with a bit less fanfare than enjoyed by its other two new products. Sure, the new AEBS won’t change the world, but it does have one new feature that will bring joy to quite a few households. Apple calls it AirPort Disk, and it provides cheap, Apple-simple network storage to home networks.

Chris Stone

AddThis Social Bookmark Button

Just a few quick things that caught my eye as I strolled the MacWorld show floor:

1. The crew at the EVDOinfo.com booth looked like a great resource for anyone wanting to use one of the EVDO cards from Verizon or Sprint with their Macs. They also carry several EVDO/WiFi routers, which include a slot for the EVDO card, allowing you to share its broadband connection with several computers at once.

2. XtremeMac has a new line of great-looking and very inexpensive A/V cables, designed to go with the Apple TV (though would work with any A/V device). The line includes HDMI, DVI, HDMI to DVI, and Component cables, all with 24-caret gold connectors and rubber overmolding, and all are priced at $19.95 for 2 meters. That’s about a third of what you might pay at a big box store. You can get other cheap cables online (and they look it), but you’ll be able to pick up the XtremeMac cables from the Apple store when you buy your Apple TV in Feburary.

3. I saw at least a half dozen external RAID vendors on the floor, most of whom are here for the first time. Prices on these units have dropped a lot, and they are available in dizzying combinations of interface and drive types. I haven’t had time yet to talk to them all, but if you’re in the market for a cheap RAID (for DAS, SAN or NAS), then it looks like there’s lots to choose from. I’ll post a listing before the show’s over.

Chris Stone

AddThis Social Bookmark Button

I’ve been looking for details on Apple’s plan for 802.11n adoption, and found some good info now on their site

No suprise that the the 802.11n enabler will work only for the Core 2 machines, which include the hardware to allow it.

Also, I learned from an Apple representative at their booth that the enabler will be part of an upcoming software update for those Core 2 Macs.

Erica Sadun

AddThis Social Bookmark Button

I’ve spent a lot of time between yesterday and today going through the AppleTV specs, watching videos of the AppleTV and so forth. Here’s a basic functionality wrap-up. Feel free to let me know what I’ve messed up on. Follow the jump for the details. Updated Thursday with more details.

Giles Turnbull

AddThis Social Bookmark Button

I’ve been asking myself this question for weeks now, and so far I’ve failed to come up with any answer that makes long-term financial or common sense. Maybe you can help me.

It’s one of the earlier Minis, a 1.42GHz G4 PowerPC with 1GB RAM, 80GB disk, and Airport. Various thoughts have occurred to me: music server, household file server, some sort of media thingy for the TV… but I don’t know. I can’t help thinking there’s something I haven’t thought of.

So what would you do?

Matthew Russell

AddThis Social Bookmark Button

Up until recently, I had always used GMail by typing http://gmail.com into my browser. At some point, however, I started asking myself questions about security and wondered if an https flavor was available. It turns out that it had been there all along and so began the era of more secure GMail for me.

Given that it’s so darn easy to sniff packets these days with tools like ethereal, I recommend you folks update your bookmarks and remember that last ’s’ as well. It’s just plain silly not to.

Erica Sadun

AddThis Social Bookmark Button

ZFSDataHealing.jpg

Here’s a PDF overview of ZFS by Jeff Bonwick of Sun Microsystems. The 128-bit ZFS file system will apparently be used in Leopard to provide multi-disk data pools as well as to create data snapshots for backups. ZFS provides fast data access with lots of data integrity features. It’s a nice, easy-to-follow overview that’s well worth a look if you have any interesting in learning more about ZFS.

Erica Sadun

AddThis Social Bookmark Button

TrackListEveryPic.jpg

Looking for an easier alternative to osascript that still runs in the command line? Check out AppleScript Shell from Hayne of Tintagel. It’s a Perl-powered script that lets you interactively execute AppleScript commands (including multi-line tell commands) as well as create interpretable scripts (via #!/usr/bin/env ash). There are a number of useful flags built in that can be used to execute commands from a specified file, echo values during execution, to display the current AppleScript, to repeat the most recent script, to call Unix commands, and so forth. e.g.

tell application "Finder"
    set theSelection to selection
    set n to number of items in theSelection
    -echo "number of items selected: " & n
    repeat with i from 1 to n
        -echo "item " & i & " is " & (item i of theSelection as alias)
    end repeat
end tell

The script downloaded easily–although you do have to gunzip it and chmod it to make it executable. I pasted in one of my standard rename scriptlets and it ran perfectly, updating a playlist in iTunes. There were some strange echos during the execution trace, i.e. it listed the whole script up to the current line for every step along the way, but I’m guessing this could be turned off by one of the built-in flags or by editing the source itself, which is quite short.

Derrick Story

AddThis Social Bookmark Button

logitech_l10.jpg

Recently, I posted a review of the Logitech Z-10 interactive speakers. Great speakers, but far more interactive for Windows users than for Mac. That is, until Marc Liyanage dived in and wrote the LogitechLCDTool. Now Mac users can use the Z-10’s LCD display too.

I’ve test the LogitechLCDTool, and it’s terrific. I decided to find out more about Marc and how he did this. So here’s a brief interview with a peek behind the scenes.

Erica Sadun

AddThis Social Bookmark Button

Get yer fresh hot dashcode beta…

Erica Sadun

AddThis Social Bookmark Button

The first bug of the Month of Apple Bugs has gone live and describes overflowing a stack for arbitrary code execution. It supposedly affects both Windows and Mac QuickTime 7.1.3. I personally do not have the security background to assess whether this is a real or critical vulnerability so I look forward to your feedback via e-mail or comments.

Erica Sadun

AddThis Social Bookmark Button

I have been deluged by e-mail about disappearing iPods. Here’s what happens in general: Your iPod starts reporting disc (although I’d imagine that “disk” is more correct) errors in iTunes when you try to sync. “The iPod cannot be updated. The required disc cannot be found.” So you reformat your iPod and reload the new firmware. Then your iPod stops appearing in iTunes. It mounts onto the desktop as a disk rather than with an iPod icon. Unfortunately, this isn’t just happening to you. It’s mostly shuffles, but also happened to nanos and 5G video iPods. Anyway, the cure for now seems to be quitting out of and re-launching iTunes and hoping. And occasionally rebooting your computer. Some people have found that it helps to keep their computer from sleeping and enabling disk usage for the iPod. In any case, it’s not just you and it seem to happen to iPods using the latest firmware updates. If you know anything more about this behavior or have any insights, drop me an e-mail or add to the comments. Thanks.

Erica Sadun

AddThis Social Bookmark Button

New Years is just a few days away, so I thought I’d take a little time to learn more about Apple Time. Your Mac always knows what time it is because it uses one of Apple’s custom NTP servers. NTP, which stands for Network Time Protocol, provides a way for clocks to synchronize even when faced with variable latency data networks. It was developed back in the 1980’s at the University of Delaware.

In System Preferences’ Date & Time settings, you can selet one of three Apple NTP servers: time.apple.com, time.asia.apple.com, or time.euro.apple.com. Select the one that bests describes your geographic location. Your computer will contact the server on a regular basis to resynchronize your system.

The polling frequency of your clock is set in /private/etc/ntp.conf, where it typically checks for accuracy about every hour. The ntp.conf file, which is used by the NTP daemon (ntpd, ps -ax | grep ntpd), sets a minimum polling and a maximum polling interval. These represent seconds to the power of two. So the (Apple) standard minimum polling interval of 12 is 4096 seconds, or about 68 minutes. The maximum polling interval of 17 is more like a day and a half.

Sometimes despite everything, you may lose sync to network time. Apple has a support how-to posted that walks you through updating your ntp.conf file to deal with this.

Finally, I stumbled across this interesting NTP hack, which allows users without system administrator privileges to access a second time server. Nifty.

Erica Sadun

AddThis Social Bookmark Button

Have your temporary Webkit files disappeared from your /tmp folder? Perhaps you should be looking in your /var/tmp folder instead. Recently Firefox and Safari seem to store flash temporary items in a new location. Look in /var/tmp/folders.501/TemporaryItems. (This assumes that your user id is 501, which is typical but not certain–type id at the command line.) Instead of being named “Webkitplugin”, the file will be called something like “TemporaryFlashItem”.

Erica Sadun

AddThis Social Bookmark Button

Off all the CS3 updates, it’s the “workspace dock” that makes me most uncomfortable. I’m not sure whether or not I (a) like this change, (b) can live with this change, and (c) can use the changed interface effectively. I know the Adobe engineers were busy at work trying to get all the things we do a lot of into a central location, but the new workspace dock is cluttered and more than a little hard to use. Yes, all our normal friends (”info”, “layers”, “history”, etc) are there, but they’re in new forms or new locations or get accessed in new ways.

WorkspaceLooks.jpg

The workspace has several presentations. You can collapse or expand either side of the dock by clicking the double-arrows at the top. When collapsed, the icons on the left side gives single-click access to your history, brushes, tool presets, and several other utilities. I can’t really imagine a time you’d want to collapse the right-hand side. To access any of the palettes, just click the tab with the name (as you are used to doing) or, when the tab is closed, use the Window menu to reopen it. I’m guessing there’s supposed to be an easier way to add palettes, but I couldn’t find one yet.

I’m more than a little disappointed that I can’t just drag stuff around the screen the way I used to (like putting the Info panel here and the layers panel there). Everything is docked to the dock, which I’ll grow used to, but which kind of ticks me off. Oh well, can’t have everything.

Chris Adamson

AddThis Social Bookmark Button

A lot of people are talking about Security Update 2006-008, linking to an old blog of mine and basically misrepresenting the situation.
Erica Sadun

AddThis Social Bookmark Button

Jeremiah Foster has already posted that ZFS, the open-source 128-bit file system, is coming to Leopard. I just wanted to add that where ZFS totally rules is in handling multiple disks, creating virtual storage pools that span more than one physical device.

Other cool stuff includes “snapshots” that retain access to unchanged data for updated files and which create read-only restore points, “copy-on-write” that keeps the file system from overwriting live data, and dynamic striping, which boosts system throughput while distributing the write-load across storage devices. And that’s not even mentioning OS-integrated check summing for data integrity.

I’m not sure that ZFS will entirely replace HFS+ any time soon, but it’s nice to see that Apple is moving in the right direction. I haven’t had a huge amount of exposure to ZFS, so if any of you Sun Microsystems-type folk want to chime in, please let us know your thoughts about the file system.

Erica Sadun

AddThis Social Bookmark Button

One of the biggest changes I’ve encountered so far in CS3 involves the Curves tool. Curves, which allows you to control pixel-by-pixel brightness levels by editing an interactive brightness look-up table, been fully redesigned and updated.

Remember the old Curves dialog? It looked like this. Many things have not changed. You still have the eyedroppers, the pencil/path options, the Auto levels and so forth. Also, Curves is still accessible by pressing Command-M or selecting the Image->Adjustments submenu.

OldCurves.jpg

The new Curves dialog is larger, cleaner (at least in my opinion) and has a few lovely new features as standard elements. I love seeing the pixel-brightness histogram built right into the display as a default feature. It’s also nice to be able to simultaneously edit each of the channels and the standard input/output number display is also appreciated.

NewCurvesOptions.jpg

I’m not sure whether the Presets are a new feature or not, but I’m really enjoying using them. They offer a nice place to start Curves-wise for certain classes of images.

NewCurvesPresets.jpg

Giles Turnbull

AddThis Social Bookmark Button

The new WriteRoom 2.0 beta from Hog Bay Software has a bunch of new features, one of which is the addition of an “Edit in WriteRoom” command for most Cocoa-based applications.

Installed just by clicking a button in the WriteRoom 2.0 prefs, the command becomes available in any Cocoa app that also uses the NSTextView class to display text. That includes Safari.

That means that any form field in Safari can be edited, in glorious full-screen simplicity, using WriteRoom. Nice for posting to weblogs, but also pretty nice for composing and replying to messages in Gmail. Hit Control + Command + O to open the field in WriteRoom, compose away, and when you return to Safari your text will be there, ready to send.

What you end up with is a hybrid email client that uses your browser just for the browsing bit - for listing and finding messages - and WriteRoom for the editing bit. It’s nice.

Jeremiah Foster

AddThis Social Bookmark Button

Rumors abound that Apple will update or replace their Windowing Interface (Aqua) with a new system. Whether they do or don’t there still is some big news in User Interfaceland. Gtk+ is being ported to the Mac so that it runs natively.

Erica Sadun

AddThis Social Bookmark Button

If you haven’t had a chance to pop over to Apple’s Leopard developer overviews, you might want to make some time. To date, Apple has released three installments in their Leopard Technology Series. These include a Leopard technology overview, a Leopard devtools overview (Xcode 3.0), and a Leopard developer application technologies overview (i.e. integrating with iChat, animating user interfaces and so forth). If you’re a registered developer, you can also log into ADC-on-iTunes to watch Leopard videos from WWDC.

Erica Sadun

AddThis Social Bookmark Button

XmodFixing.jpg

Creative’s Xmod audio enhancer delivers virtual 5.1 surround sound to your headphones or speaker pair. It’s a great little device. Unfortunately, its default settings on the Mac do not let you experience all the great 5.1 sounds you should be hearing.

Here’s how to fix that.

  1. Connect the Xmod to your computer and your speakers or headphones to the Xmod.
  2. Open /Applications/Utilities/Audio MIDI Setup. This application lets you tweak the system settings for your input and output devices.
  3. Select Creative Xmod from the Default Output pop-up.
  4. Select Creative Xmod from the Properties For pop-up list.
  5. Click Configure Speakers. This is a rectangular button to the right of the Clock Source. A settings window opens.
  6. Click MultiChannel. You’ll find this button at the top-left.
  7. Choose 5.1 Surround from the pop-up at the top-right.
  8. Click Apply.
  9. (Optional) To test any of the virtual speakers, click the rectangle with the speaker name. A brief white noise will sound from that “speaker”.
  10. Click Done.
  11. Your configuration is complete. You may quit from Audio MIDI Setup.

Thanks Jean-Michel.

Giles Turnbull

AddThis Social Bookmark Button

Years ago (2003, it would appear), I was wondering in public if there was a way for an editor to automagically fetch links for me - so that I could type something obvious, like “Flickr”, and hit some keys, and the editor would find the appropriate web site on Google and fill in all the HTML for me.

Danny O’Brien knocked up some code for BBEdit, which I think I tried but lacked the Python-fu to make work properly. So I gave up and carried on doing things manually.

Erica Sadun

AddThis Social Bookmark Button

In a recent MacDevCenter article, I discussed how to build interactive iPod experiences using the iPod’s “museum mode”. As a supplement to that article, here are a number of museum podcasts that you might enjoy listening to.

SFMOMA Artcasts
An insider’s take on the museum and its exhibits. More than mere museum tours, SFMOMA Artcasts paint vivid audio portraits of artists and their works. Listen to Chuck Close describe his style and process as he walks through the gallery. Hear Kiki Smith recall her inspiration for the works in a 2005 retrospective. Or discover what guest curators and fellow audiences have to say about exhibits at SFMOMA.

Miami Metro Zoo
Complete guided tours of the zoo from the comfort of your iPod. Peruse audio information on animal diet, habitat, range, and more. Hear lions roar even when they’re sleeping, courtesy of animal sounds that accompany each exhibit. Take a musical tour of every geographic region represented in the zoo with song selections chosen by a noted ethnomusicologist. Miami Metrozoo podcasts also feature animal folklore from around the world, so you can learn more about the relationship between animals and humans in different cultures. The zoo podcast: It’s one wild idea whose time has come.

Chateau de Versailles
Bringing a nearly 400-year-old palace into the iPod age sounds like a daunting task, but that’s exactly what the Digital Grand Versailles Project has set out to do with Louis XIV’s magnificent Versailles chateau and gardens. With an aim to “reposition Versailles as the main place for culture and technical capability, as it once was under Louis XIV,” the project kicks off with audio and video podcasts featuring the Gardens of Versailles and Marie Antoinette’s Trianon.

NYMOMA
101 episodes, providing a wide range of lectures about MOMA exhibits.

de Young Museum (San Francisco)
Presenting news, features and hidden treasures from San Francisco’s new de Young museum. Each episode includes information about current and upcoming exhibitions ad public programs, as well as interviews with artists, museum visitors, curators, conservators, and educators

Erica Sadun

AddThis Social Bookmark Button

I’ve had a very terminal/command-line based week as I’ve been hacking away at the Zune/Mac interface with the help of the brilliant and patient Richard Low. This morning, when I called up cal rather than waiting for iCal to launch, it occurred to me to wonder how much time Mac people really do spend at the command line. When was the last time you used cal? ed? egrep? sed? What are the geekiest tools you used this week? Let me know in the comments or drop a line to erica@mindspring.com with your geek stories.

Kevin Hemenway

AddThis Social Bookmark Button

The short story is that I bought a house and, with it, a new wireless router (the D-Link DGL-4300, quite nice) to penetrate the walls my previous apartment never had. With a strong wireless network on the second floor connecting to my entertainment on the first, I’ve my game consoles and laptop satisfied, but would like to focus on video streaming. In short: I want to wirelessly stream movies (of MPEG, DivX, and XviD persuasion) to my TV.

My current workflow is to burn digital movie files onto DVD-Rs and then play them through my Philips DVP-62, which is a cheapie throw-away player that supports all the formats I care about. This has slowly become costly and inefficient: with over 100 DVD-Rs now burnt, it’s a pain to find the right movie on the right disc (and heaven-forbid I’d like to watch a marathon spanning multiple discs), much less pay the cost for media (which is roughly the same amount as the player itself).

Recently, an update to the Xbox 360 promised the ability to stream video from sources other than Windows Media Center machines and, while possible on OS X (with the help of shareware Connect 360), you need to convert your files to WMV/WMA, a feat that only Flip4Mac can currently accomplish. VLC can apparently do it on Windows, but doesn’t support WMA encoding on OS X in my tests.

With over 100 DVD-Rs containing six or seven movies a piece, and Flip4Mac encoding times taking roughly the duration of the file itself, this isn’t entirely ideal either. I’ve yet to find a live transcoding solution (i.e., convert at time of play request) for OS X, though a few exist on Windows (TVersity’s latest version has specific support for this, but doesn’t run on OS X).

Yes, I do have Parallels on my MacBook Pro. Yes, I have BootCamp too. Do I want to run my laptop for 15+ hours to support a movie marathon? Do I REALLY want to pipe video through my Xbox 360, or use a non-Mac solution? No. Could I save myself a lot of effort if I just settle for second best? Absolutely, but it’ll take me a few more weeks to resolve myself to that.

So, of late, I’ve been looking around for “digital media receivers”, which are boxes that specifically support what I’m looking for (again: wireless streaming video of MPEG, DivX, or XviD from my Mac upstairs to my television downstairs). Unfortunately, I haven’t found a lot of satisfying results that’d fill me with such confidence that I’m ready to plunk down “definitely” as opposed to “experimental” money.

  • The KiSS DP-600 plays all the formats I’m looking for, has a clean interface, and specifically supports OS X with its (ugh, brushed-metal) MacLink application. Unfortunately, it doesn’t appear to be available in the US, and I’m not entirely willing to make this my first (non-PayPal, more than $100) overseas transaction. It is also a DVD player which seems to (though I’ve yet to get perfect confirmation on this) do the same thing as my current Philips box - play files stored on a DVD-R. Unfortunately, the site isn’t entirely “robust” and hasn’t reported any news since late 2005 (though new firmware has recently been released). Has anyone used this? If it’s a DVD player, what region is it encoded for? Are there any American distributors that I’ve missed?
  • TwonkyMedia is a general purpose UPnP server for videos, photos, and music. The software is available for Mac, Linux, and Windows and they list a number of supported systems, such as the D-Link DSM-520 and the Zensonic Z500, which both have their pros and cons. The Z500 is an unsexy DVD player (which I don’t really need) and has a horrific interface, while the DSM-520 (the better of the two, IMO) has had various reviews saying its interface was slow (though some have suggested this is due to their shipped Windows-only media server, which I wouldn’t be using) or that the newest firmware has broken some types of XviD and DivX playback. Both come in around the “experimental” $200 mark.
  • Apple’s planned iTV is a non-starter - without S-Video or composite video, I can do nothing with it (unless I buy a new TV, which isn’t going to happen anytime soon), and iTunes cheerfully ignored any of the DivX and XviD files I dropped over it (and yes, these same files playback fine in QuickTime). Whilst I’m sure enterprising hackers will either add extra formats to iTunes or otherwise route around those particular requirements, I still don’t plan to replace my TV when other potentially cheaper alternatives may exist.

Any readers have any of their own experience or thoughts to report?

Erica Sadun

AddThis Social Bookmark Button

0611InsideDnld1scaled.jpg

Safari downloads are actually bundles. They’re named with a .download extension and hide both the partial download plus an information file that describes the download itself.

To open your download (while in progress, or when stopped), right-click/control click the .download icon and choose Show Package Contents from the contextual pop-up menu.

Inside you’ll find the download itself and an Info.plist file. To view the property list file, just drag it onto TextEdit to open. Properties include the URL source of the file, the date and time of the download, and the progress to date.

Erica Sadun

AddThis Social Bookmark Button

I recently download the libmtp library source from Source Forge. This software implements Microsoft’s Media Transfer Protocol, which has allowed me to peek at the Zune USB protocol, and which I post about copiously on the Digital Media Blog. (Hint: You’ll need to also download and install libusb and libnjb as well.)

For anyone who might be interested in following in my example, a word of warning. I wasted an hour until I realized that you have to add -liconv to the libraries used in the Makefiles created by the configure program. This only affects libmtp. The libusb and libnjb files compiled and installed without any problem using the standard sequence of configure, make, and sudo make install.

Erica Sadun

AddThis Social Bookmark Button


0611XNJBscaled.jpg

Want to see your Zune from your Mac? You can.

Okay. Reality check here. The Zune uses Microsoft’s Media Transfer Protocol. So you can use WentNet’s open-source free XNJB utility to peek at the contents of a Zune attached to your Macintosh.

But that’s about as far as you’re going to get. So far.

The Zune will not allow non-host computers to download data off the unit. Yes, I’ve followed the Zune Boards hack and have been able to transfer data onto (and off of) my Zune. You trick the Zune into lowering its non-transfer security gates during a sync and then access the Zune as an external disk during the sync. (Hint: transfer a TV episode in MPEG-4 format. It takes a good long while for the video to convert to native WMV and then copy to the Zune.)

But that won’t work with the Mac, because the Zune treats all computers other than the original host as hostile entities and will not allow access to the Zune data without a total reformat/rehost.

Clearly, the trick will lie in telling the Zune that it’s attached to a host and then pretending to “sync”. For now, XNJB allows you to see the contents of the Zune but all transfer attempts fail.

Erica Sadun

AddThis Social Bookmark Button

What do all the following dates have in common?

16 Nov 2006, 31 Oct 2006, 29 Sep 2006, 21 Sep 2006, 12 Sep 2006, 17 Aug 2006, 09 Aug 2006, 01 Aug 2006, 29 June 2006, 27 June 2006, 23 May 2006, 11 May 2006, 17 Apr 2006, 03 Apr 2006, 13 Mar 2006, 01 Mar 2006, 14 Feb 2006, 10 Jan 2006, 3 Jan 2006

Answer after the jump.

Jeremiah Foster

AddThis Social Bookmark Button

I have felt since the announcement of Apple’s switch to Intel that they chose the wrong chip. Perhaps the Intel architecture, that is to say the x86 architecture, was the right choice, but the supplier was the wrong choice. Apple should have chosen AMD.

Erica Sadun

AddThis Social Bookmark Button

I spent a torturous day yesterday installing Bootcamp on my new dual core mini. Some lessons that I learned along the way:

  • Reformat your partition. Although the bootcamp utility creates a FAT partition for Windows before you begin the XP install process, you must reformat that partition during Windows setup or you will get Bad Disk errors. I personally went with FAT for the reformat.
  • Pick the right partition. It’s so easy to gloss over Apple’s instructions that you might miss the part about having to search for C: on the partition list. Fortunately, I caught myself right before I almost reformatted my OS X partition.
  • Check your sounds. On my Intel core duo, the Realtek drivers would not install. I ended up spending hours trying to figure out why the “Microsoft Bus Driver” wasn’t working. In the end, I had to update my PCI devices as follows: Right-click My Computer. Choose Properties -> Hardware -> Device Manager -> System Devices. There was an incorrectly installed PCI Device (with a yellow caution symbol next to it). Double-clicking that let me re-install that driver. (At this point, Windows complained that I had overwritten original Win XP SP2 files, but I cancelled its complaint and kept the ones that had been installed on the Mac drivers CD.) The Realtek driver can be found on your C: (local disk) drive, in Program Files : Macintosh Drivers for Windows XP 1.1.2 : realtek. Double-click Setup.exe to install.
Francois Joseph de Kermadec

AddThis Social Bookmark Button

It’s official, Skype for Mac allows for the sending of SMS - the beta version at least. The system is cheap, convenient, seems relatively reliable and, if I had not my doubts about that whole Skype thing overall, I would say it appears to be a clear winner. The best part? AppleScript integration!

Erica Sadun

AddThis Social Bookmark Button

According to a recent Apple support article, some Intel Macs may experience sync problems when you plug devices into or remove them from the line out jack while using line in to record or monitor input. The computer’s audio goes out of sync with the actual input source. If this happens to you, stop and then restart input playback. If this doesn’t work, quit out of your audio monitoring/recording application and relaunch it to fix the sync.

Erica Sadun

AddThis Social Bookmark Button

For about $66, Apple will replace your iPod’s battery. Fill out a service request and hand over the money. Or you can google up a battery replacement kit, usually for a lot less money, and install it yourself. MacSales, an online 3rd party vendor, offers a suite of do-it-yourself installation videos on its website. The cheapest batteries I have found are at Hong Kong-based Fifth Unit, starting around $6 plus reasonable shipping. I’ve shopped there several times without incident.

Apple recommendations for extending battery life? Shorten your backlight duration–or turn it off alltogether. Pause your iPod when not in use and use your hold button liberally. Keep your iPod at room temperature. Turn off the Equalizer and play back compressed songs with file sizes less than 9MB each.

David Battino

AddThis Social Bookmark Button

ipod-dashboard.jpg

A reader writes, “I have a 30GB iPod with video. I have eight televisions in my vehicle. I was wondering is there a way I can link my iPod up with my TVs so the movies on the iPod would play through the screens.”

Seems to me he’ll just need a video distribution amp, though he may need to cascade a few to get that many outputs. Any recommendations?

Chris Stone

AddThis Social Bookmark Button

Call me slow, but I’ve only recently come to understand what the Xserve RAID really is, and it’s not just a RAID.

Before my revelation, I had figured that, out of the box, the Xserve RAID was strictly a DAS RAID device, connecting via Fibre Channel to a single Xserve, much like the SCSI RAID boxes we already have connected to servers of several stripes in our server room. Yes, the Xserve RAID can work this way, but as I found, it’s not the only way. I also confess that though I was aware of Apple’s Xsan software, I thought that only with it could you turn the Xserve RAID into a true multi-hosted SAN.

It’s not that Apple doesn’t clarify this on their site, but I never looked into the details until it was time for us to purchase a SAN solution. Now that I have looked, I would suggest calling the Xserve RAID the “Xserve SAN” or even the “Apple SAN”, since out of the box that’s what it is, whether you run it with Xsan or not.

So, not only will the Xserve RAID work as a DAS, but you can also plug one into a Fibre Channel switch, and its volumes will be available as local storage to the servers on that switch (none of which have to be Xserves), making it a true SAN device.

Erica Sadun

AddThis Social Bookmark Button

Application File Management Explains how Cocoa applications can use, manipulate, and “own” files.

XCode 2.4.1 Available Download and update today.

Adding folders to packages How to add to the package contents of executable code.

Secrets of the GPT How the new Intel-based partition map format works.

Francois Joseph de Kermadec

AddThis Social Bookmark Button

Gus Mueller, long-time Mac developer and active member of our community has long exerted a certain fascination upon me: not only does he write unique, intriguing and useful software, he manages to do so in a quiet, assured fashion that is highly refreshing in our fast-paced slice of the world. For this very reason, I subscribe to his blog, where I found a single line of Terminal wisdom for which I owe him a platter of home-baked chocolate croissants.

Giles Turnbull

AddThis Social Bookmark Button

If you’ve tried Yojimbo and Notational Velocity and DEVONthis and DEVONthat and you’re still not sure which one is best for you, here’s another option for you.

With Automator and Quicksilver, it’s easy to create your own snippet filing system. You end up with something that grabs any text from the clipboard and saves it as a new file in a folder of your choosing. Searching your snippets is done with Spotlight.

Erica Sadun

AddThis Social Bookmark Button

So I’m working on this article about iPod notes and the stuff you can do with them and I decide to peek inside the latest firmware to see whether (as usual) Apple left behind some extra features.

Sure enough, I do a “strings” on the firmware and it turns out that one of the built-in tags for iPod notes is Rot13.

Rot13 for heaven’s sake.

I tried it out. It works.

Why on earth would Apple want to include a Rot13 markup tag on an iPod? Can anyone think of a single good reason for this “feature”?

I’m dumbfounded.

Thoughts?

Giles Turnbull

AddThis Social Bookmark Button

If you’ve ever wondered how other people name their files, there’s a great thread all about it over at 43Folders.

Turns out people use all sorts of different systems, usually including some sort of date reference, or abbreviations for clients and projects.

I like many of the points made by nex, who remarks that good, modern desktop search has made filenaming less important:

Use a system that will work with your laziness, in spite of your laziness, something that doesn’t rely on you forcing yourself to play by tedious rules

I couldn’t agree with that more. Personally, I don’t bother with dates in filenames, since the Created and Modified dates created by OS X are enough. I make use of a handful of prefixes (“orb” for O’Reilly blog, “mu” for MacUser, and so on) but otherwise leave things as simple and as easy-to-remember as possible.

Matthew Russell

AddThis Social Bookmark Button

Like many others these days, I’m somewhat fanatical about the hit TV show Lost, and I thought it was pretty nice of ABC to offer the episodes for free on their website once they’ve already aired — all except for one little problem: the screen is a bit too small.

Well, that was until I realized that I could use the Universal Access zoom feature to transform that tiny little screen into a display that almost completely fills my 17″ monitor. Surprisingly, the image quality isn’t bad at all (at least compared to what I get with my rabbit-ears antenna), so try it out and save your eyes next time you decide to watch episodes online, catch the latest on YouTube, or need to view anything else that’s served up in a small screen.

And if you’re interested in reading a quick primer on how OS X’s display system makes this sort of thing possible, an article that I wrote a while back entitled What Is Quartz (or Why Can’t Windows Do That) touches on a few of these details and explains how they’re more or less freebies that resulted from Quartz being designed so darn well.

Erica Sadun

AddThis Social Bookmark Button

Reader Ashraf writes: “I was using for some time now all the information that is stored on the iPod’s sysinfo file (under: /volumes/ipodname/ipod-control/device/sysinfo). For one reason or another which I can figure out, Apple has set this file to length 0 with the new firmware and devices released last September. And thus I can not retrieve the iPod Summary info from that file any more. Of course there is another way that calls the device directly and retrieves the iPod info directly (like the Way ITunes does). I hope you can guide me through any helpful hints/tips/methods you know of that can help me identify the connected ipod (without itunes) in terms of its serial number, device name, model family.”

Okay readers. Do you have any helpful tips to send Ashraf’s way? Please leave a comment or send me an e-mail and I’ll forward it on. Thanks!

Erica Sadun

AddThis Social Bookmark Button

Found a great tip on Digg. I can’t quite tell if the author of this is Franc Isreal or Francis Real or Franc Is Real–and since his or her .mac account has currently exploded due to the Digg effect, I can’t really find out from his/her other pages. Here’s a summary of the tip which shows how to enable the iPod Screen Saver.

  1. Set your iPod options to Enable disk use. This option appears on the iPod Summary tab in iTunes 7. (Here’s a neat, completely unreleated hack on how to do this manually on your iPod.)
  2. In the Finder, double-click on your iPod icon to open its file browser.
  3. In the top-level iPod folder (the one with your Notes and Calendar and Contacts), create a new folder (File->New Folder, Command-Shift-N). Name it Demo Mode.
  4. 0610ScreenSaver1scaled.jpg

  5. In iTunes 7, select any Movie file and rename it to Demo.
  6. 0610ScreenSaver2.jpg

  7. Dismount your iPod, but leave it in the charger. After a minute or two, the video named Demo automatically plays and then repeats.
Erica Sadun

AddThis Social Bookmark Button

MacRumors poster Rockem modified some .kext files to change when his laptop’s fans should kick in.

I just modified some .kext files to tell when my mbp to kick in the fans and to run them a bit faster. Now my processor is 40˚f-50˚f cooler, and 5˚c-10˚c for all you out of the usa. Battery life is maybe 5min shorter, and the fans are not all that much louder. 50% cpu with modifications is the same as my idle temps before and 100% cpu with mods is like 50%cpu without mods.

Instructions (PDF Download)

Erica Sadun

AddThis Social Bookmark Button

Some 5G iPods reset themselves when attempting to play single channel MP3 audio–that is, monaural not stereo audio–recorded at a sampling rate of 32 Khz or higher. To bypass the reset bug, turn off the equalizer. Change your Settings -> EQ to Off. Alternatively, use an audio editing program to transform the audio. Either duplicate the mono channel and save as stereo or use a standard plug-in like mda-stereo to create synthetic stereo using Haas delays and comb filters.

Erica Sadun

AddThis Social Bookmark Button

Play FLV Files in QuickTime [r00tshell]. Download and unzip the Perian component from the r00tshell page and then move it into ~/Library/QuickTime. Worked for me and so far no negative effects.

Download Aperture Updates [Apple]. You’ll need an Apple ID and your Aperture serial number. Aperture 1.5 requires OS X 10.4.8

Erica Sadun

AddThis Social Bookmark Button

iTunesJustForYou.jpg

As I’ve mentioned before, you can link directly to the FREE ON iTunes Page from your Web browser or find it on the front page of your Apple Store.

A reader asked, “What happened to my FREE ON section?” Simple. It’s hidden behind your Just For You section. Log in and then turn off Just For You to find it. Thanks to MacWorld for reminding me that I wanted to post about this. They’ve also posted a cute URL hack for it–drag the FREE ON iTunes title from the music store onto your desktop.

Scot Hacker

AddThis Social Bookmark Button

Like half the internet, I’ve been enjoying/dissecting iTunes 7. But I just stumbled on something odd I thought was worth re-posting here.

iTunes has been able to store and display cover art for a long time. At core, that’s not new. But what struck me in iTunes 7 is how quickly it suddenly seemed able to write image data into an entire album’s worth of tracks. I know Apple didn’t make my disk faster, so something else must be going on. Then it occurred to me to have a look in ~/Music/iTunes/ . Sure enough, there’s a new “Album Artwork” folder. And inside, a hierarchy of folders containing untyped .itc (I Tunes Cover?) files.

Well, that explains why writing cover data has gotten so fast, since audio files no longer need altering. All iTunes has to do is create a small data file once and reference it from the library for each file in the album. This is nice for speed and nice for not swelling audio collection file sizes, but sucks for portability between machines/platforms. Why isn’t this a preference? Or an optional mechanism to “permanently store art inside music files” or similar?

Personally, I’d prefer to spend the disk space and the time to have cover art written into my files, not stored alongside them. From my perspective, iTunes just took away my ability to handle this aspect of my music collection correctly.

While we’re on the topic, caveat tunezor: Reports are floating around on mailing lists of undesirable things happening when you select your entire library and ask iTunes to download cover art for every track. When matches are found, existing cover art you’ve spent years gathering may be replaced with art Apple thinks you should have, “including that from Music Store previous purchases.” Original covers may be replaced with covers from compilations. I haven’t experienced these problems myself, but would be interested in hearing from others who have. For now, I’m only downloading album artwork selectively, and only for albums for which I don’t already have cover art.

Erica Sadun

AddThis Social Bookmark Button

Option-launch iTunes. (Hold down the alt/option key while it launches).

ituneslibrary.jpg

Erica Sadun

AddThis Social Bookmark Button

I’m moving this from the comment thread from the Announcements post because I thought it deserved its own post.

Anonymous asked: Will independent developers be able to program iPod games and submit them to the iTunes Store for sale?

To the best of my googling, there is yet no public iPod software development package. The games are stored, by the way, in the iPod Games folder of your main iTunes folder. They have an .ipg extension.

These .ipg files are actually zipped up. Copy one over to a spare directory, rename it to foo.gz and then unzip it, e.g. unzip foo.gz. (Yeah, I tried gunzipping first but there were multiple entities.)

The actual executable is a “.bin” file. There are iTunesArtwork and iTunesMetaData files in there along with language locatizations, sound files, and a Manifest which lists the files and their sizes and a p7b Manifest that handles Fairplay.

Erica Sadun

AddThis Social Bookmark Button

Following up to my iTMShacks post, I found a few changes to the iTMS protocol with the release of iTunes 7.

For example, the commands machineAuthorizationInfo and accountSummary replace AuthorizationInfo and modifyAccount. iPodRegistration replaces newIpodUserStoreFront.

New items include a check on the download queue, setting the auto download, an m5 Mismatch, updating an asset and, of course, downloading cover art (CoverArt and CoverArtMatch).

There are also several new ministore commands, which is strange given that the ministore seems DOA.

There’s really not enough new items to matter much, and the cover art thing is pretty much taken care of in-program. So bottom line? Nothing much new to report.

Brian Jepson

AddThis Social Bookmark Button

There’s been a lot of buzz about the Pre-RC1 build of Vista working with Boot Camp. I decided to give it a try, and it was pretty easy. You’ll want to perform a full backup before you try this!!!
  1. First, run the BootCamp Assistant and delete your Windows installation. This will wipe out all your data, but will restore your Mac to a single partition. You only need to do this if you want to perform the next step.
  2. I’m pretty sure Vista won’t run on a FAT32 file system, so you need some way to exchange files between Mac OS X and Windows. I think the best way to do this is to create a third partition. This post (read it all) has lots of details on this. On my MacBook with a 100GB drive, I used this command to shrink my Mac partition and create a 5GB partition for shared data and a 20GB partition for Vista:
    sudo diskutil resizeVolume disk0s2 72842723328B \
    "MS-DOS FAT32" Data 5368709120B  \
    "MS-DOS FAT32" Windows 21474836480B
    
  3. Next, I rebooted, opened a Terminal, and ran this command to create a FAT32 file system on the Data partition (please check the output of diskutil list /dev/disk0 to be sure you are operating on the right partition first or you may wipe out important data!!!):
    sudo newfs_msdos /dev/disk0s3
    
  4. Once I finished these steps, I inserted the Vista DVD, and rebooted the Mac. I held down the Option key as it was starting, and selected the Vista DVD as the boot media.
  5. I went through the Vista installer as normal, and all was fine. The only oddity was that when it rebooted, it went into Mac OS X. I opened up System Preferences/Startup Disk and told it to boot from the new Windows partition.
  6. I rebooted and setup continued as normal.
One drawback of this is that Bootcamp Assistant won’t run if you have these three partitions, which make it hard for you to burn new driver CDs. However, you should be able to Control-Click on the BootCamp Assistant app, choose Show Package Contents, and find the driver disk .img file that way. I’m sure there will be other annoyances involved with using a non-standard configuration, so I’m prepared to have to delete these partitions and start anew at least a few more times…
Erica Sadun

AddThis Social Bookmark Button

Apple is recalling laptop batteries:

In cooperation with the U.S. Consumer Product Safety Commission (CPSC) and other international safety authorities, Apple is voluntarily recalling certain lithium ion rechargeable batteries that were sold worldwide from October 2004 through May 2005 for use with the following notebook computers: 12-inch iBook G4, 12-inch PowerBook G4 and 15-inch PowerBook G4. These batteries were manufactured by LG Chem, Ltd. of South Korea.

Recalled batteries include model numbers starting with: A1061, A1078, A1079, HQ441 through HQ507 and 3X446 through 3X510.

Apple is also recalling Macbook Pro batteries: batteries with model number A1175 and a 12 digit serial number ending in U7SA, U7SB and U7SC.

Reader Qka points to this page for the 24 August recall.

And remember men, compute safely!

Giles Turnbull

AddThis Social Bookmark Button

Mac Devcenter reader Ben K got in touch recently on the subject of snippet-keepers, something close to my heart.

Ben had seen my (somewhat out-of-date now) post about Sidenote, but his problem was a little more complex.

He needed something cross-platform because he uses Windows at work and a Mac at home, and that could store almost any file format, especially formatted text and images.

After much searching and testing, he settled for a commercially hosted wiki service, Stikipad. Ben said: “It offers a combination of good UI and easy backup offline (I can download the whole wiki in HTML easily). PBWiki was a close second (you can download the whole wiki as a zip file, but I didn’t like the UI as much).”

Since Ben needed something cross-platform and hassle-free, I rather think one of these hosted wiki services was by far his best bet. If any Mac Devcenter readers have other ideas or recommendations, by all means share them now…

Erica Sadun

AddThis Social Bookmark Button

I found your conversation on beats per minute and wondered if you have come up with something? I’m trying to make a running cd with about 92 bpm. I still need to give the updated beaTunes a try, but recently I’ve been working out to Marina’s podcasts (most are $0.99 each) and Podrunner (free podcast). The Marina ones are very girly–lots of verbal support and encouragement. I like it, but others may not. Also, the very loud intro when you go from one segment to another can be really jarring. Both Marina and Podrunner are available in a wide range of bpm’s.

How long will it take for the Leopard preview DVDs to get sent to ADC members? Hey, don’t look at me. I have not a Single Clue–and Apple is spectacularly unhelpful about these queries. As I know from personal experience.

Your write up on “Getting the Video out of Your New iPod–for Cheap!” was very helpful. I couldn’t believe how simple it was to do. I thought it would be more complex like buying expensive gadgets, a tuner or some sort of converter. The article was even reader friendly for a Neanderthal such as me to comprehend. lol Thanks again for your input on getting output to my TV! Thank you! (And no, I did not pay this reader to write this!)

How do I buy an iTune and convert it to a ringtone? Me? I just use the least offensive ringtone that came with my phone. To grab the iTune, you can use the Soundflower audio redirect program to send the output of your iTunes playback to a sound recording program or take advantage of Audio Hijack’s capture software.

I repeatedly get no burn and a “Multiplexing” error [when burning a disc with iDVD]. Can you suggest what is going wrong? Make sure you’ve got enough room on your primary hard drive to build the entire project (at least 4.3 GB for a standard 1-hour DVD, more for dual-layer), and use good quality brand name disc blanks (such as Verbatim). More information here.

Erica Sadun

AddThis Social Bookmark Button

What happens when an Apple Upgrade doesn’t work with your original serial numbers or you can’t find the latest serial number? A lot of frustration, that’s what. KKP bought a copy of Final Cut Studio Crossgrade that came with four discs and no serial number. After an unsuccessful search for the original Final Cut Studio serial number, she tried using a FCP3 serial number to no avail.

Theoretically, this isn’t an got-Applecare-or-not issue. You should be able to retrieve your serial number whether you’re covered under Applecare or not. I recommended that KK call Apple at 1-800-275-2273 (AppleCare Service & Support Line) to start the process to retrieve her serial number.

And, given that I had a missing DVD Studio Pro serial number, I decided to try this out myself. I gave a call over to AppleCare and ended up in phone-hell. I talked to at least 5 or 6 people and was hung up on twice. Finally, I got transferred to the “Professional Application” group.

Listen up kiddies, when in doubt, ask to be transferred to the Professional Application group immediately. There, I was connected to Shaun–a support person who Had A Clue. Within a few moments, I had a serial number on the way.

All it took was looking up my original order information. I’d purchased my copy from the Apple store and still had all my electronic receipts on-hand. I forwarded them to Shaun by e-mail and he processed a replace serial number request for me. If you don’t have Apple receipts, you’ll need to forward or fax your third party/reseller receipt. (The fax number is 512-674-8125. Make sure you have a case number and a cover sheet–they’ll send you one–before faxing.)

Once they have your materials on-hand make sure your support person verifies that you’re good to go and submits the replacement serial number request. It only takes a few minutes for the serial number to generate and get sent to your e-mail in-box.

Thanks Shaun!

Erica Sadun

AddThis Social Bookmark Button

It’s been over five years since I bought a Mac. I’ve been using my G4 733 tower forever and it’s time–past time really–to move up. I have no issues about opening cases, adding hard drives, memory, modems. I want to buy the very least Mac Pro that will get me through about 5 more years and let me test all new operating systems and most software.

My preliminary thoughts are a “bottom of the line” Mac Pro dual-Core 2GHz 1GB unit with 160GB main drive, GeForce 7300 GT 256MB, no displays (I’ve got dual LCDs–and I assume I can still use them with the newer Mac), SuperDrive, no built-in wireless, standard keyboard/mouse (which will go into a drawer, and I will continue to use my current setup), and no software or protection plan with the plan of adding memory from Crucial, hard drives from wherever I can find them on sale via FatWallet, and a 3rd party modem unless I can figure out how to re-use the modem from the 733. (I’d also like to re-use my USB 2.0 & 1394 expansion cards.)

Where am I going wrong? What bad choices am I making? Should I consider a fully loaded Mac Mini instead? Advise away.

Erica Sadun

AddThis Social Bookmark Button

Apple-love at its extreme. The unpaid programming story of Graphing Calculator.

Why did Greg and I do something so ludicrous as sneaking into an eight-billion-dollar corporation to do volunteer work? Apple was having financial troubles then, so we joked that we were volunteering for a nonprofit organization. In reality, our motivation was complex. Partly, the PowerPC was an awesome machine, and we wanted to show off what could be done with it; in the Spinal Tap idiom, we said, “OK, this one goes to eleven.” Partly, we were thinking of the storytelling value. Partly, it was a macho computer guy thing - we had never shipped a million copies of software before. Mostly, Greg and I felt that creating quality educational software was a public service. We were doing it to help kids learn math. Public schools are too poor to buy software, so the most effective way to deliver it is to install it at the factory.

Found via Digg.

Erica Sadun

AddThis Social Bookmark Button

Remember a few months ago all the buzz and excitement about the iLuv recorder? You could stick your iPod into it, hook it up to video and record directly to the iPod. It was supposed to be out in early August. I just stopped by their site and all references to the device have now been removed. This reminds me a lot about the buzz about the ATO iSee, which according to their site eventually did appear.

Have any of you reader folk gotten a chance to look at, or play with, either device? How does it work and/or compare to other iPod video recording solutions?

I personally use a Neuros unit to record to memory card, then copy the video to the hard drive and sync through iTunes. The option of recording directly to the iPod and skipping the copy/sync steps sounds very appealing.

Giles Turnbull

AddThis Social Bookmark Button

A developer’s lot is not always an easy one. Take, for example, making a choice between putting an application’s data information and controls in palettes (like BBEdit does) or in a sidebar (like Mail does).

After all, some people prefer palettes. Some prefer sidebars, or drawers. You can’t please all of the people all of the time, so which ones do you choose?

Gus Mueller faced this tricky decision with the recent release of VoodooPad 3. It was comment worthy for many reasons, most of them the impressive collection of features that Gus had taken the trouble to add to an already feature-packed application.

David Battino

AddThis Social Bookmark Button

I keep several free drag-and-drop audio applications on my desktop for quick tasks. From left to right, here are the ones that have stuck around, albeit usually with truncated names:

audio droppers
  • Deep Niner Xtract2Wave44 converts any QuickTime-compatible audio file to a 44.1kHz WAV. The developer offers a 48kHz version as well.

  • Doug Adams’s Drop a Few My Way uses iTunes to convert dropped files to various formats, which you can choose on the fly without burrowing into iTunes’ preference menu. It’s also smart enough to keep the files from infiltrating the iTunes library.

  • Add “.aif” is an AppleScript droplet I wrote that simply adds an “aif” extension to the file’s name. It saved me a lot of time when I transferred several hundred extensionless AIFF files from my OS 9 Mac to my OS X one.

  • Add 2 iTunes Library may also have come from Doug Adams or MacOS Hints.com. (There’s a similar droplet here.) Does what it says.

    Which droplets have stuck on your desktop?

Erica Sadun

AddThis Social Bookmark Button

Reader Guillaume C writes: “Could help me finding an app that mixes Finder and Preview. Before asking, I have crawled the web, asked in forums, nothing. I keep a lot of PDF files (really a lot, >10 000) and I would like to have a software that allows to browse directories by column, select a PDF, view the page snapshot, and navigate inside the PDF. I have made a photoshopped screenshot of it. Any idea if this app exists? I know about Pathfinder and MacGizmo, but they are not exactly what I need. Perhaps such an app would interest a lot of other people.”

I’m at a loss. Hey you reader folk, any suggestions for Guillaume? Thanks in advance for any pointers.

logicielscaled.jpg

Giles Turnbull

AddThis Social Bookmark Button

vlc.png

We look at them every day, our eyes are drawn to them almost every time we interact with the computer - icons for apps and files are a very important part of the interface. But what attributes make a good icon?

Personally, I tend to prefer icons that stand out visually. I’m fond of the icon for Notational Velocity, not because it’s attractive but because it looks completely different to every other icon (very few icons use lettering, and none of them in quite the same jarring manner as NV does).

Spotlaser.png

One problem people have commented on in the past is the prevalence of ‘blue circles’ - it’s hard to pick out apps in a crowded Dock when all the icons are round-ish and blue-ish. For this reason, I’m also keen on icons that deliberately adopt brighter, more visible colors and unusual shapes. One I spotted (and liked) recently was the icon for Spotlaser, very distinctive.

But I’m not a designer. So I thought I’d ask a few professionals - people who know a thing or two about icons - for their thoughts.

Jon Hicks, creator of the Firefox icon (among others), said:

“That’s a really hard one to answer, but I guess it all comes down to simplicity that can work at small sizes, and still have scope for detail at large sizes.”

He went on: “My favourite application icon has to be Transmit by Panic. While it’s a very detailed icon, with subtle shading and form, its still an instantly recognisable Yellow Truck, no matter what size, 128px or 16px.”

docktopus.gif

How about Jasper Hauser, creator of the Camino icon? He summed things up like this:

“Basically there are two aspects that are the base of a good icon: 1) shape, and 2) use of color. If you look at the Appzapper icon you will see that it 1) has a original shape, and 2) uses irregular colors and an irregular color combination. Doing a blue circle will not stand out.”

Robert Daeley

AddThis Social Bookmark Button

Via Ethan Zuckerman, I came across a post by Maciej Ceglowski on Idle Words, From: Pushkin.

Many months ago I found myself exploring a website with the collected works of Alexander Pushkin, and taking inspiration from the Samuel Pepys blog, I thought it might be fun to import Pushkin’s letters into an email client. Apart from the novelty value, the mail client provides all kinds of very useful search and sort features you don’t usually get with literary texts.

I love this tidbit, however:

I had to bump the date up by 200 years because Mail.app refuses to properly sort nineteenth century email. I consider this a bug.

Maciej has some fun ideas about setting up “historical correspondence,” annotating the letters of famous people via email.

Matthew Russell

AddThis Social Bookmark Button

I’ve always enjoyed reading Amit Singh’s articles dealing with the nitty gritty technical aspects of OS X on his website kernelthread.com. Recently, however, I ran across something a bit different — his Hanoimania! page. I thought that it was so cool that I needed to share it with you.

Basically, it’s a page containing over 100 implementations to the Towers of Hanoi problem. Maybe you’ve worked up a solution in Python or C before — but what about PostScript, Sendmail, Make, or Autoconf? (Yea, me neither.) This page is an amazing display of “thinking outside the box” and creativity.

If you enjoy reasoning about these sorts of things, you may also enjoy reading about Turing Completeness or esoteric programming languages. Or, if you really want to enlighten yourself, check out Gödel, Escher, Bach: An Eternal Golden Braid from your local library.

What’s the most off the wall programming language you’ve ever used to solve a problem?

Erica Sadun

AddThis Social Bookmark Button

I thought I’d throw together a collection of my favorite half-dozen overlooked iTunes UI features. These range from the fairly unobvious to the very unobvious, so your mileage may vary from mine. Feel free to add your own personal suggestions to the comments.

Erica Sadun

AddThis Social Bookmark Button

Nike/iPod Sensor Photos [Tewks]
Someone cracked open their Nike sensor sneakers and Tewks.net has the pictures.

iMovie Rentals? [ThinkSecret]
And now for something completely different: movie rentals through the iTunes Music Store? ThinkSecret reports this “represents a coup for the movie industry, which will have succeeded in standing its ground against Apple’s pressures to offer consumers the option of owning movie downloads.”

Safari Enhancers [5ThirtyOne]
Still using Safari? Be proud. It’s not just a Firefox world. Derek Punsalan offers a great case for Safari on his 5ThirtyOne blog, noting its terrific load time, page rendering and extensibility. Pop over to read an excellent round-up of free or nearly-free Safari enhancers. They range from David Watanabe’s Inquisitor, a Safari extension that adds live search and keyword suggestions, to Hao Li’s Saft, which adds ad-blocking, keyboard shortcuts and a session saver, to the OmniWeb-like sidebar of SafariStand. Punsalan may not convince you to switch back permanently to Safari, but he may entice you to discover some great new features that you weren’t aware of.

Yet another “I I Dropped It and Now It Works” iPod Story [SpillingCoffee]
Today’s “I thumped my iPod” story comes courtesy of the Spilling Coffee blog. Author “Tom Coffee” relates his encounter with a sad-face iPod, a lot of googling and the standard “thump-it” advice: “I couldn’t quite bring myself to dropping my $300 iPod to the hard tile floor on the off chance that it would spin or wobble on the way down so I did the next best thing: I held it and slammed it onto a pad of paper on my desk (providing some cushion so I didn’t crack the case), charging port down. And like mana falling from heaven, the tunes started playing.” This weblog does not officially endorse dropping, slamming, pounding, thumping or any other percussion-based iPod repairs.

Surveys Reveal Podcast Special Interests
According to CNet’s News.com, MacWorld.com and StarTrek.com dominate the podcasting world, according to the number of visitors to their respective podcast sites. Nielsen/NetRatings have been tracking podcast popularity recently with surprising results. Did you know that more podcast listeners download their content using Safari than any other browser? This demonstrates yet again a strong Apple-centric tinge to the overall podcasting world.

iPod firmware reveals iPhone/iMessenger clues [AppleInsider]
Quoting: ‘While Apple has been relatively mum on any plans for iPod-branded cell phone, the latest iPod software includes references to an “t_feature_app_PHONE_APP” application and variables such as “kPhoneSignalStrength,” “clPhoneCallHistoryModel,” prPhoneSettingsMenu,” “prPhoneSettingsMenuView,” prPhoneEnableSetting” and “prPhoneMenuItem.”‘ Want to search for yourself? Grab a copy of the latest update and issue the strings command from the Unix command line interface: cd /Library/Packages/iPod2006-06-28.pkg/Contents and then strings Archive.pax | grep -i phone or strings Archive.pax | grep -i movie, etc.

David Battino

AddThis Social Bookmark Button

AppleScript speakers

I recently bought a USB headset to make Skype calls, and wanted a quick way to switch the Mac’s audio output between the built-in line output (which feeds my speakers) and the headset. Rogue Amoeba’s free SoundSource provides a handy system-wide menu bar for doing that, but every time I switched to the headphones, they blasted my ears. So I cobbled together this AppleScript to switch between sound sources and adjust the volume with one click.

Joshua Scott Emmons

AddThis Social Bookmark Button

dashboard.png

Don’t let their small size fool you, Dashboard widgets are surprisingly CPU hungry. Take each widget’s intensely graphical nature and penchant for polling and parsing files from the internet. Add to this Dashboard’s slew of special effect and the fact that your average user keeps 5 or more widgets running at a time, and it’s not hard to arrive at a resource situation that can make the fans on your G5 kick up in anticipation.

But that’s ok, because these processor cycles are only used when Dashboard is activated. As soon as your widgets fade away into their OpenGL-accelerated purgatory, their resource usage drops to zero and your full-sized applications have the undivided attention of your CPU again. Right?

Jochen Wolters

AddThis Social Bookmark Button

For a geek, the second best thing to finding a new solution to an existing computer problem, is finding a new problem to an existing solution. While fiddling around with Mail.app a few weeks ago, I stumbled over the window that pops up if you choose “Get Info” from the action menu at the bottom of the mailboxes column. Its most interesting feature is a list of all the messages stored in the selected email account on the server.

Mail.app's Account Info window

The list conveniently states the size of each message and can also be restricted to those messages that have already been removed from, or downloaded to, your Mac. Messages that have not been downloaded yet, are marked with a blue dot. The thing that makes this list really useful is the “Remove From Server” button: make a selection from the list, hit that button, and you can delete messages right there on the server — no need to download them first. Very neat!

This feature provided a welcome solution to a problem I ran into this week: sometimes when getting new email from my server, the download will stall: the progress bar will freeze, and even clicking on the stop sign in the Activity Viewer to abort the download will not help, either. Unfortunately, force-quiting Mail, relaunching the app, and restarting the download doesn’t help much: since Mail apparently hasn’t marked the downloaded messages, all downloaded messages are re-downloaded and the download stalls again at the very same message. While I still haven’t found the source of the problem, I can at least manually remove the messages I have successfully downloaded thanks to the Account Info window, and then download the rest of the mail as usual.

There are other uses for this feature, as well: if you’re traveling and only have access to a slow Internet connection, being able to manually delete very large incoming email messages (especially if you have a colleague who just loves to send you the “hilarious TV ad du-jour”…) may be a God-sent. The thing that baffles me, though, is this: why haven’t Mail’s programmers included a “Download From Server” button as well? Being able to download only the few messages that you care about, instead of having to remove all the others first, would be so much more efficient.

P.S.: If you have any ideas as to what may cause those email downloads to stall in the first place, please feel free to share them in the comments. Thanks!

Joshua Scott Emmons

AddThis Social Bookmark Button

pound.png

The tool chest available to widget developers is surprisingly robust. If you can put it on a web page, you can put it in a widget. AJAX and other Web 2.0 technologies are right at home inside Dashboard. If you need to do something slightly more radical, plugins can be written in Cocoa. And, of course, the wide wealth of unix command line tools are available to widget makers through the widget object’s system() method.

But having access to a command line tool and having the permissions needed to use it are two completely different things. I ran headlong into this when writing Share Switch. I wanted to be able to turn file sharing on and off inside Dashboard. Turns out there’s a command line tool called AppleFileServer that does just that! But there’s a catch: one must be root in order to run it.

Erica Sadun

AddThis Social Bookmark Button

  • iTMS free selections are free for a limited time, typically a week or less. They will not stay free in your cart. You must add the song to the cart and buy it during that grace period.
  • Sometimes, “free” selections…aren’t. Apple forgets to turn on the “free” part for a day, or longer, or in one memorable case until the next week’s selections are loaded. Always check your cart before pressing Buy.
  • You cannot “gift” free items. Not to people in your country, not internationally.
  • You cannot download free items from international stores unless you have an account specific to that store. Setting up an account usually involves both a credit card and a billing address for the card in the store’s country. I do not personally have access to any store but the US one. Stores with freebies include Japan, Australia, Canada, the UK, France, and the US.
  • The Japan store’s freebie updates about a day after all other stores. I no longer list the Japanese freebie because of (a) the update time difference and (b) posting with the proper Unicode listing is painful.
  • The French freebie is called the “Single de la Semaine”. All the other free selections (with the exception of Japan) are marked in English as “Single of the Week”. The US store often offers “Discovery Downloads” in addition to the Single of the Week and newly added TV series often have free episodes or trailers.
  • TV Shows are, to the best of my knowledge, only available in the US Store. Free videos/TV shows often show up on Wednesday, Thursday or Friday rather than Tuesday. Some stay free for a long time; most expire the next Tuesday. To spot free TV shows, visit the TV Shows area and watch the ads at the top of the iTunes page. It takes several minutes for all the ads to cycle through.
  • All free downloads use digital rights management, as would paid tracks.
  • Free tracks are usually given their own unique album page with the description of why they are the Single of the Week or a Discovery Download.

Tracking the iTMS Freebies is a volunteer effort. If you find it valuable, please say so in the comments or drop me an e-mail with your thoughts.

David Battino

AddThis Social Bookmark Button

printer marginI just found a free workaround to something that’s annoyed me about my otherwise dependable printer forever—the huge margin it leaves at the bottom of the page. Whereas the top, left, and right margins could be as small as a quarter inch (0.64cm), the bottom demanded almost three times that.

The cool thing was that I discovered the solution while fixing another problem: unreliable printing over my AirPort Express. Although my Windows laptops print fine over the Express’s Wi-Fi connection, half the time the Mac would print a few lines and then give up.

Following a tip in the comments of an ancient Mac DevCenter blog, I set the printer to use a GIMP driver instead. I simply…

  1. Clicked the link http://127.0.0.1:631/admin;
  2. Entered my Mac user name and password;
  3. Clicked the Printers button in the page that came up;
  4. Clicked the Modify button for the Wi-Fi printer;
  5. Clicked through a few screens, and then entered the IP address of the AirPort Express (I found it in the AirPort Admin Utility);
  6. Clicked through a few more screens and selected the model of my printer.
CUPS Edit

Step 4: Pick your printer.

Boom! Not only did the printer start printing over Wi-Fi, its margins were reduced to an eighth of an inch on the sides and zero inches on the top and bottom. Near-borderless printing for free!

Matthew Russell

AddThis Social Bookmark Button

A while ago, I posted about the excitement I felt when Google Calendar was announced, although I also expressed some privacy concerns at that time. Well, I’ve been able to try out Google’s approach to organizing my life, and it’s been pretty sweet so far.

The interface is remarkably like iCal, very responsive, and generally not any more cumbersome than I found iCal to be. I was able to import all of my iCal calendars directly into Google Calendar without any hiccups, and if I ever decide to bail, I can export them right back out and load them into iCal. (This might be handy if I know in advance that I’ll be offline for some extended period of time, which does occur from time to time.) And to my surprise, Google renders you a nice PDF of the day, weekly, and monthly views so you can have a more traditional style print out if you find those handy.

Erica Sadun

AddThis Social Bookmark Button

Reader “Hal” asks: “Is it possible to save an iDVD theme as a QT file, such that it can then be imported into iMovie and used as ‘bumper’?”

Unfortunately, unlike iMovie’s new Quartz themes, most of iDVD’s themes seem to remain in the old Oxygene format (pox folders, containing Oxygene patches and the media that support them). You can hack out a few of the pieces, but it ain’t pretty and it ain’t trivial. Probably your best bets are: 1. use the new iMovie 6 themes instead, 2. wait for iDVD 7 which will probably be ported to Quartz or 3. build ‘em yourself in Quartz Composer.

Other more hacky approaches include using Snapz Pro to capture the video as it plays in iDVD or to grab the MPEG-encoded video from a DVD disk image produced by iDVD. Be aware that you’ll probably need to pay Apple for an MPEG-2 license to be able to edit and use MPEG-2 source in iMovie.

Erica Sadun

AddThis Social Bookmark Button

Is your Windows clock getting confused by rebooting? Over at the Apple Discussions board, they’ve found a solution for messed-up Macteltosh clocks during the Windows boot process.

The problem with the Windows clock being off is because the hardware clock (the one on your actual motherboard) is being set to “Universal” time, or GMT, when you shut down your MacOS bootup. When you boot Windows, Windows assumes your clock is set to your local timezone because that’s what Windows does by default. This explains why the people who set their MacOS clock to GMT got the right time in Windows… If the hardware clock is being set to “GMT,” when it’s actually the local time, Windows will pick this setting up as local time as it did before.

To fix the problem you’ll need to edit your registry, so proceed very carefully. Full instructions here

.

Derrick Story

AddThis Social Bookmark Button

iMovie

I had a rush video job this weekend and used iMovie and iDVD to get the project out the door. The upshot? I completed the entire job in less than 6 hours.

I’ve been an iMovie fan since its early days. And yes, I’ve endured its quirks along the way. Even with the latest version (that’s part of iLife ‘06), there are a few gremlins that leave me scratching my head. But when I need to finish a simple video project *right now*, iMovie is the racehorse I want to ride.

My client wanted a 4-minute video demonstrating a craft project using their materials. I shot the movie with a Canon Optura 40, SV hot lights, and an Audio Technica shotgun mic. We finished the filming in just a couple hours. They were very well prepared and familiar with this craft project.

I opted to use iMovie on my MacBook Pro 17″ because I knew that there wasn’t going to be much editing. The video recording was clean, so I didn’t have to apply any corrections. The audio was good too, just a little bit of ambient noise. The Audio FX panel in iMovie has some excellent controls, including a very nice noise reducer filter (click on the Editing tab, then click on Audio FX and choose Noise Reducer). I selected my audio tracks, applied the filter, and like magic, no more ambient noise.

We reviewed the rushes right there on the MacBook Pro. I made a few adjustments based on client feedback, then sent the job to iDVD. Twenty minutes later I had a final product to hand over.

We watched the DVD on 3 different TV monitors, and it looked great on all of them. The disc went out via FedEx Monday morning. The client liked the finished product so much she’s already ordered duplicate discs.

iMovie and its brethren in the iLife ‘06 suite take the notion of “easy to use” and transcend it to “work real fast and make good stuff.” It sure saved my bacon this time.

Todd Ogasawara

AddThis Social Bookmark Button

About a month ago I asked for opinions for a Cause for iPod nano spontaneous reset?. I seemed to run into this problem every couple of months on my iPod nano. I didn’t have any good theories, but fortunately, other people did. And, even more fortunately, Billy Oregon performed some detective work and found two MP3 files that can consistently cause a soft reset after selecting the Menu item. You can find his blog and sample video below. Anyone at Apple reading this? Fix it please!

Joshua Scott Emmons

AddThis Social Bookmark Button

[TextMate]

Allan Odgaard has written a number of applications and utilities in his time as a programmer. He’s written demos for the C64 and calendar apps for the Amiga. He even wrote a nifty MP3 player called MusicMate. But that’s not the “mate” he’s best known for. Allan is the lead- and sole-developer of TextMate, a very highly rated text editor for OS X.

Motivation

TextMate has, over the past year, undergone an explosion not just in popularity, but also in stability and usability. This sort of critical-mass exponential growth is something we’re used to seeing from, say, open source software. And TextMate does make great use of OSS scripting languages like ruby, perl, and python. But the application itself is closed-source and Allan is its only developer. How has he managed to stay so productive over the past year?

Erica Sadun

AddThis Social Bookmark Button

Terminal’s command line makes it simple to set permissions for any of your OS X files. Permissions specify access control–who may read, write or execute your files. The chmod command takes two or more arguments, the first is a multi-digit number that specifies your control choices, the rest is a list of files affected by this change.

The multi-digit number is created by summing up the permissions you’d like to apply. Quoting from the OS X manual pages, these numbers are as follows:

4000: (the set-user-ID-on-execution bit) Executable files with this bit set will run with effective uid set to the uid of the file owner. Directories with the set-user-id bit set will force all files and sub-directories created in them to be owned by the directory owner and not by the uid of the creating process, if the underlying file system supports this feature: see chmod(2) and mount(8).
2000: (the set-group-ID-on-execution bit) Executable files with this bit set will run with effective gid set to the gid of the file owner.
1000: (the sticky bit) See chmod(2) and sticky(8).
0400: Allow read by owner.
0200: Allow write by owner.
0100: For files, allow execution by owner. For directories, allow the owner to search in the directory.
0040: Allow read by group members.
0020: Allow write by group members.
0010: For files, allow execution by group members. For directories, allow group members to search in the directory.
0004: Allow read by others.
0002: Allow write by others.
0001: For files, allow execution by others. For directories allow others to search in the directory.

So, to set a file’s permissions to universal read, universal write you must sum up the read attributes and the write attributes for owner, group members and others: 0400 + 0200 + 0040 + 0020 + 0004 + 0002, which equals 0666 or more simply 666:

% touch bar
% chmod 666 bar
% ls -l bar
-rw-rw-rw-   1 ericasad  ericasad  0 Jun  6 08:03 bar
Scot Hacker

AddThis Social Bookmark Button

An old friend called in a panic the other day. The modem on her G3 lime iMac had crapped out, and she needed to get online that evening. We verified that she could still get a dial tone on the line. Had her reboot. No dice. “Still no broadband?,” I asked. “Maybe someday. Haven’t gotten around to it.”

Started troubleshooting. “Click the blue apple icon in the top left of your screen,” I said. “I only have a rainbow apple.” Uh-oh. OS9 user on dial-up. How do people live? Time had caught up with her. Fortunately she had a bit of cash. Told her to order DSL, and meanwhile, I’d pick up a new iMac to get her online by evening. A new Mac is a very expensive modem — even as a stopgap — but the time was ripe.

An hour later, showed up at her place to set up the unit and started plugging in cables. You know what happens next — no RJ-11 on the back of the Mac. And then I remembered reading the news five months ago. “Uhhh… Ummm… I may have to make another trip to the Apple store to, um, pick up a modem.” Watching her excitement about the new Mac turn to puzzlement and then anger was not pretty.

But what looked like a brewing embarrassment soon turned golden, as we booted up and the registration app looked for a connection. She hadn’t asked for Wi-Fi, but she got it — no less than five Wi-Fi networks in the immediate vicinity, one of them belonging to a friendly neighbor, who happily shared its password.

So not only did she not need a modem after all, she didn’t need DSL either. Wi-Fi is flowing through our neighborhoods like water from drinking fountains, like the air we breathe (password-protected air, but air nonetheless). Question is, was she (or was I) incredibly lucky, or is this sort of situation typical? And the bigger question: Why in the world did the Apple store rep not offer to sell me a modem? They certainly do a good job of pitching other accessories.

I’m sure plenty of people went through similar scenarios when Apple disappeared the floppy drive a few centuries ago.

Joshua Scott Emmons

AddThis Social Bookmark Button

Path Finder

Last week (and the week before) we heard some compelling arguments for the support of legacy platforms. We also learned of the customer service advantages this kind of support can lend a company. But what if there is no company? What if, instead of a team of coders on a project, you find yourself the sole developer? And what if that project, instead of being a simple arcade game from the ’90s, is nothing short of an award-winning replacement for the Finder itself?

This is the situation Steve Gehrman, sole developer of the acclaimed utility Path Finder, found himself in when contemplating the fourth major release of his über file manager. In moving forward, he decided to eschew legacy platforms and, with the help of tech support and web design whiz Neil Lee, make PF4 a Tiger-only app. How has this strategy worked out for these two gentlemen of Cocoatech? “It was the right decision,” says Steve.

Francois Joseph de Kermadec

AddThis Social Bookmark Button

QuickTime is a wonderful authoring tool, enabling webmasters to blend in video, flash, dynamically loaded content and to wrap it all in a cross-platform, configuration-detecting snippet of code. In fact, thanks to the (relatively) new QuickTime to JavaScript bridge, there is little that cannot be done within QuickTime when it comes to providing a rich interactive experience.

Erica Sadun

AddThis Social Bookmark Button

Hey Derrick!

Here’s another, sometimes easier, way. Open the Doc file in TextEdit and then choose File -> Save As and choose HTML from the File Format pop-up.

That having been said, take note that TextEdit reads many but not all Word Docs and that details often get lost in the mix. On the up side though, I feel a lot safer opening Word attachments in TextEdit than I do in Word.

0605TextEditHTMLscaled.jpg

jpkang writes: I think Derrick’s point was that the HTML that Google produces is much cleaner/readable than the standards-compliant HTML that most text editors produce nowadays (with tons of CSS tags).

TextEdit rocks at this. Open TextEdit -> Preferences. Choose “Open and Save”. Set the Document Type and Styling. (I prefer to pick No CSS from the styling pop-up, XHTML 1.0 Strict from the Document Type popup, and Western (Mac OS Roman) from the Encoding pop-up.) Close the Preferences pane.

0605TextEditHTML3.jpg

0605TextEditHTML4.jpg

Derrick Story

AddThis Social Bookmark Button

If you have a MS Word doc that you want to convert to HTML, the last thing you’d ever use is the “Save as Web Page…” command in Word. Talk about terrible code! Instead, you can send the attachment to your Gmail account and use the “View as HTML” link. Once the page is displayed in your browser, go to “View Source” and copy the code. Most of it is very clean and quite useable. I’m surprised however, that Google doesn’t use the XHTML version of the break tag…

Joshua Scott Emmons

AddThis Social Bookmark Button

apeiron2.png

Last week, we talked a little bit about the business decisions that prompt Ambrosia Software’s commitment to old platforms and code. This week, Ambrosia’s own bitwise operator, Matt Slot, tells us a little more about what this commitment means to the average coder in the trenches. Is supporting a single product through numerous generations of platforms and OSes an untenable mandate handed down by our short-sighted management overlords? Matt doesn’t think so.

And he should know. He’s Ambrosia’s point-man on porting and maintaining Apeiron X, a game that, with its recent update to v1.0.2, now runs on all Macs — from 68k to Intel, from OS 9 to Tiger. How does one pack all that multi-platform goodness into a single binary?

Erica Sadun

AddThis Social Bookmark Button

Here’s the problem. Perl? Great. Love the Perl. CPAN modules? Not so great. Well, yes, they are *great* in a they-kick-ass-in-all-the-functionality-they-provide, but they’re not installed on the default Mac OS X user’s machine. So not so great. Sure, Apple includes the command line cpan utility (man 1 cpan), but don’t you want utilities that just, you know, work? Without any further laborious installation of packages?

Erica Sadun

AddThis Social Bookmark Button

Subject: Tarsiers ate my post
Erica Sadun wrote:

My “Copying YouTube Videos Part II” post seems to have been abducted by wayward tarsiers. Any idea where they may have taken it?

More after the jump…

Erica Sadun

AddThis Social Bookmark Button

The trick for copying YouTube videos I mentioned in a previous post seems to have broken. No worries though. Here’s a workaround.

  1. Read the YouTube.com Terms of Service. You may copy content for personal use so long as you do not (1) distribute it further (no torrentz, dudes) and (2) do not alter copyright notices. Here’s the relevant text:

    Content on the Website is provided to you AS IS for your information and personal use only and may not be used, copied, reproduced, distributed, transmitted, broadcast, displayed, sold, licensed, or otherwise exploited for any other purposes whatsoever without the prior written consent of the respective owners…If you download or print a copy of the Content for personal use, you must retain all copyright and other proprietary notices contained therein. You agree not to circumvent, disable or otherwise interfere with security related features of the YouTube Website or features that prevent or restrict use or copying of any Content or enforce limitations on use of the YouTube Website or the Content therein.

  2. Go to YouTube, open a video and wait for the video to finish loading. This little trick does not work until the entire video has cached to your computer. Do not close the YouTube window, although you may pause the video.
  3. Launch a Terminal shell. The command-line is your friend.
    Change directories to /tmp. Issue a ls -lS command to identify the cached video. As a rule, the video will occupy many megabytes and be one of the most recently created items in your /tmp directory.

    % cd /tmp
    % ls -lt
    total 20528
    -rw-------   1 ericasad  wheel  10478103 May 25 08:46 WebKitPlugInStreamRGr3qd
    -rw-------   1 ericasad  wheel       526 May 25 08:43 WebKitPlugInStream3iFMhq
    -rw-------   1 ericasad  wheel     13145 May 25 08:42 WebKitPlugInStreamk9BljY
    -rw-------   1 ericasad  wheel        60 May 25 08:31 objc_sharing_ppc_501
    -rw-------   1 security  wheel        24 May 25 08:31 objc_sharing_ppc_92
    drwxrwxrwx   3 root      wheel       102 May 25 08:31 printers/
    % 
  4. Copy the file to the desktop. Use the cp command to copy the video file to your desktop, renaming it with an FLV extension.
    % cp WebKitPlugInStreamRGr3qd ~/Desktop/copiedvideo.flv
    %
  5. Watch. The latest version of VideoLan Client supports FLV file playback. Because the file is in a “streamed” format, you cannot use Option-Command-Right Arrow to step forward. Also, VLC may issue an error when you load the video that you can just ignore and dismiss.
Derrick Story

AddThis Social Bookmark Button

Preview App

Convert a Raw file to Tiff or Photoshop formats in seconds? Yes! Lighten the picture, add sharpening, and increase saturation? No problem. Maybe you want to take your Raw file, save it to PDF, then encrypt it so it’s protected from prying eyes. You bet.

Do you need a high-end image editor, such as Camera Raw to perform this magic? Hardly. Tiger users have a powerful tool right there in the Applications folder that can execute these tasks in less time than it takes to launch Photoshop. The magic software is the often-overlooked Preview app.

You can discover all of Preview’s image editing power in the post titled The Simplest of All RAW Converters. Preview does a lot more than open PDFs…

Erica Sadun

AddThis Social Bookmark Button

Can I still rotate video clips in QT7? Sure you can. In QuickTime Pro, type Command-J, select the video track, click Visual Settings and then use the left or right rotate buttons.

0605RotateQTscaled.jpg

Tom Bridge

AddThis Social Bookmark Button

Ever had to take a Hard Drive out of any of the PowerBooks that have been introduced since they moved into shiny alumnium or titanium shells?

Remember the amount of swearing that caused the paint to literally peel from your walls? I sure do. While getting a Hard Drive out of a Pismo or a Lombard was certainly non-trivial, getting one of an aluminum powerbook required spelunking gear and rappell lines. Don’t even get me started on the iBooks, we could be here all day.

Not so, the new MacBook. Check out the video from Macworld.com:


With levers to make sure RAM comes out properly, and an easy-to-remove S-ATA drive, I’m going to come right out and say that the MacBook is a piece of engineering that has been sorely lacking from the Mac world for quite some time.

Thanks, Apple, for giving us real choices this time around.

Giles Turnbull

AddThis Social Bookmark Button

Oddness was happening.

Over the last couple of weeks, I noticed odd things kept happening on my PowerBook. Shiira would launch but wouldn’t function. Preview did weird things when I tried to quit it. Photoshop Elements 4 wouldn’t launch at all, which was pretty annoying at a time when I was trying to write an article about it.

After this last problem appeared, I tried a simple experiment; created a completely fresh user account on the same machine, and installed PE4 there. It worked just fine, so I made my diagnosis: something was broken inside my user space, and whatever it was I wanted to fix it.

True, all the apps I needed to use every day were still working without any problems, but I felt uneasy about using the machine without taking preemptive action. I found myself worrying that it might suddenly die on me just when I needed it not to.

And rather than re-install and simply drag my apps and documents back in from backups, I took the route that required more work: re-install everything manually, from scratch, to make sure everything was as pristine as I could get it.

So that meant downloading fresh copies of all my essential apps, re-entering license codes where necessary, and going through each one to import data, change preferences, and add passwords. It took some hours. Downloading all the updates from raw 10.4 and straight-from-disk iLife 06 took quite a while too.

But now I’ve almost reached the end of the process and things feel so much better. The computer feels a little more snappy than it was before, and all the symptoms of oddness have disappeared. The step-by-step reset was time-consuming, but worth doing. I can recommend this approach to anyone whose Mac is misbehaving.

Erica Sadun

AddThis Social Bookmark Button

They didn’t put the Mac in Emacs for nothing. (Dear Usual Pedants: I am aware that Emacs predates the Mac. This is an attempt at wit. A bad one, I’ll give you.) Did you know that you could use Emacs navigation keys in TextEdit? And Terminal? And many other Cocoa apps? They all work the way you’d expect. Well, at least mostly. In TextEdit, ^N and ^P go to the beginning and end of word-wrapped paragraphs, not just lines.

  • ^B: Move cursor back one character
  • ^F: Move cursor forward one character
  • ^P: Move cursor up one line to previous line
  • ^N: Move cursor down one line to next line
  • ^A: Move cursor to start of line/paragraph
  • ^E: Move cursor to end of line/paragraph
  • ^D: Kill character to the right of the cursor
  • ^H: Kill character to the left of the cursor
  • ^T: Transpose the characters to the left and right of the cursor
  • ^K: Kill all text to the end of the paragraph
  • ^Y: Yank back all text from the kill buffer
  • ^V: Scroll down one page
  • ^O: Insert a line break without moving the cursor

(There’s also ^L to center your selection, but I haven’t seen it used in many Cocoa apps.)

Your keybindings are defined in /System/Library/Frameworks/AppKit.framework/Resources/StandardKeyBinding.dict. This Apple document shows how to expand the emacs key-bindings further.

In Terminal, use the Emacs key-bindings to scroll back and forth through your command history (^P, ^N) and to edit the contents of the current command line (^B, ^F, ^H, ^D, ^A, ^E, ^T, etc). Add ^U to the mix to clear the command-line completely.

Don’t overlook the elegant double-escape completion feature that works so well with the other editing commands. For example, type % cd ~/De and then type ESC-ESC to automatically complete “Desktop”.

While I’m speaking about Terminal, don’t forget that you can always drop a file icon onto the command line to see its path. That includes the little icon found in the title bar of most documents, such as the ones in TextEdit. Save your text file and then move the cursor over the little icon in the title bar. Press the (left) mouse button, Wait for the icon to turn dark and then drag it out of the title bar and drop it onto the command line or into any other program for that matter. (Again, this won’t work unless the document has been saved. The “saved” title bar icon is dark. The “modified” icon is slightly lighter in hue.)

Finally, for extra Terminal-fu, you may want to bone up on the “bang” commands that work in nearly all the shells provided in OS X (/bin/*sh*). !! means repeat the previous command. !-2 means repeat the command just before the previous one (aka “go back 2 items in the history list”), and !5 means do command 5 in the history list. A bang followed by a few letters searches for the previous command that started with those letters, e.g. !cc reruns the last cc command issued.

I think I’ll stop now.

Robert Daeley

AddThis Social Bookmark Button

Just in case you’re like me and occasionally get on a CLI bender…

Install mpg123 (via Fink or Darwinports).

Let’s say you have an existing iTunes-organized music folder at its usual location. Start by getting a list of all of the .mp3 files in that directory and its subdirectories, and saving the list to a file on your Desktop:

find ~/Music/iTunes -name "*.mp3" > ~/Desktop/allmp3s.txt

Next, we feed mpg123 the full list of mp3s as a playlist to randomize:

cat ~/Desktop/allmp3s.txt | mpg123 --shuffle --list -

And that’s that. If you’d like a playback time indicator, add a --verbose flag to the mpg123 command. Rock on!

Erica Sadun

AddThis Social Bookmark Button

In an attempt to cross promote my latest MacDevCenter article, I offer you a bunch of short iTMS songs. Because each song is under 30 seconds in length, you can download them in their entirety to your Mac or iPod. The article provides you the how-to, this post lists some of my favorite tracks.

Francois Joseph de Kermadec

AddThis Social Bookmark Button

Imagine for a second that the Google index is a big sheet of glass. Now, imagine GoogleBot is a big, fat, black marker. How do you go removing traces of ink? In other words, how do you get GoogleBot to de-index .Mac pages?

Joshua Scott Emmons

AddThis Social Bookmark Button

Core Data (along with Tiger) has been out in the wild for over a year, now. As a result, most of the whys? and hows? of CD have been answered at great length in mailing lists and updated documentation. A question that still gets asked on a fairly regular basis, though, is when? When should I use Core Data in my application?

The flip answer is, “Whenever you can!” Core Data is an incredibly powerful technology that crosses “Model” off the MVC list of Things Programmers Worry About. Unfortunately, not every program is a good fit with CD, and sometimes trying to wedge an inappropriate app into the CD mold can cause more complexity than it banishes. So how do you know if your app is a good candidate for CD use? Your answers to the following three questions will let you know.

Francois Joseph de Kermadec

AddThis Social Bookmark Button

One may or may not like round corners. That, after all, is a matter of taste. But I somehow fail to see what’s wrong with using JavaScript to artificially round corners on some divs. Could you enlighten me?

David Battino

AddThis Social Bookmark Button

What do you do when your QuickTime movie has ugly artifacts around the borders? Use QuickTime Pro’s unlikely Mask feature to slice ’em off. Here’s how.

For the recent O’Reilly Digital Media feature on composing music for mobile games, author Peter Drescher sent several movies of expert gamer Lucas Finklestein playing on a T-Mobile Sidekick. Due to the camera position, though, the movies had enormous black borders. Not only did that look strange, the borders bloated the file size. (See Figure 1.)

Fig. 1: Original movie

Fig. 1: The original movie had big, ugly black borders, but QuickTime Pro’s Crop command snips out time, not area. What to do?

Robert Daeley

AddThis Social Bookmark Button

Like a lot of folks, I have multiple email accounts in Mail.app, checked automatically on a fairly rapid schedule (5- or 15-minute intervals usually). While the program’s Bayesian spam filtering is quite spiffy most of the time, there are occasional “false negatives” that get through. In addition, when I’m busy working it gets to be annoying to be bothered checking email when often it’s not that important.

A couple of years ago, I decided to leverage the power of the say command (man say for more info), which converts text to speech, and use its -o option to create .aiff files.

Erica Sadun

AddThis Social Bookmark Button

On Sunday I took out my Canon S410, turned it on, and received the dreaded E18 error. After googling frantically, I was able to pinpoint the problem as a misadjusted lens housing. I adjusted the lens casing by hand until it clicked into place and the error went away. For now.

So I’m about to go and start taking pictures when I notice that there’s already pics on the memory card. Quite a few pictures, in fact. All of them taken from the strangest point of view–just a couple of feet off the ground.

Thus, I offer to you a Toddlers-Eye view of my house through the magic of iPhoto and iTunes. And yes, I did have to clean itty bitty finger prints off the lens and LCD screen.


Gordon Meyer

AddThis Social Bookmark Button

In Smart Home Hacks, Michael Ferguson (creator of the Mac home automation application XTension) contributed “Hack 54 - Monitor Your Driveway” which describes his techniques for knowing when a vehicle has entered his property and when it has arrived at the house. It uses some simple, but useful, scripting along with motion detectors and a photo-electric beam.

Neil Cherry, on his Linux home automation resource list, pointed me towards an interesting alternative approach by Fred Stelter, as published in Linux Journal. Fred’s techniques uses a serial I/O box, a magnetic sensor, and some clever Python scripting.

When it comes to home automation, knowing multiple approaches allows you to choose (or more likely, combine) what works for you.

Giles Turnbull

AddThis Social Bookmark Button

Not long after I posted about how OS X users might employ Automator to manage separate location-based workspaces, Mac Devcenter reader Mark Hunte got in touch with a more refined and elegant solution to the problem.

Here’s how Mark suggests doing things, again in Automator but with a twist of Applescript:

From the “Finder actions”

1. Get Specified Finder Items. (Select the “work” folder)

and then:

(Select the “road” folder)

Pay attention to the order, its important later. (Work first, Road second)

From the “Automator actions”

2. Run Applescript


on run {input, parameters}

	display dialog "Where are You Today?" buttons {"Work", "Road", "Cancel"} default button 3
(*The order is the same as above - Work first Road second *)
	set the button_pressed to the button returned of the result
	if the button_pressed is "Work" then
		set input to item 1 of input
	else if the button_pressed is "Road" then (*again The order is the same as above - Work first Road second *)
		set input to item 2 of input
	else

	end if

	return input
end run

From the “Finder actions”

3. Open Finder Items (open with: Default Applications.) Save as application. and put in Login items.

Erica Sadun

AddThis Social Bookmark Button

Over time, some programming habits become so ingrained that they extend a language’s syntax into a personal dialect. For example, one gets so used to certain variable names that you know at a glance exactly what they mean, whenever they’re deployed. For example, I overuse rizlen to mean the length of a string or array returned from a function call. Results length, rizlen. I’ve been doing it so long, it’s become brainless habit.

What programming idioms have you incorporated into your style? Which ones do you regret? Are they a force for good? Do they hamper communications with other programmers? Let me know in the comments. I’m curious to find out how other people have (or have not) developed their own idiom.

Erica Sadun

AddThis Social Bookmark Button

Mechanical Turk’s requester site http://requester.mturk.com now offers an interactive Ask-A-Question HIT Builder and a new HIT management area. Of course, this completely obviates my AskAQuestion freeware, but who cares? The new capabilities rock and are a great sign of things to come.

So what is this and what does it mean? If you’re willing to set up an Amazon Web Services account and fund it with your bank account (I recommend you create a new free checking account, separate from your normal personal finances), you can start creating Mechanical Turk requests.

I decided to give it a spin. The new Create HITs tab offers two approaches: a Basic HIT and an Advanced one. The basic approach presents a question and asks for a freeform text reply. I asked 5 workers to submit their opinions about the future and health of Mechanical Turk. Unfortunately, I could not get the creation pages to work with Safari, so I ended up creating the HIT in Firefox.

Workers quickly (and I mean quickly!) accepted the new assignment and I was able to track the pending assignments on the requester site, review the response and approve and reject the work.

This new MTurk interactive website deserves a complete how-to, and I’ll try to write one up if time allows.

Erica Sadun

AddThis Social Bookmark Button

If you’ve been following my recent posts, you’re probably well aware that I’ve been doing a lot of playing with Web APIs–particularly with iTunes and Amazon Web Services. I love the concept of API as User Interface and I love the new ways established companies are providing Web-based utilities.

Because the World Wide Web is such an open place, many Web API services demand that you authenticate your requests. Requests must come from the proper parties and sent without loss of message integrity.

Robert Daeley

AddThis Social Bookmark Button

I had occasion recently to need to remotely delete a user — let’s call him “George” — on a Mac OS X box that is running the Client version of Tiger. I have ssh access to that machine and, since I keep meaning to learn how to do it, I decided to take the time to make a few notes on the process for the next such occasion.

Derrick Story

AddThis Social Bookmark Button

Transmit Icon

In my last post, There Has Got to be a Better Way to Share Big Files, I asked for ideas to help me improve my workflow for transferring big files across the internet. A ton of good suggestions were posted in the comments section, and I’ve tried out many of them today. Here’s how my favorites shook out.

I used a 12.5 MB zipped file as my test subject and moved it around using four of the methods suggested in the comments discussion: regular iDisk from my .Mac account via the Finder, iDisk using the Transmit FTP client, a free DropSend account, and a free YouSendIt account. I tested these methods using my sluggish home DSL connection and the super fast O’Reilly T3 connection. The results were interesting.

Erica Sadun

AddThis Social Bookmark Button

Things You Probably Didn’t Need to Know About the iTunes Music Store. More after the break.

Erica Sadun

AddThis Social Bookmark Button

As today is my birthday, I thought I’d share a couple of ways to give the gift of iTunes. If you know a person’s e-mail address, you can send them an iTunes gift without having to visit a bricks & mortar store. I’m not sure whether an iTunes gift is up there with a fancy dinner, wine and flowers or, say, a new red Ferrari but it may help you out of a last-minute fix for that iPod-enabled special someone.

Gifting a Playlist To buy any playlist, select its name in the playlist column and then click the arrow to the right of its name. (Assuming you’ve set the “Show links to the Music Store” option in iTunes preferences.) A dialog opens asking whether you want to give the playlist as a gift or publish it as an iMix. Click Give Playist. iTunes will prompt you to fill out the Gift Recipient information and handle the payment terms.

Buying a Gift certificate iTunes Gift Wizard walks you through the steps to purchase and send an iTunes gift certificate, which you can send by e-mail or US mail or print to a hardcopy. Gift amounts range from $10 to $200.

Erica Sadun

AddThis Social Bookmark Button

Remember NeXT? Steve Job’s next big thing after he left Apple in the 80’s? Weblog Mac on Intel reports they’ve gotten NeXT OpenStep up and running on a new Intel-based MacBook Pro. OpenStep was developed in the early ’90s to let NeXT’s NeXTStep OS run on Solaris SPARC workstations. NeXTStep, which dates back to the late 80’s was a Mach-kernel based Unix with a GUI that later evolved into Rhapsody and eventually OS X. GNUStep continues a live, open-source and developing GNU release of OpenStep.

0604OpenStepscaled.jpg

David Battino

AddThis Social Bookmark Button

Recently, when trying to export movie files from QuickTime Pro (7.0.4) or iMovie HD (6.0.1), I’ve been getting mysterious errors. This unhelpful iMovie one popped up when I tried to export an MPEG-4 project using the QuickTime Full Quality setting:

The movie could not be sent to QuickTime, because of an unknown error. (Error -50)

Other formats failed as well. For example, trying to export in iPod video format ended with this unhappy message:

Erica Sadun

AddThis Social Bookmark Button

If you’re thinking about updating your Macteltosh’s firmware (iMac, mini or MacBook Pro), you may want to visit Apple and download a copy of the Firmware Restoration CD first. You’ll need a copy of this CD on hand for failed firmware updates.

You can only use this to restore the Firmware after an interrupted or failed update. If your computer is already in this state, you’ll need to download the software and create the CD on another Macintosh computer, or you can take your computer to an Apple Store or Apple Authorized Service Provider to restore your firmware. This CD can be created on both PowerPC and Intel-based Macintosh computers…This CD cannot be used to return an Intel-based Macintosh computer’s firmware to a previous version if a successful update has already been performed.

To use:

  1. Power on the computer you want to restore, holding down the power button until the LED blinks rapidly followed by a 3-quick blink/3-slow blink/3-quick blink series.
  2. Release the power button.
  3. Insert the CD into your optical drive and wait. There’s nothing more you need to do until the computer restarts. The startup beep occurs at least 30-60 seconds after you begin this process and a progress bar will appear to keep track. Do not unplug or otherwise mess with your computer during the update.

Firmware Updates:

Erica Sadun

AddThis Social Bookmark Button

Today’s iTunes Music Store Hack: downloading the text that accompanies an iTunes Music Store album. The text will generally include the album description and user reviews from the main album page. If you’re a Unix weenie, you can think of this script as “strings” for the iTMS.

As always, this is a US music store hack only. If someone can help me figure out how to request listings from another storefront, please let me know.

I’ve taken some of Andy Lester’s superb coding examples to heart here, but as always please feel free to suggest improvements. Enjoy.

#! /usr/bin/perl
# US Only, Erica Sadun,  14 April 2006
# Return the text for an album
# e.g. ./getAlbumText.pl 140812843
# or   ./getAlbumText.pl 145852049

use warnings;
use strict;

if ($#ARGV < 0) {die "Usage: $0 AlbumID (StoreID)\n";}

my $albumid = $ARGV[0];
my $url = "http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/com.apple.jingle.app.store.DirectAction/viewAlbum?id=$albumid";

my $doit = qq{curl -s "$url" | gunzip};
my $riz = `$doit`;
my @riz = split("\n", $riz);

foreach my $item (grep(/TextView/ , @riz))
{
  $item =~ s/<[^>]*>//g;
  $item =~ s/^ *//;
  if ($item ne "") {print $item, "\n";}
}

Download a copy of the code here.

Erica Sadun

AddThis Social Bookmark Button

Weblog Skattertech has a post up today showing how to stream your iTunes music to your wifi-enabled PSP. You’ll need a an WinXP computer, an 802.11b router, iTunes and the iTunes-PSP-Server.exe software. Make sure to read through all the directions. They’re a little non-intuitive.

This project is based on the iTunes RSS Server which publishes playlists as RSS 2.0 Podcast feeds.

Cool stuff.

Erica Sadun

AddThis Social Bookmark Button

Andy Lester, fellow OReillyNet blogger and Perl Foundation PR-person kindly performed a quick makeover on my iTunes command-line country-changing code. He writes, “It now uses warnings and strictures to enforce better coding habits, and no longer uses a deprecated hash feature that I’m sure you didn’t mean to use.”

Download a copy of the renovated code here.

Thanks, Andy!

Erica Sadun

AddThis Social Bookmark Button

Note: This is very Amazon, very MTurk and very specific to people who have joined Amazon Web Services as MTurk Requesters.

Apparently, requesters can only contact workers with whom they’ve already worked, i.e. approved or rejected past work. The API does not return errors when you attempt to notify workers without this relationship, but will not send the message.

I’m in contact with Amazon about the problem.

Original Post: here.

About Mechanical Turk: here.

Erica Sadun

AddThis Social Bookmark Button

For my last few posts, I’ve added images at both low and high resolution. (Click the low-res image to pop-up the high-res image, starting with the Veronica Mars post). Frankly, this is a bit of a pain to do. So I’m throwing the question out there: is this extra work worth it? Is it helpful to have the images display this way? Should I be saying “Click to Enlarge” on the photos? Thanks for any feedback!

Erica Sadun

AddThis Social Bookmark Button

Reader Jas recently wrote in the iTunes: Switching Countries from the Command Line post: “I’m a newbie, just exactly how do you use this script to make it work? I need directions :) :)” Here you go, Jas:

  1. Download a copy of the loadintl.pl file to your desktop. It’s just a text-based perl file.
  2. Launch terminal, iTunes and Safari. In iTunes, switch to the Music Store.
  3. From the terminal, change directories to your Desktop: cd ~/Desktop
  4. Make the loadintl.pl file executable: chmod 755 loadintl.pl
  5. Run it. Type either perl loadintl.pl or (as I prefer) ./loadintl.pl
  6. To switch to a store enter “y” at one of the country prompts.

As a rule, you’ll have to re-sign into your Apple Store account after switching countries.

iTunesSwitchscaled.jpg

Erica Sadun

AddThis Social Bookmark Button

Today I learned (the hard way, is there any other way?) that by default OS X disables atrun, making calls to “at” and “batch” into pointless exercises of futility. The man page notes how to re-enable atrun, but warns against it because of power management concerns.

I’m not a big crontab fan for one-time jobs and I don’t really like using iCal to schedule Unix commands. So I ended up using sleep.

Good move? Bad move? Advise me, people.

Erica Sadun

AddThis Social Bookmark Button

Do you want to know your personal Mechanical Turk worker ID? This is the identification used by MTurk to track you when you work on HITs. Amazon recently updated the MTurk API, adding Worker IDs to qualification requests.

The idea behind this, of course, is to keep bad/unqualified workers from resetting their qualification scores. By tagging the qualification data structure, Requesters (the people who pay to put HITs onto MTurk) can see who is requesting what, and thus inform their decisions.

I saw this new API extension as an opportunity to play. I’ve added a new MTurk qualification. It shoots off an automated e-mail with your Worker ID upon granting your qualification request.

Please note that the notification is run on a daemon which is only active when my computer is awake, so it may take a few hours (or days) for your request to process. Also, I’m not sure how long I’ll keep this qualification going–probably at least a couple of weeks depending on the response. There won’t be any HITs associated with this qualification. At least not in the foreseeable future.

UPDATE: Please see this post for an important update. Amazon clarified that they only allow Requester-to-Worker communications where a previous work relationship has already been established. It’s not enough to opt-in for a qualification. You must have an assignment either approved or rejected before a requester can contact you.

Erica Sadun

AddThis Social Bookmark Button

It’s a mess, it’s a hack, but it does work. Make sure iTunes and Safari are opened before running.

#! /usr/bin/perl
# Erica Sadun, 9 April 2006

%countries = ("143460", "Australia", "143445", "Austria", "143446", "Belgium", "143455", "Canada", "143458", "Denmark", "143447", "Finland", "143442", "France", "143443", "Germany", "143448", "Greece", "143449", "Ireland", "143450", "Italy", "143462", "Japan", "143451", "Luxembourg", "143452", "Netherlands", "143457", "Norway", "143453", "Portugal", "143454", "Spain", "143456", "Sweden", "143459", "Switzerland", "143444", "UKt", "143441", "USt");

# Iterate through each country.
foreach $item (reverse sort keys(%countries))
{
  print "Switch to ".%countries->{$item}."?t[n] ";
  if (prompt() =~ "y.*")
  {
    loadCountry($item);
    print "Press return to continue."; prompt();
  }
}

# Prompt [y/n] (default is "n")
sub prompt
{
   $| = 1;   $_ = <STDIN>;  chomp;
   my $yn = $_ ? $_ : "n"; $yn =~ tr /A-Z/a-z/;
   return $yn;
}

# Use jingle API to load the country
sub loadCountry
{
   my $countrycode = shift;

   $doit = "osascript -e 'tell application \"Safari\" to activate'; osascript -e 'tell application \"Safari\" to set URL of document 1 to \"http://phobos.apple.com/WebObjects/MZStore.woa/wa/com.apple.jingle.app.store.DirectAction/switchToStoreFront?storeFrontId=$item\"'";

   # Load Country
   print "Loading ".%countries->{$countrycode}."n";
   `$doit`;

   # Bring Terminal to front--or at least frontish
   $doit = "osascript -e 'tell application \"Terminal\" to activate'";
   `$doit`;
}
Kevin Hemenway

AddThis Social Bookmark Button

I’ve been fiddling with Boot Camp on a MacBook Pro 2GHz since its release, and I’m ready to settle in: I can just expect games to work with all their gee-whizardry enabled and the highest widescreen resolution. Half-Life 2, Dungeon Siege II, Tomb Raider: Legend, and Oblivion: all working wonderfully. The one question remains: which of the zillion MMORPGs whose doors are now opened do I want to explore? (Yes, I play World of Warcraft, and yes, I do so only under OS X).

I’ve given up on the wireless connection for anything but casual online browsing or downloads (such as small patches) - various folks have suggested Windows XP’s wireless capabilities are “flaky”, and I’ve no real desire to fix it when I can wire into my router easily enough. Last night, I started a free trial of R.O.S.E. Online (which is at least entertaining enough to want me to play for a second day), and I’m debating City of Villains and this week’s Auto Assault (though, fie!, do I wish there were demos).

My final notes on the Boot Camp experience (see my previous posts for more):

  • remapkey.exe, a utility that will allow you to remap keys (so that you can “Delete” on a MacBook Pro, where the existing Delete mimicks Backspace), isn’t actually included in Windows XP, as I originally assumed. Instead, it’s part of some Windows utility/resource pack, along with a bunch of other junk. Worried about hard drive space (see below), it’s relatively easy to find a standalone copy of the .exe on Google, and I can confirm it does what it professes.
  • I originally chose 25 GB for the size of my Windows partition, so that I could read and write to it from OS X (where I’d be downloading demos and so forth whilst I accomplished real work). With three recent games installed, however, I’m already down to only 10 GB left, which is a bit less than I had hoped for. Granted, “how many games can you play at once?” and all, but still, a bit disconcerting. Hopefully Leopard has some way of writing NTFS filesystems.
  • Oddly, when I plug in my headphones to the MacBook Pro running Windows XP, sound will continue to spit out of the laptop speakers. I discovered this accidentally when I was kicked out of the local Borders - apparently, audio erotica is not appropriate whilst enjoying a tasty cheesecake at their cafe. Explanations that I was working on my memoirs, How I Learned Romance From Big Brown Riding Hoof, persuaded them little.

Any questions?

Erica Sadun

AddThis Social Bookmark Button

0604GiftingFreeItems.gif

Derrick Story

AddThis Social Bookmark Button

I recently posted a simple workflow for producing great prints. Now, how about going beyond the simple snapshot and making your own fine art B&W enlargements? Here’s one surefire way.

In Great Prints from Your Mac, I focused on the basics in order to take some of the mystery out of the print process. By going just a few steps further (and a notable financial investment), you can make your own fine art B&W prints.

In the post titled, Perfect B&W Prints from Digital Files on the O’Reilly Digital Media site, I introduce a new Photoshop plug-in called Exposure by Alien Skin that enables you to make fantastic B&W conversions from your existing digital files.

I then output these images to an Epson R2400 printer that uses the new UltraChrome K3 inks. What makes the Epson so good for this type of output is that three of the eight cartridges are black (black, light black, and light, light black).

Epson K3 Inks

Get yourself some good looking Epson fine art paper, and you will be amazed by what you can produce in your own home. And they’re archival too!

Jason Deraleau

AddThis Social Bookmark Button

It’s Friday. It’s the end of the business week and no one wants to work any harder than he or she has to. Some might call that laziness, but it’s really about having an economy of effort. Just enough to keep the system moving AND to keep your own sanity.

As tribute to you, the hardworking Mac users of the world, I’m going to do my part to help you finish up the work week. Each Friday, I’ll share a script, workflow, widget, or other utility that somehow helps make my work faster or my life easier. These might not be tools that are perfect for every person, but they will certainly help some of you. And if you have something you’d like to share, please feel free to forward it along. I always appreciate a new way to save some time.

The Problem

Since the later years of the classic Mac OS, it’s been possible to schedule the startup and shutdown times of Apple computers using the Energy preferences. While a couple of early Mac OS X releases lacked this convenience, it has since been re-added to the OS. In Tiger, you can find these settings in the Energy Saver preferences pane ( Apple menu -> System Preferences -> Energy Saver). In the lower right-hand corner of the pane is a button labeled Schedule. Click it and you’ll see something like this:

Using these options, it is possible to schedule your Mac to start up at a given hour, as well as shut down (or sleep!) at your desired time. While this is certainly convenient if you want your machine up and running when you yourself get up and running in the morning, it doesn’t feel quite complete in the shut down department. Sometimes, you don’t want your machine to shut down at a specific time so much as after a certain amount of time has passed. For example, you’re up late, uploading that new web template to your homepage and you don’t want to wait for it to complete before you hit the sack.

In these situations, the Energy Saver preferences leave a lot to be desired. Sure, you could always set the shut down time by simply adding the necessary minutes to what your Mac’s clock is showing you, but that is hardly a convenient solution. You could accomplish this in the Terminal by using the shutdown command, but that isn’t exactly an elegant solution. Faced with this problem recently, I employed AppleScript to create a delayed shut down.

The Solution

My plan for the script was simple. First, pop open a dialog box to ask the user for the number of minutes that should pass before the shut down occurs. Then, wait for that time to pass before shutting down the system. So, my initial script looked something like this:

Note: Many of these lines of code are too long to fit in the width of this page. Where necessary, white space has been inserted to fit the site template. Long lines have been broken up into multiple lines, with each segment indented by a single space.

display dialog "Please enter the time to wait in minutes:" default answer "5"
 buttons {"Cancel", "Shut Down"} default button "Cancel"

set myResult to the result
set delayTime to ((the text returned of the myResult) as number)

delay (delayTime * 60) -- Multiply minutes by 60 for seconds
tell application "System Events"
    shut down
end tell

While totally functional, the script doesn’t offer much functionality. Perhaps I’m a MacBook user and I’d rather put my machine to sleep than have it shut down completely. So, I added a bit more code to give the user a choice:

display dialog "Please enter the time to wait in minutes and click the desired action:"
 default answer "5" buttons {"Cancel", "Sleep", "Shut Down"} default button "Cancel"

set myResult to the result
set delayTime to ((the text returned of the myResult) as number)
set desiredAction to the button returned of the myResult

delay (delayTime * 60) -- Multiply minutes by 60 for seconds
if desiredAction is "Sleep" then
    tell application "System Events"
        sleep
    end tell
else if desiredAction is "Shut Down" then
    tell application "System Events"
        shut down
    end tell
end if

Now the script is a little more versatile. It asks the user how many minutes it should wait and allows the user to specify which action should then be performed. My only concern at this point was that there isn’t really any user notification involved in the process. While I could have used more dialog boxes to give feedback, I instead turned to Growl for my notification needs. Here then is the final script, including Growl calls for when the shut down is scheduled, as well as periodic Growl notifications as the shut down becomes imminent:

(**************************************************
Name: Delayed Shutdown.scpt
Purpose: Sleep or shut down the system after a given
 number of minutes have passed.
Version: 2006032701
Author: Jason Deraleau <jldera at mac dot com>
License: Attribution-ShareAlike Creative Commons License
**************************************************)

-- Pop a dialog and get the action/time from user.
display dialog "Please enter the time to wait in minutes and click the desired action:"
 default answer "5" buttons {"Cancel", "Sleep", "Shut Down"} default button "Cancel"

-- Populate variables
set myResult to the result
set delayTime to ((the text returned of the myResult) as number)
set desiredAction to the button returned of the myResult

-- Pop a Growl notification
set theDescription to "The system is scheduled to " & desiredAction & " in "
 & delayTime & " minute(s)."
tell application "GrowlHelperApp"
    notify with name "System Alert" title "Delayed Shutdown" description
     theDescription application name "jd System Scripts"
     icon of application "Dashboard.app"
end tell

-- Delay for (time minus 30 seconds) and pop another Growl notification
set delayTime to ((delayTime * 60) - 30)
delay delayTime
set theDescription to "The system is scheduled to " & desiredAction & " in 30 seconds."
tell application "GrowlHelperApp"
    notify with name "System Alert" title "Delayed Shutdown"
     description theDescription application name "jd System Scripts"
     icon of application "Dashboard.app"
end tell

-- Delay for 20 seconds and pop final Growl notification
delay 20
set theDescription to "The system is scheduled to " & desiredAction & " in 10 seconds."
tell application "GrowlHelperApp"
    notify with name "System Alert" title "Delayed Shutdown"
     description theDescription application name "jd System Scripts"
     icon of application "Dashboard.app"
end tell

-- Delay last 10 seconds and perform the desired action
delay 10
if desiredAction is "Sleep" then
    tell application "System Events"
        sleep
    end tell
else if desiredAction is "Shut Down" then
    tell application "System Events"
        shut down
    end tell
end if

Enjoy this script. I’ll be back with another treat next Friday.

Erica Sadun

AddThis Social Bookmark Button

Sometimes playlists and albums aren’t enough to keep my tunes organized. I like prefixes. They let me keep certain songs together without dividing into extra playlists.

What follows is a quick AppleScript I use to add a prefix to all items in a temporary playlist. Note that the script checks to see if each song already has the prefix. If so, it skips that song and goes on to the next. Change the playlist name and prefix as desired.

Erica Sadun

AddThis Social Bookmark Button

After today’s system update, my fonts suddenly went wacky. They got big, fuzzy and ugly. Going on memory, from like a gadzillion years ago, I remembered that there was an Appearance item in Systems Preferences to deal with this. Sure enough I had to reset my Font Smoothing Style to “Standard - best for CRT”. What I’d totally forgotten though is that you have to log out and log back in for the change to take effect. So here’s my reminder for anyone else affected: Don’t Forget to Log Out & Back In.

Hope this helps.

Erica Sadun

AddThis Social Bookmark Button

I hate having to use the iTunes interface directly. It’s slow. It’s annoying. It’s not macro-friendly.

So last night I decided to throw together some code to grab featured items from the iTunes Music Store and show them all together in Safari. From the command line. With working links, of course.

0604iTunesPicscaled.tiff

Derrick Story

AddThis Social Bookmark Button

Epson R2400 Printer

Producing good prints that even come close to what you see on your computer monitor is still the most frustrating aspect of digital photography. It doesn’t have to be, however. Just remember these three steps: calibrate your screen, image edit your photo, and configure your printer.

If you don’t have a colorimeter to calibrate your monitor, such as the Pantone Spyder, go to the Displays preference pane, click the Color tab, then click on the Calibrate button. Mac OS X will walk you through a pretty good calibration process. My tips are, use 2.2 for the Gamma setting and D65 for the White Point. Some folks have asked me about the new huey screen calibrator that costs less than $80 and includes nifty software for the Mac. It’s fun to use, but I get better results from the Spyder, or even using the Displays preference pane calibrator.

Now that your screen is displaying photos properly, open the image you want to print and make your basic exposure and white balance adjustments. Don’t go crazy here, just tweak enough so the image looks natural and balanced.

The final tip is to let your Mac control the color management, not the printer. Choose Colorsync in your printer dialog box (from the Color Management dropdown menu) and choose the correct type of paper from the Print Settings dropdown. If you have custom ICC Printer Profiles for your printer, load them and use ‘em. This is one of the reasons that I like Epson printers so much. You can download ICC profiles from the Epson site.

Choose Colorsync

Now print. You’ll be surprised how much better your output looks by just following these three basic steps. And in case you’re curious, my current favorite “serious” printer is the Epson R2400. This is a great fine art unit that produces archival content that lasts for over 100 years. On the simple side of things, I really like the portable Dye Sub units made by Canon. I’ve been using a CP-300 for some time now for 4″x6″ snapshots, and it works great.

Robert Daeley

AddThis Social Bookmark Button

The title of this entry probably seems a mite specific, but I had a devil of a time tracking down the technique in my original Google searching and thought I would share it here for posterity. Basically, all I wanted to do was create a simple chart in NeoOffice, using two non-adjacent columns of a spreadsheet. The columns were in one sheet (”Data”), the chart in another sheet (”Chart”, appropriately enough).

Giles Turnbull

AddThis Social Bookmark Button

Owen Linzmayer doesn’t like the way Login Items cannot be temporarily disabled or skipped in OS X; either you load all of the ones you have set up in the Accounts Prefs, or hold down shift during login and don’t load any of them. This can be troublesome if you’re out on the road and don’t want to load up all the stuff needed to operate peripherals that aren’t connected.

Well, Owen has a point there, but as soon as I read his complaint a simple solution popped into my head.

Todd Ogasawara

AddThis Social Bookmark Button

My earlier blog Stream Music over WiFi from your Home Server to your Sony PSP generated a number of requests for the source code. I finally got around to cleaning up the code to make it a bit more readable and move the configuration settings to a separate file.

Robert Daeley

AddThis Social Bookmark Button

The single handiest modification I’ve made to my Mac UI lately: moving the Dock to the top of the screen. “Heretic!” I hear you exclaim. Ah, but give me but a moment to explain….

Erica Sadun

AddThis Social Bookmark Button

Reader Merlyn reminds me after reading my article today on Quartz Composer, you can use Quartz Composer compositions as screen savers. Just place them into ~/Library/Screen Savers and select with the Desktop & Screen Saver preferences pane. You may want to skip the gradient background and just use a simple black background for screen savers. Use a “Clear” patch and set the clear color to black.

Francois Joseph de Kermadec

AddThis Social Bookmark Button

Recently working on setting up a server, I investigated mod_rewrite to prevent easy hot-linking of a specific element and stumbled on a Safari/Firefox idiosyncrasy. It still has me worried I am nothing but a big dodo, though…

Erica Sadun

AddThis Social Bookmark Button

A few days back, I offered to explain how I was using sockets to connect to Amazon’s S3 service. A few people expressed interest in the comments and via email. In order to simplify the example (since the S3 service involves a lot of authentication), I decided to start with an iTunes Music Store query. This has the advantage of a very simple header where you just substitute in a search phrase as needed. And of course, you can do it by hand without programming to start with.

More details, how-to, mumbling and source code over at engeek.

Erica Sadun

AddThis Social Bookmark Button

In OS X Tiger, when a picture file doesn’t have a proper Desktop thumbnail, I rename it. This makes the Finder update the file and add the thumbnail. Then I undo. The picture keeps the thumbnail but reverts to its original name.

Derrick Story

AddThis Social Bookmark Button

library_spanner.jpg

If your Aperture library has become larger than what your hard drive can handle, I have two possible solutions. The first is to employ this mobile drive solution in combination with tapping the power of the Projects feature in Aperture.

The second possibility is to try Ben Long’s Aperture Library Spanner that allows you to span an Aperture library across multiple volumes.

Regardless of which method you try, always backup (or vault) your entire Aperture library on an independent drive first. You can’t be too careful with your pictures.

Giles Turnbull

AddThis Social Bookmark Button

One teeny little thing that bugs me about BBEdit is the way that all new document windows open on the far left of the screen. While BBEdit’s preferences do allow a certain amount of control over the window size, there’s no built-in way to customize its position.

Off I went a-searching, and some digging around in the BBEdit-Talk mailing list archives unearthed the tip I needed.

Maarten Sneep wrote a script that re-sizes all new BBEdit windows to your chosen size and screen position. I like mine to be almost square and very nearly in the center of the screen, so the crucial co-ordinates line in my version reads as:

 set bounds of text window 1 to {273, 44, 891, 618} 

But as Maarten’s tip points out, you can use the Record function in Script Editor while re-sizing a BBEdit window to your taste, then simply use the co-ordinates that show up in the recorded script.

Erica Sadun

AddThis Social Bookmark Button

  • /usr/bin/say Speak the arguments out loud, e.g. % say hello world
  • /sbin/md5 Calculates a message digest checksum for a file, e.g. % md5 foo.gif
  • /usr/bin/cpan Grab and install CPAN module. e.g. % sudo -H cpan -i LWP::Protocol
  • /usr/bin/xmllint. Test XML file integrity, pretty print and more. e.g. % xmllint –format foo.xml
Erica Sadun

AddThis Social Bookmark Button

You’ve probably heard about S3. It’s Amazon’s new storage service that debuted just a couple of days ago. Developers can store data of any kind, up to 5GB per chunk, and retrieve it at will. (The 5GB limit is just for a single file. You can store as much data as you want.) The idea is to provide flexible and reliable data storage using the same scalable model already seen with other Amazon Web Services (AWS), such as the Simple Queue Service, Mechanical Turk and Alexa Web Search. Amazon, in short, is building the backbone for a new kind of Web.

Erica Sadun

AddThis Social Bookmark Button

Andy Budd has a nice article about smart iTunes playlists that hit Digg this morning. I enjoyed reading it as well as the comments, and thought I’d share.

Erica Sadun

AddThis Social Bookmark Button

Late last week, Mac DevCenter Blog’s feeds went a little screwy. Mea culpa. I used an uppercase closing tag to match a lowercase opening tag.

Some feeds (in particular Atom 1.0) depend on valid xhtml so news readers will parse them correctly. Unfortunately MT does have any kind of HTML fixer/checker. So I ask our readers will the OS X command line xmllint –html work properly and consistently as a validator to help this problem?

Erica Sadun

AddThis Social Bookmark Button

In my recent iTunes Music Store post, I wrote that “I can record shows off my TiVo and transfer them onto my iPod”. Reader Randal L. Schwartz responded, “Yeah sure, brag won’t ya. That requires either a series 1 TiVo that has been hacked (I have a series 2), or a windows box (which I’ll never own).”

Actually Randal, all it requires is a digital camcorder like the kind you use with iMovie or an Analog/Digital video bridge such as the Canopus ADVC or Miglia’s Directors Cut. Many digital camcorders allow you to connect to an external video source and connect that video signal via Firewire to a computer. It’s called digital pass-through. If you can hook up your video signal across an analog-digital converter, you can record your shows to an iPod-compatible format in real time using QuickTime Pro. You don’t need an hacked TiVo and you don’t need a Windows box.

I wrote up a quick how-to over at my engeek website.

Erica Sadun

AddThis Social Bookmark Button

Of the various several portable devices that I regularly hook up to my TV using a standard 1/8th-inch to RCA cable, only the iPod uses a non-standard output configuration. It produces a video signal through what is normally the right audio channel. A few months ago on MacDevCenter, I wrote about connecting Video iPods to a television set by swapping around the RCA connectors. While this works perfectly well, it’s a pain to reach behind the set and switch connectors every time I want to watch iPod video on the TV. So I built a converter cable instead.

This article describes the parts I used and the steps I took to put together this cable. From beginning to end, the project took about twenty minutes to construct and test. It cost about $4. It’s slightly more if you count in the shipping and handling from parts supplier Mouser, even divided as it was among several projects. It’s less if you’ve got a spare USB cable lying around the house.

Want to build this yourself? Make sure you’re reasonably confident at wire-stripping and soldering. Those are really the only two skills involved.

Erica Sadun

AddThis Social Bookmark Button

Reader Mike Dred posted a link to an article he wrote about why your iPod video cable might not work. iPod skins topped his list, preventing cables from seating properly in their jacks:

By removing the iSkin from the proximity of the iPod Headphone jack the demons were gone and I was watching great quality podcasts and movies on a giant screen from my iPod with good audio.

Other problems include using defective cables, forgetting to set TV Out to On, using the wrong system for your TV (NTSC for North America, PAL for Europe and Australia), and mis-setting the Widescreen option. Follow the link and read it all.

Derrick Story

AddThis Social Bookmark Button

iPhoto 6.0.1 (correction: 6.0.2) has refined its ability to publish images in your library via RSS. And it works great — in some ways almost too well. You need to be aware of the resolution you’re sending out to control bandwidth requirements and how your images can be used.

When you enable an album for photocasting (highlight the album >Share > Photocast), you have the option of setting the image resolution you’re sending out: small, medium, large, and original size. I tested these settings with a pictures I captured with a Canon Digital Rebel XT DSLR (8.2 MP) and a Casio EX P505 digicam (5MP). The original resolution for the Canon was 3456×2304 and 2560×1920 for the Casio. When I chose the “small” option, the image iPhoto served was 639×426 (Casio 640×480). “Medium” sent out 1279×853 (Casio 1280×960), “large” syndicated 1920×1280 (Casio 1920×1440), and “original” was as expected, 3456×2304 and 2560×1920 respectively. The output differences between the Digital Rebel and the Casio are because the Rebel captures images that are more rectangular than typical compact cameras.

If the goal of your syndication is for online viewing only, I recommend that you keep the image resolution at “small.” Your recipients will need less bandwidth, and you don’t have to worry about folks making high quality prints from your work. If you do want to enable printing, however, the “medium” output setting enables folks to make a photo-quality 5×7 print, and “large” can produce a very nice 8×10 print. The “original” output is of course dependent on the resolution of your camera.

I think for friends and family sharing, the “medium” setting is all most folks would need. This is a nice compromise between reasonable bandwidth requirements (200-500kb per image) and decent printing resolution. If you want to speed things up however, the “small” output is a svelte 70-150kb per shot.

Erica Sadun

AddThis Social Bookmark Button

Idol season is surely upon us. And I have received many letters begging me to reveal how to make copies of YouTube videos. Ace and Taylor, whoever you are, you are greatly admired by a large segment of female America. For these folks and for anyone else who’s wondered how to archive YouTube video, here’s the answer. Follow this quick step-by-step process for retrieving YouTube content to display on your Mac or iPod.

Francois Joseph de Kermadec

AddThis Social Bookmark Button

A few days ago, all my disk images, including my backups stopped mounting… flat. Once double-clicked, hdiutil complained about an authentication error and refused to go any further. Had I been bitten by the ghost of the FileVault bug? Nope, luckily!

Todd Ogasawara

AddThis Social Bookmark Button

Looking for a Mac OS X focused Ruby on Rails tutorial? Head over to Apple’s developer web area for a nice little tutorial on the subject.

Francois Joseph de Kermadec

AddThis Social Bookmark Button

Camino and Safari both have a very different view on what “Reset” means. Two very interesting approaches with very different effects for their users indeed.

Francois Joseph de Kermadec

AddThis Social Bookmark Button

We Mac users may not be in the habit of checking security mailing lists and announcements but we certainly have all the tools to do so. Between Mail and Safari RSS, even those of us who do not wish to invest in any additional software of any kind can stay up to date. Here are a few favorites of mine.

Derrick Story

AddThis Social Bookmark Button

iTunes 6 has a feature that enables you to convert your existing QuickTime videos to iPod-compatible movies. This is a great feature that a lot of folks don’t know about. Previously, you either had to buy third party software or upgrade to QuickTime Pro to easily rip to this custom .m4v format.

The process in iTunes couldn’t be simpler. Use the “Add to Library…” command to bring your movie into iTunes. Then click once on the movie to highlight it, now choose “Advanced > Convert Selection for iPod.” iTunes with rip your move to the appropriate iPod configuration, then save it as a copy in your Library, leaving the original untouched.

Another lesser known tool in iTunes is the “Get Info” command that allows you to change the ID3 tags without having to resave the movie or export it. Go to “File > Get Info > Info” and fill out the appropriate fields. When you click OK, the data is saved to the movie file.

I use this method for adding the metadata to my The Digital Story podcasts. Once I add the data, I go to my Music folder, open the iTunes folder, find the file I just adjusted, and drag a copy out to the Desktop (Option/drag). I can then upload the podcast to my server for publishing with the correct tags.

I’ve uploaded a sample clip of Tim O’Reilly speaking at WWDC ‘05 using iTunes to rip it. The original 1:47 movie (320 x 240) was encoded with Sorenson Video 3 and Qualcomm PureVoice Mono codecs. The file size was 18 MBs. The re-ripped iTunes version uses H.264 for the video and AAC Stereo for the audio. Its file size is 9.4 MBs. The audio for both movies sounds identical, and the video quality is comparable (slight nod to the original Sorenson). This is amazing considering that the H.264 version was ripped from the Sorenson version, not from the master file.

If you have an iPod video, using iTunes 6 is by far the easiest way to prepare your movies for portable viewing.

Francois Joseph de Kermadec

AddThis Social Bookmark Button

The good folks at the Omni Group must be happy. Apple has just promoted their browser to be part of the iLife suite of applications. Well, almost.

Francois Joseph de Kermadec

AddThis Social Bookmark Button

Since the introduction of Safari, Mac users have favored the browser for its rendering speed, clean interface and fast launch times. Those who relied on Firefox were all about extensibility, configurability and IE compatibility. Or so I thought.

Robert Daeley

AddThis Social Bookmark Button

Whilst poking around in ~/Library/Preferences/com.apple.mail.plist, making PreferPlainText equal “Yes”, I came across a property I don’t remember seeing before: “TornOffToolbarIsHidden”, set to Yes. Changing it to No and relaunching Mail doesn’t appear to change anything.

Googling “TornOffToolbarIsHidden” and “TornOffToolbar” don’t produce any hits. Has anybody seen this before?

I am envisioning nonexistent control palettes floating around.

Robert Daeley

AddThis Social Bookmark Button

This week on Apple’s X11-Users mailing list, a question was raised about the company’s plans for updates and bug fixes for X11, their X Window system based on XFree86. A user brought up that it would be spiffy to move to the recently released X.org 6.9/7.0, the popular, open-source alternative.

Apple’s “official” response is understandably vague on future plans, but they are “evaluating” it. In a post to the list, Ernie Prabhakar (Product Manager for UNIX and Open Source) reiterated that the updated X.org “doesn’t quite build,” but also pointed to his message from December on the Darwin-Dev mailing list: Request For Help with X.org port. If anybody has the skills, inclination, and time, that project could definitely use some help.

Fraser Speirs

AddThis Social Bookmark Button

I loves me some keyboard shortcuts! I’m sure you do too. Here’s how I set up my machine.

We’re blessed with at least 12 function keys on most Mac keyboards, and I like to try and get the most out of them. I haven’t found a use for every single key yet, but I’m working on it!

Exposé

F1-F4 are reserved for Exposé and Dashboard. I like to use Exposé to uncover windows while dragging, so I moved these functions to Function keys which are easier to reach with my left hand as I use the mouse.

F1 - All Applications
F2 - Application Windows
F3 - Desktop
F4 - Dashboard

Quicksilver Triggers

I recently started using Quicksilver triggers to directly open certain applications. The following unmodified Function keys open these applications:

F5 - Safari
F6 - Mail.app
F7 - NetNewsWire
F8 - Yojimbo
F9 - iTunes
F10 - iCal

Yojimbo

Yojimbo from Bare Bones Software is one of my latest must-run-24×7 applications. I have F8 bound to a Quicksilver trigger to open the app, but Yojimbo can also use hot keys to perform various functions. I use F8 as my “Yojimbo Key” and add different combinations of modifiers to make different things happen.

As mentioned, F8 will open Yojimbo
Cmd-F8 will open Yojimbo’s Quick Input Panel
Cmd-Opt-F8 opens Yojimbo with the search field focused (this is the “Find in Library” option in Preferences).
Cmd-Shift-F8 opens and closes Yojimbo’s Drop Dock

Synergy

I love Synergy for controlling iTunes with hot keys. Quicksilver can also do this. I have these keys set up for iTunes:

Cmd-F9 - Play/Pause iTunes
Cmd-F10 - Show Synegy’s floating Window
Cmd-F11 - Previous Track
Cmd-F12 - Next Track
Cmd-Ctrl-F{1-5} - Set current song’s rating to 1-5.

In addition to all of this, since I’m using a PowerBook, I also have the “fn” key to give me access to the brightness, volume, screen mode and keyboard functions that are added to F Keys on Apple portables.

So, I’m curious - what functions do you find so useful that you bind them to keyboard shortcuts?

Giles Turnbull

AddThis Social Bookmark Button

The first thing you need to know is that iPhoto Keyword Assistant has been updated, and the new 1.9 release supports iPhoto 6 (but not on Intel-powered machines).

I’ve been looking forward to this, because it means I can finally put some effort into tagging my huge photo keywords backlog.

Thanks to iPhoto 6’s improved performance, I’m much more willing to invest time in my digital photography collection. While I like the idea of tagging data generally, I’ve not used iPhoto’s keywords feature to date, simply because the interface for doing so was so difficult and time-consuming to use.

Matthew Russell

AddThis Social Bookmark Button

Since doing an “unclean” install of Tiger back in April, I’ve noticed that I have intermittent troubles with my PowerBook coming out of sleep. Often times, my machine just appears completely unresponsive, gives me a solemn black screen, and I have to hold down the power button to force a shut down, and then boot back up — not fun.

A colleague’s solution to the problem was to do a clean install, and come to think of it, I’ve received that same advice from a lot of folks involving a variety of problems. It appears that a clean install is standard practice for many folks in the Mac community — but not me. Although it may be pragmatic and I should probably just go with it, I just can’t; it seems so inadequate to me. I don’t want to back all of my stuff up, I don’t want to degunk my Mac by zapping everything and starting all over, and I don’t want to think that the health of my machine depends upon doing one of the things that I disliked so much about Windows. Call me stubborn (or stupid), but my plan is to do complete backups regularly to my external drive, and not ever do a clean install unless absolutely forced into it by some sort of unresolvable failure.

But getting back to the magic key combination — it turns out that my power problems have resolved now that I reset my PowerBook G4’s Power Management Unit (PMU). I just followed these instructions, which directed me to hold down shift-ctrl-option-power for 5 seconds while my machine was off, wait five seconds, and then do a normal start up. After some extensive testing, I have concluded that my power problems have indeed been vanquished, and I now have one less reason to do a clean install! (And since we’re at it, I also resolved a weird issue with XCode last night that was threatening me into making a clean image or a clean install. As indicated in the comments, the fix was to switch to the Universal SDK instead of the default setting even though my intention was not to build a universal binary. I still don’t understand it, but it works. Hooray!)

For your edification, the following links may be of use to you if you’re interested in escaping a clean install or want to demystify some of the “magic” that happens when you call Apple Care:

Am I the only one who refuses to do a clean install?

Erica Sadun

AddThis Social Bookmark Button

So my copy of iLife 6 arrived in the mail this morning and I spent a few happy hours hacking around the new version, playing particularly with the new Themes feature. Updating the themes proved very easy, particularly with the delicious Quartz Composer.

I played around with “Reflection - White”, converting it easily into “Reflection - Peach”, but was unable with the time given to figure out how to add new Themes or to create additional options for a given theme.

The secret? Descending into /Library/Application Support/iMovie/Themes/ReflectionWhite.bundle/Contents/Resources and gussying up the Open.qtz file. Had to import one background image (in this case, a basic peach backdrop, although I originally used a Google Earth image of our old house) and set three colors for the fades.

Here’s what it looked like when all was said and done.

iMovieHack1.gif
Robert Daeley

AddThis Social Bookmark Button

Next in an occasional series[1] on creating a full-screen writing environment is an article by Merlin Mann over at 43 Folders: Open Thread: Developing for Full Screen Mode? Here’s his summary of what it’s all about:

Essentially, it temporarily hobbles your maddeningly versatile Mac into a machine for doing exactly one thing, being whatever is appearing in your single Full Screen window. And you might be amazed what a nice thing that can be sometimes.

Merlin asks what is involved in giving a Cocoa application the ability to take over the screen. There are some informative technical responses in the comments about how one would do this with a Cocoa app, which you should check out for direction if you’re interested in adding this capability to yours.

In addition to the X11+window manager idea I mentioned in this space previously, there was a pointer to this thread on ArsTechnica regarding the fun GLTerminal, which allows you to create a nifty “Wargames”-style terminal environment. (GLTerminal should not be mistaken for GLTerm, a different beast altogether.)

[1] See Full Screen Text Editing and GUI Schmooey

Matthew Russell

AddThis Social Bookmark Button

A project I’m finishing off involves a simple little front end that I’ve decided to implement using some DHTML. As I was reading up on JavaScript’s setTimeout method as part of my DHTML research, an interesting thought crossed my mind: would it be possible to make a strobe light out of that old archaic CRT monitor sitting on my closet floor and such a weak (as in weakly typed) language as JavaScript?

Well, I decided to give it a try and it actually worked out pretty well — although it did give me a mild headache after I had the not so keen idea to stare directly at it for a few seconds. Be warned that if you’re that one other extremely unlucky person, you might just ruin your equipment (or cause someone you know to have a seizure) by running a script as powerful as this one.

Here’s the code you need to make use of that old dust magnet.


<html><head>
<title>Strobe</title>

<script>
<!-- If you're extremely unlucky, you may break your equipment, or worse, have a seizure -->
function toggleBgColor()
{
  document.bgColor = document.bgColor == '#ffffff' ? '#000000' : '#ffffff';
  setTimeout('toggleBgColor()', 75); //in milliseconds
}
</script>
</head>

<body onLoad='toggleBgColor();'>
</body></html>

Just save the code as a webpage (text file that ends in “.html”) and open it up in your favorite semi-modern web browser to let the fun begin. Pretty simple, huh?

Can you think of anything better to do with that old monitor than make a strobe out of it? (Or do you know of any other JavaScript hacks that could potentially be hazardous to your health?)