This is what happens when you rush forward into things.
I ponied up cash for the Apple Developer License a while back. and lo & behold, developers can download the DMG for the 3.0 Beta firmware update from the iPhone Dev Center! So I went and installed iPhone OS 3.0 Beta tonight … I wanted to check out the cut’n’paste capabilities, etc. I downloaded and extracted the firmware update package, started iTunes, held down [Ctrl+Option] when clicking ‘Check for Update’ to bring up the file selector dialog, and installed the 3.0 Beta IPSW.
Great! Hooray! It’s the usual slow process. However, once the device restarts, it goes into pre-activation mode … and iTunes rejects it as not behing a registered development device. Open up the Device Management Portal, and it tells you how about Locating a Unique Device ID … “The 40 hex character String in the Identifier field is your device’s UDID.” I believe they refer to it as an ICCID in other places.
Well, this magical String-of-many-names gets shown when your device is connected to iTunes … but of course, that’s the problem! It already won’t accept my device => meta-problem. So, then I read further … “Please DO NOT install the iPhone OS before registering device UDIDs, as installation on non-registered devices will render them inoperable.”
Yeesh. I figured that I’m toast. I can easily find the Serial Number and IMEI, but not the UDID, at least according to Apple’s instructions.
To make a long story short … wait, how long have I been talking? … oh, anyway. Look at System Profiler (if you haven’t already) … under USB :: USB High Speed Bus :: iPhone :: Serial Number. Register that as a developer device, and you’re good to go as soon as you re-boot the phone & iTunes. There’s a much more elaborate description of the process using Xcode
, but it doesn’t seem to be mandatory cause I sure ain’t done that.
And yes … OS 3.0’s cut’n’paste feature is really nice!
NOTE: If your screen reader is reading this, please
contact me at admin@cantremember.com ... because it shouldn't.
FIXME: build this dynamically based upon the maximum content in any sub-Element of this Element.
I will call this my "Safari Reader Counterweight".
In some of my Posts, I have huge code excerpts, etc.
Safari Reader, at least in iOS, will identify the 'main Element', the one it features, based upon its content length.
Sometimes those code excerpts get identified as the 'main Element', and the Post is borked in Safari Reader mode.
This is a counter-weight; it gives the <main> Element additional content so that it gets featured, algorithmically.
Yes, it increases the payload of every page (@see FIXME above).
But not by
that much.
Then again, this is a guess as to how much content any given Element could contain.
If it's not enough,
BOOM, Safari Reader looks like crap.
So, here's a great article on
how to enable Safari Reader on your site.
It's mostly guesswork, but those guesses helped me debug this obtuse goddamn problem.
Oh, and look,
you can enter and exit Reader programmatically.
JavaScript can fix anything.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.
I promise I will never cut-and-paste lines of text simply to add Element payload.