iPhone gets Delivery Reports – finally!

iPhone Delivery Report SettingsThanks to the incredible efforts of francois.guilleme, the iPhone finally has delivery reports!

By intercepting calls to/from CommCenter, his library modifies outgoing SMS headers (adding the delivery report flag), and captures incoming SMS reports (displaying them either as a flash message, a regular sms message, or a simple ‘tick’ mark).

All the details (including source) are up on the google code site. Installation is simple, just add http://iphonedelivery.advinux.com/cydia or http://iphonedelivery.advinux.fr/cydia as a cydia source, install the iPhoneDelivery package, and robert is your relative.

Popularity: 26% [?]

, ,

No Comments


OS X: Fix Argentina DST October 2009

Date%20&%20TimeWell, at almost the last minute, DST was cancelled in Argentina this year. And this broke things, mostly computers. (Not for the first time either, the same thing happened two years ago here).

The debian folk came out with a fix at the last minute: so that fixed the linux machines, but OS X is a slower beast to move, so it’ll be a while before any change works its way through. In the meantime, Mac users in Argentina are left with broken clocks.

If you just want your clock to show the correct time for Argentina again, and don’t really care about the why, then just download and install the following:
Argentina_DST_Update.pkg – for 10.6.x only!

I am no Mac expert, and this isn’t entirely tested, so be warned.

Anywho, this is how to update the tz data (aka zoneinfo), which should, in theory, fix the problem:

mkdir tzfix
cd tzfix/
curl ftp://elsie.nci.nih.gov/pub/tzdata2009n.tar.gz | tar -zxvf -
vi +219 southamerica

Change the two lines:

Rule    Arg    2008    max    -    Mar    Sun>=15    0:00    0    -
Rule    Arg    2008    max    -    Oct    Sun>=15    0:00    1:00    S

to the following

Rule    Arg    2008    2009 -    Mar    Sun>=15    0:00    0    -
Rule    Arg    2008    only
-    Oct    Sun>=15    0:00    1:00    S

(i.e. just two words to change). If it makes you feel better, here’s a diff.

Ok, save & close, and then compile it as follows:

sudo zic southamerica
sudo cp /usr/share/zoneinfo/America/Argentina/Buenos_Aires /usr/share/zoneinfo/America/Buenos_Aires

The sudo is necessary because you’re changing /usr/share/zoneinfo.
And that’s mostly it. Verify that it worked as follows:

zdump America/Argentina/Buenos_Aires
America/Argentina/Buenos_Aires Sun Oct 18 20:43:42 2009 ART

(note that the timezone is now ART, not ARST as previously).

So that fixes things for most of the command-line stuff.  But you’ll notice that the clock on your desktop, iCal, and others, are still incorrect.  We need to fix the ICU database also.  Thankfully the latest sources are available for this from apple itself:

curl -O http://www.opensource.apple.com/tarballs/ICU/ICU-400.37.tar.gz
tar -zxf ICU-400.37.tar.gz
cd ICU-400.37/icuSources

ICU doesn’t come with the tzdata, but the readme in tzcode helpfully notes that if we place the tzdata*.tar.gz file in tools/tzcode/ it will be compiled automatically.  You can pack up your own tzdata2009n.tar.gz that we used earlier if you wish, or use the one I prepared here:

cd tools/tzcode/
curl -o
tzdata2009o.tar.gz http://brickybox.com/wp-content/uploads/2009/10/tzdata2009otar.gz
cd ../../
./runConfigureICU MacOSX --with-data-packaging=archive
gnumake
sudo install -o root -g wheel -m 0644 -Sp data/out/icudt40l.dat /usr/share/icu/icudt40l.dat

And that’s it.  We have a new ICU database.  Reboot to see the changes.


Update (21st October)This technique works on the iPhone too.  The iPhone already has zic (well, at least my one has), so you can simply copy your modified southamerica file onto the phone somewhere, and run (as root):

zic southamerica
cp /usr/share/zoneinfo/America/Argentina/Buenos_Aires /usr/share/zoneinfo/America/Buenos_Aires

And you can simply copy the data/out/icudt40l.dat you created for OS X into /usr/share/icu/icudt40l.dat on the iPhone.  It causes Springboard to crash, but after a reboot everything works perfectly.


Update (10th November): I can’t believe it, today 10.6.2 update broke the damn icu stuff again.

mkdir 10_6_2_fix
cd 10_6_2_fix/
curl -O http://www.opensource.apple.com/tarballs/ICU/ICU-400.37.tar.gz
tar -zxf ICU-400.37.tar.gz
cd ICU-400.37/icuSources/tools/tzcode/
curl -O ftp://elsie.nci.nih.gov/pub/tzdata2009r.tar.gz
cd ../../
gnumake
sudo install -o root -g wheel -m 0644 -Sp data/out/icudt40l.dat /usr/share/icu/icudt40l.dat

Thanks to Jonathan Tapicer for pointing out that the tzdata file name has been updated (now at version R).


Update (5th February): I’ve had several requests to package this up in an installer, so here goes:
Argentina_DST_Update.pkg – for 10.6.x only!
(I don’t have a 10.5.8 any longer, so I can’t compile for it, sorry)

Popularity: 16% [?]

, , ,

18 Comments


Mika – Grace Kelly

“You only want what everybody else says you should want” – my sentiments exactly.

There aren’t many people in the world who could pull off an act like this.

Popularity: 3% [?]

No Comments


Ireland: A Country of Sheep

Voters in the Lisbon Treaty Referendum 2009

Voters in the Lisbon Treaty Referendum 2009

Popularity: 4% [?]

,

No Comments


How to Confuse an Idiot

How to Confuse an Idiot

How to Confuse an Idiot

Popularity: 5% [?]

No Comments


Ricky Stone’s Two Fingers to DJ Mag

Ricky stone has extended a 2 finger salute to the DJ Mag poll. The spot says it all I think:

Popularity: 7% [?]

, ,

No Comments


Copy mysql table between servers/databases

This is one of those reminder-to-self style posts.

To copy mysql table tablename from database1 on server1 to database2 on server2, issue the following command (on either server)

mysqldump -h server1 -u user1 -ppassword1 database1 tablename | mysql -h server2 -u user2 -ppassword2 database2

user1, password1, user2, and password2 are the respective usernames and passwords to use on server1 and server2, respectively. Note that there is no space between the -p and password (unlike the other switches).

Popularity: 9% [?]

,

2 Comments


Wolfram|Alpha

Following from yesterday’s post about Google’s inference engine, someone directed me to a similar project called Wolfram|Alpha which is going live next week.

This is an incredibly interesting video (if a little drawn out):

Popularity: 9% [?]

,

No Comments


Google’s Inference Engine: The Google IQ

Something that’s been on my mind for a bit, brought to the fore today because Google is launching a new product based on it:

Inference Engine

One of the wonderful concepts of artificial intelligence is the inference engine.  It’s a kind of computer algorithm that allows computers to reason things.  Even in a very simple form, it can achieve (what we perceive as) quite complex reasoning.

If it knows:

  • Barrack Obama is the US president
  • The US president lives in the white house

then it can infer that

=> Barrack Obama lives in the white house.

    So the system can know a third “fact” by knowing the first two. It’s kinda smart.

    If you add more facts, the system gets smarter, learning just like a child. And the more facts you add, the smarter it gets, just like a child. This is the basis for most modern forms of artificial intelligence. So what stops people making a super-intelligent inference engine? Someone has to teach it the facts. And, considering the number of facts required to make a system usefully intelligent (in a general sense) – it’s not worth the effort.

    Enter the Internet, and Google

    Google trawls the internet every day, which contains billions and billions of facts – waiting to be reaped. Up until recently, it just stored the content of the pages, so if you searched for words, it showed you the pages that contained those words (or had links containing your words pointing to them). But, as of late, it has started using some kind of inference engine (I noticed this lately when searching for a company director, it gave me the location of his company). And today, Google announced that they do in fact use an inference engine, and will be using it to help searching in their future products.

    So, here we have an incredibly large source of information, containing most of mankind’s knowledge, and an inference engine that is reading it, and gradually getting smarter – based on its knowledge. In time that inference engine will be very smart indeed. Which would be fine, if it weren’t for its source of knowledge: the internet is not fair, just, true, or moral.

    This system is currently in its infancy. Do we want it to grow up having learnt everything it knows from the internet?

    Popularity: 9% [?]

    ,

    No Comments


    An Ode to Scrubs

    As the third best show on TV (the 2nd is Lost, and the number one slot goes to House) comes to a close, I feel it is time for me to express my deep sense of regret in poetic form.scrubs

    Oh Scrubs,
    Scrubs,
    Scrubs,
    Scrubs,
    Scrubs,
    We’ll miss you.

    After eight glorious years the funniest show on TV has come to an end.

    Popularity: 8% [?]

    ,

    No Comments


    SetPageWidth