A Fading Tan Tales of time at the computer

Wednesday, August 04, 2010

The idea behind MailPush

Go to your iPhone. Open the Settings app. Inside “Mail, Contacts, Calendars” you will find the “Fetch New Data” setting. Mine, like I guess a million other people’s looks like this:

Fetch New Data Settings Screen

The key point is the “Fetch” section: it’s set to “Manually”. It’s the scary text that does it.

For better battery life, fetch less frequently.

Now at first glance this is fine. At my own leisure I just open up the Mail app and hit “Update”. No problem (or so it seems).

The reality is I ended up opening Mail and hitting refresh far too frequently, like all the time, obsessively. The worst bit was that I didn’t even notice—well, I did but checking your email counts as work, so it was okay.

Realisation came reading a piece by Jeff Atwood on the similarity between email and addictive behaviour in lab rats. I resolved to do something about it.

Option 1 was a periodic fetch, but it would need to be frequent enough to count and I need my battery to last—those scary words again!

Option 2 was to sort out push.

Of course there’s push for MobileMe, but who uses that for work? I imagine that there might be push using Microsoft Exchange, but that’s a bit of a moot point really. (It’s not just me either: I know people that have bought Blackberry smart-phones simply because the iPhone lacks push.)

What was needed was push for bog-standard POP3 and IMAP mailboxes. Thus was MailPush born.

You can download MailPush from the App Store now. It provides iOS push notifications for POP3 and IMAP mailboxes.

Labels:

Friday, June 25, 2010

Format string is not a string literal (potentially insecure)

I love compilers.

Here I am busily working away; I throw in a cheeky NSLog() to see where I've got to:

NSLog([myObject stringRepresentation]);

Hang on! A compiler warning:

Format string is not a string literal (potentially insecure)

What's this about?

A bit of Google (via this forum post) led me to a Wikipedia article on the Format string attack. It turns out that an attacker might use printf style format specifiers to do all sorts of nasty to my heap/stack.

The correct usage is this:

NSLog(@"%@", [myObject stringRepresentation]);

No more warning. We can sleep at night.

Labels:

Tuesday, March 30, 2010

Someone Needs to Take Econ 101

"Douglas A. McIntyre says that because iPad demand is higher than expected, Apple may have to cut prices. Uh…" (John Gruber)

(Via Daring Fireball.)

Tuesday, March 16, 2010

jQuery Clippings for BBEdit

On Friday I uploaded a set of jQuery Clippings for BBEdit. These cover the full API for the latest jQuery version (1.4.2) matching all function signature variations and dollar shortcuts. Grab them from: http://noumenal.co.uk/bbedit/jquery-clippings. Enjoy.

Labels: ,

Friday, March 12, 2010

Rob Foster on the Elimination of File Systems as a User-Accessible Part

I saw this:

Rob Foster on the Elimination of File Systems as a User-Accessible Part: “

Rob Foster, observing how family and friends use their Macs:

Because they can now actually use their computers instead of simply restarting them, I’m able to better see how they use them. And the one commonality I’ve seen is that no one knows how to use the file system.

Unfortunately for the average person, the file system is so complex that everything outside of the desktop and the documents folder appears to be a vast labyrinth which most likely hides booby traps and minotaurs.

(Via Daring Fireball.)

The same experience seems to apply in ever wider circles too:

  • Beyond the Desktop, there’s everything outside the Home folder.
  • Beyond that there’s all the UNIXy bits that OS X nicely hides from us (dot-files, /etc, /usr, /bin etc.)
  • Leaving the Mac there’s Linux’s whole /proc file system.
  • And so on.

Each time there’s the same, “What’s going on here?” — which, if you are ever to get past the Desktop, is quickly followed by a deep breath and a rummage.

Of course there’s the whole Windows thing, which is a different kettle of fish but, does the ultimate answer lie in building your own Linux From Scratch, or is it “Turtles all the way down”?

Thursday, November 05, 2009

Zend Framework Ctags for BBEdit

BBEdit version 9.3 was released yesterday. Many changes but, it includes extensively revised support for PHP.

Best of all specially formatted Ctags files can now be used to provide function signature auto-complete, similar to that from clippings.

As such I've knocked up a version for Zend Framework, which can grab it from the downloads page.

As it says there, this is a one afternoon, first draft so make sure you subscribe to the RSS for updates. Let me know if you have any issues.

(Know problems are a lack of reference back to source file and line number, but I'll get that fixed asap.)

Enjoy.

Labels: ,

Wednesday, October 21, 2009

Frequent Bugs

Supposedly keeping a log of bugs helps you identify the most common ones. At the moment mine is forgetting to save my nib file before building my application.

("Why isn't this working?")

Labels: ,