It struck me that I never wrote up this pearl of a Trung Nguyên café, even though I've been going there for ages. Loan pointed it out to me a long time ago. Darren rated the phê dá "not bad", as I recall.
The main attraction of this place is that it has the pentafecta [*]: good coffee, food, electricity, wifi, and is not too smokey indoors. I have to say that I prefer the cà phê sữa đá number 5 they serve me at 603 or 346 Nguyễn Trãi. The food is quite OK and not too expensive, and the courtyard is pleasantly shady. The parking bloke seems to be in a perpetual good mood.
[*] penta- (5) plus perfecta, cf trifecta.
This is Cử's father wearing one of Darren's Hai Lúa t-shirts. He once told me he was the best thing on the Mekong Delta. (In jest, of course.)
Last dinner in Hồ Chí Minh City with Loan, at least for a while. She suggested we go to the pagoda on Nam Kỳ Khởi Nghĩa near Stinky, the canal at the top of District 1, and eat some vegetables. We ordered enough food for three people, and everything we managed to eat was excellent. The prices are reasonable but not cheap. I'd strongly recommend it to anyone interested in ăn chay (on ngày rằm or any other day).
I was interviewed
for the women's newspaper, Phunữ. Left-to-right in the photo: DRD Director Chị
Yến, my counterpart Triêu and me, and the MacBook in the
foreground, of course. We're seated in the corner of the DRD
office. I asked the journalist to publish my email address but sadly
she did not.
More press coverage at Tuổi Trẻ and Daily.com.vn. I guess this means my AYAD project was a success.
We're famous, we've got the top hit on Google Việt Nam for "DRD", and on the front page for Google.com. The launch went fairly well, with demonstrations of the "zoom" layout and the JAWS screen reader, and good attendence by the press. There were some good questions and I was exhausted by the end of it.
Partly by accident, partly by design, the new DRD website is now live. It has some remaining rough edges which I'll be ironing out this week and next. We'll have a launch press conference this Sunday, June 29. Any and all feedback is very welcome.
I've been reading a lot of accessibility articles. Most are (at best) unscientific. If you can cope with the outmoded HTML advice, the best is Joe Clark's Building Accessible Websites. I feel his treatment of colour blindness is ... excessive, in a good way.
Finally someone has cooked up a good explanation of how to
stuff Flash into a webpage, and why <embed>
lurches forever onward. It has convinced me that if one decides to be
evil and use Flash, one must necessarily also use JavaScript.
My goal of actually putting the XML part of XHTML to work by validating the comments and general content coming into HOPE with HaXml is mostly working, modulo some bugs here and there. Break it here: http://210.245.124.74/~drdviet/hope/ (soon to become the main DRD site, I hope.)
I've been warmly surprised by some of the general-topics things I've found on the net recently; either Google's search results are tending away from waffle or I am becoming very adept at closing tabs and flushing the short-term memory buffer. Dive into Accessibility is straightfoward and the tips mostly directly applicable. Unfortunately it has dated a bit; I shudder to think that there are too many HTML 4 websites out there that people now want to make accessible...
I slightly quibble with his advice on access keys (Day 15, p32 of the PDF), where he suggests that a stroke survivor may make use of them. I expect there are many people who struggle to make key chords, especially those having the use of just one hand.
An accesskey is another of the W3's ways of muddling concerns;
when you type something into a web browser, what does it mean? Does
the browser get the keystroke or the page, or the form, and which form
are we talking about anyway... It seems the prevailing
wisdom is not to use accesskeys as the implementations are
broken; in a nutshell, this misfeature is not compositional, a
feature shared with all the very worst XHTML ideas.
Back in the real world we're stuck between doing something "many users will be familiar with" (yeah, I remember that) and leaving things alone. I've decided to follow the BBC's ambivalent lead here.
One of the fun bits about this project is the text munging that comes with it. The regexp libraries for Haskell have super-sophisticated do-what-I-think-you-mean interfaces and not enough (simple) use-cases in the docs. Couple that with my concerns about Unicode support and I'm stuck doing it the very old fashioned way.
OK, enough editorialising; I've written a mostly-{RFC 4810, Haskell 98}-compliant lazy CSV parser that appears to work OK on reasonable-sized inputs. Existing solutions use Parsec, whose return type seems to guarantee that more-or-less the entire output must reside in memory at some point. This might be OK for small files, but the 6Mb of Unicode data I need to import consumes a ridiculous amount of memory, even with GHC's optimiser going full-bore.
You can find it here. The licence is BSD. Couple it with the appropriate utf8-string for your GHC and it works well on UTF-8-encoded files.
Now, to track down a nasty memory leak somewhere in the database
code... the profiler tells me SYSTEM is hanging onto some
stuff, but not what SYSTEM actually is. Err, what did Fergus say
again?
For the usual reasons it seemed best to use FCKeditor as an input widget for HOPE. I had hoped to provide some kind of hacker-friendly markup but time is short and convincing FCKeditor to generate it would probably require some heart surgery. So XHTML everywhere it is.
Clearly this path should lead to paranoia; we can't allow users to
submit arbitary strings, or even arbitary XHTML. My heavyweight
solution is to validate such submissions against a stripped-down XHTML DTD using HaXml. So far I've removed forms, scripts and
restricted the attributes of <a> to just
href. I wish the DTD was readable; it is merely an algebraic data type afterall.
Combined with some thorough string-escaping for the other inputs and a tendency to cop-out (crash) on anything that doesn't completely conform to expectations, I think we will be all right.
You can try your hand here. Any and all feedback is much appreciated.
In related news I've uploaded my FCKeditor "server-side integration" Haskell library to Hackage. Find that here.
Fellow-and-soon-to-be-ex-AYAD Yen steered me to this seedy old man's café quite near my usual and increasingly dear 603. While ancient, I wasn't calcified enough to last long at this place. They only serve the one type of Trung Nguyên coffee, which is a bit punk.
Chị Lan (my AYAD In-Country Manager) took us to this café on our first morning in Hồ Chí Minh City, way back in July 2007. It's a friend of Cà Phê Thềm Xưa. I went there today with Loan. We played a few games of Carcassonne (which I'd given her for her birthday) and chatted about xe ba bánh.
Well, somewhere in Hồ Chí Minh City a contract quietly expired and the Trung Nguyên at 1 Trần Hưng Đạo in District 1 is no more. The love heart on the front door and Trung Nguyên paraphernalia have been removed.
I now reside at 603 Trần Hưng Đạo, on the edge of District 1. Unfortunately they don't do food.
Trung Nguyên: Corner of Hồng Bàng and Đồ Ngọc Thạnh, District 5.
Sat, Mar 01, 2008./AYAD/HCMC/Cafes | LinkA small corner-café in the west of District 5 (aka Chợ Lớn and Chinatown). Nothing especially remarkable, except for being on a big fat noisy road.
Ah, back in Hồ Chí Minh City. The relatively-expensive JetStar flight back to Sydney in early February was absolutely full, with loads of Vietnamese people presumably travelling to visit their families for Tết. Conversely the relatively-cheap flight back yesterday was about one-quarter empty, consisting mostly of Australian and European tourists, to judge by accents and appearances.
The streets look different, I've moved digs, but the coffee remains as good as ever.
I went to visit Marc today, at the Prince of Wales Hospital, and we got around to talking about design. Roughly speaking, it seems to me that people tend to like their webpages the same way they like their streets. In Australia, and perhaps the West in general, we want order, clearly marked lanes, pedestrian crossings, accessibility in the form of kerb cuts and beeping and flashing attention-getting devices. The footpaths are clear of stalls and coffee merchants. Conversely Asia seems to prefer craziness, where finding things is difficult but what you do find is sometimes more valuable than what you set out for. As Marc observed, one uses fifty fonts to show that one is more prosperous than the guys who only used forty-nine, and damn that street food (mystery meat) is tasty.
I'm going to have to face up to the tension between Vietnamese website aesthetics and aspirations to accessibility rather soon.
What a strange confluence: tomorrow is both Super Tuesday, apparently a singular day in the selection of the President of the Free World, and Tết, the Lunar New Year. The streets of Hồ Chí Minh City are full of people, the parks full of (arranged) blooms. Like the Swedes, the people of Việt Nam party hard on the night before and have a quiet time on the day itself. I go back to Australia tomorrow, so no Tết for me.
Dolls from Hà Nội, or more "what one reads in Việt Nam News".
Thu, Jan 31, 2008./AYAD/Disability-Projects | LinkI bought a Sunday's Việt Nam News a month ago, and fortuitously found out about a lady making dolls in Hà Nội. I wanted to buy a couple for my mother, and so Loan organised for one of her mates to purchase them, and Chi Yen brought them back to Hồ Chí Minh City.
I finally managed to get HOPE to statically link. Björn does
this against MySQL, so the infrastructure was there, but Debian's PostgreSQL binary packages are built with Kerberos
support, and apparently libkrb5-dev no longer supports
static linking. I rebuilt them with all that switched off (thanks Debian, that was pretty easy), and now the linker seems happy. The
hazards of binary packaging...
So, why bother with this at all? Well, the company that will host DRD's new website apparently doesn't have GMP installed. This threw me a bit; I expected it to be missing all sorts of stuff, but GMP? I have been using GHC for too long it seems. Sure, I could try to arrange for the shared library to be present, or statically link just GMP in, but it seemed better to insulate HOPE from any other changes in the hostile environment with too much overkill, rather than not enough.
Next up: what happens when /etc/hosts is MIA? How do I
talk to the database server? I begin to understand why everyone sticks
to PHP and MySQL, and why Ruby on Rails's convention-based approach
is such a big deal.
