Running Log
Four miles in 35 minutes on the treadmill.
Four miles in 35 minutes on the treadmill.
I just tested it quickly by renaming a previous home-made ringtone file to m4r and double-clicking. It imported, synced to and played on my iPhone without any other steps.
Currently there are no known ringtone hacks for iPhone 1.1.1.
Apple, you’re pissing off your fans. Don’t do this. [we’ll just be over here pretending you listened!]
This totally seems like it shouldn’t work.
If you’re seeing “cannot be played on this iPhone errors” like this:
![[file] was not copied to the iPhone](https://joemaller.com/wordpress/wp-content/uploads/2007/09/cannot_be_played_on_this_iphone.png)
Open your iTunes Library folder and find the Ringtones folder: iTunes Music/Ringtones.
Select your ringtone and change the file extension back to m4a. Yes, m4a.
Sync again and your custom ringtone should be working on your iPhone. Nice.
Thanks to commenter Robbie, building on steps from Jason Choi, here’s how to get custom ringtones working in Windows:
MusiciTunesiTunes MusicRingtonesMusiciTunesiTunes MusicRingtones)The price drop on iPhone was shocking. I was all set to buy a new Nano, but the idea that my iPhone now costs one-8GB-nano less has me waiting. This seems like a big enough PR blunder, or setup, that Apple will followup with some easy goodwill. I’m still going to get a new nano, but I’m going to wait at least until the weekend.
Today Apple does it again: To all iPhone customers
…[W]e need to do a better job taking care of our early iPhone customers as we aggressively go after new ones with a lower price. Our early customers trusted us, and we must live up to that trust with our actions in moments like these.
Therefore, we have decided to offer every iPhone customer who purchased an iPhone from either Apple or AT&T, and who is not receiving a rebate or any other consideration, a $100 store credit towards the purchase of any product at an Apple Retail Store or the Apple Online Store. Details are still being worked out and will be posted on Apple’s website next week. Stay tuned.
We want to do the right thing for our valued iPhone customers. We apologize for disappointing some of you, and we are doing our best to live up to your high expectations of Apple.
I think they fully expected this reaction having done something similar to quell outrage after dropping the price on Aperture last year. It’s a win-win for Apple, if there was no outrage, then eh, they just sell more phones. If there is outrage, as there was, Apple wins, probably more.
The intial news cycle only lasts so long, Apple got some press for the new iPods yesterday, then got more as the media picked up on all the iPhone owners who felt robbed.
All publicity is good publicity.
Apple waited just long enough for things to die down a little, then grabbed everyone’s attention again with a remarkable conciliatory, gesture of goodwill. Happy customers, more coverage. The initial news cycle stretched two or three times what it was and ends on an undisputed high note.
It’s called public relations for a reason. How much does it cost to grab people’s attention? How much to stay at the top of the news cycle?
Apple is playing the game masterfully.
And my new iPod nano is suddenly half off.
For some reason I’ve put off setting up SSH key pairs, probably having something to do with how arcane most of the setup instructions appear. Tonight however, I’m unexpectedly preparing to transfer a client to a new hosting account on Media Temple and enjoying key-pair access to their new repository.
Media Temple doesn’t yet support svn:// access to Subversion repositories, only svn+ssh://. So, having been pushed, I finally decided to make my life easier with SSH key pairs.
The best tutorial I found was Allan Odgaard’s: Subversion support and ssh key pairs. Without ssh key pairs, all the fantastic Subversion integration in TextMate won’t work with svn+ssh:// repositories.
However there’s one crucial piece of information missing from that: Permissions.
If access to the SSH configuration files is not properly assigned, the ssh pair won’t work. No meaningful errors at connect time, just silent, infuriating failure.
The ~/.ssh directory permissions need to be set to 0700 and the authorized_keys file needs to be set to 0600:
chmod 0600 ~/.ssh/authorized_keys
chmod 0700 ~/.ssh
If group or world have write access to authorized_keys, key pair authentication will fail.
Pre-event predictions:
Other than that, I have no idea. I’ve got a bunch of browser windows open and will be posting on Twitter. Reactions posted here a little later.
Overall, a pretty impressive run of new stuff. I’ve also never been this accurate in predictions, basically 100%, although there wasn’t much swinging for the fences in that list.
I’m getting one. Mostly for Nike+, but I do really like the new form factor. It’s astonishing how small these things are getting. The colors seem very mid-80s, but I expect the metal will have have more depth in person. One more video-playing device won’t hurt to have on the next plane flight either. (can we get Yo Gabba Gabba on iTunes pls?)
The iPod Touch looks great, but I’m mostly surprised at how much it doesn’t do.
If email was there I’d be hard pressed to justify breaking an existing phone contract for iPhone. But the missing features are most likely conscious choices to differentiate iPhone and to maintain the focus of iPod. There’s room for the inevitable To Do List application which will come alongside Leopard’s To Do list framework.
The iPod Shuffle is close to a perfect product. We got one as a gift early this year along with one of the best wooden watches and we both love using it at the gym. New colors, it really doesn’t need much else, except maybe an internal clock and a bit more space.
The price drop on iPhone was shocking. I was all set to buy a new Nano, but the idea that my iPhone now costs one-8GB-nano less has me waiting. This seems like a big enough PR blunder, or setup, that Apple will followup with some easy goodwill. I’m still going to get a new nano, but I’m going to wait at least until the weekend.
The iTunes & Starbucks integration is jus asonishingly huge. This is the beginning of a complete re-imagining of how recorded music works. The idea of a “record store” just evaporated throughout the air we breathe. In a few years this system will be used all over. Any place that plays music will be able to enter into a music distribution profit sharing arrangement with Apple. Doubtlessly they’ll also be able to use custom playlists to promote local or smaller artists. This is the beginning of iTunes Everywhere. Anytime you hear a song, you will be able to take out your iPod and buy a copy. I fully expect to see this in the Apple Stores in a few months as well.
This was the promise, it’s finally happening.
Three miles in 25 minutes on the treadmill, I started off slow instead of stretching. Various body parts felt good. Followed up with lots of stretching and iced knees.
My left knee was pretty messed up after the five mile run back on August 12th. I saw the sports medicine doctor again a few days after that and she advised taking a few weeks off to let my knees recover. Tonight was the 12th day, things have been feeling pretty good for several days now.
The other thing she pointed out was that my experimenting with off the shelf arch-support insoles (my feet have hurt for a long time) was probably a big part of my knee pain. Legs seem to be very precisely balanced, the hips, knees, ankles and feet all affect one another more than it seems they would. I now have a prescription for orthotics and some medieval looking thing called a night splint. That’s only supposed to be worn for 4-6 weeks, but it would be nice to wake up in the morning and not have the first 15 minutes on my feet be excruciating.
Valerio Proietti, author of the MooTools JavaScript framework wrote a benchmarking tool called SlickSpeed. This tool runs a number of JavaScript libraries against a suite of CSS selector tests. The source is available from Google Code, I downloaded a copy so I could run tests against the most recent versions of Prototype, MooTools and JQuery against one another.
| prototype 1.5.1.1 |
jQuery 1.1.4 |
MooTools r873 (svn) |
MooTools v1.2dev |
|
|---|---|---|---|---|
| Firefox 2.0.0.6 (Gecko/20070725, Mac) |
210 | 454 | 218 | 243* |
| Firefox 2.0.0.6 (Gecko/20070725, Windows XP) |
177 | 339 | 180 | 164* |
| Safari 2.0.4 (419.3) |
1385** | 372 | 837 | 727* |
| Webkit (AppleWebKit/523.5) |
120 | 185 | 154 | 149 |
| iPhone (AppleWebkit/420+ Version 3.0 Mobile/1C28) |
35975 | 13224 | 25594 | 22811 |
| Microsoft Internet Explorer 7 (Windows XP) |
969** | 421 | 867 | 811* |
Results are in milliseconds (ms), smaller numbers are better. Asterisks indicate errors returned during the test.
All tests were served and run from a MacBook Pro 2.16 GHz Core Duo, iPhone tests were run on a 1st Generation 8 GB model. Firebug was disabled for the Firefox tests.
MooTools is a solid performer. Not the fastest and not the slowest, but Valerio Proietti’s code is consistently impressive.
JQuery has gotten significantly faster in the most recent version, John Resig is also writing really good code.
At least as applies to Valerio’s set of selector tests, JQuery is the fastest library on iPhone, nearly twice as fast as MooTools and almost three times faster than Prototype. Joe Hewitt’s iUI project uses Prototype, how much would iPhone performance benefit from switching to JQuery?
The Webkit team is writing some seriously crazy speed optimizations. If they could just get Safari to stop leaking memory we’d be all set (don’t go looking all smug Firefox, you’re standing in a puddle). As it stands now, when Leopard ships Safari will have the fastest JavaScript engine available. The difference between jQuery and Prototype on Webkit and iPhone is surprising, iPhone runs JQuery nearly three times faster than Prototype using the same browser core.
Firefox runs faster in virtualized Windows than it does native on the Mac. Camino (Mac native version of Mozilla/Firefox/Gecko) was slightly faster, but still not as fast as Firefox Windows.
I’ve got one project wrapping up soon which used MooTools and I’ve been very happy with it. Lately I’ve been reading a lot of buzz about JQuery and might be working that into another project. These tests were mostly just done to satisfy my own of curiosity.