Er...somethin' like that.

Wednesday, November 28, 2007

iChatting: iPhone SDK Already?

A discussion that Dan Pourhadi and I had over iChat late last night.

This strikes me as the perfect way to get started blogging about my opinions and insights about what's going on with Apple without a lot of effort. Enjoy!

Dan Kuehling:
So the word floating around is that Apple's releasing the iPhone SDK to some lucky ducks early

Dan Pourhadi:
i heard
Dan Pourhadi:
februarys not too far away
Dan Pourhadi:
and joswiak is talking up the sdk like it's the second coming of christ

Dan Kuehling:
It is actually kind of a big thing- since the beginning, I always thought iPhone-as-platform would be huge

Dan Pourhadi:
of course
Dan Pourhadi:
i wrote a piece a whiles back about iphone not just being iphone, but being a whole new ... yeah platform
Dan Pourhadi:
cant remember the word i used
Dan Pourhadi:
whiles is actually a word

Dan Kuehling:
Heh
Dan Kuehling:
You know, I wonder
Dan Kuehling:
What the saturation (as a percentage of capable iPods) of iPod games is

Dan Pourhadi:
good question

Dan Kuehling:
Because I'd think that'd be a good lower bound for the acceptance of iPhone/ iPod touch apps
Dan Kuehling:
If they're sold through iTunes

Dan Pourhadi:
yeah

A few things:

The select "lucky ducks"? Almost certainly Apple's strategic partners- Google, Yahoo, Microsoft, and a very select few small Mac developers who are threatened with losing their heads if they speak a word of it to anyone.

Why didn't they do this before? Why the "Web apps are sweet" nonsense? I think there are a few reasons:
  1. Apple's dev tools probably sucked. I have to imagine that Apple's own tools for development on the iPhone were something cobbled together out of bubble gum and paper clips, just enough to get the stuff written and the iPhone shipped. Then, once 1.0 is out the door, they got the time to forge better tools that might be fit for 3rd party consumption.
  2. They couldn't figure out how to secure it. The iPhone, as it stands right now, runs everything as root. Yeah, really. Keeping an app in a sandbox that keeps it away from the GSM radio without wasting a ton of processor cycles and RAM on something like a Java virtual machine is a fairly tall order. I'm very curious to see what they've come up with for solving this problem. I would hope that it doesn't restrict hardware features unnecessarily ("No, you can't use the accelerometer! Not yours!")
  3. The hackers have done some really impressive stuff. Apple completely underestimated the drive and ingenuity of the iPhone hacker crowd. Just a few examples:
    • Navizon- GPS-like location via cell tower and WiFi hotspot mapping
    • TapTapRevolution- tap on the screen in time with your songs
    • Labyrinth- uses the accelerometer to guide a ball through a maze, like those wooden boxes we used to play with as kids
    Some pretty awesome stuff, really. The folks at Apple finally realized that the insanely clever folks working against them actually had something there.
By the way- looking back on Jobs's comment about rogue phone "taking down the AT&T west coast network", I sort of see what he means. Yes, you can install software on your Treos and whatnot, but if the iPhone hits an iPod-like level of popularity (and it certainly looks like it's going that way), malware for the iPhone will be a huge problem. And yes- hundreds of thousands of iPhones all set to dial a 1-900 phone sex number at the same time would certainly be capable of bringing down part of the AT&T network, and bring in lots of dough for the scammer, to boot.

Anyway, I can't wait for the iPhone SDK to show up and the iPhone software that's out there now to "go legit". Because I have to believe that what we've seen so far is only the beginning...

Saturday, November 10, 2007

Leopard presentation

Hey, folks. If you're here, it's probably because of my presentation at the NorthWest of Us today (2007-11-10). Though it was hard work, it was really worth it in the end.

Here's the Keynote '08 file of the presentation:
http://homepage.mac.com/macprince/leopard.zip

Here's the PDF:
http://homepage.mac.com/macprince/leopard.pdf

Sunday, May 27, 2007

Terror! (Or is that "Terr"?)

So, even further back, an entire blog ago, in fact, I hacked together a little PHP script to display your own version of the government's terror alert level. I had it up on Dan Pourhadi's site for a while, until he switched hosts or something and lost it. It sat in the Software Projects folder on my desktop, gathering virtual dust. About a week ago, I had been playing around with regexes and rediscovered this gem, and set about to rewriting it, basically from the ground up.

The changes:
  • 1 regular expression performed, instead of 2 in the best case, and 6 in the worst case.
  • file_get_contents instead of implode()-ing a file()
  • A simple switch() construct instead of a chain of if/elseifs with regexes
  • Optimized the order of the switch cases by sorting them by how likely they are to come up
So it's optimized quite a bit, and works wonderfully. Then, just today, I made a rather interesting discovery. Some time ago, Mivox used my code (with attribution!) to produce her own version with her own graphics, and used the GD library in PHP to allow the script to output an image directly. That allows you to reference the PHP script as the src of an img tag, instead of having to include the script.
I found that to be a fabulous idea, so after downloading Xcode Tools to compile GD to test it out, I implemented that change in my new version of the script. So:

Terror.php, Include Version
  • To be included using a PHP include()
  • Runs on a server with only a PHP installation
  • May be slightly faster
Terror.php, Image Version
  • To be referenced from an HTML img tag
  • Runs on a server with PHP and the GD image library installed
  • Much easier to reference, especially from outside
Instructions:
  1. Download the script of your choice
  2. Upload it to the desired location on your PHP-compatible server. Remember, the Image Version requires the GD library installed on your server
  3. In the same directory, upload PNG format images:
    1. severe.png
    2. high.png
    3. elevated.png
    4. guarded.png
    5. low.png
    6. (Image Version only) error.png
Then, just reference the script in your pages:
Include Version:
<?php include("terror.php"); ?>

Image Version:
<img src="terror.php">

As the comments in the scripts say, if you use the script on your site, please email me and let me know; my email address is in the comments.

In the near future, I may be posting a few image sets for use with these scripts, since I see that Mivox is a fan of the (incomplete) Dragon Tales set.

Saturday, May 26, 2007

AT&Tingular?

So, way way back, I posted about Cingular becoming AT&T again. Well, it's finally happening, and I still don't like it. There's no "AT&T Mobility" web site, just Cingular.com. The AT&T globe is popping up everywhere, but everything's still orange, not blue. One of my professors (Hi, Prof. Clark!) got a new KRZR with a Cingular logo on it from a "Cingular is now The New AT&T" store, with a SIM card that reports AT&T on the screen.

Wouldja just hurry up and switch it, AT&T? Nobody who doesn't remember the Ma Bell thing is going to hate you more for changing everything really quick, and those who do remember aren't going to hate you any less. No loss, that I can see.

(Yes, I'm still somewhat jaded about the "baby Bells forming together like Voltron" thing. But if they gave me an iPhone, I could be persuaded to forget...)

Clearing House

Behold, the group of old/useless CDs that were purged from my CD case:

21 22 in all.

Slowly, ever so slowly, I'm getting my stuff cleaned up and organized.

Friday, May 25, 2007

Every 5 Months...

...whether I need it or not.

Remember, no promises of regular updates were made.

So, what's been going on with me...

School: Plugging along, headed toward that I.T. degree. One more semester to go. Last semester was my first non-A grades at Roosevelt--2 Bs, in Network Design and Distributed Databases. I didn't try very hard in either one, and still pulled off the B. Nice.

Work: The lab aides are now part of the Educational Technology Resource Center (read: AV department), and the labs are basically no-man's land. ETRC is "don't know", and IT is "don't care". Nothing gets fixed, lab policies go out the door. But it's $8.24/hr to sit and surf on a fat pipe. So I'm staying where I am for now.

Girlfriend dumped me: Okay, so I really screwed up big time, but she won't even talk to me about what happened between us. If she's going to be that petty about it, I don't see what else I can do. It hurt like hell, don't get me wrong-- it still does. But if she can't get over her own...pride? self-importance? feelings for me? ...enough to talk to me like an adult just once, then I don't see why I should pound me head against the wall trying to get her back.

Grandma died: Not a huge surprise-- she was 81 years old and very sick. (Emphysema and lung cancer). Man, though, when they say you can't ever be ready for it, they're not wrong. The thing that's going to haunt me is the fear in my mom's voice when she screamed to me "Are they coming!?" (the paramedics) because she knew her mother was dying.

House still isn't sold: Downturn in the market means downturn in the market, no matter the real estate agent. I think that my mom should just sel the house for whatever she can get for it, take the hit and stop the ever-mounting credit card bills. She don't listen to me, though.

Yeah, that's basically been life. I haven't gone on a shooting spree or offed myself yet, so I figure things must be going okay.

I do post musings, at least daily, on my Twitter stream. I'm going to try to not let this blog fade out, but what happens kinda happens, y'know?

Wednesday, January 10, 2007

iPhoneiPhoneiPhoneiPhone!!!

So, we're all officially feeling the post-keynote RDF buzz, and for a damn good reason.
My thoughts, no particular order:
  • My overall reaction? "OMGOMGOMGIWANTONEIWANTONE!!!111eleventy"
  • This will entirely turn the smartphone market on its ear and turn them from executive toys to something that soccer moms carry. Nokia, Motorola, RIM and the like have the right to be scared.
  • Will I be able to turn off EDGE and use only Wi-Fi for data? Cingular's data fees are huge, especially in pay-per-use, and with Wi-Fi hotspots everywhere, I'll take the free option, thanks. (I suppose I can always call Cingular or hop on their account manager site and get rid of the pay-per-use data on my plan.)
  • What's the price if I won't/can't/don't lock myself in to another 2 years on Cingular? Some have said that it won't be available at any price without a 2 year contract, and others have wondered how Apple+Cingular will force a contract if the phone is purchased at the Apple Store. Maybe I'll get lucky and they'll decide that $499/$599 are the prices before the two year contract, and will come down to $299/$399 after the activation discount. It would make the iPhone more price-competitive with the other smartphones out there, but I wouldn't bet the farm on it.
  • I'm wondering how Visual Voicemail works, exactly. My theories:
    • The brute-force option is the iPhone gets the voicemail alert silently, secretly dials into the user's voicemail and records the message, then presents its own voicemail notification. However, that seems very hack-ish and lazy, and wouldn't require this deep level carrier integration that Apple's bragging about.
    • Another option, and the one I'm most dreading, is that it's data service-based. As in, the network pushes down voicemail messages as audio files over EDGE which are then stashed on the phone. Note my aversion to cellular data above. (Sub theory: This bit of data access is free as part of your iPhone's ordinary service plan?)
    • Yet another option is that they have some way using GSM only to random access your voicemail messages that doesn't use data, (IMO the best option) but how this would work is not something I've got figured out yet.
  • Lack of user-installable applications/widgets would indeed be a bummer, and may or may not be a deal-killer for me. I do, however, very much like Jon's theory on the matter, with one twist. The difference between widgets and applications in the context of the iPhone seems to be almost nil. The Stocks "widget" shown on the iPhone seems to be a straight port from the Dashboard version, and the Weather "widget" seems to only be modified to fit the screen better and allow for multiple locations. Remember that Dashboard widgets can embed Cocoa objects, allowing them much more power than simple HTML, CSS and JavaScript. (Heck, who knows how much of the iPhone interface is written as "widgets" as it is?) So Apple may, eventually, allow developers to write "widgetlications" (my term) for the iPhone, get them signed and put them on the iPhone one way or the other. In fact, the signing may or may not be required, if Apple's got Cingular in the corporate headlock that they seem to. In any event, I followed Jon's lead and filed a bug report, Radar 4918087. Here's what's inside, in case anyone wants to use it as the basis for their filing:
Title: Ability to Develop/Deploy Applications for iPhone
Summary:
Developers should be able to develop, code and deploy their own applications for the iPhone using Xcode. The iPhone's rich software environment and extensive hardware and communications capabilities open up a world of possibilities for third-party developers.

Notes:
see rdar://problem/4917169

Greatest Risk, Greatest Reward

I just learned about this fascinating little piece of Chicago television history.

This is one of those things that's amazing and creepy at the same time. Amazing that he was able to pull it off twice (the second time, uninterrupted by the station) and that he's never been caught. As for the creepy, well, just watch for yourself.

My hat's off to you, though, Max Headroom dude, wherever you are. Very cool trick, even if it was illegal.

Wednesday, April 05, 2006

Webcomic Viewers on Mac OS X, Round II

OK, so don't ask me what I did, but somehow, iComic 3.0 is running fine for me now, and it has for the past few months.

*shrug*

Huh...what?

So much for that whole "I'm going to post regularly, honest!" thing. I'm not even going to try to say that again, because I think we both know what it really means.

Wednesday, December 28, 2005

Webcomic Viewers on Mac OS X

For the longest time, I was a faithful user of Steve Saxon's iComic 3.0. It worked great to get all of the comics I like- Dilbert, Garfield, Foxtrot, and Penny Arcade. But alas, with the arrival of Tiger came iComic crashing on startup nine times out of ten. Oh, but Steve announced that he was working on a new spiffy version of iComic that worked with Apple's new buzzword-thy Dashboard environment. So I pulled down a copy of that and installed it. It worked okay, albeit quite slow. It even recognized the vast archives I had amassed. But then I began adding all of my comics to my Dashboard and I noticed one slight problem- there's no way to consolidate multiple comics into one copy of the widget, or to collapse the copies of the widget to make them smaller. So with just the 4 comics I currently read (not counting ones I want to pick up, like Ctrl-Alt-Delete), my screen is well past completely full. And unless someone out there wants to give me a Dell 2405FPW as a late Christmas present, that's not terribly practical. So iComic is out.
I remembered another piece of software, Spiny Software's Comictastic. I'd used it to mass-download the archives of Garfield back when uComics had the entire Garfield collection (back to 1978!) up for the Garfield movie. But I'd dumped the resulting files into iComic because, well, iComic was free and Comictastic was $15. I downloaded a fresh copy of Comictastic and tried it out. Hey, this is really nice! Well worth the shareware fee! Now I just have to....damn. Between the version of Comictastic I used and 2.3.1, the latest version, Jan changed the comic cache format from an iComic-like folder of date-named JPEGs and GIFs to a folder of .ctcache files...packages that include the comic image file and a bunch of other extraneous data related to the strip. So close and yet so far!
So here's the deal, Comictastic folks: give us back the old cache format (it can stay in the new location, but back to the old "folder full of image files" way of storing it) or, better yet, code in an option to either have the extra information or not, and I'll gladly buy a license code for twice your asking price.
Alternative idea: iComic is now open source. iComic stores its' extra data inside the image file's EXIF data. Pick apart how they did that and get the best of both worlds.

Monday, November 28, 2005

Apple Store Link Bookmarklet

Jon posted a note about how hard it is to bookmark a page on the Apple Store. Based on his findings, I threw together a little bookmarklet that will transform an Apple Store session URL to a nice, tidy bookmarkable URL:

Apple Store Links

Just stick that in your bookmarks bar, and click on it at the product page. The page will refresh with your bookmarkable URL shown this time.

Update:
Fixed it! I guess reading from and writing to document.location.href at the same shot wasn't such a great idea. ;-) Now it works in Safari, Firefox, and even Internet Explorer, if you're, y'know...a masochist or something.

Oh, and props to Jesse Ruderman for his rockin' JavaScript Dev Environment and JavaScript Shell, without which writing this bookmarklet would've been a heck of a lot harder.

Update 2:
I'd intended to mention the trick that my bookmarklet uses to get the part number that it appends to the URL that Jon so helpfully provided. It turns out that the session URLs also contain the part number in a URL parameter called "nplm". For example:
http://store.apple.com/1-800-MY-APPLE...?mco=F6E8EACE&nplm=M9779LL%2FA

My bookmarklet searches for that "nplm=" and grabs the next 11 characters after it. The slash in the part number is even already URI encoded for me.

Monday, November 21, 2005

Makes Me Dizzy...

OK, so yesterday my mom, my brother and I all got new cell phones on Cingular. This way, we'll all be on one family plan and be able to call each other as much as we like, I can call Britt as much as I like, it'll all be gravy. Got really cool phones, too.

I come to find out today that Cingular is becoming AT&T (again?)

Why can't these companies just pick one name and stick with it? I found out not too long ago that BankOne, who I'd just moved my checking account to, was becoming Chase.

Cingular: take some advice- stay as Cingular. Leave all this AT&T (Wireless or not) nonsense behind, keep playing with that quirky little orange dude and don't change your name for at least two more years. Please?