fixing repeated mail.app crashes on iphone 2.0


July 20th, 2008

Another issue I ran into after upgrading to 2.0 was that Mail.app was crashing, no matter what I did. Again, not content with simply resetting the phone1, I set to investigate. Again, log into via SSH and delete the /private/var/mobile/Library/Mail folder. Then sync again, so that iTunes will re-add your mail account information to the phone. Back in business.

Unfortunately, if you have not jailbroken your phone, this fix does not work for you — rather, it is rather impossible to delete the folder. You need to reset the phone. Since these settings are saved by iTunes’ backup procedure, they should be someplace on your filesystem, and theoretically you should be able to change them there and restore from that backup, but I have not attempted to do this.

  1. Setting iPhone up as a ‘new phone’ instead of restoring from a backup []

fixing edge on pwned iphone 2.0


July 20th, 2008

So very eager to update my iPhone to 2.0, once Pwnage Tool was released, I forgot completely I had disabled my EDGE from BossPrefs (seeing how I was at home, with Wi-Fi) and proceeded with the update. This had the unpleasant effect and completely leaving me without any way of enabling EDGE, post-update. Well, most of ‘any way’. If you have done something similarly stupid (out of, I am sure, excitement) here is my quick and dirty fix for the problem, inspired by some older posts from ModMyIfone.com1

«Continue Reading»

  1. You can also simply set-up the phone as a ‘new phone’ after restore, and you should get the same result []

more crap from Rogers ISP


December 10th, 2007

Ars is reporting that Rogers ISP started playing with code injection into webpages that go through their pipes in order to bring ads to customers. This should make some people angry, considering that Rogers has its history riddled with mishaps. It’s also an issue that I believe can be easily solved with AdBlock.1

  1. There is a Safari plugin for that as well if you’re running Mac OS X Leopard []

gmail imap


November 1st, 2007

Well it’s been enabled for my accounts, finally, so the first thing I did was to see how I can flag items from my iPhone so that I may review at a more convenient time. No further: simply move the mail into the ‘Starred’ folder and you’re done. Granted, it also removes it from the Inbox view, but as far as I am concerned that is quite all right.

Now, if only Apple’s Mail wouldn’t display these IMAP accounts so weirdly. I am uncertain if it’s a mistake on my part or not, though my other IMAP accounts look just fine.


unblock firefox


October 14th, 2007

There seems to be a new trend going around on the greedier of websites out there to block Firefox users based on the fact that many of them could be running AdBlock and cutting down the revenue stream of said websites’ masters. Ignoring the rather obvious matter that someone using AdBlock would not, were they forced or unable to use it, click said ads, it seems more of a ploy to grab clicks through deceit or, quite possibly, prevent users of decent browsers see how crappy some people have coded their websites - so as to work only in IE, preferably with the most arcane of browser extensions available.

Well, if you think enough is enough, here’s a couple of quick tips on how to go around some of these blocks while still maintaining an ad-free browsing experience1.

«Continue Reading»

  1. Note that I am not going to engage in any kind of debate on whether blocking ads does, really, impact negatively those websites that depend on them []

OPML to MobileRSS Converter


October 5th, 2007

Grab my OPML to MobileRSS converter here.


OPML2MRSS


October 5th, 2007

UPDATE Nov. 28th 2007: MobileRSS version 2 has support for importing OPML files. Follow the on-screen instructions on how to do so.MobileRSS is an RSS reader meant for the iPhone. You can access your feeds wherever you want and catch up on the latest news. The only shortcoming I’ve found, so far, was the need to type in feeds manually. No more. If you’ve already ‘broken’ your iPhone [and, if you're considering running MobileRSS, I guess we know the answer] then here’s your fix:

  1. export the feeds from your news reader of choice as a flat OPML file
  2. download the jarfile for OPML2MRSS1
  3. run java -jar OPML2MRSS.jar <your-opml-file>
  4. copy the resulting file [com.google.code.mobile-rss.plist] into ~/Library/Preferences/ on your iPhone
  5. load up MobileRSS and watch all your feeds :)

Caveat: It seems MobileRSS doesn’t like too many feeds. You might want to put only the ones you really enjoy, otherwise load times will be quite large and you run the risk of crashing the program.Let me know if you have problems, hopefully with the OPML that gave you those issues. As it is customary, all responsibility for running this code is with you. Armageddon - not my fault.

  1. This is a FatJar, containing source code, binaries and the nanoxml XML parsing library []

enum factory method


July 25th, 2007

People that have had to deal with Design Patterns would be familiar with the Factory Method. One of the projects I’m working on requires creating classes depending on what types are specified in an XML configuration file, something like:

<hacker name=""/>

So we need to instantiate the object based on the name or type attribute. Enter the Factory Method and my little way of doing it, via an EnumFactory:


public enum HackerFactory {
LAMO { public Hacker getHacker() { return new Lamo(); } },
MITNICK { public Hacker getHacker() { return new Mitnick(); } },
GOLDSTEIN { public Hacker getHacker() { return new Goldstein(); } },
ABENE { public Hacker getHacker() { return new Abene(); } };


public abstract Hacker getHacker();
}

This is the Enum class. To actually instantiate, considering that our parsed XML lives in a String name object, the code is simply:

Hacker h = HackerFactory.valueOf(name).gethacker();

Some might argue that an Enum is not very extensible - while that’s true, the limitation exists also in the Factory Method so we’re not actually polluting our code further. Changes still need to happen only in one place - the Enum class - to reference the new additions. Where an implementation does not exist, the Enum will throw the appropriate Exception to the user.


ichat av


June 25th, 2007

Something that I didn’t know - but testing over coffee with buddies does wonders - is that iChat AV will do video over Jabber to another iChat client. So while Google doesn’t officially support video over their Jabber implementation, two clients both on iChat can do it. Or more than two - though we couldn’t test that out. My best bet is that we’re dealing with a direct connection - but who cares? Video goodness without the need for AIM or .Mac =)


tip #54-F.1


May 14th, 2007

For all those radio streams that iTunes doesn’t like, feel free to grab VLC and use that instead. Works great with AAC+ and most other things I’ve tried. Only quirk is, after it opens up in VLC you still have to double-click the stream [usually the first item from the ones that the .PLS file shows in the player] to start it up. Seems I didn’t update. 0.8.6b opens it up automatically.


Next Page »