Still in China

Hello everybody! So no updates in the last week and a half because I have been working like crazy the last few days. Some schedules slipped, a few extra bugs appeared, and we extended our trip to finish deploying our project in a professional manner and to prevent as many loose ends as possible. Unfortunately for me, that means that I go straight from here to Singapore, so a 10-day trip just turned into a 25-day trip.

Anyway, here are some things I've seen and done in the last few days:

For one, I'm learning some Mandarin. Not much, but some useful things that help me get by. The first word I started to recognize on my own was "zhong" which means "middle" or in the midst of. It's written like this: 中
If you want to draw it you do it like this:
You see it everywhere, because the Chinese name for China is Zhongguo: 中国 or "middle country".

Another one is "da" which means "big". Mostly used when ordering food. 大

One that I hear a lot is "lu" or "road": 路 I think it looks like a bus driving past a road sign.

The other utility words I now know are "zhage" and "nage", meaning "that one" and "this one" respectively. You hear locals use "nage" a lot as a filler word almost in daily speech. It sounds much like the slang "nigga" one might hear in the inner cities, which makes an odd contradiction when you hear someone babbling in Mandarin and then suddenly switch to a rap video.

My name in Mandarin is something like this: 卡梅伦 Kameilun. Individually the words mean "card" "plum" "relationship" so take that for what you will.

(For you pedants out there I am intentionally ignoring tones for this post, although they are important)

Some Travels all over Shanghai, Part 1

Alright, I'm in China this week and since I don't do Facebook anymore and I don't do Instagram anymore I need a creative outlet for my pictures and stories.


So, how did I get here?

I work for a large tech company who has a couple of large tech offices in Shanghai. The one I am specifically concerned with is in the Caohejing High-Tech Park, on the east side of town. I'm out here with a coupe of coworkers doing some training and software support.

I came in the usual way: On a plane.
Pretty boring view out my window. At least I didn't have anyone sitting next to me.

Magically in Shanghai!
With just one little snag.
 United was having some problems on Tuesday when I left. Fog in Boise, Fog in San Francisco, Mechanical problems with the plane I was supposed to fly on, etc. After a couple of hours delay they rebooked me on another flight, which was nice. When I got to SFO I checked and my original flight still hadn't left, which meant it had been delayed by at least six hours. Unfortunately, my bag was still on that plane. It didn't make my Shanghai connection.

I did get it the next day though, which was nice. The front desk woke me up at 11 PM to tell me it was here, which was both nice and not nice. When I have this much jet lag I react by not being able to sleep through the night. So instead I called my wife to chat with her for a few minutes, since it was 8 AM back home.

I had a beard
I got rid of it
View out my hotel window. That's my office building on the extreme left. Long commute. 
 I have a thing for Asian breakfasts, or at least for breakfasts at the hotels I've stayed at in Asia. Usually the hotels where I stay serve clientele from all over the world, and have a generous breakfast to support all kinds of cultures. The Caohejing High-Tech Park is home to offices of quite a few foreign corporations. Some of the bigger names you may know are Peugot, Rockwell Automation, Micron, VISA, Jabil Circuit, and American Standard, just off the top of my head.

Anyway, it makes for a never boring breakfast.

Fried noodles for breakfast is where it's at

My Asian take on the Full English breakfast

I decided I like beans for breakfast
 An interesting thing about China is experiencing "Chinglish" or odd Chinese to English translations. I try to take pictures of them whenever I can. These ones are on the lawn outside the hotel:

Alright, time to hop on the subway and start exploring. I got on Line 9 at Caohejing High-Tech Park station and headed into town. First stop: Xuijahui. This is a huge shopping area, with something like 5 malls surrounding the intersection. It's also a major metro hub, with three lines intersecting.
This is Xujiahui, one of the busier intersections in the city. This was taken early in the morning so it wasn't super busy yet.
I switched trains and went to my old stomping ground, the French Concession. This is close to where the old Micron office was before they moved to Caohejing HTP. It's where I wandered around on my first trip here in 2010. The French Concession has some neat older buildings and residences, and to me feels a little slower-paced than most of the rest of Shanghai.

I love the tree-lined streets in the French Concession. It's especially pretty during the spring and summer.
Next stop: the park next to the K Wah Centre building. I used to walk past this park every morning on my way to work on my first visit here. There were always people doing some Tai Chi or something similar. Today there were a bunch of aerobic dance groups and these old guys who were painting characters on the ground with water. I didn't want to be too conspicuous as I took his picture but his drawings and method were quite beautiful to watch. I like to think he was writing poetry but I really have no idea.

Between here and there I stopped to talk to my family on the phone. Thanks, T-Mobile for having superior international roaming plans! I like being just a phone call or text message away.

Next stop: Square Park. Square park was designed to entertain the five senses: Touch Taste, Smell, Sound, and Sight. They do this with different plants, arrangements, and landscaping. It was a neat idea and I could have spent more time there.
The Sense Pavilion

Next stop: Nanjing Road. Nanjing Road is a famous shopping area and it was PACKED. Foot traffic only, lots of people, lots of aggressive pushy peddlers. I'm pretty good at just ignoring people but it makes me feel a little heartless. I didn't get any pictures of Nanjing Road itself, I'll rectify that at some point in the future. For now, some pictures of places around Nanjing Road.
A drink stop for nerds.

That guy totally photobombed my shot. This is one of the side streets, lined with all kinds of food shops.
From there, I wandered down some side streets, finding the "mechanical stuff" storefronts and then walking through a fish market street. Let's just say I preferred the smells of the Sense Pavilion to the olfactory assault, not to mention I hate to think what my shoes went through. There were lots of fish in tubs, overcrowded but technically "live fish" for sale, as well as crabs and shellfish.

I didn't buy anything.

Next stop: The Bund. The Bund is the old business area of town. Many banks and trading houses were established here around the turn of the century. It was super hazy though so the pictures didn't turn out as well as I'd hoped.
The Bund
 I took a panorama of Pudong, or at least part of Pudong, which is the new financial and business part of Shanghai. All those skyscrapers are pretty new. Like within the last 20 years new.
Pudong from The Bund

Windows 8 Consumer Preview

I'm downloading the Windows 8 Consumer Preview now. I'm excited to run this as my daily driver on my laptop. More to follow.

Installing Windows 8 in UEFI Mode from a USB Flash Drive

So, you want to install Windows 8 on your shiny new ultraportable laptop. You know, the one without a CD drive? Or perhaps you would like the speed of a USB installation instead of a DVD? You have come to the right place.

If you like defaultness, you could just use the Windows 7 USB Tool and have it format and do all that junk to the USB drive for you. But we like to do things the hard way. (Plus that tool formats the drive as NTFS and you can't do a UEFI install from NTFS media) So we'll have some fun.

1. Go get yourself a Windows 8 ISO. I imagine you can find it on the internet. Please note that only the 64-bit version will support UEFI.
2. Get the RMPrepUSB tool from
3. Run the  RMPrepUSB  tool with the following options:
Have RMPrepUSB automatically copy the contents of the ISO to the USB drive.
4. Make sure your BIOS is in UEFI mode.
5. Boot from the USB stick. MAKE SURE YOU BOOT IN UEFI MODE. My laptop will still let you pick legacy boot options even when in UEFI mode. The boot location will look kind of weird.
6. Once you get in the installer, hit Shift+F10 to launch a command prompt. Go to the install directory:
cd \Windows\panther
notepad setupact.log
Look for the line that says
Callback_BootEnvironmentDetect: Detected boot environment: EFI 
If it says something else (BIOS, etc.) you're not in UEFI mode.

7. Do your install. As a bonus, I wasn't able to install Windows using a USB stick in normal BIOS mode because Windows couldn't determine the boot order of my SSD. But it works in UEFI mode!

Veterans Day

In the rest of the world today is known as Armistice Day or Remembrance Day, remembering the end of the great World War.

On this day I honor all those who served and do serve our country. I honor your patriotism, I honor your valor, I honor your service. Thank you.

I leave you with a well known poem, "In Flander's Fields", by Lieutenant Colonel John McCrae.

In Flanders fields the poppies blow
Between the crosses, row on row,
That mark our place; and in the sky
The larks, still bravely singing, fly
Scarce heard amid the guns below.

We are the Dead. Short days ago
We lived, felt dawn, saw sunset glow,
Loved and were loved, and now we lie,
In Flanders fields.

Take up our quarrel with the foe:
To you from failing hands we throw
The torch; be yours to hold it high.
If ye break faith with us who die
We shall not sleep, though poppies grow
In Flanders fields.

Patton's Address to the 3rd Army before D-Day

If you liked the monologue at the beginning of the movie Patton (I'm looking squarely at you, Dad and Phil), This is the text of Patton's actual speech that was adapted for the movie. I feel like the beginning of that movie is a great piece of manly inspiration; the actual speech is one better.

I think it is interesting to note that Patton did not habitually curse- he cursed when he thought it was needed to impress.
Be Seated.

Men, this stuff we hear about America wanting to stay out of the war, not wanting to fight, is a lot of b******t. Americans love to fight - traditionally. All real Americans love the sting and clash of battle. When you were kids, you all admired the champion marble player; the fastest runner; the big league ball players; the toughest boxers. Americans love a winner and will not tolerate a loser. Americans despise cowards. Americans play to win - all the time. I wouldn't give a hoot in hell for a man who lost and laughed. That's why Americans have never lost, not ever will lose a war, for the very thought of losing is hateful to an American.

You are not all going to die. Only two percent of you here today would die in a major battle. Death must not be feared. Every man is frightened at first in battle. If he says he isn't, he's a goddamn liar. Some men are cowards, yes! But they fight just the same, or get the hell shamed out of them watching men who do fight who are just as scared. The real hero is the man who fights even though he is scared. Some get over their fright in a minute under fire, some take an hour. For some it takes days. But the real man never lets fear of death overpower his honor, his sense of duty to this country and his innate manhood.

All through your army career you men have bitched about "This chickenshit drilling." That is all for a purpose. Drilling and discipline must be maintained in any army if for only one reason -- INSTANT OBEDIENCE TO ORDERS AND TO CREATE CONSTANT ALERTNESS. I don't give a damn for a man who is not always on his toes. You men are veterans or you wouldn't be here. You are ready. A man to continue breathing must be alert at all times. If not, sometime a German son-of-a-bitch will sneak up behind him and beat him to death with a sock full of ****.

There are 400 neatly marked graves somewhere in Sicily all because one man went to sleep on his job -- but they were German graves for we caught the bastard asleep before his officers did. An Army is a team. Lives, sleeps, eats, fights as a team. This individual heroic stuff is a lot of crap. The bilious bastards who wrote that kind of stuff for the Saturday Evening Post don't know any more about real fighting, under fire, than they do about f**king. We have the best food, the finest equipment, the best spirit and the best fighting men in the world. Why, by God, I actually pity these poor sons-of-bitches we are going up against. By God, I do!

My men don't surrender. I don't want to hear of any soldier under my command being captured unless he is hit. Even if you are hit, you can still fight. That's not just b******t, either. The kind of man I want under me is like the lieutenant in Libya, who, with a Lugar against his chest, jerked off his helmet, swept the gun aside with one hand and busted hell out of the Boche with the helmet. Then he jumped on the gun and went out and killed another German: All this with a bullet through his lung. That's a man for you.

All real heroes are not story book combat fighters either. Every man in the army plays a vital part. Every little job is essential. Don't ever let down, thinking your role is unimportant. Every man has a job to do. Every man is a link in the great chain. What if every truck driver decided that he didn't like the whine of the shells overhead, turned yellow and jumped headlong into the ditch? He could say to himself, "They won't miss me -- just one in thousands." What if every man said that? Where in hell would we be now? No, thank God, Americans don't say that! Every man does his job; every man serves the whole. Every department, every unit, is important to the vast scheme of things. The Ordnance men are needed to supply the guns, the Quartermaster to bring up the food and clothes to us -- for where we're going there isn't a hell of a lot to steal. Every last man in the mess hall, even the one who heats the water to keep us from getting the GI shits has a job to do. Even the chaplain is important, for if we get killed and if he is not there to bury us we'd all go to hell.

Each man must not only think of himself, but of his buddy fighting beside him. We don't want yellow cowards in this army. They should all be killed off like flies. If not they will go back home after the war and breed more cowards. The brave men will breed brave men. Kill off the goddamn cowards and we'll have a nation of brave men.

One of the bravest men I ever saw in the African campaign was the fellow I saw on top of a telegraph pole in the midst of furious fire while we were plowing toward Tunis. I stopped and asked what the hell he was doing up there at that time. He answered, "Fixing the wire, sir." "Isn't it a little unhealthy right now?," I asked. "Yes sir, but this goddamn wire's got to be fixed." There was a real soldier. There was a man who devoted all he had to his duty, no matter how great the odds, no matter how seemingly insignificant his duty might appear at the time.

You should have seen those trucks on the road to Gabes. The drivers were magnificent. All day and all night they rolled over those son-of-a-bitching roads, never stopping, never faltering from their course, with shells bursting around them all the time. We got through on good old American guts. Many of these men drove over forty consecutive hours. These weren't combat men. But they were soldiers with a job to do. They did it -- and in a whale of a way they did it. They were part of a team. Without them the fight would have been lost. All the links in the chain pulled together and that chain became unbreakable.

Don't forget, you don't know I'm here. No word of the fact is to be mentioned in any letters. The world is not supposed to know what the hell became of me. I'm not supposed to be commanding this Army. I'm not even supposed to be in England. Let the first bastards to find out be the goddamn Germans. Someday I want them to raise up on their hind legs and howl, "Jesus Christ, it's the goddamn Third Army and that son-of-a-bitch Patton again."

We want to get the hell over there. We want to get over there and clear the goddamn thing up. You can't win a war lying down. The quicker we clean up this goddamn mess, the quicker we can take a jaunt against the purple pissing Japs an clean their nest out too, before the Marines get all the goddamn credit.

Sure, we all want to be home. We want this thing over with. The quickest way to get it over is to get the bastards. The quicker they are whipped, the quicker we go home. The shortest way home is through Berlin. When a man is lying in a shell hole, if he just stays there all day, a Boche will get him eventually, and the hell with that idea. The hell with taking it. My men don't dig foxholes. I don't want them to. Foxholes only slow up an offensive. Keep moving. And don't give the enemy time to dig one. We'll win this war but we'll win it only by fighting and by showing the Germans we've got more guts than they have.

There is one great thing you men will all be able to say when you go home. You may thank God for it. Thank God, that at least, thirty years from now, when you are sitting around the fireside with your grandson on your knees, and he asks you what you did in the Great War, you won't have to cough and say, "I shoveled **** in Louisiana."

The Dream

I had a dream last night. I think I dream more, or at least I remember my dreams more, when I get more sleep. I usually get 6 hours or so on weeknights, 7-8 on weekends, so it shouldn't surprise me that I had this dream on a Sunday night after going to sleep at 9:30.

I was at some sort of away location. My family was there, and I was concerned about them. They were not there in my immediate presence, but they were there somewhere, maybe in a nearby house or something. The thing that I was concerned with was my gun.

As an aside, "my gun" means my 1911. I see my .22 as more of a utilitarian tool, and my 870 is "my shotgun" but "my gun" definitely is my 1911.

I needed my gun. I don't know why I needed it, maybe for some kind of protection or something. I just know I needed it and I needed it loaded. I found it in an old barn-like building in the bad I usually keep it in, but everything in the bag was in disarray. Dirty, loose ammo rolling around in the bag, old mags everywhere. It looked like an old dirty tool bag that had been in the dirt for a couple of years. I got my gun out and proceeded to try and find a magazine, but I couldn't find one that would fit. There were a bunch of .22 mags from a Ruger or Browning-type pistol, which of course didn't fit. Then I saw what looked like some 10-rd mags for a 1911, but I couldn't make them fit, either. They kept mooshing when I would put them in, like they were made out of vinyl or soft plastic or something.

I pulled the mag out and looked at the ammo in the mag. The rounds were all dirty and corroded, and a bunch of the brass was mangled. It reminded me of the old brass we used to find outside in the desert at the Army base I used to live at (Ft. Irwin). I sat there feeling well and truly screwed at my predicament for a moment, then the sounds of the guitar form "The Godfather" woke me (that's my alarm ringtone).

A somewhat disconcerting dream. It kind of reminds me of the parable of the ten virgins, except instead of lamps there were guns, and instead of oil there was ammo/mags. And I definitely wasn't one of the prepared five. When the time to decide is at hand, the time to prepare has long since passed.

RE: One True Brace Style

Yeah, so it's sad that Dennis Ritchie passed away, but that whole OTBS thing has got to stop. Really, anybody who is ANYBODY is using Allman style these days.

It's just so much easier to parse for my brain. And even a single line associated with a control statement gets its own braces.

if (condition)
    do a thing;

Dennis Ritchie

This blog is starting to look like a tech obituary forum.

Dennis Ritchie died. That's THE Dennis Ritchie. The "R" in "K&R" for all you people who have done any real programming in life. Ritchie created the C programming language. And for those of you who haven't programmed but have used ANY piece of technology created in the last 20 years you used something that was created with C or a C derivative (don't forget Verilog).

A commenter to the story on Slashdot left a fitting tribute:

goodbye world

Tribute to a Maker* and a Tech Visionary

Design by Jonathan Mak

The news that Steve Jobs had passed away hit me a little harder than I thought it would. I knew it was coming- he looked more frail with each picture of him that I saw. I was still taken aback by the news.

As an aside, I wonder what my Scouts were thinking while I sat there and stared at my phone in silence, dumbfounded, after I saw the news (I was looking for a schedule online).

I don't really care for some of his company's products. I think they make pretty solid hardware, and you can't argue with the aesthetics and marketing, and even a lot of their software is cool. My only issue with their stuff is the "walled garden" approach that they take with everything: "You can't do that on the device that you own that we made because we don't want you to." And that's why I am an Android fan. But I digress....

Steve Jobs took a foundering company and turned it into the biggest consumer electronics company in the world, and arguably the most respected. He had a vision and knew where he wanted to take Apple and the computing world in general. You can see this even back in 1997 when he had just come back to Apple after a few years doing other things. Watch his WWDC Q&A session here. It's a long one, but it's neat to here him describing the ideas that started Apple's most successful devices and services.

Thanks for making the smartphone cool. Thanks for revolutionizing music consumption. Thanks for pervasive networking. Thanks for helping us connect to the people we love.

You'll be missed, Steve. You were and continue to be an inspiration to tech-heads everywhere. Thanks for having the courage to break the mold and shape the computing world into your vision of the future.

Stay hungry. Stay foolish.

*Not in the sense, more the Alvin Maker sense