<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Google &#8211; Henry Poon&#039;s Blog</title>
	<atom:link href="https://blog.henrypoon.com/blog/tag/google/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.henrypoon.com</link>
	<description></description>
	<lastBuildDate>Sun, 18 May 2025 05:30:09 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
<site xmlns="com-wordpress:feed-additions:1">83044199</site>	<item>
		<title>Running Selenium Webdriver on WSL2</title>
		<link>https://blog.henrypoon.com/blog/2020/09/27/running-selenium-webdriver-on-wsl2/</link>
					<comments>https://blog.henrypoon.com/blog/2020/09/27/running-selenium-webdriver-on-wsl2/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Mon, 28 Sep 2020 00:49:34 +0000</pubDate>
				<category><![CDATA[computer stuff]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[APT]]></category>
		<category><![CDATA[AWK]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Computer architecture]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Drive]]></category>
		<category><![CDATA[Error message]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Firefox version history]]></category>
		<category><![CDATA[Flag]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Graphical user interface testing]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[IP address]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Lag]]></category>
		<category><![CDATA[lamb]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Lie]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Messages]]></category>
		<category><![CDATA[Net]]></category>
		<category><![CDATA[Operating systems]]></category>
		<category><![CDATA[Parameter]]></category>
		<category><![CDATA[PATH]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Resolv.conf]]></category>
		<category><![CDATA[Rolling]]></category>
		<category><![CDATA[Run]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Sleep]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[Struct]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Ubuntu version history]]></category>
		<category><![CDATA[USR]]></category>
		<category><![CDATA[Variable]]></category>
		<category><![CDATA[Web development software]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">https://blog.henrypoon.com/?p=6269</guid>

					<description><![CDATA[This is a newer version of the post that I made before on how to run Selenium on WSL, but this one is on doing it in WSL2. The instructions are similar at a high level but there are some additional gotchas. You will need: WSL2 setup with Firefox installed (mine uses Ubuntu 20.04) VcXsrv [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">This is a newer version of the post that I made before on <a href="https://blog.henrypoon.com/blog/2017/06/18/running-selenium-webdriver-on-bash-for-windows/" target="_blank" rel="noreferrer noopener">how to run Selenium on WSL</a>, but this one is on doing it in WSL2.  The instructions are similar at a high level but there are some additional gotchas.</p>



<p class="wp-block-paragraph">You will need:</p>



<ul class="wp-block-list"><li><a rel="noreferrer noopener" href="https://msdn.microsoft.com/en-us/commandline/wsl/install_guide" target="_blank">WSL2 setup</a> with Firefox installed (mine uses Ubuntu 20.04)</li><li><a rel="noreferrer noopener" href="https://sourceforge.net/projects/vcxsrv/" target="_blank">VcXsrv</a></li><li><a rel="noreferrer noopener" href="https://github.com/mozilla/geckodriver/releases" target="_blank">geckodriver</a></li></ul>



<h2 class="wp-block-heading">How it works</h2>



<p class="wp-block-paragraph">VcXsrv starts up an X server on the Windows host machine, and what WSL will do is connect to this server to pass on the details of what programs need to be displayed (in this case, the browser window).  Geckodriver is there purely as a middle layer for Selenium to be able to interact with Firefox.</p>



<h2 class="wp-block-heading">VcXsrv setup</h2>



<p class="wp-block-paragraph">This setups the X server so that Windows can display graphical data coming from the Ubuntu instance.</p>



<ol class="wp-block-list"><li>Download and install</li><li>Start it up with the the command line parameter &#8220;-ac&#8221;.  This flag removes access control restrictions for connecting clients (which is okay as long as this server isn&#8217;t exposed on the open Internet and that the only client connecting is the Ubuntu instance)</li><li>Allow connections to VcXsrv on Windows Firewall</li></ol>



<p class="wp-block-paragraph">The &#8220;-ac&#8221; flag and allowing the program through Windows Firewall is pretty important.  When I didn&#8217;t do this, Ubuntu would give me cryptic error messages like &#8220;Broadway display type not supported&#8221;, but once I set up these access controls, everything was fine.</p>



<h2 class="wp-block-heading">Bash setup</h2>



<p class="wp-block-paragraph">Install firefox</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sudo apt install firefox</code></pre>



<p class="wp-block-paragraph">Export DISPLAY variable in .bashrc (or for whatever terminal you use, maybe .zshrc, etc.)</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">export DISPLAY=$(ip route | awk '{print $3; exit}'):0</code></pre>



<p class="wp-block-paragraph">This will configure your DISPLAY variable to use the IP address listed in the resolv.conf file.  The IP address listed there is the IP address of the X server that will be used for displaying the browser window.</p>



<p class="wp-block-paragraph">Start up VcXsrv as described in the above and then try to open Firefox.  The Firefox window should open.</p>



<h2 class="wp-block-heading">Geckodriver setup</h2>



<p class="wp-block-paragraph">This acts purely as the API interface that allows Selenium to interact with Firefox.  Selenium looks for this executable when controlling the web browser.</p>



<ol class="wp-block-list"><li>Download geckodriver (make sure to get the Linux one and not the Windows one)</li><li>Put it in /usr/bin (or alternatively some other folder in your PATH)</li></ol>



<h2 class="wp-block-heading">Selenium sample on Python</h2>



<p class="wp-block-paragraph">I tend to use Python when running Selenium code, and I haven&#8217;t tried it on another language (I imagine the principles are similar).  Here is a piece of sample code for starting up the browser and opening up a website, but really any Selenium code can be used.</p>



<pre class="wp-block-code"><code lang="python" class="language-python">import time

from selenium import webdriver
from selenium.webdriver import DesiredCapabilities

def execute_with_retry(method, max_attempts):
    e = None
    for i in range(0, max_attempts):
        try:
            return method()
        except Exception as e:
            print(e)
            time.sleep(1)
    if e is not None:
        raise e

capabilities = DesiredCapabilities.FIREFOX
capabilities["marionette"] = True
firefox_bin = "/usr/bin/firefox"
browser = execute_with_retry(lambda: webdriver.Firefox(
    firefox_binary=firefox_bin, capabilities=capabilities), 10)

browser.get("https://www.google.com")

time.sleep(10)

browser.close()</code></pre>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2020/09/27/running-selenium-webdriver-on-wsl2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6269</post-id>	</item>
		<item>
		<title>Petra</title>
		<link>https://blog.henrypoon.com/blog/2020/03/17/petra/</link>
					<comments>https://blog.henrypoon.com/blog/2020/03/17/petra/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Wed, 18 Mar 2020 05:07:24 +0000</pubDate>
				<category><![CDATA[asia]]></category>
		<category><![CDATA[food]]></category>
		<category><![CDATA[middle east]]></category>
		<category><![CDATA[9]]></category>
		<category><![CDATA[Arab groups]]></category>
		<category><![CDATA[Arabian Peninsula]]></category>
		<category><![CDATA[Arabic architecture]]></category>
		<category><![CDATA[Bedouin]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Const]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Delicious]]></category>
		<category><![CDATA[Desert]]></category>
		<category><![CDATA[Dia]]></category>
		<category><![CDATA[dog]]></category>
		<category><![CDATA[Dogs]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Force]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[hike]]></category>
		<category><![CDATA[Hiking]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[india]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Jerash]]></category>
		<category><![CDATA[Jordan]]></category>
		<category><![CDATA[lamb]]></category>
		<category><![CDATA[Lie]]></category>
		<category><![CDATA[Mansaf]]></category>
		<category><![CDATA[Mass]]></category>
		<category><![CDATA[Middle East]]></category>
		<category><![CDATA[Nabataea]]></category>
		<category><![CDATA[Nabataean Kingdom]]></category>
		<category><![CDATA[Nabataeans]]></category>
		<category><![CDATA[Over]]></category>
		<category><![CDATA[Petra]]></category>
		<category><![CDATA[Pho]]></category>
		<category><![CDATA[rice]]></category>
		<category><![CDATA[Sauce]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[Struct]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[Tourism in Jordan]]></category>
		<category><![CDATA[Trac]]></category>
		<category><![CDATA[Western Asia]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">https://blog.henrypoon.com/?p=5282</guid>

					<description><![CDATA[From Jerash in the north of Jordan, we made our down all the way down south to Petra. Petra is the most visited attraction in Jordan is the main reason why people want to go to Petra in the first place. The first time I saw it was when I watched Indiana Jones and the [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">From Jerash in the north of Jordan, we made our down all the way down south to Petra.  Petra is the most visited attraction in Jordan is the main reason why people want to go to Petra in the first place.  The first time I saw it was when I watched Indiana Jones and the Last Crusade as a kid, and at the time, I didn&#8217;t even think about it too much &#8211; I didn&#8217;t even know it was called Petra until years later.</p>



<p class="wp-block-paragraph">I always thought that Petra was just a single structure &#8211; the same one that gets shown everywhere, but that structure is just The Treasury that&#8217;s a part of an entire city built in the rocks.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipMOvho7wNkG0_7O5mD6v8xHmDRNQHhawjpfTmeYIlN88FuPXADQGrZC5-dMe8G6gA?key=eUwyaHVCOWpVZG44eEFWLXh3X1YzY0VXbDQ0dzhn" target="_blank" rel=" noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AP1GczOPGlVy0NaXBBCSIKbI6m89NY_t-lkdZS3RUnDSJNVt2yYDnofM9g1Ltvz3TaS_J26ShCxA5WJwv_omA6uMbkxl1EIMfkqkRBPuPR1efyVxWxH5KtXRPbBtiY-OCQNQqAmepGuhSJ9NeP8RyMNGlcPl6A=w1634-h919-s-no?authuser=0" alt=""/></a></figure>



<p class="wp-block-paragraph">From the entrance, we walked 30 minutes through a winding gorge formed by a fault line that tectonic forces split apart until we reached The Treasury.  Stray dogs followed us every step of the way hoping for scraps of food.  Leaving at 6:00 didn&#8217;t help because the only people that the dogs could beg from was us.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipMOvho7wNkG0_7O5mD6v8xHmDRNQHhawjpfTmeYIlN88FuPXADQGrZC5-dMe8G6gA/photo/AF1QipMd9SblcCPDaTJxfwWfE6q7aPN1RYarmUchVBJL?key=eUwyaHVCOWpVZG44eEFWLXh3X1YzY0VXbDQ0dzhn" target="_blank" rel=" noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AP1GczNg1MjDSbKBlIEHfffzhgUQh0Xfe6rDepPGOB_V75EQzDuBu8CunxSp34hrA5Pf5zD21gzsvRM3bcLyX1W0bCWJW6RW3eRAJjM2Ckd2wPFrer_NWyzBTnObwzXw7eGTX3jtWiUD3ZsL6cdbaZX0jbd7ug=w1634-h919-s-no?authuser=0" alt=""/></a></figure>
</div>



<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipMOvho7wNkG0_7O5mD6v8xHmDRNQHhawjpfTmeYIlN88FuPXADQGrZC5-dMe8G6gA/photo/AF1QipOWVVxuTOrhFnC8vx7TYT0sib_BTYwBIb24hmtB?key=eUwyaHVCOWpVZG44eEFWLXh3X1YzY0VXbDQ0dzhn" target="_blank" rel=" noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AP1GczOix3HJHs0ArjNLP4j9qUwod85r2rqLDOOpx6yaH7bfgPvR3JMkDyfd04dDrXcbm9AHl0XjrhXfugeCZzNxyCpNnGA825CMMCf-ZzPEAT57XozFZCbwZuKmVqiHL-4LfLffGax61G16-Yvyq8soEhfgqA=w1634-h919-s-no?authuser=0" alt=""/></a></figure>
</div>
</div>



<p class="wp-block-paragraph">We arrived so early we were practically the only people there.  We admired Petra on our own without the large crowds of tourists everywhere.  We took our time walking up to it, all around it, up the slope to get a better view (nobody is allowed inside it though).  We did all of this before the crowds showed up.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipMOvho7wNkG0_7O5mD6v8xHmDRNQHhawjpfTmeYIlN88FuPXADQGrZC5-dMe8G6gA/photo/AF1QipPngPYecWRYSTWj0zuFuYUUHI5cJ8PfA1_TSb39?key=eUwyaHVCOWpVZG44eEFWLXh3X1YzY0VXbDQ0dzhn" target="_blank" rel=" noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AP1GczMyZlmv_36huADNt3QJrQGvbUlLB_vim6L0jJTnAXi4i4gSg-SLNMMZHCWCu7_mP5O744jo9eM033CbE4ptKTyqwIH45BH6nNrF0PVnWWGif_cC5tOO-GFrpZfUYM-57XMZOU4l70wFhfWPE3cYFUY_PQ=w1634-h919-s-no?authuser=0" alt=""/></a></figure>



<p class="wp-block-paragraph">Petra was the capital of a kingdom of the Nabataean, a group of nomadic Arabs who established the city as a major trading hub.  The Nabataeans constructed massive structures by carving it all out of the sandstone.  Although it&#8217;s called The Treasury, the building is believed to have been the mausoleum of the Nabataean King Aretas IV.</p>



<p class="wp-block-paragraph">The area around Petra is also home to the Bedouin people, a group of nomadic Arab people who inhabit the desert regions in northern Africa and the Arabian Peninsula.  In the modern times, many have abandoned their nomadic lifestyle and many Bedouin around Petra work as tour guides, offer camel rides, among other things.  One of the Bedouin people there is actually the descendent of a woman from New Zealand who married a Bedouin man and wrote about it, called Married to a Bedouin.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipMOvho7wNkG0_7O5mD6v8xHmDRNQHhawjpfTmeYIlN88FuPXADQGrZC5-dMe8G6gA/photo/AF1QipM4dy-b2gwWj_KnozSyYPgQqE9nkT9KuyX5C_b5?key=eUwyaHVCOWpVZG44eEFWLXh3X1YzY0VXbDQ0dzhn" target="_blank" rel=" noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AP1GczPRA4x_-vFKvFtfAKA9hGoXLMJmIU8iRFsSSz4tR6QXcEk97FhTCKANAfr_MQdtFyeHHFgWAhdH8rUJjjORagaoaJgrBJ0MTX1rTUF_yOh5hdyk21Yn8EoP-YBCkInKcAJlcFQkDiybuMopFwlq-QpPqA=w1634-h919-s-no?authuser=0" alt=""/></a></figure>



<p class="wp-block-paragraph">The area is over 250 square kilometers, something I totally didn&#8217;t expect (because I totally did not do my research before I went).  I&#8217;m not too big on hiking and I was totally not prepared for a hike that day &#8211; I would have totally brought more water, and more food along with me that day.  Despite that, I hiked up the 900 or so steps to the monastery anyway, while getting hassled by vendors trying to sell me their junk.  Temperature-wise, the temperature shot up to a whopping 20 degrees Celsius from the 0 degrees Celsius just two days before.  My body did not like that.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipMOvho7wNkG0_7O5mD6v8xHmDRNQHhawjpfTmeYIlN88FuPXADQGrZC5-dMe8G6gA/photo/AF1QipPVozKvhd5KoY4EUEwbT8SllZvZkPufO3wVqX0G?key=eUwyaHVCOWpVZG44eEFWLXh3X1YzY0VXbDQ0dzhn" target="_blank" rel=" noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AP1GczO0J4ZUqPRfphZTxOQcefXME_RoL8r03OLuFqCHOXxDUOkX0LXHrNPHzl3K694HXC0XhZMWNcy3Fn_u6udLAhY907S9UO8I-Acmw0mHuYEcW-sJV39H3S7gsZueJB_13uCCnPC3U7SWQubmzxY1JrRwHA=w1634-h919-s-no?authuser=0" alt=""/></a></figure>



<p class="wp-block-paragraph">We spent about 8 hours in Petra, walking along the rock faces, seeing the ancient ruins, hiking up the hill, but if I had more energy I totally would have hiked up the other trials for even better views of the area.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipMOvho7wNkG0_7O5mD6v8xHmDRNQHhawjpfTmeYIlN88FuPXADQGrZC5-dMe8G6gA/photo/AF1QipPXfF3hhmGaObiG6X1t6JiMVZ5Eqb6HDlCG0d-J?key=eUwyaHVCOWpVZG44eEFWLXh3X1YzY0VXbDQ0dzhn" target="_blank" rel=" noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AP1GczOvM8w4yrXYL4D2fILr3NwZmFlMNZos8-uPTNVvqWuiXTqXKNe3wr6GWWFDS92poaByJca4AQ-lOWJ9miJhsEYvJdQRLlDdNzJUapQvvTWKL4VTTOznkfxMacQ6jgdY15VhL5ffOenkqfKQy8Q9cmI43w=w1634-h919-s-no?authuser=0" alt=""/></a></figure>



<p class="wp-block-paragraph">For dinner we had mansaf, probably the national dish of Jordan.  It&#8217;s a delicious dish made with lamb and rice dish mixed with a yogurt sauce! This tasted even better than the chicken rice dish we had the day before.  I had no idea that lamb and yogurt was such a great combination.  It was a great meal to refuel after such a long day.</p>



<p class="wp-block-paragraph">More photos of Petra <a href="https://photos.google.com/share/AF1QipMOvho7wNkG0_7O5mD6v8xHmDRNQHhawjpfTmeYIlN88FuPXADQGrZC5-dMe8G6gA?key=eUwyaHVCOWpVZG44eEFWLXh3X1YzY0VXbDQ0dzhn" data-type="link" data-id="https://photos.google.com/share/AF1QipMOvho7wNkG0_7O5mD6v8xHmDRNQHhawjpfTmeYIlN88FuPXADQGrZC5-dMe8G6gA?key=eUwyaHVCOWpVZG44eEFWLXh3X1YzY0VXbDQ0dzhn" target="_blank" rel="noreferrer noopener">here</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2020/03/17/petra/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5282</post-id>	</item>
		<item>
		<title>European road trip – day 3 – the Maginot Line, and Verdun</title>
		<link>https://blog.henrypoon.com/blog/2020/03/08/european-road-trip-day-3-verdun-and-the-maginot-line/</link>
					<comments>https://blog.henrypoon.com/blog/2020/03/08/european-road-trip-day-3-verdun-and-the-maginot-line/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Sun, 08 Mar 2020 09:26:29 +0000</pubDate>
				<category><![CDATA[europe]]></category>
		<category><![CDATA[APT]]></category>
		<category><![CDATA[Battle of France]]></category>
		<category><![CDATA[Battle of Verdun]]></category>
		<category><![CDATA[bunkers]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Const]]></category>
		<category><![CDATA[craters]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[douaumont ossuary]]></category>
		<category><![CDATA[Drive]]></category>
		<category><![CDATA[driving]]></category>
		<category><![CDATA[dunkirk]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Euro]]></category>
		<category><![CDATA[Europe]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[first world war]]></category>
		<category><![CDATA[Force]]></category>
		<category><![CDATA[fort douaumont]]></category>
		<category><![CDATA[Fortifications]]></category>
		<category><![CDATA[Fortified Sector of Montmédy]]></category>
		<category><![CDATA[france]]></category>
		<category><![CDATA[Franco]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[German]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[great war]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Italy]]></category>
		<category><![CDATA[Lie]]></category>
		<category><![CDATA[Luxembourg]]></category>
		<category><![CDATA[maginot line]]></category>
		<category><![CDATA[Military]]></category>
		<category><![CDATA[Museum]]></category>
		<category><![CDATA[Ouvrage La Ferté]]></category>
		<category><![CDATA[Ouvrage La Salmagne]]></category>
		<category><![CDATA[Over]]></category>
		<category><![CDATA[PATH]]></category>
		<category><![CDATA[Plan]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[rain]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[strasbourg]]></category>
		<category><![CDATA[Struct]]></category>
		<category><![CDATA[Sunday]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[verdun]]></category>
		<category><![CDATA[When We]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[World War I]]></category>
		<category><![CDATA[World War II]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">https://blog.henrypoon.com/?p=4880</guid>

					<description><![CDATA[Our third day of the trip landed on a Sunday, which meant most businesses would be closed, so this made it a good day to do most of our driving. Today we would drive from Dunkirk in the north of France, visit the Maginot Line and Verdun in between, and then end in Strasbourg, in [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Our third day of the trip landed on a Sunday, which meant most businesses would be closed, so this made it a good day to do most of our driving.  Today we would drive from Dunkirk in the north of France, visit the Maginot Line and Verdun in between, and then end in Strasbourg, in eastern France, 600 km away.</p>



<figure class="wp-block-image size-full"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="1200" height="675" src="https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2020/03/Road_Trip_Day3.png?resize=1200%2C675&#038;ssl=1" alt="" class="wp-image-4918" srcset="https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2020/03/Road_Trip_Day3.png?w=1200&amp;ssl=1 1200w, https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2020/03/Road_Trip_Day3.png?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2020/03/Road_Trip_Day3.png?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2020/03/Road_Trip_Day3.png?resize=150%2C84&amp;ssl=1 150w, https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2020/03/Road_Trip_Day3.png?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2020/03/Road_Trip_Day3.png?resize=171%2C96&amp;ssl=1 171w" sizes="(max-width: 1200px) 100vw, 1200px" /></figure>



<p class="wp-block-paragraph">Originally, we had planned on visiting Sedan too.  This was where the Germans made their initial breakthrough into France that eventually led to the French surrender.  We intended to go to the Museum of the Last Cartridge, the local museum there, thinking that it was about the World War II battle, but actually it was about the Battle of Bazeilles during the Franco Prussian War (which I had never heard of before).  In the end, we didn&#8217;t have time for it anyway so it was okay that we didn&#8217;t go.</p>



<h2 class="wp-block-heading">The Maginot Line</h2>



<p class="wp-block-paragraph">Not far from Sedan, was a preserved portion of the Maginot Line in northeastern France, known as the Ouvrage La Ferté.  The Maginot Line was a series of defensive fortifications stretching along the French border from Luxembourg to Italy built after World War I to protect France from a future German invasion.  The location at the Ouvrage La Ferté saw the heaviest fighting during the Battle of France in World War II.  It eventually was overwhelmed by German forces and its entire garrison was killed.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPylgM8Qw6H9r2brCeAiFKgFgYb80tvL3VMzt8-jw-SYrNyXWOsV2HwzTSnCFl_-A/photo/AF1QipM1KdpBEWj7M1mRcq9Nqc9apNkqh8m2qTwBB7UK?key=OXJHaUdVMWx4eXRSQjNZX1VpOXJZY1UzR2E2OVdB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/f5QHP0vxFxASsYi3jxcrvcWN3QAdufmCLKMqPeoaKBEqkaVJEOtOuYSferoDfj3wY3x0nxarxg9T8RDNy-JKLcGbqNMR0__S4AvlgW1bEqyEbAqEKuvXsup5XWw-dpVE-Rp6_MV7mhNeMVjouREs77buf0S-j2v-Q4GFXcekM_E-7C9r6EEa9NiJyWfIXq6D_xAFdTSfVKH_KiX93d_boRTl01CAczqxR33b3nfpb1Z9Twlaopv_sYsQ0QOsezy2HGKFYQiNfU-b-Fn0AYpf5H9b5PrUGsyGT6T-ENIzytbDa4oV5EzxGgmEQVJZPIf_3sLx0J1Q5CA549LReOk6poobrtBOWM0TS3eyCmA8NbcJ--QLGPBAWsvSrRaM-5jg0dNO_X8sdUMEjcV3ZkYDcra014FoDstmnSgj9ICKL-zakm967vC-Q3yyVRgqKXsgtFFmoRXS_2zJry6DF3PdQ5Hyt7TOGKG6qZle7zdSi0STbU6mM9LiFZcfcBeL0fT27EQ-s8JZzlYFaNmVtTnnu1y-XSxiEoCkNsTKmYvy9GKoarXlYKhcVOarVut80VQFPbZxI2zyVnfzLOtHpHU-cv9_NNSted2x7Jxz9Q6Jwa9W6sJGI1cvP8Mhz8u7Ej3sYlTbwoXNbP2Ll6lCGDBWoiFMcsIksKLo3OvSrbxNVisMSQGrCGO1QT6RzqWx2Y6IdeezYzNZpjOznLWrUz53uU3k9fmE65V_zGcysEZDpLBmVXbqrw=w1320-h743-no" alt=""/></a></figure>



<p class="wp-block-paragraph">It&#8217;s exterior still shows the damage from the battle and grass has grown over the craters that were once there.  It is possible to tour the inside of the bunker, but it is only available to large group tours.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPylgM8Qw6H9r2brCeAiFKgFgYb80tvL3VMzt8-jw-SYrNyXWOsV2HwzTSnCFl_-A/photo/AF1QipMT_iH5yV5hYFpYqcunbbXdyAugAPVfo_LKuar1?key=OXJHaUdVMWx4eXRSQjNZX1VpOXJZY1UzR2E2OVdB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/XyGnaNXqYHbVOQbFevreEFBhISiIQURqVaqfjMPcm9AeL2BVtVtiZys9Oe40gaSQb0lEMqKq8Kw7OWTTGrHoJNUH6jR-lZQ5gSwaRjk-HwaWNHQQyfzRphYSyR_RtBej8kYtZUSVpNY2K6G3vQOLOsOC9-aY_L5eXZJUqZU09-3B-C-RrzSmgvd9SIPhovKDQXUy-WZAjnzrBJycsCWabfJ3rmGZnNqFGIgcMV73MICMREJwdutDZlbwd7KSuas2ODxIu3CzjILolLepEa_d5FmgPyQnxntvyXinjkszO8VB5Lylnwim83a6a_RO7IJ54e60GrXDO_H_4v-mmzSXbjf0KFxmfsDpTkPED_7iOgLPkU7MXvT13OuSpXmFJkXR0Zann6aybl5xQdiqbrKCPNlyVcEXRP54xrpaayNo151AC231dZrCWmgOrPo3lz7cpmp5n0kw2QKo_ZXAUVadIvl7Xku3TyGc391DjgOlA04A1yK60P3QJwrf6953qkmGjRAWeqzcAnS371GDnEFPnBfFXDahoTcOb6zvYM2OqCzMma64Qnhqgriu2EJ-0xXcGBuNfMPphh0_uLUxJVfBHtULM5Jz5If55w9-_XzxDrBJy9_7aFxCcp3ySYwShepeN-NSnSEBXSVDTsYPQoMFa7Y2epwDsQjUsOV5U155yMIrYVK83mdfMO-xy1XhXCgVDdSf8yJ0FPzBF-MVTVb0kuHdlBVLbWIS8iC8qXVABix2NGv3qw=w1320-h743-no" alt=""/></a></figure>



<p class="wp-block-paragraph">Driving through the area, it&#8217;s pretty common to still see bunkers on the side of the road.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPylgM8Qw6H9r2brCeAiFKgFgYb80tvL3VMzt8-jw-SYrNyXWOsV2HwzTSnCFl_-A/photo/AF1QipPUL9Js7f3OezBx6XGH04UEkVCzFAOhDrlf1jmG?key=OXJHaUdVMWx4eXRSQjNZX1VpOXJZY1UzR2E2OVdB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/W6hFkyHYJjLrfux8CbG6aftH-GZ0vbe7Q7qSjSZdlqZh3Nm5W4k8_3poK3G6cga5Njk4n8k8uQieW4aacZDtmHkKr9Kqm-7YJngHPbdnDrLPcLpt9f-0vNsWtjKcEM0WTY4odLknO3pDsbLskEO4axCkE6pLBo3GMl4AFMqsWMB6jMVvVq9y2Gak_c6pVPZEATFVE5nDlXEEdo1DnJz_X6nBI4kpOQyQgkpSiIRjhtivPGSEGbQujV-X0tdoutDPIP1nTPb2m3nWmnU0kNU1bw5wunHQdoYE0MlJj-6cSw7fubfBoCRqwY0yCyhmulk_mLbm3Nc-jOuuiZdyvifUHLW81ASNTdlFkVBkuvTrG-9hXSEGGZVjSzQNEat1jm4wDOVyikK-hfWyNmfUT_OOqhshDjLwtlLmuhBM9VPw4FB2NlPbyMFXLyLhd_TFl1AsbN83334uNZ2dcWZt1584AcDfkEQwS9My9wP9T5Rd2yuzpPKQP3ovrua8wnsMK18iUBFTda6uPrbjQzRanPii2CRli7AErmAZqVBpg0GDNo5g21HKXjVBH-vqm3U8Qhzq5hvIO58jEVr87TlEkF454i9N-cPiM7NND8YsFCSOU8cjZTvrdNQCfZ9kMAjaqyj5TTsdHTzMMCRcATAw3b2v2iORCPYe526x7mJjz7DNr1TXOawrRDEaFbPrwxfcxlkCYvV60EUF3pWXAFMKxr0zA-bxYHFgKqfqXB2tzAwkcv-p83p3oA=w1320-h743-no" alt=""/></a></figure>



<p class="wp-block-paragraph">The Ouvrage La Ferté is in a pretty remote location, which makes sense considering it&#8217;s a defensive fortification, and because of the rain the night before, we ended up driving on some flooded roads, and even narrow farm roads that even Google Maps didn&#8217;t have a name for.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPylgM8Qw6H9r2brCeAiFKgFgYb80tvL3VMzt8-jw-SYrNyXWOsV2HwzTSnCFl_-A/photo/AF1QipMa-vWy1hKgHD2zFcg1weilka4yFlmOv9yEf6P8?key=OXJHaUdVMWx4eXRSQjNZX1VpOXJZY1UzR2E2OVdB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/97e6V-auM1OHQNgylz-XlPMdm1mVQS62VEHIzwXqvceRRZnWMHNbmgE5bOdegAM2_60IzrUjz7e00f4v1om6cTHrNyZIZcarNlFfcFF_zibGzkpT8YivnRqnXCcWAEP9m2anN0Ejhgubc3xfmrGeh2PV5gTD59ewFR0OIO5P2O0NLRDITPUKooEjdCj1VAzG0ehJwxvEu2uPKes_zZd6jQdhmlXX_3lFzl45oCzv2FyS-J997TixnRF-7a3rGOdnPIoDbSuo-gY2ryKfakTY54-q2PH7hC8kPPCKfXr2kMu6mX4XSYqQnI-SsV-hXVibUN5JAdSN_BBPrT1fkWKdwMmWAd5xh2KfDwb61YSVNMnmOxkWdlZEcj5wzdSSCesMbuzeDxeEb5YMq7R4rRLlkbLQkirEea78CJk-VeZiRCUHS0LsF81j4ayJJWDlTPKRtG-Q4NlBFKV22zKbIJcVXHB2b1YVv0i6M10-PSi3tZ171T8wvqmEsq7XVFD3yLFUoXB0SKw4M0AlvMzt-8AP8c_zLdSHfzD856NZsl4YnyGEjcYT930ucGkSn4ViPBtt-ADLJr7PwxDanLHoNRyuBv7D79N3Or8TfUnzNR4Y2sZ7mjCSMocbkkJ5CAYJLfQR_cp9MHlRUAs8IxFHWHnkoz4BhJeNAMNNYkpzYuA4SwT2Nt4n6Ze6xngghVyskQv-yu3D64rshoA9z7ECG7sXkewFEMvT_qMJO_YXuJJAdcqN8yU7Vw=w1320-h743-no" alt=""/></a></figure>



<h2 class="wp-block-heading">Verdun</h2>



<p class="wp-block-paragraph">From Ouvrage La Ferté, we drove to Verdun.  Verdun was the site of another major battle in World War I, and to remember the fallen soldiers, a memorial containing their skeletal remains was constructed.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://photos.google.com/share/AF1QipMyNFP4NHo-xVcS6cB3UpzazPs5ovuKcoJSTH26KQGNVCNKW2M8RaHJQHLhrvPdrA/photo/AF1QipMjXazYuQTFcxAQ0VhN6aRxCVinAS2wx2y-f2AM?key=bC03OWFWc0xidG5POXo3elRqUXFoSTZ0QlF3RGNn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/o-p4M9F9TrYS7BmOM6nQiOIZq-cgvCqwQGuLm4fDT5aPEiBoiLW-tz2yk24EDdpSfPbmwcnLqhBFL6_mv8w5YHN1rRfV3ahzzb0xLyO3FTbn6U2LJNtX6gym0HXfUS4LnC2qyo3rvA1Xqnrerj1X1c5c80oHr7iHubCQeSUH-7N9r0Tbg3TYuXFGK83LW6wPG1hzdIAFKWRHTQXIXpYfQ_sVDjoeY9fneneUttjbbwtGoiU_8IJoc57iKXIVt4VoolFMYYaAtX0BUKBLsBugss-eIyYbN6MVFZry79G7s4CYy3jcs1tN__gYtqSeFkM4WCmWMiZTCiCOkINhCw-qu0TZSSW-896FLhhRBp4NDzLw9lMkCM_UXEeighbgNMreM93OckJMNbIHub1XGa9H7LBg5KJ2JN0N4yEj1hC7kFDQWpsAbFqou76Bg4PtQ2tDrnSm56qqOLbxC7azkym_nzu2d__ehM5Otha3fogd3l7R5uGuxVeXyM7JGNEW700A_6GMyPiRe7OHlYY7f7dahCFRDonEnPz5hqi-_75gNG2srKoA8tPagBCNaJAZ8_x77PpgGABAU_5xwoqNxK_qye2Lst4yJTfF7SEdmAVkyEeDRiNOt0jebdwfd5tWh7flTgJZuXeMk81IUuLxOOr7bGHI40XQQeWmFaRNZwBo1IjgQi4zN80VUeKVQ5mdKJoC_O4TwPgXf1FcVB-A8PJ911HNMCk1eNMa5APGJEh0r2Z5tcj34g=w533-h946-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">Unbeknownst to us, the ossuary was actually closed when we arrived, so we never got to go inside.  We could only peek through the windows and see was a blurry view of stacks of bones.  In front of the monument lies a military cemetery.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipMyNFP4NHo-xVcS6cB3UpzazPs5ovuKcoJSTH26KQGNVCNKW2M8RaHJQHLhrvPdrA/photo/AF1QipM25F0h6FZJtpmLGuil6fJbXv8RlY6GBYqmzm2H?key=bC03OWFWc0xidG5POXo3elRqUXFoSTZ0QlF3RGNn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/CqFecwKKM1PJnKJD2dYe5l-g1ruNDQpSmPUGCOO0e6rBT7WIAByq3UXxNlNVPB13J29wyV4YCP5Jw9LYjh5ta9Ti6Sd29ySJl-moCUjJKhmnTbwhGxwZ8W7NWsJHQ5a9D6Jgf6fBpIyVmGfxX8WmXdBuM25K0x9QdVsZhm1OWY47gLH4Sbx85URyUD1L0G6EAEiQR78fYSmubhIUsIBEK6-j-5koDj99TrBRtgOB5AK6VvIpivq786athWNPRDbFwoASvprVNuytP-FeSGhsSpkcti2EUaNWVMuqhdqtAqLp1xDamqlIU8gTIQDQgLBfh0jxp34ddo8e7StHUiCy0edxQoeyFqn_eNiCKfN6sWnWqJ0PVOQYupUHzElQOc-11URW0jwT4bZgCShKwaCAz8LXX_6NxG6tcuKFXY7cccYqdfl_I-9Fo9iHkae65eps2QcTjP-69jprB6Wpr-8QH7_rvva3vORx8Z7gdsWeVsXRLwAO2gK1K2zWY_kSf6uhC0OIH-of9IcB3nHBCtUK9cSjRb_UvPssXQ3RIveuJri9JegNwRggQhbSo3hfKFEV_J5bLITV0M6lxN351Ejz0V0T1LrTzWmQ6BJAu1zjrIqUF6QFOBKLmN_NzQxgvWXx45R2k2AhZkxlIo0TQnK8hYwSphfsFGaXTfKT8QKHDgbdE3eWN4xF3H2Fxu6WfFb4IjHcFGLVttIamo8t6KCqQt3FYdre-cw7ioMxFBvJj-cEuKufaQ=w1320-h743-no" alt=""/></a></figure>



<p class="wp-block-paragraph">Nearby the ossuary is the actual fort that played a role in the Battle of Verdun.  The fort fell to the Germans without a fight since the French had abandoned the fort thinking that the fort would have been ineffective against the heavy artillery that the Germans were using.  Eventually, the fort was recaptured.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipMyNFP4NHo-xVcS6cB3UpzazPs5ovuKcoJSTH26KQGNVCNKW2M8RaHJQHLhrvPdrA/photo/AF1QipMzXBegkP0USCNH1J20es2kSm3wAptGjZoGpWDo?key=bC03OWFWc0xidG5POXo3elRqUXFoSTZ0QlF3RGNn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/QQDSsP0wwenR2ZMi_xzAfwbYZR3hkj7ojFyBUAVGJzNyKVDG0Otssmy7NlFlIngKw3ie_lTTEKRac4Q3kxpPWaZdynCrynTU97ehEfPznbbYQQMpkyP4-zG2kLfwKEkX2rUEuLiRZzvCQh2xnhUkfdNIehLV7c9McWaydH19mk3E3qWLzPFp-CgV37UVGMX08VoD9TP_HkpygcFuBHVHnQPLn9iPzGC2xJVtriA8VE5rX9kX9LL__1vWSM8aWH9IA69_mCtvBNkdAbiA9t6Js1OiCrTx6Gg-A3Womey3gvvoZmiZUBRuCVFuazBuXsXKyGJ1mEVdRuRtfCGTsRkqXmAR-1_86eHCQ0ObfJ32ewHdA27abAuvJGxHVCL0REnGW0kfCHB7Al-1mMJnVZsEfX73qEUgI7GjGJtGmBXnjPaIyXhjAZY0_imculmAUFT-UxWtlgHt3SnVr-ivUNIgogbvMEoCuqoIzV1G0FNb8sWs2zbuhEEBPkfQt25QT5pJCHdQmIWiKRLTF_8a4kJ81Pn3CYpnjgc33xCMyKl1zmzgvNUc6aOxzsSF3pao-Xf7rFUKdI9q298oibAiXN5SX2x9pR3hw_14Zx9jwrur4dXHVKXgunRcOFBSIRsDgusjXiWjNQTlxbkNmkG1k-Q-QJ_XgFbP3GTxuNcF-na7k5Fk-Aa2gyPNFkSH1Pti0Z5S1TPfQHitXyjzZxSIjV4rtxrG0oH4tzzIDsehz-K_N73xKbiEEw=w1320-h743-no" alt=""/></a></figure>



<p class="wp-block-paragraph">The road leading up to the fort was interesting too because some of the old trenches were preserved.  The zig zag of the trenches can still be seen.  Its purpose was to ensure that shrapnel exploding inside the trench would be contained.  A straight trench would have allowed a clear path for the shrapnel to fly through more of the trench.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipMyNFP4NHo-xVcS6cB3UpzazPs5ovuKcoJSTH26KQGNVCNKW2M8RaHJQHLhrvPdrA/photo/AF1QipMAxss0nTp9ZNL0LIBFPTcB_smaLGoUhwj8VYjy?key=bC03OWFWc0xidG5POXo3elRqUXFoSTZ0QlF3RGNn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/X9k_NHiYJ_Lr6dW2nzt1HmP84VDwmxb5z2Dm5iTyJDFaKDt_MrZePijd0dpiE_jO_0d9Z4wGKLW5P60t2eBIzpP4tOxzUqLu4sM8IbWMMB7PPvk0OtAmTCbFdND34_Fqvr26UJH8-lM7_6iAgrnqYeKXNhcP5ctrrB_k7bBnY26JTQSzFumfr9aUA76U5ZIpmZrtF2nwt_w1zxqbYzKY0AYFVn-v5cEWwNt-vGyBFushI6O_2rULc4GRULi5C6yBl6quQsdbTLkH0NdRWeAhL_9Cpv3CMr52IWSiaSAfD9ZA4BeYMOTt_f6QSOWf2Qy2Y0VfmRmTN8W4cwuh8tffejOR9F7RHO2G2y2m29Kqlm8dI4vHAF48a72cY_Ue1WJJZs_AWNJYdDrqJ_xPUlmgOlUWnuFEKmECK07eleYTUVJqYpzMAukc3gJRKJEBZ8L5bRHgKYplX8WH406qZqOpZLmf-SGLnbo4eIEMtg75oLog_ZdC-Mvm4yp18OxI1Rr3r5xmamekG3h9rSRnN6wYWk0JDQY-duxnSAvQfY9qOhNo-ZNGFGLbbmaM7s_Jx5SW2I63sgIvkCcnPjq3eq62DI97HJNShBrCuMMLxPs9Xouj8H4H96EqCLI1xVo0-Xgvdz4ZK5nx12G5Pmil85syUz5NyVfQfivYos5Y3kmQqGT0-bOVgPYdPb_Od04_SHtuQ9FrMKN0Lr3uFyKrEIW4rP37Z9_KYbex89NTLVLgZC_b8Bb6Wg=w1320-h743-no" alt=""/></a></figure>



<p class="wp-block-paragraph">From there we drove three and a half hours to Strasbourg, where we&#8217;d start our fourth day of our road trip.  That&#8217;s all for now!</p>



<ul class="wp-block-list"><li><a href="https://photos.google.com/share/AF1QipPylgM8Qw6H9r2brCeAiFKgFgYb80tvL3VMzt8-jw-SYrNyXWOsV2HwzTSnCFl_-A?key=OXJHaUdVMWx4eXRSQjNZX1VpOXJZY1UzR2E2OVdB" target="_blank" rel="noreferrer noopener" aria-label="Maginot Line (opens in a new tab)">Maginot Line</a></li><li><a href="https://photos.google.com/share/AF1QipMyNFP4NHo-xVcS6cB3UpzazPs5ovuKcoJSTH26KQGNVCNKW2M8RaHJQHLhrvPdrA?key=bC03OWFWc0xidG5POXo3elRqUXFoSTZ0QlF3RGNn" target="_blank" rel="noreferrer noopener" aria-label="Verdun (opens in a new tab)">Verdun</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2020/03/08/european-road-trip-day-3-verdun-and-the-maginot-line/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4880</post-id>	</item>
		<item>
		<title>A brief layover in Kuala Lumpur</title>
		<link>https://blog.henrypoon.com/blog/2019/06/07/a-brief-layover-in-kuala-lumpur/</link>
					<comments>https://blog.henrypoon.com/blog/2019/06/07/a-brief-layover-in-kuala-lumpur/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Sat, 08 Jun 2019 04:59:24 +0000</pubDate>
				<category><![CDATA[asia]]></category>
		<category><![CDATA[bali]]></category>
		<category><![CDATA[Breakfast]]></category>
		<category><![CDATA[chiang mai]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Country subdivisions]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Drive]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[fish]]></category>
		<category><![CDATA[food]]></category>
		<category><![CDATA[Geography of Asia]]></category>
		<category><![CDATA[Geography of Malaysia]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Grab]]></category>
		<category><![CDATA[Icon]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[kuala lumpur]]></category>
		<category><![CDATA[Kuala Lumpur International Airport]]></category>
		<category><![CDATA[Light]]></category>
		<category><![CDATA[lightning]]></category>
		<category><![CDATA[malaysia]]></category>
		<category><![CDATA[Meat]]></category>
		<category><![CDATA[Meatball]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[Mind]]></category>
		<category><![CDATA[MSC Malaysia]]></category>
		<category><![CDATA[Noodle]]></category>
		<category><![CDATA[Noodle soup]]></category>
		<category><![CDATA[Over]]></category>
		<category><![CDATA[Pho]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[rain]]></category>
		<category><![CDATA[rice]]></category>
		<category><![CDATA[Singapore]]></category>
		<category><![CDATA[soup]]></category>
		<category><![CDATA[Storm]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[thunder]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[YouTube]]></category>
		<guid isPermaLink="false">https://blog.henrypoon.com/?p=3489</guid>

					<description><![CDATA[The next destination after Chiang Mai was Kuala Lumpur in Malaysia. We boarded the flight to KL early in the morning and our flight was scheduled to leave KL to Bali at night &#8211; this would give us a solid couple of hours for sightseeing. The flight was to arrive in Kuala Lumpur at around [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">The next destination after <a href="https://blog.henrypoon.com/blog/tag/chiang-mai/" target="_blank" rel="noreferrer noopener">Chiang Mai</a> was Kuala Lumpur in Malaysia.  We boarded the flight to KL early in the morning and our flight was scheduled to leave KL to Bali at night &#8211; this would give us a solid couple of hours for sightseeing.</p>



<figure class="wp-block-image"><a href="https://photos.google.com/share/AF1QipNwM60SG2xagO4rz_fip2pku3KxAzQbZwofhLRPJ9s2fpWZyeObeOZSf-x_aK5uKQ/photo/AF1QipNImyR1wKAQfPAaQDMNuoigOVrjRLeE1qdf3trm?key=ZWtuTVMyZVAyekg0QmtGR2pxMUpCY0I3SExadHBB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/W2eh-BFcYyPdWUVRPtXzxQzH_0rhenEGkGFxFZd2a32AXN5AwAx5wmKag-yLCbX8f71lXZUCNkrjUDlFGixGs5cD6YTtMMH1zIO9ILTr7LMwMC44Q80ckWLMNUAbbpONCAloS64lIIh7xiTFNhV5vO-3K_pkl8OUVn98oy2XDWJ_MCwCNqSDAItqF5ZO5SuFGtbDzeByovUnL1rxCr2oXzGaJGERjAD9RWFlvXZuolWNOxFfv8zG_xBRqk0S11mVejpW6D5mKLwRlMJwvXXFBcVnXLE_Tn59E7BSuGF4DDoREd3OmiYgh7A8vXrejoi02kkiu1JXraCIjotCVq_BTeimHBIfcAM7chUhFMfYpopHBi4W3-kVEUcPg5o3N9swq9HxQ0XFVKFJyPhTQ3UzT9aunKiiHjaQekOm0OgoWY6rIwo-7-YKdjiLQZFitvYFrP6tAoESSh7uZaN7sRixtJkTd_Vbwq_TXoBLQ_VpCI4xdNgrWHbkdH9bwZS7toS0fqWzQ9ufhnK-RfW1PttDyyLlT6R7NzRj1btnr9IfrXb5CkXA3cPmKUysmL-kliW5h2TukbcDKOC9cgONlqc16VZGmY8U1Nl593zm6HFUBRQyExlCiMDoKJcsc0mmx_mOgSL1_PAXmlUK2xqTR1_Psx9-ac3c0qeIXZ7JYYHcmMbZZJB9AZ0i7Jq9chn9fGG6KhHynN9tAq3tjfaypJvZ7klwXg=w1704-h959-no" alt=""/></a><figcaption>Apparently this is a restaurant.  How did that get that there?</figcaption></figure>



<p class="wp-block-paragraph">The flight was to arrive in Kuala Lumpur at around 13:00 and we would depart for Bali at 21:50.  Arriving at 13:00, we should have been able to arrive in the city via Grab between 14:30 &#8211; 15:00, but it took at least an hour at the immigration line so we didn&#8217;t get to the city until after 16:00.  This would leave us around 5 hours in Kuala Lumpur, which is not great, but not terrible.</p>



<p class="wp-block-paragraph">We had only eaten breakfast, so by this time, we were starving.  So we went to Lot 10.  Everything looks super good, but in actually only tasted okay.  I thought it&#8217;d be on par with my trip to <a href="https://blog.henrypoon.com/blog/2018/01/04/singapore/" target="_blank" rel="noreferrer noopener">Singapore</a>.</p>



<figure class="wp-block-image"><a href="https://photos.google.com/share/AF1QipNwM60SG2xagO4rz_fip2pku3KxAzQbZwofhLRPJ9s2fpWZyeObeOZSf-x_aK5uKQ/photo/AF1QipMXgP8M-2cK18a2Av-5WoVrN6IvwoOtKZj66VJW?key=ZWtuTVMyZVAyekg0QmtGR2pxMUpCY0I3SExadHBB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pfqnnJuuOD5V7y5jha2F20q72G_oi0HL_KYGrgNy6wx3PqrRJlm3Nc2mnKK8-Bipp7_XhuUixOcHv0dwP3UAhUMY37I6IIy0W2Aval-VlqfDhSKXdzb6ObwiyL3DLT6jPTQ8zVIeVS4ORK6Qt_iWzHlicjNX3ksJ9emCDOI97dA6_1HDb7_s3vbD4IGb1lGUmalcWrjOlDd8QulhgHvrOONG0wAYsOxRDfIrW6kIe5BBMugqEiSUyGeZPwgaVB5Yu0yF1iOq2CbFahOWKqfKGntdgwE0WSywvmgfBUmcAkfq8mEmybHPpUwZc759tDlZxbbGPGJZ0bHRE__SR4YDA8p_H2i4e0puzPUCR39cUgFIQNBZIFnbkaVm6c_JnNToWG7MHICIcPZtKDmPjqqcoWh3XSXu7d-GUoQEBnqgqaK5kmr4dzRnyEJsL0rh_VHwFX7Gja4u6f0AQw8MyzIh8P_PHlmWjQw5plHSxrvW--AIIxy7nrBmoDwp-Jv1plVRpqBX0tNQB1qgFehTHN9UbnNJNNbrzx-JC7Q_3MICjWWKhpOB9GBYkq-G5a8NhGPTb0y2XFuHEY3tlKHdp-RVXSNMSQLRRYvSQrFkgww9lSIlLttW5VLjM7Pr7OnTfFKqhqhv2BoUd-FzV0pbE0NvN2aOao7oyiLEtCW8VQCNc8opKm1MYVX1_k3SW9Zgcx81treLTcQcZ-5nThTSeBMwcm4IqA=w1704-h959-no" alt=""/></a><figcaption>Clockwise from top left: fish head noodle soup, egg custard buns, spicy noodle soup with fish, fish cake, meatballs, etc., hainan chicken rice with cha siu</figcaption></figure>



<p class="wp-block-paragraph">Next, we visited a nearby street market.  The market reminded me a lot of Singapore &#8211; similar food options (bak kut teh, chili crab, stingray, etc.), which makes sense since Singapore used to be a part of Malaysia.  </p>



<figure class="wp-block-image"><a href="https://photos.google.com/share/AF1QipNwM60SG2xagO4rz_fip2pku3KxAzQbZwofhLRPJ9s2fpWZyeObeOZSf-x_aK5uKQ/photo/AF1QipOt6tZdMlurqBWEbNk64N4Zai-uxmYjEGiu5Ias?key=ZWtuTVMyZVAyekg0QmtGR2pxMUpCY0I3SExadHBB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/8M1QwkiGLqD7E4Dyum_ADRCv1N-Vs48U44mD5rEL8vyZkFG_1X8qEfOFbgdcLQdd1gr1alIfBA0Xa4TjsNTyXO27KHCHRQe-lVLQao9XO-YuzJRGfIoJgZ8uOvAr_c0lnJi2YiLybZEKJt-ueduQYOyfcD_NKb9qQtBgH0InmvweWP-j2rBchJmQE99vLw5lHgHYuYmAQ9GUmvy4t4yhti2THKFKHH0A89itMxD6DojAZBgOEZpu0evkzSAQev3eTF8tEXgt-1XVwx2ELDddTqVtf9Q6OWKIs7MgsnyY2KvLSSGKS3V8mkw0uUTtUpwO5PAPiRv-O1DdeZn8zC-KbglSv6vyT9q3RGTiS_89XzfndpRgci3kpOOnZStmoqJ-E-_U2rzEgdf8ouSnWgPAEnvRoy_s3nWvuaIt5JhYkGPI7jZw-_Qkc9AGJOk9Ogzf5c7p0OzygDuXUv_5abT9QB-J0WKk8VJj8MizTxYj8G7xQ3Eq4YIi4Qy7uZFcNDLObb0ZBIoChx4neIF8Uih4spZxbbl1ARuj0wYiwH039wVxnoXY9d9ogt4G-HI41Zi0P371eAieQsl5_uQhECkXgyuuWwPHosUT5Hr3uDjXu-5SLet9-AJfCuXOiGe2fR4NEXah-b-OTV5VEWDejL5GYWxv7pQgZJ05kKxQ3aErqzofcxqXTASJl7e_CQboRONhy85iQq0iDk3gEpCI40pddy2daQ=w1704-h959-no" alt=""/></a></figure>



<p class="wp-block-paragraph">Our next destination was the iconic Petronas Twin Towers, but all of a sudden out of nowhere, it started pouring with thunder and lightning.  At first the thunder was a few kilometers away judging but how long it took to hear the sound, but not long after it was right on top of us.</p>



<figure class="wp-block-image"><a href="https://photos.google.com/share/AF1QipNwM60SG2xagO4rz_fip2pku3KxAzQbZwofhLRPJ9s2fpWZyeObeOZSf-x_aK5uKQ/photo/AF1QipOxunaA7H0QEDKLA3ioDouI-mnJCkATUvX6jip-?key=ZWtuTVMyZVAyekg0QmtGR2pxMUpCY0I3SExadHBB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/bh_L7HprIpqUoaWUd08OuKacUeP4dIp4j_8MlHZwCvwGMWLeV-MRUOQNyJ8KM7cIkerQX9XUXWkFmd_ULQiMS6ZYXTbBpf1mUie5uo3wAs6aEjknquw2e3LFGI-QbVoLAIhg65EGYkeWmVYIMRnvMjM_iJqrPxu8i7TJUXqpZtSmtdRCRWz1XZqYj5vvwBTQcY-i3JS9ZK1xKFtt4Jm1JpecyPpBu9jg-NTKwESdA6PFZAME-lDxGexYmQ5SZYzEAhD4pjZX2rckXWQNsDP-jc29FjhUIWVtyOXqio8crOYRZmIu5LW2Kvrxn8CyWndquhbK8nb53mYqceNNbvQdjNAx6ag1lvJ4_PiefTfrKtZagJ2FP-pqWyCE1MTmjIpzyECm2OHBKTHMaiIE50-tMA7dMM7auafCPtz-A1lQren423QvuDJ-vXDUBJiI62iHpst89JVVdCD0rQVsIHGQ5YfHyO7mZb3-L-ysf760EYtKtFd70qFGMStbZR7bR1fTjBHqC44nXioQA3pIcNOQMLLA_CaI6VLxmsx7FTLOqYyzk4WsZRoyvW-ecsB-XPN_j-WsP5qMaPQ6pz7S7CLF2I8A5J_1d1VrbUmLycOATkFFTb2r2AArG2umWVRA7nW7Xi1Cni6ozUzgJP20Ig1hPbTOsz0bkJ_K8S9vf4ePjN3feKaDuSASUHTsCEZPIrs12HDCzweCv8dfwFdpYiXbSM0ReA=w1704-h959-no" alt=""/></a><figcaption>Just a little bit of rain, nothing to worry about</figcaption></figure>



<p class="wp-block-paragraph">We got on a Grab to head over there, but the sudden rainstorm brought traffic to a complete stop and it was barely moving.  After being in the car for 30 mins and having gone less than a kilometer, the driver advised that we head to the airport directly as there wouldn&#8217;t be enough time to hit up the twin towers and make our flight.  We reluctantly agreed.</p>



<p class="wp-block-paragraph">During the car ride, I chatted with the driver about living in Kuala Lumpur.  The driver was Cantonese in enthnicity but was born and raised in Kuala Lumpur, which I didn&#8217;t expect at all.  I had forgotten about how stuck we were in traffic while chatting with the driver (at one point the driver took a bathroom break and left the keys in the ignition).  </p>



<p class="wp-block-paragraph">Eventually, I looked on Google Maps, and saw there was no way we&#8217;d make it to the airport by car.  We decided to get dropped off at the metro station in the pouring rain and we&#8217;d take public transit the rest of the way.  Check it out in Mike&#8217;s video (the raining part starts at ~5:10).</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="ONLY 5 hours in Kuala Lumpur" width="1280" height="720" src="https://www.youtube.com/embed/mgACH-oGnRY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">That was pretty much our trip to Kuala Lumpur.  After a big delay at the airport and the freak rainstorm, we really only had 3 hours in the city to do stuff, which was too bad.  See the rest of the photos <a href="https://photos.google.com/share/AF1QipNwM60SG2xagO4rz_fip2pku3KxAzQbZwofhLRPJ9s2fpWZyeObeOZSf-x_aK5uKQ?key=ZWtuTVMyZVAyekg0QmtGR2pxMUpCY0I3SExadHBB" target="_blank" rel="noreferrer noopener" aria-label="here (opens in a new tab)">here</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2019/06/07/a-brief-layover-in-kuala-lumpur/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3489</post-id>	</item>
		<item>
		<title>Running Selenium Webdriver on Bash for Windows</title>
		<link>https://blog.henrypoon.com/blog/2017/06/18/running-selenium-webdriver-on-bash-for-windows/</link>
					<comments>https://blog.henrypoon.com/blog/2017/06/18/running-selenium-webdriver-on-bash-for-windows/#comments</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Sun, 18 Jun 2017 20:02:23 +0000</pubDate>
				<category><![CDATA[computer stuff]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[APT]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Drive]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Free software]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Graphical user interface testing]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[lamb]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[Net]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Run]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Sleep]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[USR]]></category>
		<category><![CDATA[Variable]]></category>
		<category><![CDATA[Vol]]></category>
		<category><![CDATA[Web browsers]]></category>
		<category><![CDATA[Web development software]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Xming]]></category>
		<guid isPermaLink="false">https://blog.henrypoon.com/?p=2711</guid>

					<description><![CDATA[NOTE: This article is for WSL1, for WSL2, see this post Bash for Windows has been working pretty great for me until I needed to run Selenium Webdriver on it. I quickly learned that it wouldn&#8217;t work just work right out of the box, and the set up for it is quite convoluted. You will [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">NOTE: This article is for WSL1, for WSL2, see <a href="https://blog.henrypoon.com/blog/2020/09/27/running-selenium-webdriver-on-wsl2/" target="_blank" rel="noreferrer noopener">this post</a></p>



<p class="wp-block-paragraph">Bash for Windows has been working pretty great for me until I needed to run Selenium Webdriver on it. I quickly learned that it wouldn&#8217;t work just work right out of the box, and the set up for it is quite convoluted.</p>



<p class="wp-block-paragraph">You will need</p>



<ul class="wp-block-list"><li><a rel="noreferrer noopener" href="https://msdn.microsoft.com/en-us/commandline/wsl/install_guide" target="_blank">Bash for Windows</a></li><li><a rel="noreferrer noopener" href="https://sourceforge.net/projects/xming/" target="_blank">Xming</a> &#8211; This will actually allow the Window to appear on the screen</li><li><a rel="noreferrer noopener" href="https://github.com/mozilla/geckodriver/releases" target="_blank">geckodriver</a> &#8211; Selenium now needs this to run Firefox</li></ul>



<h2 class="wp-block-heading">Bash setup</h2>



<p class="wp-block-paragraph">Install Firefox:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sudo apt-get install firefox</code></pre>



<p class="wp-block-paragraph">Export DISPLAY variable in ~/.bashrc. Just add this to the ~/.bashrc:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">export DISPLAY=:0</code></pre>



<h2 class="wp-block-heading">Xming setup</h2>



<p class="wp-block-paragraph">Just download it from the link above and run it.</p>



<h2 class="wp-block-heading">Download geckodriver</h2>



<p class="wp-block-paragraph">Download geckodriver from the link above and put in the /usr/bin/ folder in Bash for Windows.</p>



<h2 class="wp-block-heading">Running Selenium</h2>



<p class="wp-block-paragraph">Here is a piece of sample Python code I used to setup the web browser. It will setup the browser, open Google, sit there for 10 seconds and then quit.&nbsp; Make sure to have Xming running otherwise the browser isn&#8217;t going to start.</p>



<pre class="wp-block-code"><code lang="python" class="language-python">import time

from selenium import webdriver
from selenium.webdriver import DesiredCapabilities

def execute_with_retry(method, max_attempts):
    e = None
    for i in range(0, max_attempts):
        try:
            return method()
        except Exception as e:
            print(e)
            time.sleep(1)
    if e is not None:
        raise e

capabilities = DesiredCapabilities.FIREFOX
capabilities["marionette"] = True
firefox_bin = "/usr/bin/firefox"
browser = execute_with_retry(lambda: webdriver.Firefox(
    firefox_binary=firefox_bin, capabilities=capabilities), 10)

browser.get("https://www.google.com")

time.sleep(10)

browser.close()</code></pre>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2017/06/18/running-selenium-webdriver-on-bash-for-windows/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2711</post-id>	</item>
		<item>
		<title>Jenkins pipeline for Spring with beta and prod stages and deployment rollback</title>
		<link>https://blog.henrypoon.com/blog/2017/03/09/jenkins-pipeline-for-spring-with-beta-and-prod-stages-and-deployment-rollback/</link>
					<comments>https://blog.henrypoon.com/blog/2017/03/09/jenkins-pipeline-for-spring-with-beta-and-prod-stages-and-deployment-rollback/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Thu, 09 Mar 2017 08:04:51 +0000</pubDate>
				<category><![CDATA[computer stuff]]></category>
		<category><![CDATA[9]]></category>
		<category><![CDATA[Apache Ant]]></category>
		<category><![CDATA[Apache Maven]]></category>
		<category><![CDATA[Build automation]]></category>
		<category><![CDATA[Chan]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Compiling tools]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Const]]></category>
		<category><![CDATA[Continuous integration]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Digital technology]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[Hole]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java enterprise platform]]></category>
		<category><![CDATA[Jenkins]]></category>
		<category><![CDATA[Levant]]></category>
		<category><![CDATA[Password]]></category>
		<category><![CDATA[PATH]]></category>
		<category><![CDATA[Plug]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[Rolling]]></category>
		<category><![CDATA[Run]]></category>
		<category><![CDATA[Scripting languages]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[Variable]]></category>
		<category><![CDATA[Z]]></category>
		<category><![CDATA[Zip]]></category>
		<guid isPermaLink="false">https://blog.henrypoon.com/?p=2614</guid>

					<description><![CDATA[In the past couple of days, I&#8217;ve been experimenting a bit with the Jenkins pipeline plugin to create a code deployment pipeline with independent beta and prod stages for a Spring Boot app. I even managed to add rolling back a deployment in case a prod deployment fails! It took me a bit of time [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In the past couple of days, I&#8217;ve been experimenting a bit with the <a href="https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin" target="_blank" rel="noopener">Jenkins pipeline plugin</a> to create a code deployment pipeline with independent beta and prod stages for a Spring Boot app. I even managed to add rolling back a deployment in case a prod deployment fails! It took me a bit of time to Google my way through how to do everything, so I figure I just lay it all out here in case it helps other people do the same thing.</p>



<p class="wp-block-paragraph">The nice thing about all of this is that I can push a code change to git, and Jenkins can build it, run through all the tests and then deploy to production automatically.</p>



<h1 class="wp-block-heading">Layout of a pipeline script</h1>



<p class="wp-block-paragraph">Pipeline scripts are written in <a rel="noopener" href="http://www.groovy-lang.org/" target="_blank">Groovy</a>, which is a variant of Java. In general, a pipeline script is laid out like this:</p>



<pre class="wp-block-code"><code lang="python" class="language-python">node {
    def SOME_CONSTANT = "whatever"
    ...

    stage('some stage name like Build') {
        // Stuff to do as a part of this stage
    }

    stage('another stage') {
        // More stuff
    }

    ...
}</code></pre>



<p class="wp-block-paragraph">Each stage represents a stage in the pipeline (e.g. building, beta deployment, prod deployment etc.)</p>



<h1 class="wp-block-heading">Defining some constants</h1>



<p class="wp-block-paragraph">First, a list of constants can be defined that can be used throughout the pipeline so that if the pipeline script gets reused somewhere, only these constants have to be changed. I&#8217;m not aware of anything that lets me reuse a pipeline in Jenkins without copying and pasting the code somewhere else so for now I&#8217;ll have to live with copying and pasting.</p>



<p class="wp-block-paragraph">My project uses Maven so I got Jenkins to download its own copy of Maven that it can use to execute builds and have defined it as a constant. The name I&#8217;ve given it in the Jenkins Global Tool Configuration is &#8220;Maven 3.3.9&#8221; exactly. My project also uses Tomcat so there are some Tomcat specific things in there that may or may not be relevant to your use case.</p>



<pre class="wp-block-code"><code lang="python" class="language-python">def MAVEN_HOME = tool 'Maven 3.3.9'
    def WORKSPACE = pwd()

    def PROJECT_NAME = "name-of-project"
    def WAR_PATH_RELATIVE = "App/target/${PROJECT_NAME}.war"
    def WAR_PATH_FULL = "${WORKSPACE}/${WAR_PATH_RELATIVE}"
    def TOMCAT_CTX_PATH_BETA = "Tomcat-context-path-for-the-beta-stage"
    def TOMCAT_CTX_PATH_PROD = "Tomcat-context-path-for-the-prod-stage"
    def GIT_REPO_URL = "URL-to-git-repo-ending-in-.git"</code></pre>



<h1 class="wp-block-heading">Preparation Stage</h1>



<p class="wp-block-paragraph">First, the code has to be retrieved from the repository before it gets built. Jenkins allows storing username/password pairs so that they can be referenced without having to write out the password in plaintext. Jenkins uses a &#8220;credential ID&#8221; for this.</p>



<pre class="wp-block-code"><code lang="python" class="language-python">    stage('Preparation') {
        git branch: "master",
        credentialsId: "credentials-ID-stored-in-Jenkins-that-can-access-the-git-repo",
        url: "${GIT_REPO_URL}"
    }</code></pre>



<h1 class="wp-block-heading">Build Stage</h1>



<p class="wp-block-paragraph">Next, the code must be built and unit tested. &#8220;mvn clean install&#8221; will do just that (depending on what you want, you can always put in a different maven goal). The junit command is just there to take the resulting XML that gets generated during the build process and posts a graph of how many tests were run for each build.</p>



<pre class="wp-block-code"><code lang="python" class="language-python">    stage('Build') {
        sh "'${MAVEN_HOME}/bin/mvn' clean install"
        junit '**/target/surefire-reports/TEST-*.xml'
    }
</code></pre>



<h1 class="wp-block-heading">Beta Stage</h1>



<p class="wp-block-paragraph">Once the build succeeds, you&#8217;ll want to deploy it to a beta environment, so integration tests can happen. The following happens at this stage:</p>



<ol class="wp-block-list"><li>Get the right credentials to get permissions to Tomcat</li><li>Call the deploy method to deploy the war file in Tomcat (more on that later)</li><li>If the deployment fails for whatever reason, print out the deployment log for debugging and fail the build</li><li>If the deployment succeeds, run the integration tests (the command to do this may differ based on use case)</li></ol>



<pre class="wp-block-code"><code lang="python" class="language-python">    stage('Beta') {
        withCredentials([[$class: 'UsernamePasswordMultiBinding',
            credentialsId: 'credential-id-for-tomcat',
            usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
                // Password is available as an env variable, but will be masked 
                // if you try to print it out any which way
                def output = deploy(WAR_PATH_FULL, TOMCAT_CTX_PATH_BETA,
                        env.USERNAME, env.PASSWORD)
                if (output.contains("FAIL - Deployed application at context path " + 
                        "/${TOMCAT_CTX_PATH_BETA} but context failed to start")) {
                    echo "----- Beta deployment log -----"
                    echo output
                    echo "-------------------------------"
                    currentBuild.result = 'FAILURE'
                    error "Beta stage deployment failure"
                }
            }

        echo "Running integration tests"
        sh "'${MAVEN_HOME}/bin/mvn' -Dtest=*IT test"
        junit '**/target/surefire-reports/TEST-*.xml'
    }</code></pre>



<p class="wp-block-paragraph">The deploy method is what takes care of the actual deployment to Tomcat, which is how the Jenkins build tells Tomcat about the newly built war file. The deploy method is below (be sure to change the server IP and port). Alternatively, I could have built my project as an embedded jar file, but that has a different challenge in figuring out how to get Jenkins to tell the OS to execute the newly built jar file as a particular user.</p>



<ol class="wp-block-list"><li>Based on the Tomcat context path, decide whether a beta or production deployment is happening</li><li>Make a copy of the build war file and add .prod or .beta to the end of it so as to keep the original</li><li>Set the Spring profile to use on the newly copied war file (more on that later)</li><li>Call the curl command to do the actual deployment to Tomcat (more on that later)</li></ol>



<pre class="wp-block-code"><code lang="python" class="language-python">def deploy(warPathFull, tomcatCtxPath, username, password) {
    def envSuffix = ""
    def isBeta = tomcatCtxPath.contains("beta")
    if (isBeta) {
        envSuffix = "beta"
    } else {
        envSuffix = "prod"
    }
    sh script: "cp ${warPathFull} ${warPathFull}.${envSuffix}" 
    setSpringProfile(warPathFull, isBeta)
    def output = sh script: "curl --upload-file '${warPathFull}.${envSuffix}' " +
            "'http://${username}:${password}@localhost:8081/manager/text/deploy" + 
            "?path=/${tomcatCtxPath}&amp;update=true'", returnStdout: true
    return output
}</code></pre>



<p class="wp-block-paragraph">In the case of my project, I&#8217;m building a single war file that does not have a Spring profile (beta/prod) defined. This means that I have to manually define this before I deploy the app to Tomcat since there are some things that differ between beta and prod like database URL&#8217;s. To do this, I wrote a method that opens the war file like a zip (jar/war files are zip files) and adds a line to my application.properties to define a Spring profile.</p>



<p class="wp-block-paragraph">Admittedly, doing this zip file manipulation seems kind of hacky. Alternatively, I could have defined my build such that I had a separate beta build and a prod build to avoid modifying the zip file, but the drawback is that I&#8217;d then have to build my code twice.</p>



<pre class="wp-block-code"><code lang="python" class="language-python">def setSpringProfile(warPathFull, isBeta) {
    def zipFileFullPath = warPathFull + "." + (isBeta ? "beta" : "prod")
    def zipIn = new File(zipFileFullPath)
    def zip = new ZipFile(zipIn)
    def zipTemp = File.createTempFile("temp_${System.nanoTime()}", 'zip')
    zipTemp.deleteOnExit()
    def zos = new ZipOutputStream(new FileOutputStream(zipTemp))
    def toModify = "WEB-INF/classes/application.properties"

    for(e in zip.entries()) {
        if(!e.name.equalsIgnoreCase(toModify)) {
            zos.putNextEntry(e)
            zos &lt;&lt; zip.getInputStream(e).bytes
        } else {
            zos.putNextEntry(new ZipEntry(toModify))
            zos &lt;&lt; zip.getInputStream(e).bytes
            zos &lt;&lt; ("\nspring.profiles.active=" + (isBeta ? "beta" : "prod")).bytes
        }
        zos.closeEntry()
    }

    zos.close()
    zipIn.delete()
    zipTemp.renameTo(zipIn)
}</code></pre>



<p class="wp-block-paragraph">A curl command to Tomcat is what actually does the deployment. To deploy a file to Tomcat, do the following below. This will deploy the war file to Tomcat and instantly run it, thus it will be accessible at the given context path.</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">curl --upload-file 'path-to-war-file' http://username:password@server-address:port/manager/text/deploy?path=/tomcat-context-path&amp;update=true</code></pre>



<h1 class="wp-block-heading">Prod Stage</h1>



<p class="wp-block-paragraph">The same kind of stuff happens in the prod stage as in the beta stage with a few exceptions. The following happens at this stage:</p>



<ol class="wp-block-list"><li>Get the right credentials to get permissions to Tomcat</li><li>Call the deploy method to deploy the war file in Tomcat (except this time it is prod)</li><li>If the deployment fails for whatever reason, print out the deployment log for debugging and roll back the deployment</li><li>If the deployment succeeds, save the build files, and then the pipeline is finished. Alternatively, smoke tests can be run at this point, but I did not implement this in my project</li></ol>



<p class="wp-block-paragraph">Rollback is important because if the deployment fails, you don&#8217;t want to be stuck with a broken environment. Since build artifacts are saved on successful deployments, these same artifacts can be brought back if future deployments fail. This means they can be redeployed so that the code can be fixed before another deployment happens.</p>



<pre class="wp-block-code"><code lang="python" class="language-python">    stage('Prod') {
        withCredentials([[$class: 'UsernamePasswordMultiBinding',
            credentialsId: 'credential-id-for-tomcat',
            usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) {
                // Password is available as an env variable, but will be masked 
                // if you try to print it out any which way
                def output = deploy(WAR_PATH_FULL, TOMCAT_CTX_PATH_PROD, env.USERNAME, env.PASSWORD)
                if (output.contains("FAIL - Deployed application at context path " + 
                        "/${TOMCAT_CTX_PATH_PROD} but context failed to start")) {
                    echo "Prod stage deployment failure, rolling back deployment"
                    echo "----- Prod deployment log -----"
                    echo output
                    echo "-------------------------------"
                    step([$class: 'CopyArtifact',
                            filter: "${WAR_PATH_RELATIVE}",
                            fingerprintArtifacts: true,
                            projectName: "${PROJECT_NAME}",
                            target: "${WAR_PATH_RELATIVE}.rollback"])
                    deploy(WAR_PATH_FULL + ".rollback/" + WAR_PATH_RELATIVE,
                            TOMCAT_CTX_PATH_PROD, env.USERNAME, env.PASSWORD)
                    currentBuild.result = 'FAILURE'
                    error "Prod deployment rolled back"
                } else {
                    archiveArtifacts artifacts: "${WAR_PATH_RELATIVE}*", fingerprint: true
                }
            }
    }
</code></pre>



<p class="wp-block-paragraph">At the end you get to have something like this:</p>


<div class="wp-block-image">
<figure class="aligncenter"><img data-recalc-dims="1" decoding="async" width="600" height="882" src="https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2017/03/JenkinsPipeline.png?resize=600%2C882&#038;ssl=1" alt="" class="wp-image-2638"/></figure>
</div>


<p class="wp-block-paragraph">That pretty much sums up the whole Jenkins pipeline that I&#8217;ve been using lately for Spring projects!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2017/03/09/jenkins-pipeline-for-spring-with-beta-and-prod-stages-and-deployment-rollback/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2614</post-id>	</item>
		<item>
		<title>Kiev</title>
		<link>https://blog.henrypoon.com/blog/2013/07/14/kiev/</link>
					<comments>https://blog.henrypoon.com/blog/2013/07/14/kiev/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Mon, 15 Jul 2013 01:52:10 +0000</pubDate>
				<category><![CDATA[europe]]></category>
		<category><![CDATA[AK-47]]></category>
		<category><![CDATA[Albums]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[AWK]]></category>
		<category><![CDATA[beer]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Chernobyl]]></category>
		<category><![CDATA[Chinese people]]></category>
		<category><![CDATA[Cities in Europe]]></category>
		<category><![CDATA[coffee]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Credit card]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Dia]]></category>
		<category><![CDATA[Dream]]></category>
		<category><![CDATA[Drive]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Exercise]]></category>
		<category><![CDATA[food]]></category>
		<category><![CDATA[Frankfurt]]></category>
		<category><![CDATA[German]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Greece]]></category>
		<category><![CDATA[Gun]]></category>
		<category><![CDATA[Hole]]></category>
		<category><![CDATA[Hong Kong]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Japan]]></category>
		<category><![CDATA[Japanese food]]></category>
		<category><![CDATA[Kiev]]></category>
		<category><![CDATA[Kyiv]]></category>
		<category><![CDATA[Kyiv Oblast]]></category>
		<category><![CDATA[Lag]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Light]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[Matt]]></category>
		<category><![CDATA[Oblasts of Ukraine]]></category>
		<category><![CDATA[Pho]]></category>
		<category><![CDATA[Physics]]></category>
		<category><![CDATA[Plan]]></category>
		<category><![CDATA[Populated places in Ukraine]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[rain]]></category>
		<category><![CDATA[Safe]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Sleep]]></category>
		<category><![CDATA[soup]]></category>
		<category><![CDATA[Sports]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[The Go]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[Transport]]></category>
		<category><![CDATA[transportation]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Travel and Tourism]]></category>
		<category><![CDATA[Ukraine]]></category>
		<category><![CDATA[UNC]]></category>
		<category><![CDATA[Unification]]></category>
		<category><![CDATA[Vancouver]]></category>
		<category><![CDATA[When We]]></category>
		<category><![CDATA[Writing]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">http://henrypoon.mooo.com/blog/kiev</guid>

					<description><![CDATA[Worst Flight Ever At Frankfurt Airport, when Edward and I lined up to check in, we were the only two Chinese people in line.  We seemed very out of place.  Some of the people gave us these stares that seemed to ask &#8220;why are you flying to Kiev?&#8221; We wanted to visit Chernobyl and shoot [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">Worst Flight Ever</h1>



<p class="wp-block-paragraph">At Frankfurt Airport, when Edward and I lined up to check in, we were the only two Chinese people in line.  We seemed very out of place.  Some of the people gave us these stares that seemed to ask &#8220;why are you flying to Kiev?&#8221; We wanted to visit <a href="http://henrypoon.wordpress.com/2013/07/17/chernobyl-nuclear-plant-and-pripyat/" target="_blank" rel="noreferrer noopener">Chernobyl </a>and <a href="http://henrypoon.wordpress.com/2013/07/19/ak-47-shooting-tour/" target="_blank" rel="noreferrer noopener">shoot AK-47&#8217;s</a>.</p>



<p class="wp-block-paragraph">Our experience on the plane was dreadful. &nbsp;Four crying babies/toddlers plus jet lag plus one hour delay was not a good combination. No sleep for me I guess. &nbsp;Worst flight ever.</p>



<h1 class="wp-block-heading">Awkward Car Ride</h1>



<p class="wp-block-paragraph">The hostel arranged transportation for us and so when we arrived, I looked for someone holding a sign with my name on it (first time ever!). &nbsp;The driver was not happy at how we were late (not that we could do anything about it).</p>



<p class="wp-block-paragraph">Probably since he was late, he drove like a maniac. &nbsp;He drove way faster than the posted limits and passed every car on the highway. &nbsp;The expected 45 min ride was reduced to almost 20 minutes. &nbsp;The driver didn&#8217;t speak English. &nbsp;No one said a word during the entire ride. &nbsp;Awkward.</p>



<p class="wp-block-paragraph">I had read before that people sometimes get driven to random places by taxi drivers before they get mugged. &nbsp;By getting the hostel transportation, we minimized that risk. &nbsp;Despite that, I was at peak alertness the whole time, making sure he was going the right general direction (I vaguely remembered the directions from the airport to the hostel).</p>



<h1 class="wp-block-heading">Dream House Hostel</h1>



<p class="wp-block-paragraph">This is by far one of the hostels I&#8217;ve ever stayed at. &nbsp;The staff were extremely helpful. &nbsp;We asked them like a thousand questions and they happily answered them every time. &nbsp;They treated security very seriously. &nbsp;Kiev might not be safe, but I felt safe leaving my passport and cash in the locker in the room.</p>



<h1 class="wp-block-heading">Security Measures</h1>



<p class="wp-block-paragraph">During our trip planning, we had read about the potential dangers in going to Kiev from the Canadian travel report about Ukraine.</p>



<p class="wp-block-paragraph">The report tells travelers to &#8220;exercise a high degree of caution&#8221;. &nbsp;It warns of dangers such as pickpockets, passport scams, armed robbery, racially motivated violence, muggings, etc.</p>



<p class="wp-block-paragraph">Seeing how the hostel&#8217;s security was pretty good, we left our valuables in the room. &nbsp;We each carried a decoy wallet with nothing in it except a scan of our passports and the cash we needed for the day. &nbsp;No credit cards, no real ID, no cards at all.</p>



<p class="wp-block-paragraph">If anybody steals a wallet, no big. &nbsp;Better to lose $30 than all our money. &nbsp;Nobody can scam us for our passports if we aren&#8217;t carrying it. &nbsp;I didn&#8217;t even put on a hidden money belt. &nbsp;The less I brought the better. &nbsp;We felt pretty prepared, and luckily nothing happened.</p>



<h1 class="wp-block-heading">Language</h1>



<p class="wp-block-paragraph">People in Kiev generally speak Ukranian or Russian. &nbsp;I know neither. &nbsp;I also don&#8217;t know the <a class="zem_slink" title="Cyrillic script" href="http://en.wikipedia.org/wiki/Cyrillic_script" target="_blank" rel="wikipedia noopener noreferrer">Cryllic</a> writing system. &nbsp;Even if I wanted to ask in English how to get somewhere, I can&#8217;t even pronounce the name of the place. &nbsp;When I went to Greece, I could at least pick out the greek alphabet (side effect of studying math and physics), but in Kiev, I can&#8217;t even read anything. &nbsp;Too bad.</p>



<h1 class="wp-block-heading">Food</h1>



<p class="wp-block-paragraph">The first night we arrived in Kiev, we had no idea what kind of food was around here. &nbsp;We couldn&#8217;t even read the menus anyway. &nbsp;Picking a restaurant was a matter of randomly walking into a restaurant. &nbsp;To our surprise, our random pick turned out to be Japanese food. &nbsp;Interesting. &nbsp;No pictures needed. &nbsp;Vancouver has an abundance of Japanese restaurants. &nbsp;Beer is worth taking a picture of though. &nbsp;I can&#8217;t even read the label.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://picasaweb.google.com/117972094293741244551/Kiev#5897613982588168242" target="_blank" rel="noopener noreferrer"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh3.googleusercontent.com/-FeJbYJ25C6M/UdiIq5aLaDI/AAAAAAAAOmw/0EosyOsxQO4/s720/IMG_8754.JPG?w=1280&#038;ssl=1" alt=""/></a></figure>
</div>


<p class="has-text-align-center wp-block-paragraph"></p>



<p class="wp-block-paragraph">One of the hostel staff had recommended to us the Golden Dukat Coffee House. &nbsp;I wish I took more pictures here, but I found <a href="http://thisamericanadventuress.wordpress.com/2012/09/04/where-to-have-coffee-in-kiev/" target="_blank" rel="noopener noreferrer">someone else&#8217;s travel blog</a> with good pictures of it! &nbsp;Good coffee, good dessert. &nbsp;And they have an English menu!</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://picasaweb.google.com/117972094293741244551/KievEdwardSPhotos#5897902466854273954" target="_blank" rel="noopener noreferrer"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh4.googleusercontent.com/-jTPE2ZQn8og/UdmPC5C_w6I/AAAAAAAAQoY/DDeSCFL-hqg/s576/DSC_0161.JPG?w=1280&#038;ssl=1" alt=""/></a></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter"><a href="https://picasaweb.google.com/117972094293741244551/KievEdwardSPhotos#5897902478306191282" target="_blank" rel="noopener noreferrer"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh6.googleusercontent.com/-JjklHGtYfa0/UdmPDjtWJ7I/AAAAAAAAQoo/CGlI3a9u1cY/s576/DSC_0163.JPG?w=1280&#038;ssl=1" alt=""/></a></figure>
</div>


<p class="has-text-align-center wp-block-paragraph"> </p>



<p class="wp-block-paragraph">We were told that Borscht is one of the traditional soups in Ukraine. &nbsp;When I tried it, its taste was so familiar and I had to think about where I had tried it before. &nbsp;It tasted a lot like the vegetable soup that people can get at Hong Kong style cafes (羅宋湯). &nbsp;I Googled it later, and apparently the Hong Kong recipe (while a little bit different) is a derivative of it. &nbsp;What a coincidence.</p>



<h1 class="wp-block-heading">Independence Square</h1>



<p class="wp-block-paragraph">By far the largest city square I have been to. &nbsp;For me this was the place to see in Kiev. &nbsp;The pictures here don&#8217;t do justice to how epic it was.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://picasaweb.google.com/117972094293741244551/Kiev#5897614152092269650" target="_blank" rel="noopener noreferrer"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh6.googleusercontent.com/-jHLzwooFN3I/UdiI0w3GvFI/AAAAAAAAOnI/krD13rSK56k/s576/IMG_8854.JPG?w=1280&#038;ssl=1" alt=""/></a></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter"><a href="https://picasaweb.google.com/117972094293741244551/Kiev#5897649071492378098" target="_blank" rel="noopener noreferrer"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh5.googleusercontent.com/-z2KulQY8zQM/UdiolVw3LfI/AAAAAAAAOwY/cuqGM7W9DxQ/s576/IMG_8887.JPG?w=1280&#038;ssl=1" alt=""/></a></figure>
</div>


<p class="has-text-align-center wp-block-paragraph"> </p>



<p class="wp-block-paragraph">At the square, there would always be these people carrying pigeons around. &nbsp;They kept coming up to me with me and I had no idea what they wanted. &nbsp;Later I found out that apparently they&#8217;re trying to get tourists to take a picture with them holding a bird. &nbsp;Not sure why that&#8217;s cool but okay.</p>



<p class="wp-block-paragraph">There were also people dressed up like Mickey Mouse or Shrek trying to get little kids to take pictures with them for money. &nbsp;They did this even when the temperature was above 30 degrees Celsius.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://picasaweb.google.com/117972094293741244551/KievEdwardSPhotos#5897902952092681922" target="_blank" rel="noopener noreferrer"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh4.googleusercontent.com/-HTlWfV4XIXo/UdmPfIs2RsI/AAAAAAAAQuY/3gKskPdY2Mo/s576/DSC_0210.JPG?w=1280&#038;ssl=1" alt=""/></a></figure>
</div>


<p class="has-text-align-center wp-block-paragraph"></p>



<h1 class="wp-block-heading">St. Andrew&#8217;s Church</h1>



<p class="wp-block-paragraph">Nearby our hostel, there was a nice church. &nbsp;It&#8217;s architecture was quite different from anything I&#8217;d seen before.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://picasaweb.google.com/117972094293741244551/Kiev#5897614490279945282" target="_blank" rel="noopener noreferrer"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh3.googleusercontent.com/-gpaJQKtAuks/UdiJIctVJEI/AAAAAAAAOoE/aoZblVMrjEc/s720/IMG_8861.JPG?w=1280&#038;ssl=1" alt=""/></a></figure>
</div>


<p class="has-text-align-center wp-block-paragraph"></p>



<h1 class="wp-block-heading">Friendship Arch</h1>



<p class="wp-block-paragraph">This arch was built to commemorate the unification of Ukraine and Russia when Ukraine was still part of the Soviet Union.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://picasaweb.google.com/117972094293741244551/Kiev#5897650155375920498" target="_blank" rel="noopener noreferrer"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh3.googleusercontent.com/-jXgknNgby-w/Udipkbi1hXI/AAAAAAAAO1E/Z_zb78Q1mkE/s576/IMG_8903.JPG?w=1280&#038;ssl=1" alt=""/></a></figure>
</div>


<p class="has-text-align-center wp-block-paragraph"></p>



<h1 class="wp-block-heading">Street Market</h1>



<p class="wp-block-paragraph">On the way from our hostel to Independence Square, we walked along a long stretch of road with many street vendors selling souvenirs, trinkets and other random stuff. &nbsp;People there even sold gas masks, replica German WWII medals, and fake guns.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://picasaweb.google.com/117972094293741244551/Kiev#5897648467439009682" target="_blank" rel="noopener noreferrer"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh5.googleusercontent.com/-rSiGoWK64Lg/UdioCLfUP5I/AAAAAAAAOt4/phpLiN_JntI/s576/IMG_8871.JPG?w=1280&#038;ssl=1" alt=""/></a></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter"><a href="https://picasaweb.google.com/117972094293741244551/Kiev#5897648531914129474" target="_blank" rel="noopener noreferrer"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh4.googleusercontent.com/-dUNNLdjTOYc/UdioF7rYgEI/AAAAAAAAOuI/jm_LsEJ6AeQ/s576/IMG_8872.JPG?w=1280&#038;ssl=1" alt=""/></a></figure>
</div>


<p class="has-text-align-center wp-block-paragraph"> </p>



<h1 class="wp-block-heading">Trip Ideas for Next Time</h1>



<p class="wp-block-paragraph">After we came back to Vancouver, we found out that the hostel started offering tours to abandoned missile silos, helicopter rides, and Yak plane acrobatics! &nbsp;If only the hostel were offering those tours. &nbsp;We would have totally gone to those. &nbsp;There&#8217;s always next time.</p>



<p class="wp-block-paragraph">Links to photo albums:</p>



<ul class="wp-block-list"><li><a href="https://picasaweb.google.com/117972094293741244551/Kiev" target="_blank" rel="noopener noreferrer">Kiev</a></li><li><a href="https://picasaweb.google.com/117972094293741244551/KievEdwardSPhotos" target="_blank" rel="noopener noreferrer">Kiev (Edward&#8217;s Photos)</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2013/07/14/kiev/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1684</post-id>	</item>
		<item>
		<title>Road Trip to the Eagle’s Nest in Berchtesgaden</title>
		<link>https://blog.henrypoon.com/blog/2011/07/04/road-trip-to-the-eagles-nest-in-berchtesgaden/</link>
					<comments>https://blog.henrypoon.com/blog/2011/07/04/road-trip-to-the-eagles-nest-in-berchtesgaden/#comments</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Mon, 04 Jul 2011 20:10:42 +0000</pubDate>
				<category><![CDATA[europe]]></category>
		<category><![CDATA[9]]></category>
		<category><![CDATA[Adolf Hitler]]></category>
		<category><![CDATA[All That]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[Bavaria]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Drive]]></category>
		<category><![CDATA[driving]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Euro]]></category>
		<category><![CDATA[Europe]]></category>
		<category><![CDATA[German]]></category>
		<category><![CDATA[Germany]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Hole]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[In Germany]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Lie]]></category>
		<category><![CDATA[Lost]]></category>
		<category><![CDATA[Net]]></category>
		<category><![CDATA[Over]]></category>
		<category><![CDATA[Pho]]></category>
		<category><![CDATA[Plan]]></category>
		<category><![CDATA[Porsche]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[railway station]]></category>
		<category><![CDATA[rain]]></category>
		<category><![CDATA[Rainbow]]></category>
		<category><![CDATA[Renault]]></category>
		<category><![CDATA[Safe]]></category>
		<category><![CDATA[Speed]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[Stuttgart]]></category>
		<category><![CDATA[The Go]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[Transmission]]></category>
		<category><![CDATA[Urge]]></category>
		<category><![CDATA[Vol]]></category>
		<category><![CDATA[When We]]></category>
		<category><![CDATA[Z]]></category>
		<category><![CDATA[Zoo]]></category>
		<guid isPermaLink="false">http://henrypoon.mooo.com/blog/road-trip-to-the-eagle%e2%80%99s-nest-in-berchtesgaden</guid>

					<description><![CDATA[Day 173 From watching the TV show Band of Brothers, I learned of the Eagle’s Nest, a surprise birthday gift for Adolf Hitler for his 50th birthday.&#160; Situated on the ridge on the Hoher Göll (or Kehlstein Mountain) at an elevation of over 1800m in Obersalzburg, Berchtesgaden, the house served as a private retreat for [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Day 173</p>



<p class="wp-block-paragraph">From watching the TV show Band of Brothers, I learned of the Eagle’s Nest, a surprise birthday gift for Adolf Hitler for his 50th birthday.&nbsp; Situated on the ridge on the Hoher Göll (or Kehlstein Mountain) at an elevation of over 1800m in Obersalzburg, Berchtesgaden, the house served as a private retreat for Hitler.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPi5ZmbOYp9ylhrY9zOquERVaKbnA5t26UU7n8IFEhXwjzONBZu_cJniT6PaCpYlg/photo/AF1QipMzOuehcy3034SIMu6JOqtc72QwxzqvoDtiv2ON?key=NUptUE4zZTQ0cVB5eVo5YlBZWW9oUUpuUnVmUGZR" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEV3qCe7ZhnFEqQ6-01N_39iF4hmRJc5DWKMI36-e2bb_pkp-BmdfoV1rVEAyQyvxMrgpi44IOF3PHtd9LVFRE88qC-T_RA5Wvt-YX5cUDEma5vRN2yl9zaiTty5YaN2NCe1PkNCsin3v17seIAikzGTtQ=w1560-h431-no" alt=""/></a></figure>



<p class="has-text-align-center wp-block-paragraph"></p>



<p class="wp-block-paragraph">Because this area was so remote and hard to access by train, we chose to rent a car to drive there for a day trip that Saturday.&nbsp; In our group of three, only one person could legally drive.&nbsp; I had lost my driver’s license and my other friend only had a learner’s license.&nbsp; Our car reservation said we were supposed to get a Mercedes A Class (the cheapest car they had with automatic transmission), but we got a Renault Megane instead.&nbsp; I think that worked out better for us though because I think that car was a little bit roomier.</p>



<p class="wp-block-paragraph">Originally, we were supposed to leave at 9 in the morning, but we had to make a stop at our friend’s house to pick up someone, because he apparently partied too hard and crashed at another friend’s place.&nbsp; He was quite hungover when he got in the car and he stayed that way for pretty much the whole trip.&nbsp; I was invited to that party too, but I didn’t go precisely because I didn’t want to end up like the way he did.</p>



<p class="wp-block-paragraph">I set a course to the Eagle’s Nest on the GPS and off we went.&nbsp; Originally, our route involved going through Austria, but I had to modify the route such that we stayed in Germany because we didn’t want to have to purchase a vignette (it’s an identifier on the car you pay for that lets you drive in that country if the car isn’t from there).&nbsp;</p>



<p class="wp-block-paragraph">We all knew that some parts of the Autobahn had no speed limit, but we had yet to see this for ourselves.&nbsp; Near the outskirts of the city, there were still speed limits, but as we got further, those limits disappeared.&nbsp; Although for a lot of the journey there, we couldn’t really make use of that since there were traffic jams all over the place.</p>



<p class="wp-block-paragraph">The drive ended up taking nearly six hours rather than the four hours that Google Maps told me.&nbsp; And for the whole journey, my hungover friend slept in the back on his side while I chatted with the driver so that he wouldn’t get so bored.</p>



<p class="wp-block-paragraph">When we arrived, we parked the car near the Berchtesgaden railway station and proceeded to take the bus up (the house itself is only accessible by bus).&nbsp; We left Stuttgart at around 10, and reached the top of the Eagle’s Nest at around 4:30 in the evening.</p>



<p class="wp-block-paragraph">As the bus went up the mountain, we began to see the view getting nicer and nicer.&nbsp; I guess it was kind of like seeing an airplane lift off and watching the houses below getting smaller and smaller.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPi5ZmbOYp9ylhrY9zOquERVaKbnA5t26UU7n8IFEhXwjzONBZu_cJniT6PaCpYlg/photo/AF1QipNBaXkTDTuaZLnomswWnU1JMo4aLcdNaFkM9RXl?key=NUptUE4zZTQ0cVB5eVo5YlBZWW9oUUpuUnVmUGZR" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEV8UTrdRQcTQ9aZp5CeBBb2H1e7jHxLpr4iAzHmMZide1Znb0MkC1iZ94Y9WF5W8FWqvdv-OX3ZFsTSGE-bSRhBy8v-ZQPp6N-KtfmybWDiOLi-fcIAI3yAJftGrWWddA1vTC5hlbx-dZTB4VQxY5c2gg=w1226-h919-no" alt=""/></a></figure>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPi5ZmbOYp9ylhrY9zOquERVaKbnA5t26UU7n8IFEhXwjzONBZu_cJniT6PaCpYlg/photo/AF1QipPIcsVwRxZTQb4-FsCXlds7EF0PqlattCGFOOX5?key=NUptUE4zZTQ0cVB5eVo5YlBZWW9oUUpuUnVmUGZR" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEUFMLnnFSkXlnjopJaThbhUUsE_rYzN_5l33abVii0YQziSb9nYzJ4CB7kCYu5s-sfQbLfc2wtTB-2yi-uAIa92vvpaG9RAFAyWjDQee8Er63uHFBM8py-7e_oCfSE3aqphRiaZEqQ_lAT2_GBdwKmdJQ=w1226-h919-no" alt=""/></a></figure>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPi5ZmbOYp9ylhrY9zOquERVaKbnA5t26UU7n8IFEhXwjzONBZu_cJniT6PaCpYlg/photo/AF1QipNnyGaEuJsv8xcwYQbEyk7yNWiXwwXlGE2lGe92?key=NUptUE4zZTQ0cVB5eVo5YlBZWW9oUUpuUnVmUGZR" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEUThGXY6gh4aBqh7n5n0mym8jBH5mNMOLY8sGkL1o4w9oeJCVbiRwQSWV2wLNJXLh6x5fOh-E7JH0FxfhHXZHmKwBdQb2F1lFO7xQdcFq3ib4YkDNPJBCoAthStYmoATEbDjn_8WkeXmZvz1dMoOS5Osw=w1226-h919-no" alt=""/></a></figure>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPi5ZmbOYp9ylhrY9zOquERVaKbnA5t26UU7n8IFEhXwjzONBZu_cJniT6PaCpYlg/photo/AF1QipOaeaSdbOae8MoFpgiWVSY0oE6gYUU-8ardVHmX?key=NUptUE4zZTQ0cVB5eVo5YlBZWW9oUUpuUnVmUGZR" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEVj1Ju-k2fhMNSArhHOiXb0GqJ0c7kbZufusyMWWb9jjCUqTJBDOzHtRf-NG0w-Q6fr8jFPB1ofwuC_0YJDfWJjS4e2d-XT8KUz-_D0SF24293q1QBVkBnzqku6OuH_kdnbZ6p6H1XN0oXh9AmoPfxWjw=w1226-h919-no" alt=""/></a></figure>



<p class="has-text-align-center wp-block-paragraph"> <br> </p>



<p class="wp-block-paragraph">The bus dropped us off at the entrance to the elevator up to the main building and when we got out of the bus, we all felt the chilling rain that started.&nbsp; I don’t know what the temperature was at the time, but it felt like it was less than five degrees.&nbsp; Before leaving the house in the morning, I knew it’d be cold up there, but apparently it was colder than I thought.&nbsp; For the whole time that I was up there, my extremities were super cold, but at least the rest of my body was warm enough.&nbsp; Luckily the rain had stopped when we took the gold-plated elevator up to the house itself.&nbsp;</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPi5ZmbOYp9ylhrY9zOquERVaKbnA5t26UU7n8IFEhXwjzONBZu_cJniT6PaCpYlg/photo/AF1QipMLu0xk9rbJD3ztd-zsYK8JBDUOPeW4wpLqXsFq?key=NUptUE4zZTQ0cVB5eVo5YlBZWW9oUUpuUnVmUGZR" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEUhWZzrzZuiLu0RN5c9HIYte9fXsjz01GvHsFyydnFEnphWaX2zEKi7JYQZVX2dx3btwrb0TMsIAFCcX0PHE6NoTiF9Wq157cAzpdc1xDOw3gl9jMytVPvzTUkSUX3QlqwLihbAB6XTHjlMrxfI6erTQA=w1226-h919-no" alt=""/></a></figure>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPi5ZmbOYp9ylhrY9zOquERVaKbnA5t26UU7n8IFEhXwjzONBZu_cJniT6PaCpYlg/photo/AF1QipNHP1lV8VNSRKpqBAIjWNz5P73x90CxtF6gssEq?key=NUptUE4zZTQ0cVB5eVo5YlBZWW9oUUpuUnVmUGZR" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEX9mBDookjdnmtCm3rjBK5MSGWw7hdN7O2VJRoPoeOZyxvCSkXrjqyo95m0BaDuT01HoyiP7FNz9EITyiNHP1ro6JlMkMOUaTxhuZzWWyb2McAXA7E1wXZBc9rT23uUK_ntY79Poyk2UkJqGl_qYTqm6A=w1226-h919-no" alt=""/></a></figure>



<p class="has-text-align-center wp-block-paragraph"> </p>



<p class="wp-block-paragraph">After the end of the war, the house was denazified, and converted into a restaurant.&nbsp; All that remains is the architecture.&nbsp; The house itself isn’t really that amazing looking, but it has historical significance.&nbsp; Also, the view from up there is amazing.&nbsp; What surprised me was how accurate Band of Brother&#8217;s portrayed the house.&nbsp; They pretty much built a set that looks exactly like the real thing and even had scenes where they tried to get up the mountain (and that mountain looked really similar too).</p>



<p class="wp-block-paragraph">There was nothing on the mountain except for this one house.&nbsp; And from there, we could see Salzburg (about 35 km away) and other nearby towns.&nbsp; We could also see the Königssee and other mountains in the Bavarian Alps.&nbsp; Because of the rain earlier, there were still some rainclouds hovering around, and with the rain, we also got to see a rainbow.&nbsp; The best part about that was that we were at so high of an elevation, we got to look down at the rainbow.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPi5ZmbOYp9ylhrY9zOquERVaKbnA5t26UU7n8IFEhXwjzONBZu_cJniT6PaCpYlg/photo/AF1QipNp4mV33H-ff78bXycBHFO-TSrreZJAbvWekt3M?key=NUptUE4zZTQ0cVB5eVo5YlBZWW9oUUpuUnVmUGZR" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEXJNh3DfCsiuFVB_N3GzsdXcnPS61FYfIRAOpNOxCd-JUy-0Fig2wIhPBl7xbmCKO_fENfkVygPHsU2QfSfKxcx7snVuyorKVfAAQ5EUmEmnjRdLL53lEjpDvJjNGj-BOcaL6XrlkJW-WQVUNHb1Po4Uw=w1226-h919-no" alt=""/></a></figure>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPi5ZmbOYp9ylhrY9zOquERVaKbnA5t26UU7n8IFEhXwjzONBZu_cJniT6PaCpYlg/photo/AF1QipOt2d0Qc2I01Ct16Qw2WYpzRsxBeo_awu7fvJms?key=NUptUE4zZTQ0cVB5eVo5YlBZWW9oUUpuUnVmUGZR" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEX2hkC6YdCdllnAD5Vying0nMWioy89dI1kmSfzG7clZL9Ue_PdDEUpno2UxICRXL6ndQZCgP1nXZgXtMzUDeAO4Pu2sgtSvXfjLYExwKg_rrFkJhhuiZDADzVE5yMzjs3woG4Sb0iVghc3IkPRwbYbGg=w1226-h919-no" alt=""/></a></figure>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPi5ZmbOYp9ylhrY9zOquERVaKbnA5t26UU7n8IFEhXwjzONBZu_cJniT6PaCpYlg/photo/AF1QipND9noWMvIpXFjRSPzXo1tYk5qSwHjjf6HL25aj?key=NUptUE4zZTQ0cVB5eVo5YlBZWW9oUUpuUnVmUGZR" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEWrGtixSJ0wG-1Fffhoyh2XIAUspfTzXbT0s89F-maEFFp5_B25ElVV0muWPndEtxIm63K2KYs8JEz8d6WIekqiyxLf7lpDtnOVW8A5C0uQjYvI4Is6CraFSylpTt7wZxo1migUbe9NmOfwTOpO3MbFGA=w1226-h919-no" alt=""/></a></figure>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPi5ZmbOYp9ylhrY9zOquERVaKbnA5t26UU7n8IFEhXwjzONBZu_cJniT6PaCpYlg/photo/AF1QipNAeoI70BbPndVSVc01Yoxym0m2Do-f4PWeWkxI?key=NUptUE4zZTQ0cVB5eVo5YlBZWW9oUUpuUnVmUGZR" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEUdKWcLjX8n7oZMRy8ahJ5WTSErzl2pYQgs4uBQFv1wpJkMcXB2bTb5E_kgEgEaGiN3VelfkIEAYmbXt1MCtaEwb6JfNoLH1SL-x-0CxSgiI5J-Bzuc3EQlvx9nCZkEmJoDJ7_Ff03o4L8_3mGuxhJqHg=w1226-h919-no" alt=""/></a></figure>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPi5ZmbOYp9ylhrY9zOquERVaKbnA5t26UU7n8IFEhXwjzONBZu_cJniT6PaCpYlg/photo/AF1QipMaLgm_1IcwMNIrcO0AZdnaAUqpMqxNJCela4Ie?key=NUptUE4zZTQ0cVB5eVo5YlBZWW9oUUpuUnVmUGZR" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEW7KlBN57AdxTugGresKenVPsThgiT8aTdDXf4O8ZtMtICt_F7dIjwp-2Yy8FqB6F-1p9-tDixyPd2RPkrQqQRfmgABvVWIGJShtIWQW7t0lZqMT2MkTZCsvD_k7ptQZSHcO--svFh96QmPOtQBCJd-8Q=w1226-h919-no" alt=""/></a></figure>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipPi5ZmbOYp9ylhrY9zOquERVaKbnA5t26UU7n8IFEhXwjzONBZu_cJniT6PaCpYlg/photo/AF1QipNidgrRHIv6oUjmothTlAxRF57GQ0K0stbCw0c8?key=NUptUE4zZTQ0cVB5eVo5YlBZWW9oUUpuUnVmUGZR" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEV_W8aieHyNZM7uAbjXx07IhT6IGcb4iwiLWP5MHlPakqdpgKpdtxvnIUmQVzlBL7bKK2Khv7FfO1AGKGwgmaSKkeWaNSJFRkgACZ8eL56gGoJRrg1HUAIE22fB4gHBfGVc2VtYJyzopjlLMiEQR722OQ=w1226-h919-no" alt=""/></a></figure>



<p class="has-text-align-center wp-block-paragraph"> <br> <br> </p>



<p class="wp-block-paragraph">We only stayed up there for less than an hour because we had to take the last bus back down, but that was okay though.&nbsp; It was nice for me to be able to visit the Eagle’s Nest and enjoy the view from the mountain (even if it was damn cold).&nbsp; It’s also a place where most North American tourists won’t be able to go because it’s so remote and that there are so many more popular places to go for them.</p>



<p class="wp-block-paragraph">On the way home, the roads had a lot less traffic than earlier, which let us really try out the Autobahn.&nbsp; My friend had reached the car’s top speed of around 190 to 195 km/h (perfectly legal by the way).&nbsp; The whole time he drove, I had a really strong urge to have a try myself, but I didn’t have my driver’s license.&nbsp; After we gassed up the car, I couldn’t resist the urge anymore and so I drove.&nbsp; We all knew that if anything happened, we’d be pretty screwed.&nbsp; Because of that, I didn’t drive for very long.&nbsp; I probably only drove for about 20 minutes.&nbsp;</p>



<p class="wp-block-paragraph">Even though there was no speed limit, I felt quite uneasy driving at 190 km/h and it just didn’t feel right.&nbsp; I didn’t really feel that I had control of the car, but that might have been because I hadn’t driven for six months.&nbsp; It was fun while it lasted I guess.&nbsp; Even though our car was going pretty fast, we saw a few Benz’s and Porsches go by at speeds of over 200 km/h.&nbsp; They just zoomed right past us.</p>



<p class="wp-block-paragraph">After three and a half hours of driving, we safely arrived back in Stuttgart.  It was great being able to see the Eagle’s Nest (even if for such a short time).  It was one of those places that I had to see before I left Europe.  Driving on the Autobahn was great too and now I can say that I’ve done that.  It was a great trip.</p>



<p class="wp-block-paragraph">More photos <a href="https://photos.google.com/share/AF1QipPi5ZmbOYp9ylhrY9zOquERVaKbnA5t26UU7n8IFEhXwjzONBZu_cJniT6PaCpYlg?key=NUptUE4zZTQ0cVB5eVo5YlBZWW9oUUpuUnVmUGZR" target="_blank" rel="noreferrer noopener">here</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2011/07/04/road-trip-to-the-eagles-nest-in-berchtesgaden/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1124</post-id>	</item>
		<item>
		<title>Disappearing Firefox Icons</title>
		<link>https://blog.henrypoon.com/blog/2011/06/20/disappearing-firefox-icons/</link>
					<comments>https://blog.henrypoon.com/blog/2011/06/20/disappearing-firefox-icons/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Mon, 20 Jun 2011 15:51:37 +0000</pubDate>
				<category><![CDATA[computer stuff]]></category>
		<category><![CDATA[9]]></category>
		<category><![CDATA[APT]]></category>
		<category><![CDATA[Cache]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Comment]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Firefox version history]]></category>
		<category><![CDATA[Free software]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Search]]></category>
		<category><![CDATA[Icon]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Laptop]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Page]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Vol]]></category>
		<category><![CDATA[Web browsers]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows 7]]></category>
		<guid isPermaLink="false">http://henrypoon.mooo.com/blog/disappearing-firefox-icons</guid>

					<description><![CDATA[Here&#8217;s a quick post about resolving an issue about the Firefox icon disappearing and showing a generic Windows icon. It came up while I set up my laptop, A quick Google search gave me a solution. It involves rebuilding the Windows 7 Icon Cache. Link: http://www.heerengandhi.com/2009/07/29/firefox-icon-went-missing-in-windows-7-heres-a-fix/comment-page-1/]]></description>
										<content:encoded><![CDATA[<p>Here&#8217;s a quick post about resolving an issue about the Firefox icon disappearing and showing a generic Windows icon.  It came up while I set up my laptop, A quick Google search gave me a solution.  It involves rebuilding the Windows 7 Icon Cache.</p>
<p>Link: <a href="http://www.heerengandhi.com/2009/07/29/firefox-icon-went-missing-in-windows-7-heres-a-fix/comment-page-1/" target="_blank" rel="noopener noreferrer">http://www.heerengandhi.com/2009/07/29/firefox-icon-went-missing-in-windows-7-heres-a-fix/comment-page-1/</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2011/06/20/disappearing-firefox-icons/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1075</post-id>	</item>
		<item>
		<title>My Laptop is Kaputt</title>
		<link>https://blog.henrypoon.com/blog/2011/05/28/my-laptop-is-kaput/</link>
					<comments>https://blog.henrypoon.com/blog/2011/05/28/my-laptop-is-kaput/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Sat, 28 May 2011 18:12:14 +0000</pubDate>
				<category><![CDATA[europe]]></category>
		<category><![CDATA[APT]]></category>
		<category><![CDATA[Backlight]]></category>
		<category><![CDATA[Berlin]]></category>
		<category><![CDATA[Best Buy]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Canada]]></category>
		<category><![CDATA[Chan]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Consumer electronics]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Dell]]></category>
		<category><![CDATA[Dell laptops]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Euro]]></category>
		<category><![CDATA[Europe]]></category>
		<category><![CDATA[Final]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[German]]></category>
		<category><![CDATA[Germany]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[In Germany]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Laptop]]></category>
		<category><![CDATA[Light]]></category>
		<category><![CDATA[Monday]]></category>
		<category><![CDATA[My Phone]]></category>
		<category><![CDATA[Net]]></category>
		<category><![CDATA[Pho]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[Screws]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[tuna]]></category>
		<category><![CDATA[Websites]]></category>
		<guid isPermaLink="false">http://henrypoon.mooo.com/blog/my-laptop-is-kaput</guid>

					<description><![CDATA[Day 136 After almost four years of using my Inspiron 1520, its age finally caught up with it and its light literally went out.&#160; The backlight refuses to turn on now.&#160; I came back from Berlin last Monday and found my computer in this state.&#160; I left it off during that time too.&#160; During this [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Day 136</p>



<p class="wp-block-paragraph">After almost four years of using my Inspiron 1520, its age finally caught up with it and its light literally went out.&nbsp; The backlight refuses to turn on now.&nbsp; I came back from Berlin last Monday and found my computer in this state.&nbsp; I left it off during that time too.&nbsp; During this time, I had trouble doing any blogging and uploading any photos.</p>



<p class="wp-block-paragraph">Google told me that the problem lay with either a loose connection, the inverter or the lamp.&nbsp; I tried to check this out myself and open the computer case, but the screws refused to budge.&nbsp; People online somehow got theirs open, but I couldn’t.</p>



<p class="wp-block-paragraph">Unfortunately, my warranty expired so I’d have to pay to get this computer fixed.&nbsp; I looked at my options on the Dell site and the North American Dell Support refused to help me and kept referring me to the European side even though I bought my computer in Canada (I really don’t know what these guys at the call centers are doing).&nbsp; After about three calls to the support line, I finally found someone helpful and she told me that I had to change my laptop registration such that it showed a European location before I could get it fixed.&nbsp; An alternative option would have been to send the computer back to Canada to get it fixed.</p>



<p class="wp-block-paragraph">What I did instead was just buy a new laptop.&nbsp; My laptop is already super old and already can’t really keep up with my tasks anyway, so I suppose it’s time for an upgrade.&nbsp; What surprised me was that laptops in Germany (from their Best Buy/Future Shop equivalents anyway) cost so much more than in North America.&nbsp; In fact, it was cheaper for me to buy my computer in Canada and get my parents to ship it to me rather than buying it locally.&nbsp; I’m sure there are cheaper places, but I don’t exactly know how to look through all these German websites.&nbsp; Another added advantage in buying from Canada is that I’d have a computer with the US Keyboard layout rather than the German one.&nbsp; And in the future when my laptop needs repairs, it’ll be easy.</p>



<p class="wp-block-paragraph">In the meantime, I’m using a 17 inch LCD screen that I borrowed from a friend.&nbsp; This will suffice until my new computer arrives.&nbsp; No more shining a lamp at my computer screen and squinting my eyes to see the screen anymore.&nbsp; I also don’t need to be using my phone to go on the internet at home either.</p>


<div class="wp-block-image">
<figure class="aligncenter"><img data-recalc-dims="1" loading="lazy" decoding="async" width="1280" height="960" src="https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2011/05/IMG_2808.jpg?resize=1280%2C960&#038;ssl=1" alt="" class="wp-image-7383" srcset="https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2011/05/IMG_2808.jpg?w=1600&amp;ssl=1 1600w, https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2011/05/IMG_2808.jpg?resize=768%2C576&amp;ssl=1 768w, https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2011/05/IMG_2808.jpg?resize=1536%2C1152&amp;ssl=1 1536w, https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2011/05/IMG_2808.jpg?resize=1240%2C930&amp;ssl=1 1240w, https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2011/05/IMG_2808.jpg?resize=508%2C381&amp;ssl=1 508w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></figure>
</div>]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2011/05/28/my-laptop-is-kaput/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1047</post-id>	</item>
	</channel>
</rss>
