Bizarre delivery notification from TM

March 13th, 2009

I’m not sure what to do with this. I did go to the trouble of replying to a message from TM’s Help Desk. They emailed me to thank me for sending in some ping and traceroute output from a few days ago, but the problem has already gone away. I replied to tell them the problem went away on Wednesday night (two days ago),  and got a ‘Delivery has failed’ reply:

This report relates to a message you sent with the following header fields:

Message-id: <49BA17F9.7040003@gmail.com>
Date: Fri, 13 Mar 2009 16:23:21 +0800
From: Sean Collins <XXXXXX@XXXXX.XXX>
To: help@tm.com.my
Subject: Re: Fault 1-4367336209

Your message cannot be delivered to the following recipients:

Recipient address: @tcp_tospam-daemon:help@tm.net.my
Original address: help@tm.net.my
Reason: Illegal host/domain name found

Oh silly me I thought, and spent a while trying to figure out what I’d done wrong. I should have just had a closer look at the email! Can you see it? I sent the email to help@tm.com.my and the failure notice tells me that help@tm.net.my is “Illegal host/domain name found”!

I don’t know quite what to do with this. I’ll record it here, so later in the year when I write to the MCMC again about how troublesome a Streamyx Internet connection is, and the very nice people from TM visit me, I’ll have something to point at when they say “We get no complaints”. How can you get complaints when your email doesn’t work?

Where in the world was Altantuya?

March 12th, 2009

That’s the problem with announcing, ahead of articles, what you’re going to write about. You end up writing about anything but.  I was reading Susan Loone’s blog recently, and followed some links to an article about the few remaining photographs of the tragic Altantuya Shaariibuu. Altantuya is a beautiful young Mongolian interpreter whose affair with a member of the Malaysian elites went bad and she was apparently executed by police officers before they destroyed her body with explosives. Susan closed the article with

“…when (date and time, please) Altantuya was in Paris?”

Altantuya picture from Asia Sentinel

Altantuya picture from Asia Sentinel

The article was posted in October 2007, so it seems odd that no comment responded to the question. They say curiosity killed the cat, well it robbed me of a couple of nights’ sleep! I left a comment to suggest that time of day could be found from shadows in pictures (and possibly time of year), and then decided that it was an interesting problem. I have a weakness for interesting problems. The first problem is picking a picture. There’s only really one picture with clear shadows in, albeit mostly truncated by the edges of the photograph. The shadows are nice and sharp though. The problem is, where is this? Susan says “Paris”, so the first step is to try Google’s Image search. The reason we need to know where the photograph is taken, is that we need to know the compass direction of the shadows. For that, we need the orientation of the place Altantuya is standing in!

Searching for “statue horse lion old buildings paris”

After several hours of staring at photos of statues of lions, horses, tourist sights in Paris, I had almost gone blind. The Google search that did the trick was

steps square statue in the centre

… and the image that matched the one in the picture was on page 17! I’ve lost the reference to the page that matched now, but it was a holiday snap by someone who was good enough to provide a name for the square the statue is in: The Piazza del Duomo in Milan, Italy. Now that we know where the picture was taken, we can use Google Maps (actually any old map would do, as long as it shows North and the scene can be distinguished) to find out the orientation of the scene in the photograph:

Piazza del Duomo at Google Maps

Piazza del Duomo at Google Maps

This is a great find, because the square appears to be nicely aligned with the compass, and the geometric patterns in the floor tiles are also visible in the photo of Altantuya above. The statue behind Altantuya is visible in the aerial phtograph at mid-left. You can clearly see the shadow of the man on the horse on top of the statue. Altantuya was standing with her back to this statue, facing the Duomo at the opposite end of the Piazza. Google Maps are aligned so that ‘up’ is true north.

Altantuya faces East

Altantuya faces East

Now that we know which way Altantuya was facing, we can work out which direction the shadows point and establish an estimate of the time of day. Why is the time of day important? Good question! Milan is quite far north (45 degrees north, roughly), so the sun rises to very different heights in the sky at different times of year. One of the most obvious effects of this is that your shadow is different lengths at different times of the year, at any given time of day. If you know the time of day, and you know the length of your shadow, you can hazard a guess at the time of year.

I’ve marked North and West along the joints between tiles in the photograph. You can see that the shadows are running North-East-ish in the photograph. I did initially think they must be almost exactly North East, looking at the shadow of the man behind Altantuya, as it seems to touch diagonally opposite corners of a tile. On closer inspection, the tiles don’t seem to be square, so my rough guess is that it’s something less than North East – between North East and North-North-East. If we were doing this properly, we’d take the photograph to the Piazza in person and try to match up the tiles exactly! What a great reason to go to Milan!

This isn’t forensic science though, this is just going through the steps out of interest. I took as my estimate somewhere between 30 degrees and 45 degrees after (the Sun moves clockwise with respect to a viewer in the Northern Hemisphere) North. A complete turn of the Earth is 360 degrees, it takes 24 hours, so that’s 15 degrees per hour. That gives us an estimate of between 2 and 3 hours after solar midday. Milan is not far off the centre of its time zone (Central European Time), so the sun is very close to South at midday.

That’s the easy part! Now we know where in the world Altantuya was standing and what time of day it was, we can take advantage of our knowledge of different length shadows at different times of the year (because of precession of the Earth’s axis – you knew that, right?)  to work out a time of the year for the scene. My heart sank at this point – I don’t consider myself a mathematician, and my first attempts at finding out even what height the sun should be in the Milan sky at different times of year came to nothing. But then I found this wonderful page:

Solar Position Calculator : Ecotect WIKI

Shadow length gives height of Sun

Shadow length gives height of Sun

I usually do this kind of thing very late at night, so a graphical widget I can fiddle with is much more appealing than trying to construct a valid geometrical representation of what I thought I needed to calculate the time of year. One last thing: the length of the shadow. Actually, it’s the ratio of height to length of shadow that we’re interested in, so it doesn’t matter what the units are: we don’t actually need to know the physical length of anything. This shadow seems to be about the best in the scene, and I came up with a ratio of between 1.15 and 1.41 of shadow length to person height. It’s a wide range because the length of this shadow also depends on the difficult-to-establish compass direction, and also on the angle at which the camera views it. A few minutes of fiddling with the solar calculator (it has all got terribly unscientific, hasn’t it?) and I had two ranges of dates. The shadow length ratio gives two times in the year because one time is when the Sun is at a certain height ‘on the way up’ (cold part of year to warm part) and one when the Sun is on its way ‘down’ (warm part of the year to cold part).

From my estimates of time of day and shadow ratio (two estimates!), I extracted the periods 7th March to 20th April and 29th August to 3rd October. Of course, if you know your fashions you might have taken one look at Altantuya’s shawl and known whether it was Spring or Autumn in a specific year, but I don’t have that skill!

No leaves on the tree

No leaves on the tree

One last attempt to refine the estimate relies on another photograph of the Duomo, this time taken on the other side. There’s a tree bare of leaves in the photograph, and a quick check of Google Maps shows that this tree is on the North East side of the Duomo – in the shade. In the grandest tradition of hand-waving bluffers, I’m going to guess that the the tree would still have some brown leaves in September, and that it might be slow to put new leaves on in the Spring because of its shady position.

So there you have it: Altantuya was at the Piazza del Duomo, early-to-mid afternoon in Milan in March. But what year? That’s a job for someone else! After having done all this, I’ve decided that there’s an easier way of doing it, since the advent of social networking. I imagine you could use the parallel brute-force effort of thousands of people at social networking sites and just ask the question “where and when is this” and you’d find a few people who would recognise the scene – because they were there!

Even better, I suspect that given sufficient effort on the social networking sites, you might even find some people who have their own photographs of that time and place who can give a different angle on the scene. Wouldn’t that be marvellous? How should I know – I don’t use social networking sites because I have no friends! Or is it the other way around?

Urns containing fragments of Altantuya during trial

Urns containing fragments of Altantuya during trial

One question that strikes me from doing this: the photographs are quite low resolution, and all 480 pixels on the long side. They’ve been prepared with Adobe Photoshop in late 2007, according to the file data. Did Asia Sentinel have better quality pictures (link broken, updated 2012 July 16) that they resized for the web? There were other questions, I’m sure, but it’s very late again, and my mind’s gone blank. I’d be interested to know if anyone tries the social networking technique to try to fill in any more details in the last few months of Altantuya’s life.

Streamyx down in the Port Dickson area

March 5th, 2009

Well, that didn’t take long. From 1pm today (0400 GMT), our phones are dead. I walked around to the neighbours – their phones were dead. I popped into the local Internet cafes, their phones are dead too. At the 3rd Internet cafe, the staff looked surprised to find that their phones were dead, but knew that Port Dickson town had trouble with their phones too.

When I complained recently, and re-started my Streamyx contract, I had several visits from TM employees who told me I’d been phoning the wrong number to report faults. I had been phoning the number on the bill, and on the website. They told me I should have been reporting to 103. When I realised the phones were down, and all those very friendly technicians had told me they would come running when I phoned 103, I was eager to try it out. 103 is a TM network-only number. If the phone is dead, you can’t call it.

So anyway, we sent an email via our DiGi EDGE connection (which always just worksdid I say that already?) to Durra, one of the TM agents that visited us, and phoned her too and she called us back later to tell us that it was an electrical supply problem. We’ve heard that before. Last year (2008), this happened at least 4 times, with telephone outages from 1-2 days,  and Internet outages of 3-4 days. I’ll keep you posted when I get any news.

Did you get this article instead of spider.my? That’s thanks to the magic of Zoneedit.com – you can redirect traffic to a webpage when your site is unreachable. Spider.my is hosted on that TM Streamyx connection. Or at least it was this morning. Who knows when it will be again?

Updated

Back up again at 4pm, same day! Not bad TM – a distinct improvement on last year! Power supplies tripped by lightning, according to Durra.

Updated

Then 4 days later, down again!

Four months with DiGi EDGE – the return of Streamyx

March 3rd, 2009

I promised a 3-6 month report on Internet access with DiGi, so here it is. It was really, really okay. It always just worked, except for a few days around the coup in Perak. During those 2 or 3 days, it was slower than usual and frequently disconnected – up to ten times one day. I imagine the whole of Malaysia was online over those few days, constantly refreshing blogs to see if any new information was available.

USB Modem used for DiGi EDGE

USB Modem used for DiGi EDGE

Besides those few days, and a slowdown around the time the APCN2 cable to Malaysia was cut, DiGi EDGE has remained constantly reliable for us. If I only wanted to browse the Internet, DiGi EDGE would be good enough for me. My wife’s browsing habits are different – her interests lead her to pages stuffed with video and spam! I use AdBlock for Firefox to block spam, so pages load much faster in my browser. And I’m a bit of a boring old fart where it comes to content, so my favourite pages are mostly text.

I have blind faith in democracy, so when my brother-in-law (who also uses our Internet connection when he visits) also mentioned that Internet access was slow, I was outnumbered. His tastes run to ‘portal sites’ like Yahoo and MSN, which try to cram every possible web service into each and every bloated page they serve. Actually, I could probably have cheerfully ignored the complaints forever – I like DiGi EDGE. But last year I spent a lot of time working on the frameworks of some projects I wanted to host from home. Now that really is impossible using DiGi’s network – it doesn’t support incoming traffic.

Another factor was some complaint letters I’d sent to TM and the MCMC about our Internet service experiences last year. TM take the view that there’s nothing they can do if we’re not subscribers to the Streamyx service. I cancelled our Streamyx subscription because they appeared to be doing nothing when we were customers. Anyway, I want to get my projects online, and hosting them from my desk is the only way I can afford to do it, so now we’re proud owners of two connections to the Internet.

For now, our house uses the Streamyx connection as its default route to the Internet. I can use the DiGi connection to check how my projects look ‘from the outside’ by just switching routes on my laptop. That’s a bit of a waste of a connection though. I’ve been working on a ‘spider’ for Spider.my, so I thought rather than use up precious bandwidth that my wife and brother-in-law need for consuming spam, I’d run the spider over the DiGi EDGE adapter.

It worked a treat! It’s a slow connection, and I was running the spider single-threaded, so it’s not downloading anything while it waits for DNS replies, or for slow sites to reply. In 24 hours, the spider downloaded between 200 and 300MB of content (only page text). That got me a bit worried though – what would DiGi say about someone downloading this quantity of data on a cellular connection? I’d also recently noticed that I can send SMS using extended modem commands from my EDGE modem, but couldn’t find anything on their website about charges. So I used their OCS D’Chat online support chat feature:

(12:09:29 pm) Thank you for using D’Chat, a Customer Service Consultant will be with you shortly.
(12:09:59 pm) Your chat session has started..
(12:10:02 pm) SEAN: Hello DiGi
(12:10:12 pm) DiGi CS: Hi, welcome to D’Chat. My Name is KALAIVAANI A/P ADAKALAM. How may I assist you?
(12:10:28 pm) SEAN: HIya I have a postpaid data unlimited SIM
(12:10:37 pm) DiGi CS: yes …
(12:10:46 pm) SEAN: And I’m working on a search engine of my own at home
(12:11:03 pm) SEAN: I ran a spider (a robot?) on the DiGi connection a few nights ago
(12:11:16 pm) SEAN: and downloaded about 200MB of data in 24 hours
(13:11:25 pm) SEAN: Should I limit my downloads?
(12:11:34 pm) SEAN: Do you have a Fair Use policy?
(12:11:55 pm) SEAN: I think it’s not as heavy as P2P would be
(12:12:12 pm) SEAN: About 2-3KB/s, but sustained
(12:12:49 pm) SEAN: Is it an unsual question?!
(12:12:59 pm) SEAN: unsual=unusual, sorry
(12:14:27 pm) SEAN: quiet in here…
(12:15:44 pm) DiGi CS: I am sorry , it took some time
(12:15:53 pm) SEAN: tricky question huh
(12:15:58 pm) DiGi CS: There was a technical error.
(12:16:01 pm) DiGi CS: I am very sorry for the inconvenience caused
(12:16:05 pm) SEAN: Oh! ‘s okay
(12:16:16 pm) SEAN: I get those too
(12:16:26 pm) DiGi CS: No it is not tricky, My system was not responding,
(12:17:06 pm) DiGi CS: You are using
(12:17:30 pm) DiGi CS: an unlimited plan. this there isn’t any limitation
(12:17:41 pm) SEAN: and you don’t have a fair use policy?
(12:17:59 pm) DiGi CS: No we don’t have for Data un,limited
(12:18:09 pm) SEAN: Wow you’re my new heroes
(12:18:25 pm) SEAN: OK, so I’ll just continue – are you sure?
(12:18:41 pm) SEAN: It’ll be 6-10GB per month!
(12:18:54 pm) DiGi CS: Yes you can continue.
(12:19:05 pm) SEAN: Fantastic! I’ll copy and paste this chat!
(12:19:14 pm) SEAN: I have another question – is that okay?
(12:19:25 pm) DiGi CS: Sure ,,,
(12:19:27 pm) SEAN: I saw you were queued up when I saigned on
(12:19:36 pm) SEAN: Okay, so I notice I can send SMS
(12:19:36 pm) DiGi CS: You can save this transaction too
(12:19:49 pm) SEAN: on my data unlimited SIM
(12:20:02 pm) SEAN: but how much is the charge?
(12:20:11 pm) SEAN: I couldn’t find a page on your site
(12:20:15 pm) SEAN: that applied to the data unlimited plan
(12:21:54 pm) SEAN: Uh oh not reponding again
(12:22:12 pm) SEAN: Time to switch to Linux
(12:22:15 pm) DiGi CS: The SMS rate will be RM 0.10 / SMS
(12:22:32 pm) SEAN: for in-network?
(12:22:41 pm) SEAN: or for in-Malaysia?
(12:23:00 pm) DiGi CS: It is only for local SMSes (on net)
(12:23:13 pm) SEAN: Okay thanks that’s all I need to know
(12:23:25 pm) SEAN: Thanks for your help – I hope your system improves!
(12:23:34 pm) DiGi CS: You are welcome.
(12:23:39 pm) SEAN: Seeya
(12:23:41 pm) Thank you and have a nice day.
(12:23:43 pm) DiGi CS: Thank you for your the feedback.

So now you know! The ‘unresponsive’ was a bit new – I hope they sort that out soon. You know DiGi are a different company to deal with when they offer a facility like D’Chat online, but that isn’t the best bit about this particular interaction with DiGi. A little while later my handphone rang and it was Kalai (I think that’s what she called herself on the phone) to tell me that SMS from a data unlimited postpaid SIM don’t cost 10 sen, they cost 15 sen, and it’s a flat rate to all Malaysian networks, with no International access.

I like dealing with DiGi because they appear to be well-organised and care about their customers. Please DiGi, please, can you lay a submarine cable to Port Dickson? I live near the beach… I’d pay!

Pos Laju fuel surcharge – breaking business automation AGAIN!

February 25th, 2009

Remember last time I complained about Pos Malaysia making useless, business-breaking changes to their shipping quotation system? They’ve done it again! Lolyco.com depends on shipping quotations from Pos Malaysia’s website to automate its checkout. I wrote an osCommerce shipping module that just sends the weight and destination of an order to Pos’ website, and extracts the shipping price from the page returned. Last time, they changed the URL of their quotation system, but not the quotation system.

Pos Laju Fuel Surcharge

Pos Laju Fuel Surcharge

That’s a pretty trivial error for an IT department to make  – the effect on any users of the shipping module was that it stopped providing quotes. For an online business, a failure to provide a shipping quote means the checkout is broken – business will be lost. This time they’ve added a comment about a surcharge to the shipping quote page, but not added it into the quote!

There’s no way a program could be expected to look for casual comments about surcharges. I found out about it when Christopher Yeap (thanks Chris!) made a comment on an old news item at lolyco.com. The effect of Pos’ failure to update their quotation system is that the shipping module will be undercharging for shipments. There’s no really good way to deal with what Pos have done – it’s tantamount to sabotage. I’ve added a ‘Random surcharge%’ field to the v0.09 version of the shipping module as a workaround. If anybody can think of a better idea, I’m all ears.

osCommerce Admin panel showing 'Random surcharge' field

osCommerce Admin panel showing 'Random surcharge' field

It was my son’s birthday today, and he threw curry chicken all over the floor. It was a mess, and took a long time to clean up. But that’s okay. He’s only one year old. What’s Pos Malaysia’s excuse?

Update 16th March

Thanks to Chris Yeap once again, I realise I didn’t… actually… update… the… online… contributions… page… only… my… local… copy… Apologies to anyone who downloaded the old version and wondered where the new Random surcharge% field was. I’m an idiot. It’s there now!