Mar 2 2010

Pablo’s Fiesta Fue Muy Interesante

I found out how close we really were from the IRS building that was hit by a plane. I was first surprised to find out that the hotel we stayed at was right across the street from it. The thing that surprised me most was the location of the event itself – just across the parking lot!

View From Echelon III The IRS Building Good Bye, Austin

Although my coworker and I left Saturday night to go back to Houston, the sessions I attended in Saturday were, as always, really interesting. I’m going to try and regurjitate what I have in my memory from the weekend. I’m going to review Sunday’s sessions to see what I missed.

Open Space Schedule

Overcoming resistance to Adoption of Agile methods
The more important problem here isn’t actually selling Agile methods, but instead how to sell it. There seems to be a huge language disconnect between software developers and their (non-technical) managers. Software-development-English is really different than business-English. One way to bridge this gap is to start learning about seeing things in another point of view. In my case, I need to learn about how to explain problems and solutions in such a way that it impacts revenue, profits, and basically the bottom line.

Books mentioned: Release It! | Ship It!

What does it mean to be a software architect in an iterative world
As some of you may know I’ve been promoted to Senior Software Architect. Honestly, I had no idea what an Architect is or does, so transitioning into this role was something I was determined to find out. People in the session collectively put it best:

Architects are responsible for putting that dot on the horizon and guiding/zig-zagging the current software project(s) there like a sailboat.

So the goal is to iteratively make changes of the zig-zagging to make sure we don’t stray too far from that dot on the horizon since that is also a moving target.

Books mentioned: The 5th Discipline and Fieldbook | Enterprise Architecture as a Corporate Strategy

Open the Kimono
Although I’m not a web developer, I went to see what Jimmy Bogard had to show off. He’s a really sharp guy and definitely has some things to show from his project.

Branch/Release per feature
Basically, branch per feature is something that Martin Fowler is against since it allows for the merge points to become difficult and painful the longer the points are from each other. Despite this problem, the argument for this is that it allows for half-completed features to be excluded from the release of fully-completed features. Martin Fowler definitely has a valid point, but by making features small and iterations short, managing the merge points will definitely be less painful.

F#
Discriminated Unions explained with poker. I’m going to start a Project Euler repository with F# solutions, but we’ll see how far I really get.

Books Mentioned: Real-World Functional Programming with examples in F# and C# | F# Wikibooks


Feb 26 2010

Martin Fowler, a Software Development Soothsayer

What Agile really means to the future of software development
Martin will call upon his more than 20 years of software industry experience to talk about how the history of the software also serves as a roadmap for what to expect in the future.

Martin had three very drastically different mini talks rather than a single long presentation. I really liked this approach since it helped keep my short attention span.

I. Continuous Integration and Continuous Deployment
His presentation comparing Feature Branching and Continuous Integration was just a regurjitation from his older articles, discussions from other presenters at other events, and a book he recommended by Paul M. Duvall. I won’t bore you with it.

Something that caught my eye was Continuous Deployment and what he called the “build pipeline.” He had an awesome flowchart/diagram to explain this, but I’ll try and do it with a list. I’ll include the tools I currently use in our development environment at work, if they apply.

  • Commit Task – usually kicks off a full build of the main stream on a build server, not a local machine
    • Compile: Visual Studio
    • Tests: NUnit
    • Assemble: NAnt
    • Code Analysis: NCover and FxCop
  • Artifact Repository – this can be a file share to maintain each build version from the Commit task above
    • Binaries: CruiseControl.NET
    • Reports: NUnit, NCover, and FxCop
    • Metadata: I have no idea what this is, any ideas?
  • Acceptance Task – of a specific version in the Artifact Repository
    • Configure Environment
    • Deploy Binaries
    • Smoke Test
    • Acceptance Tests (customer focused)
  • Performance Task – of a specific version in the Artifact Repository
    • Configure Environment
    • Deploy Binaries
    • Smoke Test
    • Performance Tests
  • Deploy Task – of a specific version in the Artifact Repository
    • Configure Environment
    • Deploy Binaries
    • Smoke Test
    • Run

I’ve got the Commit Task and Artifact Repository down to a science at my job and it’s a good reassurance that I’m doing this right! I’m going to see what it’s going to take to get the rest of the “build pipeline” implemented. I’ll also see if Cruise is something that will work for us.

I already have so many books I’ve started reading and not finished, but Martin recommended another interesting one that’s still classified as a “Rough Cut”: Continuous Delivery by Dave Farley & Jez Humble.

II. Domain Specific Languages
I forgot my Hydrocodone in the car and my right-bottom part of my mouth was throbbing. The last time I took a pill was lunch and it’s been the longest stretch. I was a little distracted by that, so sorry for the significantly reduced notes.

Martin had an awesome explanation (in his book) about how to get from code configuration to XML configuration and then finally to a DSL configuration represented in Ruby. SO CLEAN! I really need to finish reading my books instead of starting new ones.

“XML is like violence. If it’s not working, you’re not using enough.”

Martin as also quite impressed about the possibilities of DSLs and the impact of Language Workbenches. He recommended us to watch this video from Intentional Software.

“If you try to solve a problem with regular expressions, you end up with two problems”

III. Controversial Topic: Diversity, Women & African American in Software Development
Although there were no slides, I didn’t really like this talk and I found it quite inappropriate. It is definitely a heated topic and should be discussed, but I don’t think this is the right forum. I’ll leave this topic alone.


Feb 22 2010

Four Wisdom Teeth Removed

Thursday, the Farewell Feast

We all decided to have our last supper at Sinh Sinh. We had bunch of our favorite dishes – walnut shrimp, pan fried noodles, Peking duck, bo` lu’c la’c, and orange-peel beef. What a cheap and awesome dinner! Thanks to everyone who came out to say goodbye to our wisdom teeth!

Friday, the Operation

In the morning my brother and I had the operation at Sandalwood Dental on Friday by Dr. Bloom 7 am and 9 am, respectively. Our parents took care of us since we were wheel-chaired out to their car after our operation early Friday morning. After the operation, we’ve each been given a bottle of 30 Hydrocodone pills as a part of our pack.

Hydrocodone gets me really itchy and anxious and everything gets loopy. It’s like being high and drunk at the same time without the hangover and nausea. It cures pain like no other and it definitely helps me get through the days and nights. Without it, I’d be in bed all day to try and sleep through the pain.

Saturday and Sunday, the Pain

If you should ask, the second day after the operation is the worst. That day was Sunday for me and it started around 2 AM. I debated with myself for an hour to either try and sleep through the pain our get out of bed all groggy and dizzy to get another pill. The pain escalated ridiculously, so I stumbled out of bed to find where I last put the medicine bottle. On my way back, I realized my brother was also in pain and had a hard time sleeping, just like me.

Here’s a hint he gave me that I’ll pass on to everyone after this kind of operation: sleep with your head in a raised position. Sleep on a bunch of pillows!

While at my parents’ house, I found a Williams Sonoma I made it a point to learn a few recipes while at my mom’s house:

  • Broccoli Cheese Soup
  • Baked Potato Soup – add bits of real bacon!
  • Chao – a Vietnamese rice porridge dish. It really quite easy.
  • Homemade Chili – mix this with chao and it’s a bad ass meal!
  • Gumbo – I’ll need a bigger pot if I’m going to do this myself.

Monday, the Recovery

I really thought I would be able to make it back to work on Monday, but when I woke up Monday morning, the nausea, headaches, and dizziness kicked in. It wasn’t due to the pain, it was all because of the medicine. I decided to reduce my intake from two pills every six hours to one pill every four hours. This way, I’m not on a crazy high/trip.

Anyway, I think I’m back to normal and I hope I can make it into work just fine tomorrow morning.


Feb 20 2010

FeedBurner Migration Confusion

Some of you may know that Google will end FTP publishing support for Blogger. Well I’ve decided to move to WordPress and to do that, I need to update my FeedBurner’s original source. Sounds easy right?

Here are my assumptions and below are some screenshots that show why I failed:

  1. thomasnguyencom[at]gmail.com is my FeedBurner account email address
  2. Since I did the migration a while back, it will show up when I look at “My Feeds”
  • After I signed in (via http://feeds.feedburner.com/) using thomasnguyencom[@]gmail.com. As you can see, no feeds show up.

    No Feeds?!
  • My first choice was to try and migrate my old account, but as you can see I already did this back in the day.

    Already Migrated
  • The only other choice I had to do was to add my account again, but no success.

    Already Taken
  • I did some research and found out that my Google-FeedBurner account used the email account associated with my old Feedburner account – contact[at]thomasnguyen.com.

    Another Account
  • After transferring the account to thomasnguyencom[at]gmail.com, everything is now just fine and dandy.

    Transferred
  • YAY!

    All Done!

Please note Google, I can only sign in with my contact[at]thomasnguyen.com email for FeedBurner, not GMail, or anything else Google related. It’s a confusing configuration.


Feb 9 2010

Las Vegas Visit, I’ve Lost Count.

The Asian Pose.B A T
E N O
N N M
This was one of the weirdest and most interesting Vegas trips I’ve been on. From an awesome old wise Italian driver (Mike), to a blackjack dealer full of jokes (Peter), and even a waiter who sat with us for coffee (Thuong).

“What’s the secret your marriage” -Ann
“She smooths out the bumps in the road” -Mike, our Italian driver

“I say ‘holy mccow’ because I’m Chinese.
*awkward pause*
If I’m Indian, I saw ‘holy cow’.” -Peter, the blackjack dealer

I would write the whole story, but you just had to be there to get the full effect. I’ll be adding more pictures as I go through them. It’s unfortunate that the Grand Canyon pictures (or any picture really). James put it right in his post about Washington, “I am small and insignificant“.

Hoover Dam Security Zone. Then the Fog Cleared Out! Don't Look Down! A Holy Rock


Dec 31 2009

My Vacation Movie/Show Reviews.

I hate going to the movie theater. I admit, I went to watch Avatar, but not because of the awesome storyline that got yanked from a 90s film, Ferngully. Instead, I went because I read about what James Cameron did since Titanic. I honestly think the cinematic experience was great. Of course, I had to ignore the plot as a factor.

Anyway, I recently subscribed to Netflix and I am very satisfied. I highly recommend it to those who want to catch up with all the shows without having to leave the comfort of your couch or even walking to the mailbox if it’s on the Instant Queue. I’m lazy. Can you tell? =)

  • Dexter (Season 1 and 2) – If you haven’t watched this series, start from the beginning. It’s just one of those shows you HAVE to watch! Not a kid-friendly show.
  • Jarhead – Meh, boring war movie. It’s more about the psyche of a soldier. I want more explosions.
  • Step Brothers – It was funny, but I wouldn’t watch it again.
  • Helvetica – If you like typography, graphics, and art, watch this!
  • Primer – Interesting view on time travel and the effects it has, no Butterfly Effect crap here.
  • Battlestar Galactica (old school) – It’s hilarious and awesome. I’ve watched the new series, but never the original. I’m on the fifth or sixth show and so far so good.

Time to get back and play Call of Duty: Modern Warfare 2.


Dec 19 2009

Clam and Mussel Soup, MmMmm…

I’ve been trying to figure out what to do with the pound of mussels and pound of clams sitting in my freezer. I found this recipe a few weeks ago, and here is what it looks like:

  • 1/2 cup plus 1/2 cup white wine
  • 3 pounds mussels, scrubbed, bearded and rinsed

    Bearded? Haha, whatever that means. I just cleaned it.

  • 2 pounds clams
  • 4 tablespoons red wine vinegar
  • 1/4 cup extra-virgin olive oil, plus extra for drizzling
  • 3 salted anchovy fillets, rinsed and chopped
  • 2 red bell peppers, cut into 1/4-inch dice
  • 1 medium red onion, cut into 1/4-inch dice
  • 2 ribs celery, cut into 1/4-inch dice
  • 1 carrot, cut into 1/8-inch dice
  • 2 cloves garlic, thinly sliced
  • 4 slices country bread

    I just totally skipped out on bread

  • 1 bunch Italian parsley, chopped to yield 1/4 cup

    Italian parsley? I just used the regular bunch

Prepare the shellfish
In 2 separate pots, place 1/2 cup white wine. Add mussels to 1 pot, clams to the other, cover both pots and bring to a boil. Reduce the heat to an active simmer and cook until mussels and clams have been steamed open, about 3 to 5 minutes. Remove the shellfish from their respective pots, reserving the cooking liquid, and allow to cool. Once cool, shuck shellfish and discard shells.

Put it all together
In a large soup pot, combine the shellfish cooking liquid, vinegar, 1/4 cup oil, anchovies, peppers, onion, celery, carrot and garlic and bring to a boil. Reduce the heat and simmer for 15 minutes. Add the shellfish and stir to heat through.

Clam and Mussel Soup. My First Bowl of Awesomeness.

Now I have no idea how to store it, I made way too much!


Dec 12 2009

My First Home Cooked Meal, Made by Me.

Yeah, I’ve made SPAM and rice, hamburger helper, PB&J, mac and cheese, or raman noodles, but this is my very first “real meal.”

Here’s what the recipe called for:

  • 3 tablespoons olive oil

    I only had extra virgin olive oil, does it make that huge a difference? Oh well.

  • 1 large onion, chopped
  • 2 Granny Smith apples, peeled, cored and chopped

    I never knew apples had crazy names like this. I only knew they came in red or green, lol.

  • 8 fresh sage leaves

    The recipe didn’t say what to do with them, so I had to call my brother about what to do. I just finely chopped them.

  • 2 cups thick-cut white bread cubes, crusts removed

    Elizabeth explained to me what this means. I just cut up sliced bread, but remove the crusts? WTF am I going to do with the crusts? Throw them away? I left mine in.

  • 1 egg, beaten
  • 2 tablespoons butter
  • Salt and pepper
  • 1/2 to 1 cup chicken broth, plus more if needed
  • 1 (3 pound) pork loin roast, butterflied

    I cut a huge ten pound strip of pork loin up into smaller pieces. Don’t do that for this recipe, the best thing to use is a smaller, longer strip of pork loin.

Preheat oven to 375 degrees F.

Making the stuffing
In a large skillet, heat the olive oil over medium-high heat. Add the onion, apples and sage. Saute until softened. Remove from the heat and gently stir in the bread, egg, butter and salt and pepper. Add the chicken broth gradually until everything is moistened. Let the stuffing mixture cool completely before putting it in the pork loin.

Stuffing the stuffing
Spoon the stuffing down the pork, horizontally, in a line. Roll the pork over the stuffing, jelly roll style, ending with the seam down and fat side up. Lightly score the fat, in a diamond pattern, with a sharp knife. Tightly tie the pork roast up with butcher’s twine, season it with more salt and pepper, and transfer to a roasting pan. Roast the pork in a preheated oven for about 90 minutes or until an instant-read thermometer registers 160 degrees F.

All Done
Remove from the oven and let rest for 15 minutes before slicing. Garnish with apples and fresh herbs.

My Pork Loin Roast! Check out the Scoring on the Fat.

Time to EAT!


Nov 23 2009

Deny Yourself Access to a Domain Name.

Well, why the hell would I want to do that?

We’re moving our hosting to a new hosting provider and just to make sure we don’t have any absolute URL paths, we want to blackhole ourselves from that domain.

With some instructions from Kevin, here’s what we did:Add one line:

0.0.0.0 www.securevantage.com securevantage.com

Yeah, that’s it. Now my local machine goes to a blackhole when accessing the domains above. Awesome. Let the testing begin!

Pretty cool stuff. I just need to remember how to remove it after all this, that’s why I really posted this.


Oct 12 2009

Seven Days Without a Phone.

Two Fridays ago, October 2, I lost my BlackBerry 8900 on the bus. The following Monday I called up METRO to see if anyone turned in…nothing. I waited a few more days and tried again, they found a BlackBerry! I described it to them and even asked them to open the back panel where I put a sticker. They verified and gave me a tag number (365928) and was told to visit the 1220 McCarty office to pick it up on Friday, October 9. I showed up and they pulled out an older BlackBerry 8110 in its holder. It’s the wrong phone! There’s no way this phone could have the same sticker I had, so popped it open and nothing. I drove all the way out there for nothing due to lazy, incompetent people. ARGH!

Well, not really nothing – Purple Heart was picking up the items no one picked up in the last thirty days and I got a card from them with all the locations. Time to donate all my hoarded stuff!

So for my seven days without a phone I realized I don’t really need all the fancy stuff – Internet and email. I do need a phone though. There were many times when my phone book would have helped – no one remembers phone numbers anymore, right?

So for my next phone, I’m thinking about getting another BlackBerry, the next Android, or conform and get an unlocked iPhone. I’ll have to do some research and see what’s available. Meanwhile, I’ll be using my awesome Nokia 2610!