Feb 062012
  1. Prime directive: Make Mr Tang happy.
  2. Get a house and build a home for The Tangs. We actually started it. Today we lost our favorite house in a bidding war. That quite hurts, especially as I had the extensions and garden architecture scoped out in my mind already. We are bidding now on another house and I guess Jim doesn’t like it as much anymore because I considered the hillside yard to be an interesting location to build a bunker.
  3. Answer private mails. I skipped all the online social network broadcasting and replaced them with real people contacts, however I still suck at answering mails from people that matter.
  4. Live healthy. Less restaurant food during work trips, less pub o’clock till Ian o’clock and beyond on Fridays, less red meat, more naturally riped fruits and vegetables and lots of fibers. Also, I need to get rid of my recently discovered liking for Butler’s chocolate. Do more exercises, at least 30 min walk a day.
  5. Spend less, save more. Do something to cover my pension. Husband’s b-day words are unforgotten: “16 more years and you’ll be 50.” When did I age that much… I felt I was 20-something. Now I need to take care of future me to save her from the streets, evil offspring and public social care for elderly people. 
  6. Throw *the* 60th and 70th birthday party for my parents :)
  7. Re-factor my blog. It’s a mess, I admit. Also, write more articles. I guess, with the next weeks in lovely suburbian Bristol, beautiful Birmingham and some random London suburb I will have lots of time for it.

I guess (1) is the most difficult, (2) is commit goal for The Tangs, (3) takes most time, (4) has it’s 20th anniversary on this list, (5) continues from the past 2 years, (6) is already in progress, (7) will most likely be actually done by end of this year.

Popularity: 2% [?]

Tags: , ,
Aug 082011

It’s 6 weeks until the wedding and so far everything went *really* smoothly. We orchestrated our wedding, defined the events, parties, locations, budget etc. The past 8 months of preparations have been also very stressful, considering that there are two different cultures, three languages and a lot of German bureaucracy involved. Jimmy being BNO citizenship didn’t help either – no embassy is taking care of him, he has to sort out everything directly in Hong Kong:

  • Bureaucracy. Most of the countries require additional documents for a bi-national marriage, such as birth certificates with apostille, certificates of no impediments (which requires a lot of additional documents and expires usually within a couple of months), if countries do not require these documents it’s most likely that the marriage will not be acknowledged by authorities:
    • In Europe Denmark allows to get married within 10 work days, it’s the easiest way for couples like us. If you happen to live in Ireland or if you are free to travel, plan for a preparation appointment ca 4 months prior the wedding with the desired registration office. In both countries a birth certificate with apostille is required – nothing else. All other EU-country’s instructions weren’t clear or involved more documents, such as the certificate of no impediment. 
    • For a marriage in Germany I got an advice to contact a lawyer as e.g. usually a 3-month marriage visa is required which wouldn’t make sense to us as we are not living in Germany. Foreseeing more “challenges” like this I didn’t bother to have a closer look.
    • In Asia Hong Kong seems to be easy to get married too, we didn’t choose the location because my parents would have not been able to attend there because of the long travel. 
    • In America Las Vegas is the obvious option… if it is your style.
    • Bahamas, Fidschi and other far distant countries allow to get married there just with a passport within a couple of days but most of these marriages are not legally acknowledged in Europe.
  • Name change is a difficult decision and it comes with a lot of bureaucracy, especially if you can’t go to your local registration office to sort it out. In Germany there is the international Standesamt (German registration institution) which can help understanding name laws, but they can’t give any legally binding advice. The German embassy neither, so we are only partially sure what name rules will apply to us. We prefer a combined name (although for Jim it would be a bit strange as he then would hold undeniably German, English and Chinese name parts). So no decision on this one yet, but as there is no time pressure we don’t care too much. Actually, as Ireland is allowing people to rename themselves as they want it it’s kind of a running gag to call Jim with his Irish name: Seamusin Mac An Teanga :)
  • Families. Our families can’t be united as the most important parts are either too old or in an unstable health shape so that we would be too worried to put them on a long haule flight. We appreciate that some of our relatives would ignore their health and just follow us whereever we’d go but concerning health and considering worst case scenarios shouldn’t be part of marriage planning. So we decided on having a private, tiny ceremony for the legalization of our marriage and giving the families local experiences matching cultures and individual wishes and traditions. We were very open in that point and left planning to the families, so in Germany e.g. we will repeat the ceremony for my parents, in Hong Kong planning is not finalized yet. So we will have four dates for our wedding: the legalization, the Irish reception, the German wedding celebration and the Hong Kong wedding banquet. All four dates will equally count as our wedding date for us (hurray – 4 times flowers a year for me :))
  • Mothers… for most probably not a surprise that it can be challenging to please them especially as in our case they won’t attend the legalization. We tried to find satisfying solutions for them but it is tricky as we have three languages involved, and can’t talk to the future in-laws and vice versa. In heinseight I would have changed a few things how we handled this, first of all I would have given us more than a year to organize the wedding to allow us an on-site chat with each mother to explain our ideas, what we want, and what we are not going to do. We faced (and sometimes are still facing) a lot of misunderstandings which are caused by a lack of proper communication. 
  • Budget. We decided to fund our wedding ourselves and set pretty early an appropriate budget. In preparation I did do a lot of reading to understand what needs to be planned for etc. Soon it was clear to us, that a traditional budget and it’s proportions would not apply to us, as we need to plan on travelling and we both aren’t the romantic couple who wants to plan on how many doves are released or what theme our wedding will have or how to punish bridesmaids with unique color schemes. So we re-invented the entire idea and setup our own budget tracker/calculation. I will release a google sheet after the wedding.
  • Expectations and traditions. Soon we recognized whatever wedding trend was currently going on, it’s not like us. Also, traditional weddings don’t apply as our legalization is separate to the celebrations and we just decided to have this day for ourselves, to celebrate with our witnesses, getting a photographer to get nice materials for the families and for us. This has two downsides: One the one hand parts of our families are having issues to accept this decision on the other hand lot of the traditional facilities and services we can’t use because we are a too small or unusual party. 
  • Travelling – remote organization. Organizing one wedding might be stressful, now imagine, you are organizing 3 in 3 different locations… and that you do most from when you are on the road – and this year I have made trips to California, Malaysia and around Europe. I remember call-backs waking me up at 3.30 AM in the morning, sorting out a few things via facebook, mail and other online communication tools. Keeping track of all the single stages requires a lot of attention. My main duty during the day is doing my full-time job – I asked a while ago for challenges at work to avoid boredom which is in the current situation a slight draw back. Having long work days when on-site with clients, travels, wedding preparations and stress with one of the reception organizations I ended by being close to a burnout mid June this year. I was tempted to cancel / postpone the wedding and for over almost a month I didn’t want to hear a word about getting married at all.
  • Clothes. What a pain! If you have never worn a dress and didn’t give much about looks at all, finding something appropriate for a wedding is the toughest challenge of all. Trust me on that one. If one looks for a dress one will find nice, reasonably priced dresses. As soon as it is prepended with ‘wedding’ prices just increase dramatically. Why would I go for a 2kEUR dress which I am going to wear one day at most? Same applies for shoes, accessories. Also, standardization of sizes might simplify production process but certainly increases the pain of the bride to be. Hence, one can get tailored dresses which then are usually insanely priced. Thankfully I was lucky and found something wonderful in California for the receptions, a creative tailor with a good reputation in Dublin and I had a lucky find for a second dress for the legalization in Dublin.

All this trouble will end soon, our wedding is just 6 weeks ahead. Despite all the challenges from the past months I know it’s going to be awesome. It’s well prepared and there have been so many occasions where we just felt lucky as things occurred and events happened exactly when we needed it:

  • Jacq was awesome to help me on the entire clothes issue. Without her I would be still desperate and would not know what to wear. 
  • Jose and his dad: we do not only get perfect rings (which we saw initially in a Jewelery) but we will have rings with a story :)
  • Jim’s friend’s friend’s photo shoot trial with make up and some nice pics which allowed me to understand how I want to look at my wedding day and what is important for us when hiring a photographer. Also we got a few nice shots for our wedding stationary.
  • My work which happen to organize my last 5 weeks prior wedding as remote or on-site in Dublin engagements which allow me to have an almost daily life and opportunity to organize the last bits and pieces from Dublin with Jimmy.
  • A personal shopper service in a shopping mall I usually never go to. I just spotted it on the way, walked in, made an appointment and met a few days later a personal shopper who was able to ignore everything what I had said and selected something nice and sweet to wear for our legalization.
  • We have had support all the time from our friends and most of our families. I learned in the past months that my parents rock, that my brother is fantastic and probably the best brother/friend one could wish for.

Finally I want to share a really good advice I got a few months ago: “Remember, it’s not the most important day of your life”. This helps a lot when it comes to negotiating with venues and vendors as well as when trying to meet family’s expectations. 

Popularity: 12% [?]

Tags: , , ,
Jun 262011

We had quite some fun with the lensebaby kit we got a while ago. Since then we were considering getting the aperture kit with shaped disks. It never happened, but recently Jim found a blog post similar to this one giving instructions how to do custom shapes yourself. We created hearts and stars and started for a nightly walk through Dublin. I am quite impressed by the results. 


Popularity: 4% [?]

Tags: , , , ,
Jun 242011

This year’s BRN was the reason why I booked tickets for a trip to Dresden in June together with my fiance. We arrived at Thursday afternoon and left Sunday afternoon after almost excactly 72h. It was a great long weekend stuffed with things even though we haven’t planned anything particular before. 

Day 1

My parents picked us up and took us to my uncles garden for having coffee and cake. So first stop was with fiance at a German bakery. Arrived at my uncle’s garden fiance got introduced to a few more of my family as well as the concept of German allotment associations. It was a great time, I haven’t seen my uncle in ages, so it was good fun to have a chat. After that we went to a restaurant in a pasta manufactury in Riesa. After that we wanted to go to a micro brewery which unfortunately had closed that day. We eventually got to my parents place and spent the evening there.

Day 2

We had to get up early as we needed to get to Dresden because I arranged a hair dresser appointment with the best hairdresser alive. To not bore fiance out of his mind I sent him togehter with my father to the Panometer in Dresden – a 360° experience of Dresden as of 1756. Once we all were finished we got to the historic city centre and had lunch at the Coselpalais close to the famous rebuilt church Frauenkirche. From there we did drive along the river to see the bridge in construction in Elbe valley which caused Dresden being deleted from the world heritage list in 2009. We finished our visit with my parents at Louisenhof with a panoramic view over Dresden’s skyline on a beautiful summer day sitting on a terrace. The evening we spent on a friends place having a BBQ with his family – his wife and 2 daughters. This was quite fun, it’s amazing to see how fast children grow up and develop their personalities. 

Day 3

After breakfast we left and got to Dresden city center to a place called Max for a light lunch and mainly to meet two friends of mine and chat for a while. I was surprised about fiance not complaining drinking a capuccino with 4 girls ;) From there we got to another friend’s place who recently moved. I love his new apartment and it was good to see him again. With him we got to the Neustadt part of the town to attend the BRN a pretty unique street festival. We strolled around all evening, tried random food and drinks, listened to random bands on one of the many stages – especially to mention The Blumenkinders as their singer is my friend’s buddy; they also were pretty good entertainers. 

Day 4


Last day started with a surprise for my friend. As he slept much longer than we did, mutual friends decided to stop by his place to say hello. They have a daughter which can already walk, last time we saw her she was a few months old baby and before that she was still in production. Time flies! We left at noon to meet one of my dearest, oldest friends to have lunch at the Schillergarten and a good chat. Due to unforseen circumstances we spent much less time with him than planned and wished :( Next time…

And that was it. 3 days in Dresden without planning and especially without any planned sighseeing turned out to be for fiance lots of new impression like the street festival, several local dishes at restaurants, a few panoramic Dresden views and lots of fun with good people. I am always happy when I return from Dresden as I had perfect days with well-entertained fiance, met people who matter to me and who I miss. But then, back home I get my blues about all the people and things I miss in my daily life here in Dublin. 

Popularity: 4% [?]

Tags: , , ,
Jun 222011

Due to a recent project I started working on a talend component. This blog post is not about how to do this from scratch, I am quite sure that Talend provides enough tutorials about it, alternatively you can do it like me and just use existing components as reference and build your own one (work environments without internet access suck!)

Prior reading this You Should Have:

  • A basic understanding of Talend Data Integration solutions. 
  • A basic understanding how to develop and deploy Talend (Java) components.
  • Knowledge about maven, maven build plugins and ant builds.

My Environment is:

  • Mac OS 10.6.6 with Java 1.6
  • Eclipse 3.5.1 Java EE editon
  • Jaspersoft ETL 4.1.2 (aka Talend Open Studio 4.1.2)


Everything I describe applies for Jaspersoft ETL, Talend Open Studio and Talend Integration suite. The <Jaspersoft ETL workspace dir> is my local Talend repository folder – the Eclipse workspace folder of Jaspersoft ETL.


At The Beginning I found a few items to struggle with:

  • Project structure: 
    • src/main/template: contains all files which are patched during the build process such as the component registration file.
    • src/main/resources: contains all resources such as jet templates, icons, message properties
    • src/test/java: reference implementation of the functionality which shall be in the component
    • for the build (see below):
      • src/assembly, pom.xml for the maven build
      • build.xml for the ant wrapper.
  • Editing Template files: By default Eclipse handles *.javajet files as text files without code completion and syntax highlighting. If you download the m2t JET from http://download.eclipse.org/modeling/m2t/updates/releases/ an editor will be installed. Now go to Preferences > General > Editors > File Associations and add “*.javajet” as extension. Select it and click on the second Add.. button and select “JET-Java Emitter Templates Editor”. Click Ok. Reopen the javajet templates. 
  • To refresh the javajet templates in Talend without restarting it just hit Control+Shift+Function+F3 to re-initialize the code generation.
  • Dealing with JETorg.eclipse.emf.codegen.jet.JETException: The generated java files are in a specific folder. These files can help to understand what the compilation error caused. I linked the folder into my project
    ln -s <Jaspersoft ETL workspace dir>/.JETEmitters/src/org/talend/designer/codegen/translators/<family> ./gen-src
    ln -s <Jaspersoft ETL workspace dir>/.metadata/.log ./log.log
    The log file i monitor with tail on command line.  

The Build And The Component File

I setup maven to maintain the dependencies for my project as I don’t want to collect everything manually, I also want to be able to easily migrate to a later version. Now, as you might now, the component descriptor file requires a list of component specific imports. For obvious reasons I did not want to create this list manually, therefore I wrote a little ant script which wraps the maven build and patches the component descriptor.

The maven build file is responsible to collect all required files and bundle it as a single zip file. I used

  • the maven dependencies plugin to download all required jars into the target folder during prepare-package phase.
  • the maven assembly plugin for collecting all resources and bundling into a zip file during package phase.

The ant build is has only a few targets

  • a prepare target which triggers mvn clean prepare-package
  • a patch method which utilizes the (evil) antcontrib library to iterate over the jars and collect their names which are written in the required structure into the component file. 
  • a package target which triggers mvn package.


Popularity: 33% [?]

Tags: , , , , , , , ,