At The Ritz with Jen.
I liked it, and can think of little more to say.
Meh. Apparently the author spent three years in Hồ Chí Minh City and the best he could come up with is this. In a tale spread across three cities, Glasgow is the only one that is described in more detail than a tourist could manage after a day's visit, and if you really wanted to know about Scotland you'd be reading Irvine Welsh anyway. Reilly's evocation of Saigon hardly exceeds what one learns from the Lonely Planet, soured by the usual questions ("Why do the people smile so much after all that's happened?") that are never properly addressed by pop writers. Let's not even mention Melbourne, the book hardly does. One ends up with no greater insight about the places, the peoples, mixed marriages, cross-cultural humour or any other thing one finds canvassed here.
I found it especially irritating that his Saigon was little more than Westerner-friendly District 1, with District 3 being characterised as a rich people's ghetto, and District 4 as comprised entirely of criminal trash. He doesn't even mention Chọ Lớn! Lame, lame, lame... there is no depth here, and the humour is mostly clunky and derivative to boot. Sliding in some pigeon tiếng Việt does nothing for this book.
Apparently he is an editor at the The Age.
BTW, the best way to see Vietnam is from a motorbike. Walking everywhere gets old fast with all the street hawkers. If you don't want to drive, either find a mate who does or pay a local. Bring a helmet.
I picked this up on the strength of a gushing Smage review, and really, what's not to like: a young bloke, born in Vietnam and raised in Melbourne, cranking out self-confident self-aware prose in Iowa.
There are so many reviews and things — many helpfully catalogued by the man himself — that I have little to add. I would more strongly recommend this interview from earlier in the year if the interviewer weren't so overbearing.
My favourite effort was the first story, Love and Honour and Pity and Pride and Compassion and Sacrifice, which is available here. Perhaps the stylistically weakest is his Winton-alike Halflead Bay, and even that is redeemed by some strong themes.
Worse than the original?
Here is a friend of the fish cycle: the "fish limit".
Although the SVG rendering consists of only a finite set of lines,
FLAN source code describes an infinite set;
the interpreter decides to stop generating that set once the lines get
polyline :: [(Num, Num)] -> [Shape] polyline pts = match pts with  ->  | p:ps -> let mkP :: (Num, Num) -> [(Num, Num)] -> [Shape] mkP prev qqs = match qqs with  ->  -- Don't close the polygon. | q:qs -> (Line prev q) : (mkP q qs) end ; in mkP p ps end ; leftFish :: Picture leftFish = Canvas 1 1 ((Line (1/8, 3/5) (1, 4/5)) : (polyline [ (1, 1), (1/8, 3/5), (1, 1/8), (3/4, 0), (1, 0)])) ; rightFish :: Picture rightFish = Flip leftFish ; fish :: Picture fish = Beside 1 1 leftFish rightFish ; sideFish :: Picture sideFish = Rotate fish ; foodChain :: Picture foodChain = let p :: Picture p = Beside 1 1 foodChain sideFish ; in Above 1 1 p p ; main = foodChain
The h-tree example, another infinite image.
l :: Picture l = Canvas 1 1 [Line (0.5, 0.5) (0.5, 1)] ; h :: Picture h = Overlay l (Beside 1 1 (Flip s) s) ; s :: Picture s = Rotate h ; htree :: Picture htree = h ; main = htree
I have mixed feelings about this book; the endless food pornography dulled the edge of some sharp social commentary, particularly centred around the land reforms and the lifestyles of the post-war political cadres. Some of the loyalties are stretched super-thin, and the uncle character is barely more than a caricature. I enjoyed it when the plot was moving, and I do appreciate that many nuances were lost in translation.
In a previous life I implemented GLog, a declarative graphics engine based on some very old ideas. In this one I've been implementing Peter Henderson's even older Functional Geometry as part of an assignment for JAS. If your browser can render SVG and HCoop's webserver is behaving itself, you should see the dear old "fish cycle" from the paper Logic programming graphics and infinite terms by P. R. Eggert and K. P. Chow.
polyline :: [(Num, Num)] -> [Shape] polyline pts = match pts with  ->  | p:ps -> let mkP :: (Num, Num) -> [(Num, Num)] -> [Shape] mkP prev qqs = match qqs with  ->  -- Don't close the polygon. | q:qs -> (Line prev q) : (mkP q qs) end ; in mkP p ps end ; leftFish :: Picture leftFish = Canvas 1 1 ((Line (1/8, 3/5) (1, 4/5)) : (polyline [ (1, 1), (1/8, 3/5), (1, 1/8) , (3/4, 0), (1, 0)])) ; rightFish :: Picture rightFish = Flip leftFish ; fish :: Picture fish = Beside 1 1 leftFish rightFish ; sideFish :: Picture sideFish = Rotate fish ; matrix :: [[Picture]] -> Picture matrix = col ; col :: [[Picture]] -> Picture col pps = let mkP :: [[Picture]] -> (Picture, Num) mkP pps = match pps with  -> (Empty, 0) | p:ps -> match mkP ps with (pic, n) -> (Above 1 n (row p) pic, n + 1) end end ; in match mkP pps with (p, n) -> p end ; row :: [Picture] -> Picture row pps = let mkP :: [Picture] -> (Picture, Num) mkP pps = match pps with  -> (Empty, 0) | p:ps -> match mkP ps with (pic, n) -> (Beside 1 n p pic, n + 1) end end ; in match mkP pps with (p, n) -> p end ; main = let u :: Picture u = fish ; l :: Picture l = sideFish ; d :: Picture d = Rotate l ; r :: Picture r = Rotate d ; in matrix [[d, l, l], [d, Empty, u], [r, r, u]]
There is an implementation available in LISP.
David Lean, though I didn't know it at the time.