Showing posts with label work. Show all posts
Showing posts with label work. Show all posts

Monday, April 22, 2013

Germany 2013 - Day 9

Well, vacation is officially over and work must now begin. In my profession though, it feels more like play some days. Today was one of those days. I got to learn a new technology today and that is one of my favorite things about being a geek; staying on the bleeding edge.

I woke at 7:15 am, and got ready for the day. I'm actually staying at the same hotel I stayed at last year (The Hotel Berial) in downtown Dusseldorf. It's a really nice place and they have an AMAZING free breakfast buffet with a huge spread of meats, cheeses, eggs, sausages, juices, hot coffee, and fresh fruits and vegetables. It's leaps and bounds above any place else I've stayed on my travels. Major bonus!

Bob and I worked at his flat all day. I'd love to explain the details of what I worked on, but it really would bore most people. It's pretty geeky stuff... I'm sure I'll be blogging about it soon outside of my travel journals. Blah blah blah, we finished working around 5 pm.

After work, I took my stuff back down to the hotel -- which is 2 blocks from Bob and Michelle's flat -- and talked to Jennifer for a bit over Skype. Bob and Michelle invited me back to their place for a delicious Asian-style chicken dinner and wine. We sat around and had great conversation until about 9 pm and then I came back to my room to work on a prototype for a new project.

EmberJS LogoMost of my work day consisted of reading documentation and going through various tutorials... basically it was a "day of learning". So I guess it's safe to say that the first day back was a good one!

Thursday, May 03, 2012

Dusseldorf, Germany - Day 25

Today was epic. :) First of all, the day started off with home made blueberry muffins. I actually left out the fact that Michelle made fresh blueberry muffins after we got back from dinner with Dariush last night. The smell completely consumed the entire house and Bob and I got to be her taste testers. We thought they tasted amazing, but we had do another test, so we each had another... Yup, they were delicious. :)

Needless-to-say, we woke up to these delicious gems, and topped them off with some fresh coffee. Then it was off to the office in Dortmund again. The reason today was epic was because I was going to finally meet this guy that everybody has been talking about, by the name of "Bill". I've heard so many stories about this guy, and feel like I know so much about him.

When we got the office, there was a guy sitting in our room and I stood patiently waiting while this guy talked to Bob. I was dying to know if this was Bill or not. After their brief conversation, I said "Are you Bill?", he said "Are you Luc?", and then I knew it had to be him. It was a pleasure to finally meet him. I was ready to go home after that, for it was the only thing I had to do in Dortmund today... Mission accomplished.

Bill, Bob, and I all worked in the office til around noon, and then headed to that delicious restaurant for lunch, Divan's a few kilometers from the office. I ordered the exact same thing that I ordered last time and had no regrets. This stuff was so good! From lunch we headed back to the office and worked a little longer before heading back to the house.

Today was an exciting day for Bob too. He got his new car today. His new ride is a VW Passat with all the fixins. It literally had 10km showing on the dashboard when he got in it today. It was an honor to be his very first passenger today. :) On our way home, we actually stopped at a truck stop along the auto-bahn and were able to geek out with it. We learned all the buttons and knobs and basically just played with it for about 10-15 minutes... Yeah, we're geeks.

By the time we got back on the road, we had figured out how to work the on-screen navigation system. Bob had his iPhone hooked up to the car so he had full access to his contacts, phone numbers, music collection, etc all accessible from a few buttons on his steering wheel. This car impressed the crap out of me. It had even more features that I could go on and on about, but I'll just end now by saying it kicked ass.

When we got back home, I updated my blog for about an hour or so, and then we had a great meat loaf dinner which was prepared by the world famous chef Michelle. It was really good. I mean, really good! I'm a huge meat loaf fan! One of my favorite things about meat loaf is that everybody makes it different, and Michelle's was very good, even though she claimed she "forgot how to make it"! Honestly, it was da-bomb...

Michael, Michelle, Bob, and Matt

After dinner, we all sat around and enjoyed some laughs and then called it a night around 11pm.

Wednesday, May 02, 2012

Dusseldorf, Germany - Day 24


Today was (yet another) great day. I woke @ 7:30, showered, and headed down for a quick breakfast before checking out. I have accumulated so much luggage that I had to make two trips down to Bob's flat. The first load had my "carry on" and my computer bag. The second load had my big luggage which has all of my gifts and souvenirs along with all of my clothes. The big bag is stuffed and my carry on still has lots of room. Therefore, I may need to move somethings around before I fly out on Saturday.

Since I had all my things down here now, we were able to listen to music from my iTunes library today. Here comes another great use for the iPad... Bob was able to connect to my MacBook Pro from his iPad with the push of a button and a 4 digit code on my Mac. We then had full control over my massive iTunes library from a touch screen devise on the table. Not only that, but we still had instant access to his Apple TV, his iTunes on his main computer, and his laptop, all from this single devise. Simply ingenious!

Around noon, Bob and I grabbed some umbrellas and headed out for some lunch. It wasn't a full on rain, but it was sprinkling pretty steadily. We walked about a mile to a German-style Radio Shack which sold various computer parts and electronics. Our mission was to pick up some beefed-up routers and  for the flat since we were maxing it out with all of our computing. While Bob worked with the employees, I just looked around the store and was consumed in the geekiness of each isle. It was hard to walk out of there without buying anything, but my euros are low and most everything in the store I can get at home. From Conrad, we crossed the street and ate lunch at a Mexican restaurant which had a buffet style selection of deliciousness. After lunch, we headed back towards the flat to finish up our workday. Oh, did I mention it rained this entire time. Not bad, but enough to take notice. Bob and Michelle call their new hometown Drizzledorf, and it fits quite well as I now see.

We worked at the table until around 6pm. Around this time, Dariush showed up and was going to be joining us for dinner. It was great seeing him again, and he was finally able to meet Bob. The last time I was in Europe, Dariush and Bob worked together over the phone to help me out of a tight jam with my debit card in Paris, France. We all headed down toward the Altstadt and stopped to eat at a very nice seafood restaurant, named Fischhaus-Dusseldorf. We found a table outside under a large overhang and enjoyed the evening. A few times it really poured down rain and it was cool to see all the lights reflect off the stones on the street. My dish was delicious; I ordered a mixture of different grilled fishes. We also enjoyed a nice bottle of white wine with our meal.

Dariush and I @ Fischhaus-Dusseldorf

I think it goes without saying that we had a great time this evening. 

Around 9:30, we started our journey back toward the flat. It had stopped raining by this time and it actually turned out to be a beautiful evening.

Tuesday, May 01, 2012

Dusseldorf, Germany - Day 23


Today was a holiday. Woke @ 7 am and got ready for my day. One of the first things I noticed was that the street was very quiet this morning. Typically around this time, I'd hear cars and people out on the street below. However, this morning (being a holiday) the streets were completely deserted. After getting ready, I walked downstairs for a quick breakfast and found that much of the morning staff had taken a holiday today as well. The breakfast was a bit sparse, but absolutely no complaints here! I had an apple, some breads and cheeses, and a yogurt.

A view from my room of Gartenstrasse

As I made my way down to Bob's flat, I noticed that the streets were still very quiet. It was almost eerie. I could only hear a few birds really. My footsteps echoed off the buildings beside me as I walked the 300 meters towards "the office". It was the quietest that I'd ever heard this city sound.

Bob and I worked all morning at the table over various cups of coffee and some iTunes. This was cool... He would turn on his tower, which he would then link up to his Apple TV, but then he would control the Apple TV with his iPad. It was mind blowing at first, and really got me thinking. I may need to get me one of these things... ? Jennifer?... ? :)

For lunch, I ate my leftover pizza from our lunch break yesterday. I ate it strait from the refrigerator and it was just enough. I washed it down with a huge Germany beer. Bob and I worked at the table until about 4pm. Around this time, I packed up my things and headed back down to my hotel. The plan was to finish up a few last minute changes, check in my code, and then get ready to meet up with Nick at the Cinestar Movie Theater to see the new Avenger's movie!

Dr. Nick

I was actually a bit late with my meeting time and left Nick waiting for about 20 minutes or so. Whoops. I got out the door a bit late due to some last minute fixes with my project. And then I had to wait on the train for about 5 minutes. By this time, I was already late... I got on the train and was only going to be about 5 - 10 minutes late. Unfortunately, I got off the train a few exits early on accident. I ended up walking about 1 - 1.5 km's. When I arrived, Nick was there and it looked like he had been waiting for a while. Sorry homes! :)

We immediately went in and got our tickets, some beers, and a big tub of popcorn. That's one thing I'm really liking about Germany; you can get beer anywhere. Here we were at the movie theater and I ordered a tall Radler beer before entering the movie. Viva la Deutchland!

The movie was AWESOME!! We saw it in 3D and had some pretty good seats near the front of the theater. The movie had all the things that make blockbusters great. It had humor, action, explosions, crazy special effects, and a great story line to boot. I hope to see it again when it comes out in the states. I found out that the movie is currently only available in a few countries, and Germany is one of them.

After the movie, Nick and I hung out back at the Altstadt where we drank a few more beers and ate some pizza at a nice oven pizza place. We said our good-byes and promised to keep in touch and went our separate ways. It was a lot of fun hanging out with Nick and I'm glad we got to hang out over here in Dusseldorf.

I made it back to the hotel and decided to pack my bags for an early morning check out. Tomorrow I will move my residence down to Bob and Michelle's flat. Packing took me about an hour and then I went to bed around 2 am.

Monday, April 30, 2012

Dusseldorf, Germany - Day 22

Woke up around 7am and ate a rather large breakfast. I could have eaten a horse, but settled on two servings of eggs, a pile of meats, various cheeses, a cup of yogurt, and bread. All which got washed down by some orange juice and a coffee. Burp...

Bob and I worked at the table until around 12. About this time, Bob asked Matt (his son) to show me his electronic drumset. I had heard about it and have been dying to try it out. These things are so cool because you can make them sound however you want (studio drumset, stage drumset, steel drums, concert drums, etc..) with the push of a button. It was a lot of fun to play and I would love to have one of these in my basement for 3rd shift stress relief. Matt and I talked about drumming theory and I showed him the beauty of learning basic rudiments (ie. paradiddle, flams, rattamacues, etc...). He was actually quite good already and doesn't even claim to be a drummer. I was impressed with his knowledge of the rudiments and I think that I showed him how "easy" it is to play drums once you understand it's nothing but synchronous rudiments.

Eventually, Bob and I walked down the street to a nearby pizza place and ate some pizza at a pub-style table off the street. I ordered an all veggie pizza and a coke. It was pretty darn good, and it was nice to stand for a while; my legs are pretty achy today from pounding them all morning yesterday. After we ate, we walked around leisurely doing some errands and so forth...

My Solitary Confinement

We got back to the house here and worked til about 5:30 or so. At this time, I decided to head down to my hotel room and continue working. Once there, I was able to turn on my music, open the windows and focus 100% on a feature that I've been working on for the last two days. I'm easily distracted and sometimes solitary confinement is the only way for me to work. Such is the life of a computer geek I guess...

I started getting hungry around 9pm or so and decided to head down to the Altstadt for a light dinner consisting of any sausage based dish. Little did I know, there was a huge party going on tonight all over Germany. Apparently May 1st is a huge day in Europe, and they use the night before as a great excuse to "dance into May". I literally had to weave my way through this huge crowd of people (shoulder to shoulder), just to get to a curb-side sausage stand 20-30 meters away; this took me about 15-20 minutes. I ordered a curry-wurst and french fries along with a nice Hamburg beer to wash it all down. While there I met 2 really cool guys by the name of Gotz and Robin. They are both local Dusseldorf residents and spoke incredible English. They were fascinated with the fact that I was from Ohio.

After the healthy dinner, I made my way back through the crowd and back to my Hotel room. Once there, I was able to speak with Jennifer and the girls. We talked for about 40 minutes and I really needed that! It was great to just watch them all be goofy and drive each other crazy in front of me. :) I can't wait to see them this weekend!


After talking with them, I worked at the desk here in my hotel room for a little while longer and then fell asleep around 2am.

Saturday, April 28, 2012

Dusseldorf, Germany - Day 20

Today was my day to sleep in and I did exactly that. I woke up around 10:30 am after the commotion on the street below had me wanting to get ready for the day. I opened my windows and let the noise and sunshine in. I just slowly woke up and took my time this morning; no rush. To be honest, I had a bit of a headache from last-nights events with Bob and Michelle. :)

I headed down to their flat around 11:30 am and Michelle had prepared a yummy lunch of cold cuts, cheeses, vegetables, and strawberry's. Bob and I actually worked on a few features today and just stayed busy at our laptops for a while. Around 2 pm, we hopped in the car and was destined to drive the entire marathon course so that I could see what to expect. It was a relaxing drive through the city, but there were SO MANY traffic lights, and we got off course a couple of times. About 15 miles into the drive, we decided to head back to the house and that I could just see the last 11 miles tomorrow during my run. :)

Bob and I got some snacks at a local market and then went back to work for a few more hours. Again, we were on a roll and got quite a lot accomplished in a very short amount of time. Love it! This little bit of productivity today paid off big time and we'll be able to start next week with a bang!

Around 5:30 I headed back down to my hotel and decided to take a brisk walk around the nearby park to get my blood flowing. I felt the sleepy's creeping in, so I thought it was a good way to wake up and get some fresh air at the same time. It worked and I came back rejuvenated and ready prepare for tomorrow's race and catch up on a few things here at the hotel.


During this time, I was able to talk with my Mom the girls for a while. We talked about lots of things and it was great to just hear their voices and their stories. Apparently, they had a slumber party at Grandma's and watched lots of movies. Grandma's house is the best place in the world to fulfill any bucket list Disney movie that you've always wanted to see. She literally has all of them. Many in VHS and DVD. I grew up a "Disney Kid" and have seen most Disney movies that many of my friends haven't seen. I consider myself fairly well cultured in the Dizflix. The girls looked like they were having much fun and were all just being silly for me. It was just what I needed.

Around 8pm, I walked down to the Altstadt for a quick dinner. I stopped at crowded pub and ordered some spaghetti cabonara and a tall Alt beer to prepare for tomorrows race (ie. last minute "Carbo Load"). The food was delicious and the streets were packed with runners. I assume most of them were runners anyway because I saw many running t-shirts and noticed some pretty bright running shoes here and there. I sat outside at a table that looked out onto the cobble stoned street while I ate. It was awesome! Unfortunately I left my camera at home, so I couldn't take pictures of my dish, or my prime seat facing the crowded streets.

I finished my meal and bear, then came to the hotel to prepare for an early bed time so that I could wake up and be ready for the marathon. I'm very excited to run tomorrow. It's going to feel great to just zone out and move forward for 5-6 hours. I am not trying to break any speed records, so I have no goals other than to enjoy myself and cross the finish line with a smile and a medal. I'll be honest though, the last 4 weeks have been train-free, meaning I've been on about a month long taper. :) This is going to be challenging, but I'm looking forward to it VERY MUCH!!

T minus 10 hours til the gun...

Dusseldorf, Germany - Day 19

Today was a great day consisting of work, a race expo, more work, a quick run, dinner by the river, and drinks on the town with Bob and Michelle.

I woke up around 7:00 am and got a full breakfast in me before heading down to "the office" (ie. Bob's flat). We worked at the table all morning and kept a full supply of coffee nearby. Bob and I worked at his kitchen table and there was this very awkward looking squirrel hanging out on his back patio which is 3 stories up. The patio has a large tree that hangs it's limbs over it, which allows lots of wildlife full access to his patio and porch area. The squirrel was very interesting as it had these pointy ears which made it look like a linx. I snuck out side very quietly and tried to snap some pics. Some of them turned out ok, but most of them were not so good since he moved much faster than my camera could keep up with.

Exotic German Squirrel

Around lunch time, Bob and I walked to a local restaurant and got some lunch consisting of sausage, french fries, and beer. After lunch we headed toward the river and went looking for the Dusseldorf Marathon Expo so that I could pick up my race packet for race day. There were lots of people there picking up there packets and of course there were many tables set up like any other race expo. The biggest difference was that everybody was speaking German and handing out German flyers. I got a few flyers in my race pack, but can't understand what any of them actually say. :)

Once we got the race packet, we headed back to the flat to continue working. We worked until about 5:30 and then I headed down to my flat to drop my things off and take a quick run to get my legs moving. I've been pretty stationary for the last few days (more-so than usual) and really wanted to get lots in Dusseldorf for a an hour or so. Mission accomplished!


Eventually, I stopped and asked a nice woman where I was and she was shocked at how far away I was trying to get. She was either from the UK or was German with a UK english accent. She was very nice and pointed me in the right direction. I made it back to familiar surroundings and made my way back to the hotel.

Upon arrival, I took a quick shower and headed down to Bob and Michelle's flat. We were going to take a drive around the marathon course and then eat some dinner once we finished. As it turns out, I met them outside their falt as they were beginning a walk with their dog, Gizmo (ie. Gizzy). I told them that I would join them and we began our stroll through the park.

Gizzy at a public "doggy water fountain".

Eventually, we made our way down to the river where there were lots of restaurants right on the street. Literally, the kitchens were built into a wall that was underneath the street above. The "dining area" was on the street and there were large tents lined up where everybody ate outside. This made for an amazing atmosphere. We sat right near the water and got to see some pretty impressive boats go up and down the Rhein River.



I ordered WAY too much food and was only able to eat about half of it. I was under the assumption that one of the dishes would be nothing more than an appetizer; it turned out to be a table size dish. The other dish I ordered turned out to be a stack of fried potatoes with two strips of raw fish laying over top. It might be a very desirable dish to some people, but I had a hard time swallowing it. Unfortunately, I only ate about 1/4 of the plate due to the size of my "appetizer".

After dinner, we decided to walk around and get some drinks in the Altstadt area. They took me to a very cool street that was nothing but bars. Bob informed me that it is considered to be the "longest bar in the world". I could see why! We looked one way and it was crowded with people, we looked the other way and it too was crowded with people. It resembled something that you would see at the french quarters in New Orleans during Mardi Gras. We spent about 2 hours here and just drank beer after beer and had great conversations.


They took me to a cool bar where you could order a shot of Killepitsch from a walk up window. Basically, you walk up to a window, throw down some euros and you get a large shot of a Dusseldorf liquor that is almost comparable to Jaegermeister. It was good. We visited this window 2 times. :)

After our drinkfest, we took the metro back to the train station near the city center (where Bob and Michelle live) and walked back to our respective hideouts. I literally came home and passed out. Great day!!

Thursday, April 26, 2012

Dusseldorf, Germany - Day 18

Long, but fun day today. Woke up at 7:30 am and ate a relaxing breakfast down in the lobby. My hotel actually has an amazing breakfast selection. I get to eat breads, meats, cheeses, and eggs every morning with orange juice and coffee. The waitresses are very friendly and they are always so surprised when I bring my dishes up to them after I'm done eating. I think I'm supposed to leave everything at the table, but it makes them smile and they seem to treat me better every morning because of this. I'll continue to do it each morning. I think they appreciate it too, so... :)

I made it to Bob's around 8:30 am and we hung out for a while drinking coffee and just relaxing before opening the laptops. This pretty much defined the rest of the day though. We simply hung out and bounced ideas off of each other about features and changes in a complete no-stress environment. It was great to just speak up and bounce an idea off of Bob from time to time in between long running compiles. I don't get this luxury at home while I'm in the basement and sometimes spend too much time over thinking things. A lot of progress was made today.

Around lunch time, we headed to a really nice Pizzeria restaurant named Due Mila. Bob and I both ordered a pizza and some apple juice. About 45 minutes later, we found that we were the only ones in the restaurant talking... the owner actually came out and told us that they were closing the restaurant. We had to leave. :) While some might be proud to "close the bar", we were actually pretty proud that we got to "close the pizzeria".

From here, Bob and I drove down to pick up Michelle's car from the shop. This meant that Bob would drive her car back to the flat, and I would get to drive his car. I'll admit, I was a bit nervous, but anxious at the same time. This was the first time I've driven a car in another country (besides Canada). There were a few times that I had to rush through a traffic light because I had NO IDEA where I was and couldn't afford to let Bob out of my site. :) There was another section where we drove along a rail road track in the middle of the road, and I thought I was going to get rear ended by a train. As we got closer to Bob's flat, the roads got a little tighter and I was concerned that I would scratch his car. However, I did fine we made it back to the house safely without incident.

We worked and strategized til around 7pm. At this time, one of Bob's friends came over and we enjoyed a few beers on the back porch. His name is Heiko and I'd heard so much about him for many years. There were a few times when we almost met each other, but due to schedule conflicts, we could never quite be in the same place at the same time. It was nice to finally put a face with the name. The weather was great and we all sat out side and had a great time talking and laughing.

After Heiko left, we enjoyed a delicious spaghetti dinner. Michelle had cooked spaghetti, garlic bread, and salad for dinner. We also shared a bottle of red wine from Cologne. Michelle and I talked race strategies and shared various running stories and so forth. I'm very excited for the race this weekend, and I can tell that Michelle is too. I can really feel her excitement and nervousness when she talks about it and I love it! Tomorrow we're all planning to drive the full marathon course and pick up our race packets.


Shortly after dinner, Bob and I had to attend an online sales meeting. These meetings are really cool actually, because we get together over Skype and have video chats from all over the world. Kevin calls in from London, Patrick calls in from Paris, Bob and I called in from Dusseldorf, and Steve called in from Chicago. Technology is simply amazing.

Once the meeting was over, I headed back to my hotel room and was able to chat with Jennifer for a while before she had to go to her Volleyball game. She's been very busy with the girls and I think it helps her (and the girls) stay busy and not think about how long I've been away.

Tonight was their last game and it's unfortunate that I didn't get to see all their games. Jennifer told me that Lizzie has been doing really good and that Jazzy is able to serve overhand now!! <3 I can't wait for them to show me all they've learned when I get home. I really am missing them a lot. Especially at night when it's quiet and they're out enjoying their evenings doing fun things. Rumor has it that they are finally getting their pigs tonight! I'm anxious to hear what they name them (ie. Pork and Chop? Link and Patty?). :)

Now I'm surfing through channels deciding which news is old news and which news is new news. Basically, I have two options: MSNBC or CNN. They are the only two english speaking channels on TV in my hotel room. :) I've heard all the latest world news in English and all the stories are now re-runs of the same stories I saw earlier. Last night, I actually got caught up listening to some french news channel. It let me know how much french I've forgotten. I understood about every 23rd word or so.  

Wednesday, April 25, 2012

Dusseldorf, Germany - Day 17

Today was an amazing day. I woke up @ 7:30 am, and met Michelle (Bob's wife) for a fun run around the park near our neighborhood. We ran ~3.5 miles through Rhein Park. It was a very fun and relaxing run. Michelle is running the first leg of a relay team this weekend in the Dusseldorf Marathon. She's been training for this for a while now and is very excited (and nervous) about it. I'm excited for her and know she's gonna kick butt! It was an abolute joy to run with her this morning and I hope we will do it again before I leave.

Rhein Park in Dusseldorf, Germany

After the morning run, I came back to my hotel for a quick shower and to eat a nice breakfast before heading down to Bob and Michelle's flat to begin the work day. We got a lot accomplished today and I really enjoyed working one on one with Bob at his home office. He and I are more alike than some might think. He's an uber geek about computing and I'm an uber geek about computing; we really make a great team when we get together and... well, compute. We think alike, we talk alike, and we are both pretty laid back about most everything in life.

The amazing "Apple Cake" dish that got devoured during lunch today.

Fast forward to 4pm, we cut our day short due to some conflicting schedule issues. He had an audition to attend for an upcoming concert where he will be playing guitar in a band at a local festival. Yes, my boss is a rock star. :) I on the other hand, was planning to meet with an old classmate at a local pub.

Ok, so when I arrived in Dusseldorf, I (of course) wrote a post about my first day here in the city. The post was shared on Facebook through FriendFeed, and a blast from the past (named Nick Mockus) contacted me stating that he actually lives here!! I remember seeing this a few years ago when he and I became "Facebook friends". However, I forgot overtime about this fact, and was so excited when he contacted me with this little reminder.

Nick graduated a year after me in 1997. We never really "hung out", but we knew each other through mutual friends and of course the French Exchange program when we travelled to Paris, France together in 1996 (16 years ago)! Oh wow... this makes yet another alumni of the NHS French Exchange program that I've been able to catch up with here in Europe in the last 2 weeks. Remember, I ran into Bamma in Athens, Greece 2 weeks ago). Madam Waite, eat your heart out! :)

Nick and I met at a really cool pub / brewery by the name of Brauerei im Füchschen in the old Altstadt district. The bar was on an old cobble stoned street and we drank beer after beer after beer and just "caught up" with one another at a table outside on the street. My high school days were a bit different from others, and it was great to know that he and I were able to remember so many times we spent together during those years. Especially knowing how different our lives were back then; he was a HS football star (though he'd contest that statement), and I was a HS band nerd star / extreme socialite (which I simply can't contest). :)

As it turns out Nick still plays football for a National Football team here in Dusseldorf. His passion for football has not changed over the years and he's now considered a hometown hero in some of the locals eyes, I'm sure. When I asked if he's known by any of the locals, he humbly (and shyly) told me that someone did ask for his autograph on the street once. :) We talked about lots of things, and I discovered that his school / work brought him over here in 2008. He then decided to take up residence here two years ago. He loves the country and I see why; he blends in well with all the laid back locals.

It was simply awesome to meet up with Nick and talk as though it hadn't been 16+ years since we last saw each other. I caught him up on my journey, and he caught me up on his. I enjoyed every passing second tonight and hope that we stay in contact more often. We plan to get together again before I head back over to the States. We left with the promise of getting ahold of each other this weekend or early next week. I'm honestly already looking forward to it!! Thanks for an awesome evening, Dr. Nick. :) See you soon!!

Me and Nick enjoying beers and memories.

On my way back from the bar, I stumbled through the Hofgarten (a nearby public park) and just walked around the park taking some pictures and enjoying the birds chirping (in German). I'm now back in my hotel room and getting ready to catch up on some work that got cut short earlier today.

Again, today was an amazing day here in Dusseldorf, Germany!

Tuesday, April 24, 2012

Dortmund, Germany - Day 16

No pics today! Today was quick day, which warrants a quick post. :) Woke up ON TIME! Made it Bob's by 8:30 after a great breakfast, and then he and I made it to Dortmund to get down to business...

Fast forward through meetings, lunch, coding, and more meetings... We left the office a little after 6 pm and made it back into Dusseldorf around 7:15. Bob and Michelle had invited me for dinner, and we still had about 30 minutes before it was ready. I decided to get out of their hair for a while and came back to my room here at the hotel until they were ready for me. Luckily, I was able to chat with Jen via Skype for a short while. It helped pass the time quickly.

Around 8pm, I got the call and headed down to their flat. They live about 3 blocks down from where I'm at, so it was a quick walk. When I walked in the door, the entire building smelled amazing and I was happy to know that the arouma was coming from their flat (the place I was heading towards). :) We all had a great time.

They served pork chops, green beans rolled in ham (delicious), and roasted potatoes with onions and tomatoes. It was all reeeally good. I didn't take a picture of the dish, but you'll have to take my word for it; I actually went back for seconds! After dinner, we all had apple cake for dessert. Whoa! I'd never had this before, but will be looking for the recipe when I get back home and beg Jennifer to try and make it for us. It was awesome! Typically, when I go to bakeries over here, I like the "apple" pastries. This stuff topped them all! It was still warm and was served with whipped cream on top. Oh man, I'm making myself hungry again...

We all sat around and talked for a while afterwards and I got to hear about Matt and Michaels school program. We talked about the curriculum over here and how different it is from the States. These guys are both very bright kids and I really enjoyed talking with them tonight. Their school program keeps them busy with many field trips all over Europe, and also demands a lot from them in regards to learning and testing. I couldn't believe some of the courses that Matt was telling me about. He was listing them off, but the one that stuck out for me was when he "glazed over" the fact that he studies various math topics including linear calculus along with other forms of math in the same math class (ie. geometry, algebra, other forms of calculus, etc..). I think he even through out "advanced physics" and some other course titles that made my head spin. Oh and don't forget, they also take German classes (duh). Quite impressive if you ask me...

I came home around 9pm and caught up on some emails and just relaxed in my room. After work tomorrow, I'm planning to meet with an old NHS classmate who now calls Dusseldorf his home! He found that I was in Dusseldorf from a Facebook post, and I'm so happy he did. More on this tomorrow...

Monday, April 23, 2012

Dortmund, Germany - Day 15

Today was my first day back to work. I started it off with a bang, by oversleeping :) I set my alarm for 7 am so that I could wake up and be at Bob's house @ 8 am. I woke up at 7:45 am! Nothing like being late to my first day back to work. Luckily, my boss is awesome.

Immediately after waking up, I called Bob and told him I was "running late" (ie. just woke up). He made light of it by giving me a hard time. He then assured me that it was no big deal and encouraged me to take my time and get a nice breakfast. I obliged with a plate full of eggs, a turkey sandwich with cheese, a small cup of fruit, an orange juice, and a coffee. I arrived at Bob's house around 8:30 am, and we started our day off very slowly and made it to the Dortmund office around 10 am.

The morning was filled with work related stuff... Around 1 pm, we headed to a nearby restaurant named Divan Gastronomie. I had the "Chicken Kabob" which was nothing like an American "kabob". It consisted of a plate of fries and salad topped with grilled chicken flakes. It's hard to explain, but it was really good. I took a picture, but (much like the German country-side), the pictures do it no justice. :)

After lunch, we headed back to the office and did more "work stuff". A lot of progress was made and some amazing code was written today. :) We left the office around 7pm and headed to a local italian restaurant named Risorante Bei Marija. This restaurant was probably my favorite restaurant that I've been to so far. It was relaxed, authentic, simple, and everything was exquisite in every way.

An (unsuspectingly) amazing Italian Restaurant in Dortmund, Germany

When we walked in, we were literally the only people in the restaurant. The lighting was dim, and the setting was extremely warm and welcoming. We sat at a corner table and decided to order "the menu". This meant that we would be trying everything on the menu in stages. To understand this, know that the menu consisted of about 6 or 8 dishes and was literally written on a small chalkboard that the waitress carried with her to our table to take our order. I (personally) have never been to a place like this before, and loved the idea that this what they served. No more, no less.

The options consisted of various dishes of fish and pork, various pastas like tortellini and other authentic Italian pastas, tuna salads, and a few other dishes. Unfortunately I can't remember them all due to the two bottles of red wine and the few shots of (damn-near) grain alcohol shots that we had. The waitress, who I'm sure was native Italian, but spoke fluent German, arrived at the table with three shot glasses and poured shots for us at some point. She insisted they were on the house in either Italian or German (I couldn't tell by this point), and we all pounded them down and then tilted our heads to the side with a big painful look of joy on our faces. Yowzas!!

We hung out at the table for a while after dinner and enjoyed more wine and some great conversation. I got to hear how different life can be in Europe from those who know first hand the lifestyles of Americans. Patrick and Bob are both very much experienced in living life in both the States and in Europe. It was really cool to sit and hear the differences from the two countries and do my own comparisons as to what is important to me; as a parent, a husband, a son, and as a computer professional. I love the lifestyle over here, really I do, and it's nice to know that if Jennifer and I really wanted to make it work over here with our kids, we could.

For now, however, we'll just consider Europe as a really cool place to visit from time to time... :)

Tuesday, January 31, 2012

Regular Expressions vs. Legacy String Functions

Back in the day of Visual Basic 6, when you wanted to find some information from a long string, you were (almost) required to write a function that parses your string section by section and use switches or if blocks. In today's world, regular expressions lighten the load quite a bit. As I've been developing apps over the years, I've learned to love regular expressions and figured it was worth mentioning in a post.

Regular expressions are basically patterns that have their own parsing engine tied to them for stripping text-based information from a string of text. For example, say I want to strip a certain value from a nasty looking string, and I know that the string will be in a certain "format". By this I mean that there might be parts of the string that don't change, but the parts that do change, I want to use them for something else. Instead of cracking my knuckles and writing a loop to sift through the string character by character, I'm able to write an single expression to strip out "matches" one by one.

Consider the following connection string:


            Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\data.xls;Extended Properties="Excel 8.0;HDR=YES";

From this string, I want to be able to pull out the value of 'Data Source' (in this case c:\data.xls) and the value of 'HDR' (ie. YES or NO). Back in the day, I would write a few lines of code to Split() the string into pieces and then strip those pieces into shorter pieces and save them into variables. Something like this:

Dim filePath As String
Dim hasHeader As Boolean


Dim sections() As String
sections = Split(connectionString, ";")


For Each section As String In sections
  Dim pieces() as String
  pieces = Split(section, "=")
  If pieces(0) = "Data Source" Then
    filePath = pieces(1)
  Else
    If pieces(0) = "Extended Properties" Then
      Dim properties() As String
      properties = Split(pieces(1), ";")


      For Each prop As String in properties
        Dim values() As String
        values = Split(prop, "=")


        If values(0) = "HDR" Then
          hasHeader = CBool(values(1) = "YES")
        End If
      Next
    End If
  End If
Next

Look at all of that code!? Just to get two values from a single string. I used to write code like this in VB6 all the time. There are lots of assumptions in that code and it is not optimized at all, let alone understandable at first site. There are many chances for errors to happen in that code as well... Not fun.

Regular Expressions to the Rescue
When .NET was introduced, there was this new (to me) concept of regular expressions that allowed pieces to be picked out of the string as needed using a "pattern". This is very common in Unix and many other programming languages, but it was new to me at the time and intimidated me. It was one more thing I had to learn. I used to approach it with dread and felt like I had to relearn the syntax every time I used it.

Today, I actually think in regular expressions a lot of time. There are many special characters that allow the regular expression engine to understand certain functions. For example a "$" means "beginning of string". A "." means any character. A "+" means "one or more times". A "*" means "zero or more times". When you put these special characters together, you can do some very powerful things. There is all kinds of documentation on the internet to help you understand this language if you are interested. If you are new to computer programming, then I recommend that you learn this sooner than later. It will make your life much easier.

To get the values from the above connection string using regular expressions, it requires a very simple regular expression pattern:

provider\=microsoft\..+?\.oledb\..+;Data\sSource\=(?.*)\;Extended\sProperties\=\"".+\;HDR\=(?.+)\;\""

Once I've defined this pattern, I can use it to strip out the "filename" and "hasheader" values very quickly and efficiently. While this example is border-line elementary, consider stripping values from a 20kb Xml file or a huge Html string that you stripped from a web page. Better yet, consider the power that it offers you when parsing a 5mb log file for information. 

This might be over many peoples heads and it might be common knowledge for others. For me, it was way over my head for a few years. However, after using it so much and relying on it, it's become common knowledge; it is baked into my daily routines now. Regular expressions are a very common thing inside Vim, and many Unix command line programs. For example, if I were to paste the connection string into Vim, I could place my cursor at the beginning of the connection string and simply type "d/Data Source" and the entire string from "provider" all the way up to "Data Source" is removed.

Here is a killer utility application that you should put on your thumb drive and use if you need to parse a large text file for values: http://regexlab.codeplex.com/


It's free, and I've found it to be very very powerful when constructing complex regular expressions in my daily programming tasks.

Regular expressions. Learn them. Use them.

Thursday, January 19, 2012

Chesterville, ON

I'm out of town on business. I'm currently in the little town of Chesterville in Ontario, Canada. It's a beautiful place and I'm loving it. There's lots of agriculture and farms here, but it's all under about 4 inches of snow right now. As you might imagine, the weather is a bit cold... OK it's really cold. There is snow and ice everywhere and the wind is pretty brisk at times. Luckily I'm indoors most of the time and don't have to deal with it. The apartment that I'm staying in is upstairs from the office that I'm working in. Therefore, the only time I go outside is when I want to run and when I go out for lunch/dinner.

Here's where Chesterville is located:

View Larger Map

I landed early Tuesday morning and have been treated like a prince since my arrival. My host, Birket, is a wonderful host and has taken me to lots of fun events. As soon as I landed, he immediately took me to a great restaurant for lunch where he knew the owners and we got top notch service with some amazing food. I was a special guest at his rotary club meeting. I have got to enjoy the company of some pretty amazing locals. I even got to experience Canadian pub life (hockey et al) two nights in a row. Last night I enjoyed some Mexican cooking classes at his pub and that was extremely fun. I've enjoyed some fine cuisines at various local restaurants. Everybody here has been so hospitable.

The scenery up here is amazing as well. Yesterday I took a 4.5 mile run along the frozen highway and it was a beautiful run. Kind of technical due to all the ice and frozen slush, but beautiful none-the-less. I took off out the door around 4:15 pm and the sun was setting on the horizon. It looked like the entire western sky was on fire. Unfortunately I had no camera, so you'll just have to take my word for it. The weather was "butt-cold" and I had a frozen ice-stache on my upper lip to go with my red nose and red cheeks. I think some of the drivers thought I was crazy, but I really enjoyed the run. I do plan to get in some miles tomorrow before my flight home if time permits... We'll see.

Tonight I went to a nice restaurant with Raymond (an old friend from my Virginia trip last spring) and we had a great evening together. When I got back to the apartment, I had a lot of time to myself, so I dialed up Jennifer on Skype and we've been talking for the last hour or so. We caught up on the weeks events. Apparently we had a showing on our house today. I liked the way that worked out because I didn't have to be there to do any of the cleaning. :) We're pretty sure it will fall through and our contract is up with our realtor in the next week or two. Looks like we ain't goin nowhere. No worries. We'll make it work.

So I have a flight back to the states tomorrow and I'm pretty excited to get back to a normal schedule. The last month or so has been absolutely crazy. Lots of holidays followed by lots of travel. My goal is to get back to the basics and catch up on some projects I've been putting off too long (talking about you Pop!). :)

Here's what I'm looking forward to this weekend:

Jennifer and Lizzie <3

Tuesday, October 11, 2011

A Vague JQuery Template Error

I have been getting an error in JQuery Template, and it's one of those errors that is impossible to debug. It's an issue that can only be fixed by intricately checking your code line by line, character by character. Here is the vague error that I'm getting:
Uncaught SyntaxError: Unexpected token return
Actually, here is the full "stack trace" (if that's what you want to call it) of the error:



I get no js compiler errors or anything, I just get this javascript error when I click on a radio button, but nothing more. My page loads correctly with no problem otherwise. Because of this fact, I was forced to inspect my code over and over and over and over... I removed code, I added code. I reworked my html a few times as well, but still got the error every time. I was literally going in circles trying everything.

The problem? I had an extra jQuery template tag in the very bottom of my script like this:

{{/if}}

At one point I tried combining both states into a single template using {{if}} {{else}} {{/if}}, but then gave up on that idea... Clearly I missed the closing tag and then never bothered to look at the bottom of my script tag when things didn't work. I'ts kind of insane that so much time was wasted on such a silly oversight on my part... Oh the whoa's of a programmer. Back to the grind.

Wednesday, September 28, 2011

Disabling Help

As I mentioned in my last post, I'm dealing with a new keyboard layout. My resolve to navigate around seamlessly with my new layout was to install ViEmu which would allow my VS text editor to emulate the Vim keyboard layout. I've been loving it. There are some inconsistencies inside Visual Studio (ie. CTRL+R is used for ReSharper, CTRL+Y is used for Vim, etc..), but for the most part, I really like it and feel right at home.

The one thing that was causing me the biggest problem though was that I keep reaching for the 'ESC' key, but continuously hit the F1 key. This of course brought my productivity to a screeching halt while it loaded. Of course, I would always wait for it to load, then close it immediately.

My resolve to that problem was that I disabled it. I disabled help. Call the authorities, report me, I've done the unthinkable. I never thought I'd live to see the day when anybody (let alone myself) would disable help. It actually made me feel dirty when I disabled it... Anyway, I free flying now!

I thought this was worthy of announcing on a blog post. I've graduated to the Google Help File.

Friday, September 16, 2011

Visual Studio 2010 + Resharper 6.0 + ViEmu + AutoHotKeys = Developer Bliss

I just got a new work machine. It's strictly for work, so my job paid for it. My boss helped me configure it and allowed me to get a few mods that make it even more bad-ass. It's a Lenovo ThinkPad W520 with 8gb of RAM, 500gb 7400 RPM HD, and he also got me a 128gb SSD drive that I plan to swap out for my main drive. It's already fast, but when I'm done with it all, it's gonna scream. :) Thanks Bob!!

My MacBook Pro is still the bee's knees, but it just wasn't cutting it for my day-to-day Windows programming solution. I'll absolutely be using it for all of my personal use and Ruby on Rails development. It has gigs of music, movies, and photos on it, along with my Quicken and lots of other personal documents and files. It will continue to be my Unix playground and I'm very excited to use it for just that... It has retired from the hustle & bustle of the daily grind, and plans to live the high-life now as a "personal computer". It's earned it!

During my transition to my new laptop, I was able to configure my development environment to be exactly how I wanted it. Since my new machine has 8gb of RAM, this allows me to trick my VS2010 environment out to the max without having to worry about slow downs. My biggest problem with Parallels was that I could only (safely) allocate 2gb of RAM to my Win7 VM. I had to disable the nice Aero / translucent theming, and lots of other goodness. Even after doing all of that it still came to a crawl whenever I'd be flying along with my coding. There were times when would literally just have to put my laptop down and walk away or else I would throw it against the wall. This new laptop should curb those impulses. :)

One of the main problems with switching to any new laptop is learning a new keyboard layout. This is especially important for programmers who rely heavily on hot keys, like CTRL, ALT, HOME, END, INS, DELETE, PGUP, PGDN, F[1-12] keys, and the 4 arrow keys. There is no real "standard" for these key locations, and it seems like every computer manufacturer has their own idea of where they "should" go. My personal opinion is that the Microsoft Ergonomic Keyboard 4000 nailed it! I actually own this keyboard and it has moved with me through a few different computers. The function keys were laid out perfectly; they were exactly where they were "should" be.



As you might imagine, it was a hard transition to move to the Mac and learn the key combinations. Especially since the mappings were even altered in order to pass through into Parallels. There was no DELETE key, no INSERT key, no HOME key, no END key, no PGUP, and no PGDN key!! I had to use a combination of other keys to get to those "functions" using Mac's 'fn' key (ie. the fun key). Even the function keys were different; for example I had to know that F[1-7] worked as expected, but F[8-12] required that I press the Mac's 'command' key. After 2 full years of learning these nuances and mastering the different key mappings, I'm now back to the beginning with a new layout of hot keys. Ugh!!

While I can't fully alleviate the pains of switching keyboard layouts again, I can take comfort in knowing that I'm a Vim junkie and Vim doesn't use most of the hotkeys for editing text.
  • [h] = {left arrow}
  • [j] = {down arrow}
  • [k] = {up arrow}
  • [l] = {right arrow}
  • [0] = {home}
  • [$] = {end}
  • [x] = {delete}
  • [ctrl+d] = {pg dn}
  • [ctrl+u] = {pg up}
  • ... and MUCH, much more!
I just needed to find a way to switch up my keyboard mappings to mimic the keyboard mappings of Vim. Luckily, someone has already thought of this!! There is a product out there called ViEmu that extends Visual Studio's text editor with all of the Vim goodness that I've so pains-takenly learned over the last year. I'm currently running an evaluation version of it, but I can already predict that I'll be forking over the $99 for a license very soon. It's simply genius! Thank you Symnum for this wonderful product. :)

Once I installed it, I had to re-enable my ReSharper keyboard mappings going to ReSharper - Options... - Visual Studio Integration - Keyboard Shortcuts and selected the 'Visual Studio scheme'. This allowed me to continue to use things like [ctrl+T], [ctrl+R+R], etc..). There are a few nuances that I need to work around, but in the grand scheme of it all, this is much more fluid than looking at my keyboard every 2 minutes for simple navigation. I'm loving it!



To help further keep my hands on the "home row", I found a post by another fellow-Vim'er by the name of Jean-Paul S. Boodhoo. Jean-Paul described how he used a tool called AutoHotKey to map various key combinations to be more "Vim-like". This way I don't have to use [ctrl+shift+alt+up] to move code up and down. The first three keys are easy (bottom right corner of every keyboard layout), but the [UP] key changes and takes my hand far off the home row. Instead AutoHotKey allowed me to map it to [ctrl+shift+alt+k]... Very Vim-savvy.

I finally feel comfortable writing code on my new laptop. Yesterday was a LOOOOONG day, because I was forcing the new layout onto myself and it slowed my coding down so much. I'm used to coding at the speed of thought, and felt crippled. With ViEmu and AutoHotKey both configured now, I'm flying. The last 2-3 hours have been simply painless.

Now if only Blogger had a Vim editor...