September 2019 – Zürich

In need of a serious and very well earned break, my wife and I decided to re-book our previously cancelled trip to Zürich, Switzerland in September. Zürich was a bucket list item for me, and my wife was more than happy to entertain my desire to spend a few days there and get away from home in mid-September.

Getting There

Unfortunately, there weren’t any direct flights from Cork to Zürich, so we ended up flying from Dublin direct. The flights were reasonably cheap – about 500 for the round trip for two of us with Aer Lingus. Once you arrive in Zürich, the airport is only a short taxi ride (about 15 minutes) from the city center. There is also a rail link which we opted not to take due to having a bit of baggage.

Accommodation

My first taste of Zürich’s reputation for being expensive was the accommodation. We chose the Hotel St. Gottard on Bahnhofstrasse right in the heart of Zürich. Bahnhofstrasse, as you may tell from the name, is very near the central train station in Zürich, and is the main shopping street in Zürich, containing a store for every high-end brand store you can think of. The hotel itself was very comfortable with excellent service. We got upgraded to a junior suite on check-in which was a welcome bonus. In terms of location, it is really central and is a great base for a few days exploring Zürich, or even a few day trips due to its proximity to the main train station. If you’re planning a trip to Zürich, I would highly recommend staying here.

Activities

There’s quite a bit to do in Zürich, and we aimed to get in all the touristy things in our first few days, leaving us a few days to explore.

Our first stop was the Lindenhof hill, a public square in the center of Zürich. As the name suggests, it offers some nice views of the old town, and is definitely a must see. Lindenhof hill is also in close proximity to the old town of Zürich, just across the river, and it was great walking through here exploring the shops, restaurants and stopping for a casual beer every now and then.



After this, we took about a 15 minute stroll south which brought us to the edge of Lake Zürich. This is an amazing sight, and you can spend the day pretty much exploring the lake side parks. We ate lunch in a very good restaurant, Lake Side offering great views of the lake and the passing marine traffic, as well as the loads of swans.





While in Zürich, we decided to look into a day trip, with our initial thoughts being to maybe travel over the border to Germany for a day. We actually ended up going to see the Rhine Falls, which is about an hour bus ride way. We used Viator to book this trip, and it was as it said on the tin – a bus ride to the Rhine Falls, entry to the falls with some time to explore, and the bus ride back to the starting point near the train station in Zürich. The whole tour lasted from 9am – 12pm and was perfect for us, as we despise day-long tours. The Rhine Falls is the largest plain waterfall in Europe, and is a really cool sight when you get up close.





Eating & Drinking

There are no shortage of eateries in Zürich offering everything from traditional Swiss and German food, to any European or Asian dishes you can think of. Some particular favorites of ours in Zürich were:

  • Hummerbar Zürich – actually part of our hotel, and an excellent seafood restaurant. It’s quite expensive – we had a two course meal and a bottle of wine and the bill was about 300 euros, but well worth it.
  • Jules Verne Panoramabar – a really unique building in the middle of town offering great food and unreal views of Zürich. I recommend booking if you are trying it out as it can be very busy, especially around lunch time.
  • Zeughauskeller – a traditional beer hall in a 15th century building. I’m a sucker for German-type beer halls, and am always on the lookout for one if I’m in continental Europe. The atmosphere here didn’t disappoint, and the wienerschnitzel and beer was excellent too.


  • Overall, we really enjoyed our time in Zürich and were sad to come home. It will definitely be on our list to return to at some point in the future.

What Facebook Knows About You


fb

There’s yet more hype this week around Facebook and privacy, coming out of the release of a new feature ‘Off-Facebook Activity’, which is now available in some regions, Ireland being one of them. This new feature allows you to view (and clear) activity from non-Facebook entities. So, this is basically information about third-party websites or applications that share your visit history with Facebook.

For example, you visit the Harvey Norman website and buy a laptop. Harvey Norman shares this information with Facebook, and the next time you visit Facebook you see an advertisement for a laptop bag. This is one of the main ways that Facebook will use to target advertising. Now by going to Settings -> Your Facebook Information -> Off-Facebook Activity you can see each site that has shared information with Facebook in this way. Most normal users aren’t even aware that this is happening, and that sites they visit completely independently of Facebook will drive the ads they see on the platform.

When I checked this out of my own profile, I was not surprised to see that 152 apps and websites had shared information about my browsing habits with Facebook. The most recent activity was from Microsoft, where I had recently been looking to buy a new Surface Pro on Microsoft.com:


ms

This is a step in the right direction in terms of transparency of this behavior, and I like the fact that I can now remove this data if I chose to also. But what else does Facebook know about me?

For a while now, Facebook has provided the ability to request a download of all of the information that it stores about you as a user of the platform. All you need to do is request it, and about an hour or so later you’ll receive a link to download a compressed (ZIP) file that contains a treasure trove of your personal information.

To generate your download:

  • Go to Settings
  • Go to Your Facebook Information
  • Go to Download Your Information
  • Under Request Copy, select Create File

I decided to give this a try to see exactly what information Facebook has collected from my 12 years of being an active user. The file itself can be large, mine was around 500MB. But what exactly does Facebook store about me? It intrigued me to think that all this data is sitting in some Facebook data center, so I wanted to know exactly what was there. Let’s delve into the download and see exactly the type of information that Facebook has stored on me long term.

The structure of the downloaded file looks something like the below, containing a bunch of folders each containing information relating to specific areas:


fb-download

I spent a while digging through the information. There are quite a few areas that concerned me. Firstly, the ‘ads’ folder. This contained three files:

  • ads_interests – a large list of what Facebook perceives my ad interests to be.
  • advertisers_who_uploaded_a_contact_list_with_your_information – a list of advertisers who uploaded a list to Facebook with my email address.
  • advertisers_you’ve_interacted_with – a list of every ad I’ve ever clicked on within Facebook.

The information stored here is very valuable to Facebook in terms of its advertising business – for example, let’s say I clicked on a craft beer ad (which I often do), and a new craft beer business wants to target relevant users in my region, then I would be highly likely to be in that list of targeted users based on the information that Facebook has on me. This rudimentary approach to targeted advertising contributed to Facebook surpassing $16 billion in advertising revenue as of the end of 2018.

What else do we have in the download? Digging further, I discovered that the following information was present:

  • Every event from Facebook that I have ever been invited to, attended or setup.
  • My friends list along with all the friend requests I have ever made or rejected.
  • A list of all the groups I’ve ever joined.
  • Every page and comment I have ever liked on Facebook.
  • Every messenger thread I have ever been involved in, with all the private conversation content.
  • Everything I’ve ever posted to my Facebook profile.
  • Within the ‘about_you’ folder, I found a file called ‘your_address_books’ which contained all the contacts and phone numbers from my iPhone – this was alarming as I never remember allowing any application or Facebook access to this data.
  • All photos and videos including all my photo album content came in the download (this explains the large size).

My ‘location’ folder was empty, as I had disabled location tracking on Facebook long ago, but if you didn’t this folder would contain a list of the locations (including GPS coordinates) where you have ever logged on to Facebook.

What’s the bottom line here? Facebook stores a crap load of data about you and uses it to drive its advertising business. Like it or not, that’s the truth. If someone had access to the ZIP file that I downloaded, they could likely build a complete profile on me, see all my previous private conversations with friends, access friends phone numbers, see ads that I clicked on, and also determine sites that I have visited separately from Facebook.

There are a few things you can do to ensure that you lock down your advertising settings, which I recommend that you do:

  • Clear your Off-Facebook Activity regularly.
  • Turn off Location History.
  • In Ad Settings, set ‘Ads based on data from partners’ to ‘Not Allowed’.
  • In Ad Settings, set ‘Ads based on your activity on Facebook Company Products that you see elsewhere’ to ‘Not Allowed’.
  • In Ad Settings, set ‘Ads that include your social actions’ to ‘No One’.

These can help, but ultimately Facebook is constantly updating a profile on you based on your browsing activity. We all take Facebook usage at face value, but we forget that at the end of the day, Facebook is a business and is using all of our personal data to drive one of its main revenue sources – advertising.

I am reminded of my favorite comedian Bill Hicks’ thoughts on advertising.

Transitioning from an Individual Contributor to a Leader

I made a transition from an individual contributor to a leadership role 6 years ago, in February 2013. If you’ve made this transition in the software development world, you probably know that it can be difficult and there can be a few things that people may struggle with at the beginning. If you are thinking about moving to a leadership role, or have recently moved, this post may help. Here I’ll share some of my thoughts and some of the advice that helped me successfully make the transition.

An element of my new role I recall struggling with very early-on was the feeling that I was no longer making a tangible contribution to a software development project i.e. committing code to Git or testing other developers code. It took me a while to realize that I needed to now begin focusing on the project delivery as a whole and ensuring that was successful, and not necessarily get down into the weeds unless I really had to. The other item a new manager needs to be able to do early-on is to trust his or her team, and some may struggle with this, especially if they have come from a technical lead position in the team. This can manifest in a dictatorial style of management, which is not good for the team, or the business, and ultimately will not end in a successful outcome.

I’d like to share a few key pieces of advice I was given early on in my career, that have helped me make the transition from individual contributor.

“Be a leader, not a manager.”

This is rather cliché, and if you have ever attended any management training over the years, or read certain authors, you’ve probably heard this a lot. In my opinion, a manager is a strictly human-resources centric term – they handle general people management items like holding 1-1 meetings, performance reviews, they track leave balances, and perhaps annoy developers when they are 5 minutes late back from lunch. I picture someone with a clip-board and a pen every time I hear the word ‘manager’.

A leader is engaged day-to-day on the projects their team is working on. They know what is going on in each one, not necessarily every line of code, but they are familiar with each feature and the status. They are technical and can weigh in on technical discussions if required (although they generally don’t, as they trust their team’s ability to make the right decisions, and learn from their mistakes when they don’t). They have a continual eye on quality – quality of ongoing projects, and quality processes and how they can be improved. Leaders care about people’s development and ensuring that their team are working towards their ultimate career goals (for employees who have them, for those who don’t, that’s OK too). Leaders build a strong working relationship with their direct reports. Leaders are also looking to future – what are the technologies their team should be investing in? What opportunities are we not exploiting? How can we do what we do better?

“If your team is successful, you will be successful.”

This is a simple piece of advice, yet very, very powerful. As an individual contributor, you can ensure that your assigned work is completed to the highest level of quality, but the project may still fail due to another area not being implemented successfully, or some external dependency not being fulfilled. As a leader, you need to ensure you have oversight in all areas that may impact or impede your team’s progress, and be actively working to ensure that any unknowns are clarified, any blockers are removed, any external issues are resolved quickly, and ensuring your team members are focused on what they do best. At times, you will also need to protect your team from external distractions (e.g. getting pulled into unplanned work owned by another team). In my experience, your team will be in a better position to execute successfully if you are actively looking at these items (daily), and by extension you will be successful.

“Your network is important.”

I’ve been told this many times over the years, and only realized the importance of it a few years ago when I wanted to transition to a new role. It’s easy to neglect this, especially if you are new to a leadership role, but I would stress the importance of growing your network with relevant contacts, as you never know what opportunities those contacts may present in the future, or what synergies you can create between for example, different teams based in the same location.

Remember

There will be hard times, and there will always be challenges.

As a software development leader, people will look to you for answers that you don’t always have. You will need to assimilate and recall large amounts of information. You will need to be able to account for your teams time when needed. You will need to explain your failures. You will always need to champion the team’s achievements, stepping back and giving your team the credit that they deserve. You will need to continually learn about new technologies and understand them to enable you to take part in technical discussions. You will need to manage demanding executives, other leaders, stakeholders and customers, and always protect your team in the process.

In a challenging time, I always remember the Winston Churchill quote:

If You’re Going Through Hell, Keep Going.

One of my favorite TED talks by Richard St. John in which he outlines his thoughts on the secrets of success, captures the essence of day-to-day leadership excellently I think – you basically have to persist through CRAP – Criticism, Rejection, Assholes, and Pressure.

The key for me to any leadership position is ensuring that you are continually learning. Remember that in any situation, good or bad, you can learn – especially from the bad situations.

June 2019 – Amsterdam, Berlin, Munich, Vilamoura

I have just arrived back from a very relaxing 3 and a half week’s break around Europe with my wife. This was much needed, especially since I had spent 10 days previous on a business trip to the US (including an awful connection through Chicago O’Hare, but that’s another story).

We started our trip in a rather unorthodox way, by first heading to Dublin (even though we were flying out of Cork), to attend concerts by Michael Bublé in the 3Arena, and then see Metallica at Slane Castle the next day. I was a bit uneasy about the first one, but my wife likes him and that’s all a part of it I guess. I actually ended up enjoying the concert, he’s definitely a born entertainer, cheese aside.

The next day we headed to Slane Castle to see the gods of metal. We had VIP tickets so getting in was a bit easier, and we had a private bar and food area which was great. There was also a large bar marquee which came in very handy when the inevitable rain started to come down about 5pm. Nevertheless, it was an epic concert and I’m so glad we made the always arduous journey to and from Slane to see them. Although I think it may be a few years again before I attend Slane, and the headline act would want to be someone I really want to see (think the Stone Roses reforming again or the Second Coming of Kurt Cobain).

We arrived back to Cork two days after Slane, and a well needed rest day in between. On Tuesday we caught a flight to Amsterdam, this was our first city in a multi-stop trip over 3 weeks that looked like this:

trip

Amsterdam

Amsterdam is definitely one of my most favorite cities in the world. I say that having been there upwards of 10 times now. I know what you are thinking, cannabis and sex tourism, but I assure you that that opinion is the ignorant view of those who have never traveled to this city, or who have only seen the city center. I generally stay in the South West of the city which is quiet, non-touristy, and only a 15-minute tram ride from the city center. It’s also near great attractions like the Van Gogh Museum, and the Rijksmuseum, both of which I highly recommend. Better yet, it’s near one of Amsterdam’s most famous parks – the Vondelpark (named after the ‘dutch Shakespeare’ Joost van den Vondel).

While in Amsterdam, we also took a day trip to Eindhoven, which takes about an hour to get to by train from Amsterdam Central. While we were only there for a few hours, it seemed like a nice city, quite industrial, but certainly not lacking charm in its compact city-center.

Recommendations:

  • Louis Bar Cafe de Dam – a great little bar just off Dam Square. We spend an afternoon here chatting, drinking, and watching the world go by.
  • Beer Temple – this is a really nice establishment specializing in American craft beers, with over 30 on tap and 100 bottled beers. I recommend trying the ‘California Lager’, and ‘Enter Night’. Try a cheese board also!
  • O’Reilly’s Irish Bar – I’m a sucker for visiting Irish bars wherever I am in the world. O’Reilly’s is very near the aforementioned Beer Temple, and well worth a visit. Try the mini sliders if you’re peckish.

Berlin

After Amsterdam, we were bound for Berlin, Germany. My wife & I decided to take the train to see a bit of the Dutch country, and also because when we were students neither of us could afford the common inter-railing trip around Europe summer holiday prevalent with a lot of students – we worked through each summer instead. The train from Amsterdam central to the main station in Berlin takes about 6 hours. We got first class tickets and it was very comfortable. Berlin was on my list to visit for many years, being an avid reader of German history. We stayed near Alexanderplatx in ‘Mitte’ which is basically very near the center of Berlin (if you can in fact say that Berlin has a center). A surprise for me in Berlin was the smell of sewage which seemed to be present in many of the places we went. Nothing is more off-putting than that particular smell if you find a restaurant that looks good, which happened to us a few times. This being our first time in Berlin, we done all the touristy things – Brandenburg Gate, the Reichstag, the Tier Garten, and the Berlin Wall being the main ones. We also took a very good tour (thanks to my wife for allowing this ;-)) called ‘Final Days of WW2 in Berlin’. This was a great tour, and ended near the site of where Hitler’s bunker and Reich Chancellery had been. Great for a WW2 nerd like myself.

Recommendations:

  • Berliner Fernsehturm – this is a 368m tower that includes a revolving restaurant, offering panoramic views of Berlin. We ate here and it was one of the best meals of our trip. I recommend booking beforehand as there can be large lines.

Munich

After 4 days in Berlin, it was on to Munich, again by train which takes about 4 hours. We had visited Munich previously, and decided to return for a few days on our way to our final destination in Portugal. Munich, as Berlin, is a city steeped in WW2 history, and we once again returned to the Hofbrauhaus for a few beers.

Recommendations:

  • Hofbräuhaus München – you can’t visit Munich without having a beer here. Try some traditional Bavarian food and a pretzel also.
  • Münchner Stubn – an excellent restaurant with great beers and very friendly staff. Try the Wiener Schnitzel.

Vilamoura

3 days later, we were on a flight out of Munich bound for Faro, and our final destination of Vilamoura where we were to spend the last 9 days in the sun. Vilamoura, located on the Algarve and only about 20 minutes from Faro is a man-made resort with a large marina filled with shops, bars, and eateries. There are some great hotels in the area also. We had been to Vilamoura in 2015 and liked it so much we decided to return to end this trip in the most relaxing way possible. Our hotel was a few minutes walk from both the beach and the marina, and was stocked with all the necessary amenities to ensure our quest to relax was ultimately successful.

Recommendations:

  • Prime Steakhouse
  • it can be difficult to chose a place to eat on the Marina, there is so much choice. However, you can’t go wrong with Prime. This is an excellent steakhouse with great cocktails, and very friendly staff. Try the Tuna Pate.

My Favorite Reads of 2018

A roundup of the most enjoyable books I’ve read in 2018. Not up to my usual numbers, I usually try to manage 10-15 books a year, but this year due to completing my Masters Thesis I fell behind.

Ian Brady: The untold story of the Moors Murders by Alan Keightley

I’ve been fascinated with the Moors Murders case since watching a documentary a few years ago. Alan Keightley presents here a definitive account, based on his many meetings with Ian Brady whilst he was in prison. A sometimes harrowing read.

Auschwitz #34207 – The Joe Rubenstein Story by Nancy Sprowell Geise

I’ve read a few Auschwitz memoirs. I remember reading Elie Wiesel’s ‘Night’ for the first time a few years ago, and wondering how any human could endure the suffering the Jewish people did during those years. Joe Rubenstein’s story is another difficult read.

Frost/Nixon: Behind the Scenes of the Nixon Interviews by David Frost

I watched Ron Howard’s ‘Frost/Nixon’ when it came out and remember being fascinated by the battle of wits between the journalist and former US President. This book, written not long after the interviews give some good detail of how the interviews were put together and how they eventually became a success.

Archangel by Robert Harris

My once a year allowance of fiction. I read this about 10 years ago and it’s one of the best pieces of historical fiction in my opinion. Re-read in sunny Portugal in August.

CyberWars: Hacks that shocked the business world by Charles Arthur

A great book that gives a large amount of detail behind many of the most famous hacks such as HBGary, Sony Pictures and TalkTalk.

KL: A History of the Nazi Concentration Camps by Nikolaus Wachsmann

An absolutely astounding work of history of the camps, starting at their inception in 1933 to the liberation in the spring of 1945. I’ve never read a more detailed analysis of the camps and their legacy.

The Shortest History of Germany by James Hawes

Another holiday read, and a very good one at that. I read this in an afternoon, and it outlines the history of Germany from Roman times right up to the present day.

Currently Reading

The Death of Hitler: The Final Word on the Ultimate Cold Case: The Search for Hitler’s Body by Jean-Christophe Parshina & Lana Brisard

This is very enjoyable so far. In some parts I’m aware it’s been translated from French though. Looking forward to the conclusions it will draw, especially since the authors have been able to get access to GARF (the Russian State Archives), which contain documents from Hitler’s Fuhrer bunker, records and reports from Red Army soldiers involved in the capture of the bunker in Berlin, and reputedly fragments of Hitler’s skull.

Thoughts on AWS re:Invent 2018



I’ve just returned from AWS re:Invent 2018, Amazon Web Services’ yearly conference showcasing new services, features, and improvements to the AWS cloud. This was the 7th year of re:Invent, and my first time attending.

The scale of the conference is staggering – held across six different Las Vegas hotels over five days, with almost 60,000 attendees this year. I expected queues, and got them. Overall though logistically the conference was well organized. Pending I queued at least 30 minutes beforehand, I was able to to make it to 95% of the sessions I planned on attending across the week.

In terms of the sessions themselves, most were very good. Over the week, I attended sixteen different sessions, made up of talks, demos, chalk talks, and hands-on sessions.

Two of my favorite sessions were ‘Optimizing Costs as you Scale on AWS’ and ‘AIOps: Steps Towards Autonomous Operations’. The former described the 5 pillars of cost optimization – Right sizing, Increasing Elasticity, Picking the Right Pricing Model, Matching Usage to Storage Class, and Measuring and Monitoring. These may seem obvious, but can often be forgotten in instances where the project is a POC that becomes production for example, or a team is not too familiar with AWS and how costs can increase as you scale up an applications usage in production. This session also included insights from an AWS customer who talked through how they had applied and governed this model in their organization, which was interesting to compare and contrast to how I’ve seen it done in the past.

I also attended numerous sessions on SageMaker, AWS’s managed machine learning service (think AML on steroids). I’m looking forward to starting to play around with SageMaker, now that I have attended a hands-on lab I am more confident beginning to look at some of the ideas I have where this could be applied. I looked at this earlier this year while completing my Masters Thesis, but ended up using Amazon Machine Learning instead in the interest of time (AML is a lot simpler to get up and running). AWS also announced Amazon SageMaker Ground Truth, which can be used to streamline the labeling process for machine learning models, via human labelling and automated labelling. One other cool announcement around ML was the launch of AWS Marketplace for Machine Learning, where you can browse 150+ pre-created algorithms and models that can be deployed directly to SageMaker. Someone may have already solved your problem!

If I was to retrospectively give myself some advice for attending re:Invent, it would be:

  1. Try to organize session by hotel. Moving hotels between sessions can take a long time (especially at some points of the day due to Las Vegas traffic). Organizing your sessions so that you are in the same hotel for most of the day can be beneficial. A good thing though is that there is a regular shuttle between conference venues.
  2. Don’t assume you will make every session. Colleagues who had previously been to re:Invent gave me this advice, but I still assumed I would make everything. Traffic, queues or something else will inevitably disrupt your schedule at some point during the week.
  3. Leave time for lunch! Easy to forget when you’ve got a menu of exciting talks to attend. AWS provided a grab-n-go lunch option which was very handy to just grab something between sessions.

If I had one criticism of re:Invent, it would be that some of the talks labelled as advanced did not go as deep as I expected into the technical detail. I thought the hands-on labs did a good job of this though, especially the two I attended on AWS SageMaker.

Overall, re:Invent is a significant investment in the attendees you send (tickets are not cheap, not to mind accommodation, food etc. – remember it’s held in Vegas), but a good idea if you are taking first steps with AWS, looking at getting in deeper or optimizing your usage, or thinking about migrating existing on-premise services to the public cloud.

See here for a good summary of all the re:Invent announcements, as well as the keynote videos.