Smiling, Conger awaited a death foreordained.
Editorial note: The last line of a Philip K. Dick short story. Opaque out of context, but still evocative, I think.
Here’s a brief, non-technical, but practical pointer for the iPhone developer: Don’t use the word “trial” to describe your freemium app. It’s perfectly ok to deploy a freemium model (give away a limited application with unlockable-for-a-fee upgrades) and it’s perfectly ok to explain this model to your users, but if you want to be approved by AAPL, don’t use the Bad Word “trial”. “Lite version”: Ok. “Trial version”: Rejected!
I think the real goal here is to ban beta software from the app store (with “test” and “trial” being possible synonyms for “beta”), but the practical upshot is that the relatively innocuous word “trial” can get your app bounced if it is used to describe your app, either in in-app text, or in app store metadata. Beware. Take care. Beware.
Let me advance a heterodox idea: You can’t save. More precisely, you can’t provide for tomorrow’s consumption today with nearly as much certainty as you think you can. Most of what we consider “saving” is really just a hash of complicated contractual arrangements, with all the attendant fragility thereof; an unenforceable promise isn’t worth much.
Editorial note: This is a little story from my past. It has no great significance, I just find it amusing.
My first car was a 1984 Mustang. It was a serviceable enough car as the factory had built it, but money from my first job, mulish stubbornness, and spectacularly bad judgement combined to turn it into a real monster. A full EFI conversion (from the original carburetion — a word spellcheck doesn’t even recognize anymore) was followed by race heads, full intake and exhaust upgrades, a massive fuel system, the de rigueur Vortech V1, a dyno tune, and a bunch of other stuff that slips my mind at the moment. The end result was 472HP at the flywheel (in 1998) paired with the stock rear drum brakes. Wheeeeee!
Aside from everything else, the car was loud. It wasn’t just the exhaust note (which once got me pulled over on a completely unmerited “exhibition of speed” complaint). The fuel pumps were loud on this car. The supercharger could be heard blocks away, and that brings us to our story.
I’d arranged to meet one of my friends for lunch, and when we sat down, he told me that he’d actually forgotten our appointment. When I asked how, then, he happened to be here, he explained that he’d been out for lunch on his own account, and had heard my motor’s distinctive racket pass by some streets away, which jogged his memory.
I was sorry to let the car go, but I could never get the computer tuned reliably, and there were certain questions in re: smog compliance. I understand the motor lives on in a Cobra replica, while the car itself has gone to that great garage in the sky. Sic transit gloria mundi.
The “OpenGL ES Application” template in Xcode is quite illuminating. You can generate it from the Xcode menu: “File” -> “New Project” -> “OpenGL ES Application”. It will build and run as is, and draw an oscillating colored square in the Simulator. The source code isn’t long, but there’s a lot to look at. Some highlights follow.
This is the first in an occasional series of posts looking back at the Ring Magazine Fights of the Year from 1970 to 2009.
In 1970, Nino Benvenuti defended his unified (WBC & WBA) Middleweight championship against Carlos Monzon, then ranked #10 in the world. The fight ended via TKO in the 12th round, when Benvenuti’s corner rushed into the ring to stop the fight after a brutal knockdown. This was a necessary stoppage; although Benvenuti was able to stand after the fight was waved off, he did not have his footing, and staggered into the ropes.
The fight was a very rough affair; either hitting behind the head wasn’t a foul in 1970, or these guys simple didn’t care. The match followed a pretty regular pattern: The boxers would trade at middle distance for a little bit, then get tangled in a clinch, then hit each other behind the head, then the referee would break them. Monzon usually got the better of the exchanges: I saw him winning every round except the 5th on the basis of clean, effective punching — he simply hit harder, in my view.
Both men seemed to favor looping power shots; Monzon’s punches might have been a little straighter. Obviously, neither had great defense or counterpunching, or those long shots would never have landed. On the other hand, both fighters employed a good variety of punches, and split their attacks well between the body and head.
The general tenor of the fight was that of a contest that began evenly, and began to tip more and more towards Monzon. The 10th was the last competitive round, with both boxers landing hard shots, though it seemed to take more out of Benvenuti; Benvenuti started the 11th aggressively, but quickly entered a decline that saw him chased across the ring, against the ropes, and KO’d in the 12th.
I’m a little surprised that this was a FOTY. The outcome never seemed that much in doubt (though if it had gone to a decision, home cooking could have robbed Monzon), and though there was plenty of action, it wasn’t a very graceful match. (All those clinches and illegal blows aren’t very pretty.) I suppose it was elected because it was such an upset; absent that context, it’s a good fight, but not a great one.
A reader writes:
When calling
dismissModalViewControllerAnimated:
in 4.2, theviewWillAppear
method of the view about to appear will fire before theviewWillDisappear
method of the view you are dismissing.
He’s right. In fact, I’ve tested this back to iOS 3.1.3 on a 3G, and the behavior is consistently as described. So, if you’re writing code for which the order of invocation of these methods matters, be careful. (Actually, it might be better to make your code insensitive to this ordering, since I don’t see anything in the documentation which guarantees one behavior or the other.)
Three weeks ago, I wrote that I would be “astonished” if the Senate acted to weaken the filibuster in the current congress. And, in fact, we see that the Senate “voted overwhelmingly … to reject efforts to change its rules to restrict the blockades that have sown gridlock and discord in recent years on Capitol Hill.”
Senators were emphatic in their votes against limiting the filibuster, a treasured right of minorities trying to prevent majorities from running roughshod over them. Many Democrats, while now in the majority, envisioned a day, perhaps as early as after the 2012 election, when they would return to the minority.
::Preen::