<?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>PATH &#8211; Henry Poon&#039;s Blog</title>
	<atom:link href="https://blog.henrypoon.com/blog/tag/path/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.henrypoon.com</link>
	<description></description>
	<lastBuildDate>Mon, 03 Oct 2022 00:53:02 +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>&#8220;The Cyclist&#8217;s Training Bible&#8221; by Joe Friel &#8211; Chapter 2 summary &#8211; Physical performance</title>
		<link>https://blog.henrypoon.com/blog/2020/05/12/the-cyclists-training-bible-by-joe-friel-chapter-2-summary-physical-performance/</link>
					<comments>https://blog.henrypoon.com/blog/2020/05/12/the-cyclists-training-bible-by-joe-friel-chapter-2-summary-physical-performance/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Wed, 13 May 2020 04:26:39 +0000</pubDate>
				<category><![CDATA[books]]></category>
		<category><![CDATA[Aerobic exercise]]></category>
		<category><![CDATA[APT]]></category>
		<category><![CDATA[Branches of biology]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Cycling]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Dia]]></category>
		<category><![CDATA[Drive]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Economy]]></category>
		<category><![CDATA[Exercise]]></category>
		<category><![CDATA[Exercise physiology]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[IOS]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Joe Friel]]></category>
		<category><![CDATA[Lactate threshold]]></category>
		<category><![CDATA[Lie]]></category>
		<category><![CDATA[Over]]></category>
		<category><![CDATA[PATH]]></category>
		<category><![CDATA[Physical exercise]]></category>
		<category><![CDATA[Printer]]></category>
		<category><![CDATA[rain]]></category>
		<category><![CDATA[Respiratory physiology]]></category>
		<category><![CDATA[Sports]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[Struct]]></category>
		<category><![CDATA[The Go]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[VO2 max]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">https://blog.henrypoon.com/?p=5900</guid>

					<description><![CDATA[This is summary of chapter 2 of Joe Friel&#8217;s &#8220;The Cyclist&#8217;s Training Bible&#8221;. This chapter discusses the physical component of high performance cycling. The right stuff There are three markers of endurance fitness: aerobic capacity, anaerobic threshold, and economy Aerobic capacity: AKA &#8220;VO2max&#8221;, is a measure of how much oxygen you are capable of using [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">This is summary of chapter 2 of Joe Friel&#8217;s &#8220;The Cyclist&#8217;s Training Bible&#8221;. This chapter discusses the physical component of high performance cycling.</p>



<h2 class="wp-block-heading">The right stuff</h2>



<p class="wp-block-paragraph">There are three markers of endurance fitness: aerobic capacity, anaerobic threshold, and economy</p>



<ul class="wp-block-list"><li>Aerobic capacity: AKA &#8220;VO2max&#8221;, is a measure of how much oxygen you are capable of using when riding at a maximal effort for a few minutes</li><li>Anaerobic threshold: the percentage of your aerobic capacity that you are capable of sustaining for a long time, such as 40 to 70 minutes</li><li>Economy: tied to all metrics of performance in that it has to do with how much energy you waste while riding (e.g. physical structure, pedaling style, position on the bike, and bike-handling skills)</li></ul>



<h3 class="wp-block-heading">Power duration curve and phenotype</h3>



<p class="wp-block-paragraph">This is a huge generalization, but it shows that performance can be predicted from metrics</p>



<ul class="wp-block-list"><li>Climbers: can maintain high power outputs even over long durations. Best predictor of success is power to weight ratio</li><li>Sprinters: even higher power outputs with short bursts but drops off quickly over long durations</li><li>Time trialists: Best predictor of success is power at anaerobic threshold. Aerodynamic drag is the biggest obstacle since often courses are quite flat</li><li>All-rounders: someone who is pretty good at at least two of the above and they are often contenders when course conditions don&#8217;t favour the specialists</li></ul>



<h2 class="wp-block-heading">Training beliefs</h2>



<p class="wp-block-paragraph">The athlete must have faith that he is going down the right path for training, and follow the path beginning to end</p>



<p class="wp-block-paragraph">Some people respond quickly, while some slowly.  Some people have muscles made for endurance while others made for power, and it&#8217;s the rider&#8217;s job to adjust his training based on what he&#8217;s know about himself.</p>



<p class="wp-block-paragraph">Training is always a moving target &#8211; what worked last season may not produce the same results</p>



<h2 class="wp-block-heading">Four steps to training with a purpose</h2>



<p class="wp-block-paragraph">There is no one-size fits all way of training</p>



<ol class="wp-block-list"><li>Clear goal &#8211; well-defined goal drives training outcome.  Even workouts need to have a goal.  The combination of the workout goals ultimately point to the season&#8217;s goal</li><li>Expert instruction &#8211; e.g coach, mentor, training partner, or even yourself (i.e. by reading this book)</li><li>Specific practice &#8211; Everything done should follow the goal and the expert instruction.  Training alone is ideal as it allows control over all aspects of workout without accounting for someone else</li><li>Immediate feedback &#8211; Review data as the workout is happening or immediately after.  Need to stay mentally engaged with how one feels during workout</li></ol>



<p class="wp-block-paragraph">Previous: <a rel="noreferrer noopener" href="https://blog.henrypoon.com/blog/2020/05/02/the-cyclists-training-bible-by-joe-friel-chapter-1-summary-mental-performance" target="_blank">Chapter 1 – Mental performance</a><br>Chapter list: <a rel="noreferrer noopener" href="https://blog.henrypoon.com/blog/2020/05/02/the-cyclists-training-bible-by-joe-friel-chapter-summaries/" target="_blank">Chapter summaries</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2020/05/12/the-cyclists-training-bible-by-joe-friel-chapter-2-summary-physical-performance/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5900</post-id>	</item>
		<item>
		<title>Jerusalem</title>
		<link>https://blog.henrypoon.com/blog/2020/03/15/jerusalem/</link>
					<comments>https://blog.henrypoon.com/blog/2020/03/15/jerusalem/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Sun, 15 Mar 2020 20:34:33 +0000</pubDate>
				<category><![CDATA[asia]]></category>
		<category><![CDATA[food]]></category>
		<category><![CDATA[middle east]]></category>
		<category><![CDATA[APT]]></category>
		<category><![CDATA[Assault rifle]]></category>
		<category><![CDATA[bear]]></category>
		<category><![CDATA[Calvary]]></category>
		<category><![CDATA[cars]]></category>
		<category><![CDATA[Christianity]]></category>
		<category><![CDATA[Church of the Holy Sepulchre]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[dog]]></category>
		<category><![CDATA[Dogs]]></category>
		<category><![CDATA[Drive]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Euro]]></category>
		<category><![CDATA[Europe]]></category>
		<category><![CDATA[europe trip]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Final]]></category>
		<category><![CDATA[Flag]]></category>
		<category><![CDATA[German]]></category>
		<category><![CDATA[Germany]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Jerusalem]]></category>
		<category><![CDATA[Jesus]]></category>
		<category><![CDATA[Jesus Christ]]></category>
		<category><![CDATA[Kosher food]]></category>
		<category><![CDATA[Lag]]></category>
		<category><![CDATA[Lie]]></category>
		<category><![CDATA[Life of Jesus in the New Testament]]></category>
		<category><![CDATA[Middle East]]></category>
		<category><![CDATA[Military]]></category>
		<category><![CDATA[Museum]]></category>
		<category><![CDATA[old town]]></category>
		<category><![CDATA[Outside]]></category>
		<category><![CDATA[Over]]></category>
		<category><![CDATA[PATH]]></category>
		<category><![CDATA[Pho]]></category>
		<category><![CDATA[Pilgrimage]]></category>
		<category><![CDATA[Prophets of Islam]]></category>
		<category><![CDATA[rain]]></category>
		<category><![CDATA[Relics associated with Jesus]]></category>
		<category><![CDATA[Religion]]></category>
		<category><![CDATA[Run]]></category>
		<category><![CDATA[Safe]]></category>
		<category><![CDATA[Singing]]></category>
		<category><![CDATA[Snow]]></category>
		<category><![CDATA[Sorrowful Mysteries]]></category>
		<category><![CDATA[Stations of the Cross]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[Struct]]></category>
		<category><![CDATA[Tel Aviv]]></category>
		<category><![CDATA[Temple]]></category>
		<category><![CDATA[The Holocaust]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[tuna]]></category>
		<category><![CDATA[Via Dolorosa]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">https://blog.henrypoon.com/?p=5100</guid>

					<description><![CDATA[Jerusalem is one of the oldest cities in the world and is holy to three major religions: Judaism, Christianity, and Islam. For over 2000 years, different groups fought over this place. It&#8217;s been besieged 23 times, captured and recaptured 44 times, and attacked 52 times. We flew into Israel from Tel Aviv and boarded a [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Jerusalem is one of the oldest cities in the world and is holy to three major religions: Judaism, Christianity, and Islam.  For over 2000 years, different groups fought over this place.  It&#8217;s been besieged 23 times, captured and recaptured 44 times, and attacked 52 times.</p>



<p class="wp-block-paragraph">We flew into Israel from Tel Aviv and boarded a train to Jerusalem.  I totally expected the Middle East to be pretty warm in February, but nope, it was snowing tiny little flakes in Jerusalem.  If it weren&#8217;t for the Europe trip before this, I would have actually not brought any winter clothes, so I definitely lucked out there.</p>



<h2 class="wp-block-heading">The Way of the Cross</h2>



<p class="wp-block-paragraph">The crucifixion of Jesus Christ is probably what Jerusalem is most well known for.  The Way of the Cross (aka Via Dolorosa) in Jerusalem is what is believed to be the actual path that Jesus walked during his crucifixion &#8211; regardless of whether you&#8217;re religious or not, it&#8217;s still pretty cool to see.  This was a key event in the establishment of Christianity.  The crucifixion of Jesus is considered to be historically true even by non-religious scholars.</p>



<p class="wp-block-paragraph">The Way of the Cross begins with Jesus&#8217; encouter with Pontius Pilate, the man who orders Jesus&#8217; crucifixion.  The Church of the Flagellation is built on the spot where Jesus was flogged by Roman soldiers before he carries the cross.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ/photo/AF1QipNqrfb6NbF4o_JbhUYLoadr6YcJVAxwLbvu1THT?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/xghnRyKlb4pOgfeQwiy8KZvwWbogLb9zsyh1jiqeLeAPMScWcv6wbwqCc8Dzx7T8VxkUjxTRNKtjYEAEC3W2WXncC8HhmCkmXbVQmwWsDp-X7Dc0FDkfIls2KrsNilBEx26N6vB1SNHIY1l4m-AEOg8Q9O3ydIHkhi_QS1qgBXCpMePYR1Vi8qkqe0aAq_stSlrcO1xuoTBpuMOW1cmET5HfvzzYANcve6arJfgNf1Zek_IHOdkRvCYmE6kaI-5Dl2C8DxGHvWCRLltIe8SuV8k6tMpQPe8t2Q1TEcYbrIBshqQnMcWjdO3-wPRpHm7IhTegOpnADTpr4QvbbBB4Lkio1RFmmCXQTRB8SBdKPIyIEqTI1ipsaz6Jfswj1g1MG2JcheuhwIgEGdt5eDW8MXfGnHdZyi7ZYbLbyQTTGxde89XbTl1zufyUwE7WckMwOe4Bjx6STHdFnWGMJfUFJiF805WxVl3MZ1jcA1YAQMnvxvQmBcl50sPyGz-S-wRiP8DcwJB9hW_v6yV4EnWW40uiKcPimNgZZjBC2AwFnJDvDlrPkZCdUznfMwQ4Fp-0pFaQbtZDotilR1TJuqEB_JLZJeafPp7IGqgNcUrfmJA_8APHQaQoIq8-EwrOdo6S87f4dC6asVDccAZ5t64Zuhte1HX-15CSKHGFkVd9FooLpvICjuXmzmnOJUvGlsNyKJ_SLMqBmYW3cOxkxkaXjfSV4dpd4oNYu_kR5o9xXTSOVySVzpZ0VrAK=w1681-h946-no" alt=""/></a></figure>



<p class="wp-block-paragraph">It&#8217;s said he falls three times during his walk.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ/photo/AF1QipNihqQqvP0BFLNFj3e0GhCmCzyu1Uke0zg3_foV?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/Gr9acztH9D_M2zYYketzasO2i5ZsdsRc0kALbJmSTHoeT_1rEih7lfbYLOq6wfj_AieXAaYm0dxIMNWAyJUJCzLw2MskQvoCvjAnPV8oCRglYvUIUAdt7CDEHHrDxqLf388yOJp0OFCXYctvBdBtm05FhyICxqk70KzlLUanY-oItHgiXgAEyqt_YqXJ2fqmKOKHd-dmhfnEOjLbqVvby95n8dL45sAdwaO3wy5iyYXXkYLBZmmNGIEVJLRaA9mnwnTFh4JzbGDHs-DYLpmCX-0zDyK3FsdnM-lsUqMhwQ6zOvLTffD9bPdtSWiCA1naw-9GOm6tNEAPvpuMoJS9GofZkbSMTmr_OUozVI78tqY6_9-xXeALuMH-UuuqsWsw9AXrrR6sUedVtMci_8rGfJrWYSrol8Twgn_-RMd7f7vxtkfS_X6DJSkA0SmoR2S61V5RGrUBajO1FClPr35Z67Q15vk5JvisnbutsLxSkHDLhJzJm0KQFU5X5eVnFutlyal6cecUnI0w5OCkqcMdMJYL5GLDb6xTmQ8dLyG07R7xzGQxctmi7b8jZy1kOoK9zM-jv35P2zbpZLnbEQVG2A2e37qUxCFWdsfb9Jtx7Aye8A2XkwFsN9Yy4Ivxod7cjf_fjpjFvUeh4-Z5UsWBP0YBEeUh0KbKMqEANrlIXwoSrn_jFwDEX-9SbpObhXDGXciR1Zsx9zzDOxHhiZOUUxfmohNkh9BgklBPFJGxkzApWcNxN_Mixx6O=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">Along the way, Jesus encounters several people (although some of these encounters are disputed):</p>



<ul class="wp-block-list"><li>Mary &#8211; his mother</li><li>Simon of Cyrene &#8211; he helps Jesus carry the cross</li><li>Veronica &#8211; she wipes the sweat off of Jesus&#8217; face, and so Jesus&#8217; image was then supernaturally imprinted on the piece of cloth, now known as the Veil of Veronica</li><li>the pious women &#8211; Jesus stops and gives a sermon</li></ul>



<p class="wp-block-paragraph">Eventually he makes his way to the location where he is nailed to the cross.  The Church of the Holy Sepulchre is built on the spot where it is believed he was nailed to the cross, and his subsequent death.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ/photo/AF1QipNX9YGGfBnrFsDcGpTld2VcNfgYglCowC52Tx3H?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/ggWb5BPujbOG0QUlY4WljNd0d5ggyqpzxj2WGOyyP-I89Y6OOGv1Xi1_b_rBwtv4pj0CJIa2iLKo7jGy_KRWhwMoCC8IfHKfz9qWhdkI-RxKkCj1PEeiPbS8MIXYlqrbjgLXkcA_xr3wMJ2uoQMwqDCHGf4WpeBQpew4oqJ6k9IHY5TePPoPM0TeIwcFo7jTChIhVZIBQuNXw3hQQsdqNidjINTXWUivmruYcJQjdjsgyBkWKCp0vJ7TM86baisQI7x_FVLioNbp8l4q6khkwyiaf5prw4ghRLreOkpwbF_0vY8BRVGtbv4FUwlGmygsUtjqZF9jCPBvXg-SPLXtAD57GbCTSe4bmTv1dvRBTsoDImJ8S0J-qXE2l5G6ntgohuFhgICwu16tqeaWO8Aa8oEXe3Gx5ZVlExzbPeeFjv7WGPQ2l4ijSD7STyrCOblgNEbLLYfJh00wKZLFoQJM7mzpsHNslFEkZfsxQFA4APRYscsDUTeZzH-sg9K-XFkubI87SI2F_8izYbVqSkNLkbyp9m5tZDb1PZj3RsAoSNKk-fjtRKSj11eseWgtpD-1HOwTPmolfBJqb3MQIWnnPPyifA3pf11TEKe4mvEN0l8HYaFyCsRBXGIr4An18gsU7u11xxgfHNYElhoEFWYzSnPlimJckiq7FxYDlzrBLQFVHkSh_yMZwYIkCmgTrYS1g7FUH-0jl8ZpABoo2QpeCJoR6R74ZQAwUWNdJ4okzG2wzjc0r6KlIC00=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">This is supposedly the spot where Jesus dies on the cross (below)</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ/photo/AF1QipNOjnsiUl90Em_MSdDW3wcXBygDFWip3L4r1mS2?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/AtGCF35N7LInmWuIAQE3AbLLwRowAAfKdBFCC1YcZHPAhLxwyDstQHJLn5IMeuK_JnI8r5P_cCv73wuPQAuzapxfQSykdO83fcQIvv0RMERK49hFOno3SXrX87SYMnPlRNUZtOjRC_FE1UMwQhqJgf6_b-UIEllJ83JNZqEoz4zLe6YFdzF27sw0ra80rnrqiABoYgEFcL_P3nzBtVEJ2LguTZnovZPgrwyktTvYMlC5tLziyKxGzmYiSI1X8auVvPThH5BHrWyiuMdZJw-lHisRIgB01cRCT5ggfgdYZMVpro7BK7rfn-MwOLtP3W1LhRFEG2Z-8imvqChDdYVQK9jQhIy6OUKXc5SHk-RYDyqdITqqPbgNU3HgzO6G1Qxt2RZpor0uaaDU0H5EC-0-HPsI5H58Ds1yG0m4e11RTNaKtw_luSRKPDUSm_82FlDlprGtUrCyirKJgvPMtRb1vzpvtLK1BIMRdpX8ju1DozByBq6f0iJTttAVosYJLt_VnTBJMWY_4nP2VuO-m0y8mvjLUC1Q7haEPiLBJIpf4fO8XQkYDAweU0N8icW6S1zHkiJv1N7UO0hel28wlUIqZA7J3me7oG93CU7TzUAR8aPlvCD2k3mE3ZN4QaMD79PSXJc8w4IeJut4uqFYFr4L3Th4qd2G0pt8ETSRUKgLwOwFL1h8thaipnqn2vu141N6Yl4TVjCOcO_GNVIbCH05VAODB4A5x8FAo-Rd55EqpRng6BR-lMsLkOm4=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">He is then taken down from the cross and anointed on the stone slab below.  Anointing is a ceremonial ritual where a person&#8217;s body is smeared in aromatic oil to introduce a divine influence on the body.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ/photo/AF1QipPF3J7rXYVCMcqstPVoEKlXY7uK9DPemS8gPaPO?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/icfJV-2__1EfNb7_dVbgUdSjbWA2Jakw0TLJIbGe_j1wulGIMWRgkc1erY9yhpFaVvv_goRFZc89oXJjWfRekjw042wU4ls2UvKyOibgcq3dO0Jm54g8YsaBGB2re7nRKEgXdntC8LJW3xP2xrXag95QAjNtUclAWFvei9m1zo7Lfj8GWqRxAlEEFF8fRUMn-PBpAST3TChfTGSoDni1NQLQlBq0Ilae85-e59_2qWdRQo4UiSHH2LafZ0k1H1ZQINFogwq7_m5dWOIVg_YheDeDLVnvefQ0pGXu1XqfYmELVmFruzaYJJlKUJIXibe9zdx0PWGNZCmP6sDRKMYjO2fd0paJXPeWvkasJhOMCgglhOHeZ5AQI2I6W-gqFGcXw56E6Jt-RocR1dqJjlYthkkCw5npTQ4JqXCHfpqC98LuWQAA5FLTgkx_kKmZMNn0RU_VgXU18rui6LjmRRBz29oAFSKlaEQwIpR0BAkNW-uBbzLgbM-WV5XZdtJuAT0HcjNDudUD-Ubs2ZRRqKPCguOuqLoJ0-ixV_9cjAz7-bAIEwl1Pg5_orDOBFShDDJRQPeQvrL7nEl-z5xp4RCYMa34dMyn-fRssyobjRFLmLUvTeK4Pv1myMXO3qZH59q-RGwll1m6yn9amqny8gmYXh46ScKhxjN1VxPSReX_TbCkiLP-r79ebboZ2bbG5Nz1KRKPskK9aipInuZbLARqLvVN_dqI9Sj4aBtAvqA-nFadi8fxwP5G4cRH=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">Finally he is laid to rest in his tomb.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ/photo/AF1QipMnKH9kDv-Is4zLXiFZkqh5bcS9Qo6cnoIGjSoz?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/ahdBR94J98lpoBaWflVqANsvrRNMd2uoXnHQGLNFkN6idDpIqt_BXRmTR0BHeim1hjYbB5LQVGli2QyfBrFOpl6H8ed0k9QSuuvvl3BO6gQXz1V3X_6-aDfPVWOEZBMMDFtQaAx46e2UiSR5sQpUGhAoGCwfb15LEdtZ9iglfvDQ952pCC0RUsUQEXHw-u8fuG4Yi4_LDBqtP8xE4sQvAGLaOaol4GvgV3lGw18QIIxW8iLe6IwX0_bF0I_JZfcjf3D55Cz-XaxoAhaYpegKgQmdG-zez38kokHSfCchNB777IkaQLKxhyDc2vPqtG4YcVfjuRJpXZectoXELiah7DvPVhmj7nok0Orx0VoR0-_q1ts84TENWl-_c4nARvb2Ni6LZVkmm4lcuvPNhayo9X3wporQO0K3IxV9WZ_YXfkyBNrOQ3Kf-HbC1ECm-G6wCWpdz9aNc-mpn6lFKbyGqwl1njZRoi58-co7pghZt9wSlx4njZv1pBCq_k3nCIs_qIBb33vx7vawEMUaYrrqg3v4tF1poDWS9g01LZ2HiL5ZFtver-RDYdjusJPkZCKIdzjzRLRrDYctfe7hf3mS3tepz6wZeYY4aKMc-g55sai08vblWtmhI7L4wqnMoxu9Q7mOEXPiFpJlSkXm8D2PNcpM7xJDYRlBPcV5kn4XYW-DgJsVd2uV88H_VqLrE57VnqumRxQz5I9Q0LBBPrTxIU911ooQHTlxJVbGs0ev7uYlwptrdZIZIyF0=w533-h946-no" alt=""/></a></figure></div>



<p class="wp-block-paragraph">Of course his body isn&#8217;t physically in there, because supposedly after his ressurection, he ascended to heaven.</p>



<figure class="wp-block-image size-large"><img decoding="async" src="https://lh3.googleusercontent.com/HelCLjw2rjoPJOfyixrDY8Hm8Xw71mbD4QKHQ66aybbqgCKoAj76Y5-2HAhjK3pP7bERAFvTLvd5OClUhjyO0gYU2GPInUDckB7DYkE_-cnsgtVpy7oitQITbjg6XXphHuDuMiN4rubsoCOcmph12wgfO2IeZO-xTNtvpb7UmYjZMr-ZF9g6HnulX5CveLeWn1PbQONHBzuyO-ILXSjlbq15fmy55O3Ymo6n3Sz1_j16_FIBTfbD1HckvHFhrKnWI8HtD_k6dMcxuwyeC7igiQWGdLld5c2PISyt5GxkR2koXWJI5NiuILiR0Oz4nplb_7sG3PXqmh-Z9eiolgKWtvrOfykQOeXsvC-4mJkVVUBv7zi0XQszw3BFexDjvNLn5hrtYYkijS16FKKj19jtxP6VWbi8EZenPzgr9u7OggoMmsmDX6uwtwKG4WswNgNK8WS4MDVxDu-re6kqIE97UG740sNGtYBXuxmaCR-ldNK1TvZV2saPJswQ1bdEy5Q9UPw54u5OGR7vnLafH3uaJPByK_QI9lrTg9EATMvyytQo5EutIsGTkqMUw6Ie_9n4LLqpjzzrep_medQd1y2TwXo4pTUU2PjPjsLBftECUCWbfRt7NA2fJ2eSpvNqWxAtIFEOEcDpnATkSGXnUSAp87bGv8izL3v8qDbvHWZ1r6RKZZEJFbthRwdqh7M4EW_gtOCrBJ02M0BoBHmuzaphyniGz00c08TpeOFXBem-NBZy6Nh34L6Cryap=w1680-h945-no" alt=""/></figure>



<p class="wp-block-paragraph">The entire Way of the Cross and the Church of the Holy Sepulchre was extremely crowded and people lined up everywhere to pray in all the spiritual locations, like Jesus&#8217; tomb, the home of the Virgin Mary, the Stone of Anointing, etc.  People even touched all the surfaces that Jesus was said to have touched and I could see them in deep prayer.</p>



<h2 class="wp-block-heading">Western / Wailing Wall</h2>



<p class="wp-block-paragraph">In Judaism, the Western Wall is one of its holiest sites.  The actual holiest site lines behind the wall, the Temple Mount, but due to restrictions, Jews are not allowed to pray there, and thus the wall became the place where Jews went to pray.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ/photo/AF1QipO4OIQaJX1j-4FMw5jZGa9z_fGUzy3tVINGFdma?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/UaPCUrecQtWEpLtLUPmDa0T77At8NYwFdIsSxttURaxlSmUJg0LIxCncKKNL_CttiIPKX7pEuMhgZ6O7WaL-Tzg6BIcFZdfwP_8SmEQ8vmGKqCqkXKU0TZG6GUy_9IyR7Hb32dVJljgLVUcYzk8x7P-cRSpL4j0kZS7D_6ZGlPACpEMkpv1VRdHcycVEElBgq6RaW0VZzSn10jsPR2nAicyqMmFaJSeE_jf-Gah1riPo_cja7ip-Bu7NzNcSV-bbJFuaNIahF2KGMpSFN8jkWTB08InGDrxIskhyb9PN58vwCFM1v_yirZoKC0B7wL1tO0azVAHZ8coNBFF3bKyfxTiw8mIE4Ob8js2ykAiiXAbdZV81dQBSDqwMIITdyPTBE3jj16_eGNfNvlKjGst5YXvpzE3bUzzxnN4lcolBI6jCTqXbAfQoqBHXWXa9gyXBvRFRn6vUwKBoUI9Bpdc8GK0p8geOsoZZKdgdrlmKVZXlQtsC6tjJR0RJn-u7AZWdmtIocbWr6W8DBc2To7upYVX9ZkbGA4L9ehAAKlTXrqZZx2GNO9Rr52rc4YZ1LSi-z_XaPk2qt2m7JUkYQ5z6xc1V1KCbDyHbddHccMsBrRbI5uCsf8l1LRDKXcARVorzQ1t46Qo4I1yrhVwZlkF5fXUEYVF96JKOEIop8H0ivfWC9iLmpKPgXZhmjd9U4ByWh9RPc_k9AGIdtMm2sKLbIOMDq1RkMR43uKhynH8SjVITMCHIAT9ddSB1=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">Some Jews go on a pilgrimage to the Western Wall, some spend hours praying there.  If you look closely in the video below, there&#8217;s a fellow running in circles and singing while people around him are rubbing their beards against the wall.</p>



<figure class="wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Western wall prayer" width="1280" height="720" src="https://www.youtube.com/embed/RrVyF7m40gk?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>



<h2 class="wp-block-heading">The Temple Mount</h2>



<p class="wp-block-paragraph">The Temple Mount is a flat plaza built on top of four retaining walls (the Western Wall among them).  Although Jews are not allowed to enter for prayer (e.g. praying, singing, or other religious displays), people are allowed to enter the area as tourists.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ/photo/AF1QipMzElK8wNs6bRJSFlDitCdXioRSxFQQBPV1WX_w?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/th7ypzzOsvMhjNAxR7_nL9o8sabz_WxKG_j_Rl7EYZuzrbj27g7ny3f3YAF9Dmdt6hRPAwQbMaBrbGac7WvGsXbtmDmygk1RlxpvhmIisZ2dUjWjanorne-JJ-fx9RnPiZjppmLz8v0_pkN-BtBVjncRQbpMi5TZn0OGZcZn4FkCVS9S2kzSFyA8SA5QWbSaWZFHCVnxNEIinHfmAObk_iU2XPCGCZrrSa59PDbtaXi63VWdVMuFfsHZ5Ltm2ojfZz0BFngK4f63vM2mOoDqYFqOXRjbBCKVbCTjxfduQNMriXdaO8O9GbxDG6-jCtD6Jie9qyzwFOUOO0P04Xd6ZIiIpvGuQ_iHoutuzt7lhynlXqBdCmLLwksHN37qySF_0IZr9Yh_qaUKaHu-YFl0BM7gzsO1DKzdPP9rem2U5_nN39DSy2UJWOIq5rhp7A6CcKoW8w_V72VsTPMlaBjd2jLt_6uQovSu2bDbLzCYdhqjxLdw7BB5ZiLmrUZGNBCmdJbQ8OsVgZc5Xlb1lhIXeEhgVu-88UpGYaSZ05n2w7zLcYsOrqGDlZeC-yQg2X5zXUIGYCW4i9P-asMICvy_tM8yuwK589aDL514vBs_Sn5ALfC2x-3MhneIOr8aEckpWAT5p2Lt3EsDpCmfWeiECwUB0ccn_JUlGvaupGbvyeGKp-3IkGDKPUhBccFLRJxeXP9hCZ3bgm9p8_hAfUFKSyvdTBMBRiDk78faw1wIxPXnxhEAynW75uiP=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">The Dome of the Rock is one of the Islamic structures built on the Temple Mount.  Unfortunately, non Muslims are not allowed to enter.  Inside the dome is the Foundation Stone, and has religious significance to both Jews and Muslims.</p>



<h2 class="wp-block-heading">Yad Vashem</h2>



<p class="wp-block-paragraph">This is Israel&#8217;s official memorial to the victims of the Holocaust.  The entire memorial consists of a museum dedicated to the history of Jewish persecution throughout Nazi Germany and the places it conquered.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ/photo/AF1QipMw9q1w-veUKcN5mugXvsP7t44LvtMveuzPXjx5?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/NKcPaqFXpgm_hHjkt3uDvktlI1Dh76IoVRtP_zTfANps567JObm8N0EwGy_oIvCcW11aPoTSdRhoCny-czISeXrBvFeIqTeidTIEsJu5Q9z0DwBJo4CmzpSUQdoG-kKF4_Y3yuuyfTsItbDHkexnhtZ13J-RGVFY7ezKxkdvmC4FbGCeWfpFLdZiGu9AsmOZYjcx-UP53srfzyzny_9U8IMh9ex4hH8phsRWl14wCFpSn1eAJsVdKlKlOv-NGhIrICbFP30WTRwiVeA0YS9PNfyFHierzXO-bhUUWcWCzVVCAxxB--7vSmbWyn4NXGxUQ9gkbe1_6IqtCNNBOuLdb9dQP_7NU5jKCVMhyfxgOgpXS119TQ6lc0paYZNk0y6t1AJAngc_j7s_GD5ob9wCTmV9D-YjX1Pxz23gxutUo0bpQyHtDjgjx4ADfF2AptUjA4GGGc5VYdc0wc19Hxub_L_HgBpVF2A_NbSzgE5fW8j79BTwt7ofw_hsffqaWEB4RkCiiwg3uOPW35JC8Ny6tWsioOWWLV3Z7I7zg67gbjXmomkO_nF7hH3xmGw05oBKj2Wl2E7bjbVKt9-USqgdPMRHBmITAs4oJkWCmlMDjnPuyvL5LQ5E2PzfcebRIRpGiQea3-IPMXdAu3MwOK6c8HIAGpMlEQoFg9Z78KqOwcO3ea7VwQRaCN50Aa0lGafWXsnmnBZv9hBPOwphrHcp5-E8iGIQefyfKSuEMgs6QP1g0SojSSOOIDiS=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">The eternal flame honours the victims of the holocaust.  In front of it is a stone crypt containing the ashes of the victims.</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" src="https://lh3.googleusercontent.com/jT3jxSaOvFRhBAPQZYWeSKA5tOlxphEjj_phQCeXrQLCljoWnzdpTCAqAcrRHKAlSKjFIsRZHo4_F6zKUt_XPNrxXagVId4Tu62QOEocqgFLYwtf29EVCoHaM2CJLtBW5UybhHgfV5Ubd7fxWqIshWaFuB_QnC7IYXpl0UJLwb9hploVsvrfBDCbEsIUd1Q5vBGWi9qptpbO_EUVaR3yKPAzTJiclkrUaW_XECZ-6Njk5J3VfCHzqVJeVO3lFkXlwW9F8pQBbjblPWt2pCcG512_xF3i4vTIvGiu51DwJhHkUhODehAf4b-icjZInAg0y8zJQSKlg8KYTxAdmGAjHtGvdpw69fCLFs_V_yYh8ENrQFmlWaGh9iLrq8JrfQuR6zXFPshylKJ866QdTisKYs8SmonotTqeaFRaWLjCy2p252bG3WPsXJqbSgEY5ssFSid8LJhbPPUZrr8Yl3iF-GrgDi9-gpvHV1Sj--Lzig7ie-IT24bjpatyYWSlio5F4JJiSxi6LAeyolYFYg-SbFJ0co8Yuou610JMR6tUofIMr3utHM681QDV1NMm6-CEWq823zMRZEelXt_MpYPl-KQjW17sMSv9tOBrMNbjkXgfCOPaT5IjRZMkzkE3XCcuuuQ2CHZ1NcySjLkKfrIecqOjimpspFPIfkacd3BTl-boPOT7GQnMXughXhb0bUaJVQ0QAUMZ859NAZM64Q0BmOucIluZpCu75NNtyt-T9PqYIbH44B9Tfv_W=w533-h946-no" alt=""/></figure></div>



<p class="wp-block-paragraph">The Hall of Names pictured above contains the the names of millions of Holocaust victims.  The shelves around the room contain the names, while the cone above display photographs of the victims.  The people standing in the photo are all Israeli soldiers &#8211; Jerusalem had a huge police presence with a lot of them openly carrying assault rifles (I felt very safe).  Even some men in public that I saw had buzz cuts &#8211; presumably they are/were in the military.  A few days before we arrived, there was a terrorist attack where a driver rammed a car into Israeli soldiers.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ/photo/AF1QipOIqblUL9qgIoEfOj1Pb5hmuDDj3am81EClafjI?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/qPDfmUBJp51kDr20Zar7jnf860fsjPm2plG_hjIrlxXRrM5gbpWs5FDg2SmxdYX6XXS00tQLjsj0ZfHbQ-FifC9CH06h5V9WzZwpD7KQTH7ecuF5r8wr1V7qThxjWkP4G0JHCym5lxL8fJg4GxhWP3wYvA219dOyG0swsFxr9ApAhR4GodYWCEMxyiW-Vf7rJ_wMq6UD_UewOZxw_C7Uj3R9Uwjexse-5qNrAQxHR7azVbQT-8uVAZ25b1P-Wd5dzxhwXH9gbru6eQT1fHbOdgoetVVv5P-v6MLJKO2N3NZM9mhuqmCZTawDMNvj7LJbbucXlvmyGMo5-8bUS9UQ5bHSWE7sk_a1tDXNO7xcnec0ZCuSNfB6cw9dqw4X_0XPMHevGe9zEuGyc3Sp0T6pkYJ1boEY6dqLIlkZJ9WYC0l8UbwfxdXR-i_kNjrVOiyJahz3QT84OZdc2em672JAGCNe0NWNgHys4sN87p3Ls20DzpIlwYRzvWNpjlTsJWjsStyt6YZ5z_CDWnnQmAJAoLIBuGA4-OU4KcioW_QNE7DW_mFzT3CGOcvFEVQNk0M7kuG9PbBqahSslFpAaTsshjy_T2bqyDpoBr3QrqfAKUuJvDnDF72fZmfZcI1LKn4eWICaMeClkVonA6hnv24ZebCaK1oLWD680eWEXSAz0zC6TWrNfa_tgoC2va8GhbkgCMc-2gSTg5e_bPJ8CV04A_Y9bk_CSsWbuEx6PYNZdrvBmb30ZTyb6vAJ=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">This train car is an example of the cattle cars that Nazi Germany used to perpretrate the Holocaust.</p>



<h2 class="wp-block-heading">The Garden Tomb</h2>



<p class="wp-block-paragraph">Some sects of Christianity don&#8217;t believe that the Church of the Holy Sepulchre contains the real tomb of Jesus Christ.  They assert that the real tomb is actually elsewhere, which they dubbed the Garden Tomb</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ/photo/AF1QipNBwhyA_jI0u_3MlDxhXX6BmW2But_6rW3HQ7ew?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/AA0wHOpV1tCoXXdswrMmbBEi-0no0xYLXjBSPRuBOUDVBzsuRX2QMXtKkiWwKWiZDY90QvU0zG9tqKGFB0BES4T2rAj2C9HdvJ1qtdhNumBlHRGgfEID637iCq2I8aEWhy-Sa7e_Mp-RK4-yceKOMmZrFJvLcDgyPf1OAh84yPMIu1f_cnOkl3CfSdihZyjnI2_7NoBZxRgxEAJ5L9no9Jg9sUFvfwFO9jNteDkCSnH-ObMHFGDPDHNQwKmlChtJ6R3S82wI67gXa2ZWHs6-zcsocMSknkwSnh9bF1i8wK9bS01_BV5vpUW89st78rc8_H7EA6_DvqLwgCMHoaCdbuEsa73Ui1GO56AR6ndmr_DTh0AbjTKPMn6Irj9JOXmxcdLW_7YcdUWs3d7QlEfKqokJfyp2D3a-iaO8Jd5a4bck2M1-eY7U8I5D_tc2cANTD-QuBrQgrZeCVi3H_c2v82X_OmdRPgl0iQqzq0wwc2pjc4Yw-ky02a4rY3RgKO-1iaxlB01tANDn5oXxT063ecLNtrDC2Ag7E0nJTfcoyqD-_v84yarfviFAHbvi6n8_zmWsM88vL6-JUMx9QDNgGyd8Oxedm1Hfwzf4Vuj4GOkw8yKClAFa4s0QE4KxvBHnx1zj4ME4HSCd4m71dAM8tc6GoBChyFgc5mrelvrTCujN1W0XwCARwXV3FsYmQ1MOG9Zg68bX9utSbN0KGCJuV3UdCAfJoeuG6JwomCSAJL3ZEuwuQqJW3pnp=w1680-h945-no" alt=""/></a></figure>



<h2 class="wp-block-heading">Outside Jerusalem&#8217;s old town</h2>



<p class="wp-block-paragraph">Because Israel has so many Jewish people, McDonald&#8217;s started a special chain that serves only Kosher food.  Even though it&#8217;s kosher, it tastes the exact same as regular McDonald&#8217;s which is pretty amazing for what it is.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ/photo/AF1QipOcMRp-ietZU6LGA9e1xlXjGm9yTLE3VOBx8Jx4?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/0wJRdnnrSyiMTQbYdRurYNx59IWR3xxcbtl-2Q4DzjgGVu-n5Tyz8ewf4sQDhp1WQ5AccD7AGwy58yqlPWiPYHENbouGVHJhg0mOI9umjZjDp_7S98H_pN4PnvXFwpUcQjkqHThOMcSSf8G8BC0jfgQ-PTsC6BrCY38SvZ3Ws2Q_8TP6oxRYdnft6Be_kauRlQEMLoTufqpj2SK5ZHAOTcNw-iqdH0DSYisd6XW8SCafT0_Un-qUUTcgIltbOlhUHKOgXEt_2uakOs57gUqCS2Y9-9JYHRCFqEGb9Qlz8sUhPHoWbsm8vO9iK4I-bEYtHh26BnHY25ZeOv93SpR-cV3pPEpaK1fz4ZC_bm0BCzkLaj-OG14Mm_K5UNFvTJv_3VMEkQ-xOyUrCvcOAkHTI4Z4LiwfLw9znvl1iX80wyxxwbGCPK1uUm9dIVfVgxVE4WtIvveZGPklWxeYcMEgQ6Wvnz0x9xlnobRgVWySAP0djUnxUlD6ap-qYAMk0KdrUlPpk8ykQ7qA7yPAQrf7by423LHM1Igg-8c9kWSAIK2Ul3VNhf66oicJu2Mn3QNk91dKX6Jt72LwGiVKSDSo6KW5mHOQZFTAHxO28o2Z0QHxpbJo5WTOL8liQxQXE1Sqxe54gw6LAcbjobM2BIA1dnhcZF6kr3CvKqLWIDJ3hWmYFxEn3Yt3YhDWDb2Ld1jKYHd4Z_aogEP4CNRGe9H1PCVUOYVqNmMgwxn6WHugAFhFrEs7TwCitXHj=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">Oskar Schindler is famous for saving 1200 Jews during the holocaust.  He is now buried in Jerusalem.  Putting stones and pebbles on the grave is an ancient Jewish tradition to honour the deceased.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ/photo/AF1QipNlrYlDMJ4KidMOrsTtdhUszsWrra0B7GZZoRGw?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/founaibpBipvhVn1JYzO4awH58kp1x1FQ7y6OQVYIzTW_AzLIxphNmBQrBhLoPV8mh56Sj07ERw2YUAFlfEyA1XU5S_qfItmMabhziHj2sXJBp8LWqFOJdhndTPAs1q4bd8mVjkZmCE_cxO2bXmx82JieHZY8kVGcukJtUVYjTFhWdFAJ9YmnIlm38Q0ZbHZWHHrw2ajQSa8iortQK6CTYFuDDTBm87kDxZe0l_F67G8Sr-ask1l5GHo7vDDncMlBFcuOqyBYwgsWBQ6-6M0E_lPyRp3fzIfUfMvNhnbgcsuKYnfr0VaDA80o0neOu7OXBj8Ea64bnm2Py0Sxwt3pwgqymGbFUAXA1yNYJjq7gQaTVn6ykeaOxPVsqc-BOnWBTznLv6cSZ3JbY-WxAjOMmsSSj0zTxLqgldplgUtHD1N1zQmqY9wnI5FNxljayCKCg7zDJAbD1AbOyNkk_2DE2CrYNlJFltY6kp6oU-_fxfCt3jrgZdop9tLdf782dHwPgxSbhcma92pmOCqQuTPYHNotTwhVioCuZmxypJ6gBynXz_sCPMEYyRuSYxoW5bhKBXunlPwIaqcqi2v6m0RLihX_TSBpbxTb1WeF9D0Gb1g8q2_Qo0AXrvJ9Fz-AvLYVfvwzoyvTKKytw2W1yJ9Po0nja8GCi-QqsTxAqSSbdaKQhOuTwHqJzygKWXI9r9esynCPprwxd_j12VObGLbgcbs4G7vNFO57alZa42qHTIex0PxKhC7wJj1=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">There are also a lot of stray cats everywhere!  I didn&#8217;t see any dogs though, just lots and lots of stray cats everywhere.  People must take care of them though because they all look pretty well groomed.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ/photo/AF1QipPfhVIkAQ_Kk6S2ptcdevvVAxMyZXCb1B0TO4Df?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/1cr9CssnrAVFcFoNtw_ZKyO-24FbfN7Hq0LUUdnnYQ5WnqjzOkOSPzIi8XigRej3DmThBO5WrKu762_NcZ_paPNhk8DvuOFakWCt_bIiE4D1CKvTMO7WbMYeYNtXhb6pP2hdjt0l1PrwFNHLKGJrJ_xJ_3AVEZJj4rwb4bLhkUb0siXsqAVOU00WHWH_Blcj9JOupWy_B4cvxCRSSps7C-EtNaU2yQ3zVdc7OjRRPt9DGOjOBj9ewKMkRzHGF_6jh8kkPvJ8oGGhZSepAnvDnou4acd2ijr3uPNOk91cJcQ4Nk_r2HeHSR__ppfOVmhluSS7GHwBgSyGaa5PutShK4JyrpvvRo2c_TGxJ8aPAzZoqLCU_r6JykjiuDrdK2Jq3-r2Yk65HVwSIks8toW24t1Fc5GxhS-mfs2myQoszRj0WxLnZZ-UuEXJCV9DG1Haak1kbrFjYarxmwLHeGFWDLOMlhb1PZ-DE37zAkJJpnqdMyMg1e_BzVZSi8v0KXN7tRCr1cqqNk8TdDyTWEpO7RMCIapKGFpshrUj7bQzxflSYvdzklcJZR-_ovfqhhL3c3tAAhj_mE7-ZUGcDLKJt9L2As6eoY5zIdW5cBo_CxmGW4rHTAireipjppNPBg6HplSeUjTc5gBvEsYaAOMqB11wj13vAlXXgOoBOLNK4JEJpKQwAeb5lX9GwIfkumpIDR-qB7L_kMXkp1OfmK9BkwQjK5jPWcXB61TZ5bhrBnE4BszJ_eLyccBL=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">Photo album: <a href="https://photos.google.com/share/AF1QipNermv8K4VdTqnsanQtUCnipUTuoxhGXSQc_kE4Y9IcWY-vQ3cSCeRWEmra3graYQ?key=WXRuRDlwbHJIWjFUTEd4bGxSVi1haUVRcVBfRHFB" 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/2020/03/15/jerusalem/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5100</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>Installing Seafile with Docker and Apache 2</title>
		<link>https://blog.henrypoon.com/blog/2019/06/12/installing-seafile-with-docker-and-apache-2/</link>
					<comments>https://blog.henrypoon.com/blog/2019/06/12/installing-seafile-with-docker-and-apache-2/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Wed, 12 Jun 2019 07:12:42 +0000</pubDate>
				<category><![CDATA[computer stuff]]></category>
		<category><![CDATA[engineering]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[9]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apache 2]]></category>
		<category><![CDATA[Apache HTTP Server]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Chan]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[cloud storage]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Dia]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[DROPBOX]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[File sharing]]></category>
		<category><![CDATA[Free software]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Gran]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IOS]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Lie]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Matt]]></category>
		<category><![CDATA[Nap]]></category>
		<category><![CDATA[Net]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[OS-level virtualisation]]></category>
		<category><![CDATA[Page]]></category>
		<category><![CDATA[Password]]></category>
		<category><![CDATA[PATH]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[Run]]></category>
		<category><![CDATA[seafile]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[System software]]></category>
		<category><![CDATA[Systemd]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[USR]]></category>
		<category><![CDATA[ypres]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">https://blog.henrypoon.com/?p=3509</guid>

					<description><![CDATA[Seafile is an open source file sharing software that allows its users to setup their own cloud storage at home. Think Dropbox, but self-hosted. This post is about deploying an instance of Seafile using Docker on a non-standard port (i.e. not 80 and 443). The reason to deploy the app on a non-standard port is [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><a rel="noreferrer noopener" aria-label="Seafile (opens in a new tab)" href="https://www.seafile.com" target="_blank">Seafile</a> is an open source file sharing software that allows its users to setup their own cloud storage at home.  Think Dropbox, but self-hosted.</p>



<p class="wp-block-paragraph">This post is about deploying an instance of Seafile using Docker on a non-standard port (i.e. not 80 and 443).  The reason to deploy the app on a non-standard port is usually because there is already another webserver running on that port (in my case Apache 2).  In such scenarios, it is necessary to set up a reverse proxy so the Seafile port can be exposed by Apache on ports 80/443.  Under typical circumstances, deploying Seafile on a standard port would mean that the app would host itself without the need for Apache 2 at all.  This post also assumes Ubuntu 16.04 as the operating system, but in theory should apply to other Linux OS&#8217;s.</p>



<p class="has-text-align-left wp-block-paragraph">The process can be split into multiple parts:</p>



<ol class="wp-block-list"><li>Setup Docker</li><li>Deploy Seafile</li><li>Configure Apache 2</li><li>Setup systemd</li><li>Setup e-mail (optional)</li><li>Backing up the image</li><li>Troubleshooting</li></ol>



<h2 class="wp-block-heading">Setup Docker</h2>



<p class="wp-block-paragraph">This guide won&#8217;t go into depth on how to setup Docker, but rather the setup guide and more information about what Docker is can be found here: <a rel="noreferrer noopener" aria-label="https://docs.docker.com/get-started/ (opens in a new tab)" href="https://docs.docker.com/get-started/" target="_blank">https://docs.docker.com/get-started/</a></p>



<h2 class="wp-block-heading">Deploy Seafile</h2>



<p class="wp-block-paragraph">The key page in the Seafile documentation for deploying Seafile within Docker can be found here: <a href="https://github.com/haiwen/seafile-docker" target="_blank" rel="noreferrer noopener">https://github.com/haiwen/seafile-docker</a>.  The command I used is as follows:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">docker run -d --name seafile \
  -e SEAFILE_SERVER_HOSTNAME=seafile.example.com \
  -e SEAFILE_ADMIN_EMAIL=me@example.com \
  -e SEAFILE_ADMIN_PASSWORD=a_very_secret_password \
  -v /opt/seafile-data:/shared \
  -p 8000:80 \
  seafileltd/seafile:latest</code></pre>



<p class="wp-block-paragraph">I recommend setting up Seafile with an actual secret password because it&#8217;s not easy to change once it&#8217;s set up.</p>



<p class="wp-block-paragraph">Note that the port argument shows 8000:80.  It means that Docker will use the host port 8000 and the container will use port 80 &#8211; meaning that using Docker will interpret requests from my host OS on port 8000 as requests on port 80 in the container.  8000 was used on my setup because port 80 was already used. </p>



<p class="wp-block-paragraph">Once the command is executed, the necessary files will be downloaded and the container will start and will be accessible on port 8000.</p>



<p class="wp-block-paragraph">There is also an option to setup Seafile with an SSL cert from <a rel="noreferrer noopener" aria-label="Let's Encrypt (opens in a new tab)" href="https://letsencrypt.org/" target="_blank">Let&#8217;s Encrypt</a>, but I didn&#8217;t do this because I already had a cert that I wanted to reuse.</p>



<p class="wp-block-paragraph">Once the server is up, navigate to <a href="#">https://seafile.example.com/sys/settings/</a> and change SERVICE_URL and FILE_SERVER_URL to match your domain name.</p>



<h2 class="wp-block-heading">Configure Apache 2</h2>



<p class="wp-block-paragraph">Adding a reverse proxy on Apache 2 will allow Apache 2 to route requests to port 8000, which will go to port 80 in the container.  The main reference for this section is this: <a href="https://manual.seafile.com/deploy/deploy_with_apache/" target="_blank" rel="noreferrer noopener">https://manual.seafile.com/deploy/deploy_with_apache/</a>.  This is done by adding a new site to Apache 2.  The following configuration assumes that a LetsEncrypt SSL certificate is used.</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">cd /etc/apache2/sites-available
sudo nano seafile.conf</code></pre>



<pre class="wp-block-code"><code lang="apacheconf" class="language-apacheconf">&lt;IfModule mod_ssl.c&gt;
&lt;VirtualHost *:443&gt;
    ServerName seafile.example.com
    ServerAdmin me@example.com

    RewriteEngine On

    # ModSecurity does not process requests.  There is a hard limit of 1 GB
    # with ModSecurity.
    SecRuleEngine Off

    # Whitelist internal IPs for mod_evasive
    DOSWhitelist 192.168.1.*

    &lt;Location /media&gt;
        Require all granted
    &lt;/Location&gt;

    # Stuff for seafile server
    ProxyPass /seafhttp http://127.0.0.1:8082
    ProxyPassReverse /seafhttp http://127.0.0.1:8082
    RewriteRule ^/seafhttp - [QSA,L]

    # Stuff for seahub
    SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:8000/
    ProxyPassReverse / http://127.0.0.1:8000/

    ErrorLog ${APACHE_LOG_DIR}/seafile_error.log
    CustomLog ${APACHE_LOG_DIR}/seafile_access.log combined

    Include /etc/letsencrypt/options-ssl-apache.conf

    SSLCertificateFile /path/to/cert/file.pem
    SSLCertificateKeyFile /path/to/cert/key/file.pem
&lt;/VirtualHost&gt;
&lt;/IfModule&gt;
</code></pre>



<p class="wp-block-paragraph">I&#8217;ve added my local domain to the whitelist so that mod_evasive doesn&#8217;t think my local host is a threat.</p>



<p class="wp-block-paragraph">There are two sets of ProxyPass and ProxyPassReverse lines.  The reason for this is that Seafile is split up into Seahub and Seafile, where one uses port 8082 (by default), while the other uses 8000.  These two lines are essentially what allows Apache to read requests from port 443 and pass them on to the container.</p>



<p class="wp-block-paragraph">Once the file is saved, execute the following</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sudo a2ensite seafile.conf
sudo service apache2 reload</code></pre>



<p class="wp-block-paragraph">Navigating to the site at the Apache 2 defined port should now load Seafile without having to go to port 8000.</p>



<h2 class="wp-block-heading">Setup systemd</h2>



<p class="wp-block-paragraph">systemd allows the Docker container to be started up on boot, and be controlled like this:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sudo service seafile start/stop/restart</code></pre>



<p class="wp-block-paragraph">The configuration is as follows:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sudo nano /etc/systemd/system/seafile.service</code></pre>



<pre class="wp-block-code"><code lang="properties" class="language-properties">[Unit]
Description=Seafile Server
After=network.target mysql.service

[Service]
Type=oneshot
ExecStart=/usr/bin/docker container start seafile
ExecStop=/usr/bin/docker container stop seafile
ExecReload=/usr/bin/docker container restart seafile
RemainAfterExit=yes
User=root
Group=root

[Install]
WantedBy=multi-user.target</code></pre>



<p class="wp-block-paragraph">Once the configuration is saved, shut off the existing running instance of Seafile and then let systemd start it up for you.</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sudo systemctl daemon-reload
sudo service seafile start</code></pre>



<p class="wp-block-paragraph">At this point, Seafile should start automatically on boot, with Apache 2 doing a reverse proxy to the true Seafile port.</p>



<h2 class="wp-block-heading">Setup e-mail (optional)</h2>



<p class="wp-block-paragraph">Optionally, Seafile can be configured to send e-mails.  The reference is here: <a href="https://manual.seafile.com/config/sending_email/" target="_blank" rel="noreferrer noopener">https://manual.seafile.com/config/sending_email/</a>.  The config file should be under:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">/opt/seafile-data/seafile/conf/seahub_settings.py</code></pre>



<p class="wp-block-paragraph">I happen to be using Gmail SMTP, so at the end of the file I&#8217;ve added</p>



<pre class="wp-block-code"><code lang="properties" class="language-properties">EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'me@example.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = 587
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER</code></pre>



<h2 class="wp-block-heading">Backing up the image</h2>



<p class="wp-block-paragraph">After setting everything up, you&#8217;ll probably want to backup the Docker image.  First, print out the list of running containers</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sudo docker ps</code></pre>



<p class="wp-block-paragraph">Then take a snapshot of the current running state:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">docker commit -p &lt;container ID&gt; &lt;whatever you want to call this snapshot&gt;</code></pre>



<p class="wp-block-paragraph">Running this command lists all the images and should show this newly saved image:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sudo docker images</code></pre>



<p class="wp-block-paragraph">I don&#8217;t have a private docker repository, so I saved the image to the disk and backed up the file by doing the below.  Just make sure to actually move the image to an actual backup location.</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sudo docker save -o &lt;whatever path you want&gt;/&lt;filename&gt;.tar &lt;the name used earlier&gt;</code></pre>



<p class="wp-block-paragraph">The image should be backed up now.  To restore the image, it&#8217;s a matter of running this:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sudo docker load -i &lt;path to the backup file&gt;</code></pre>



<p class="wp-block-paragraph">Listing the images as above should show that the image was successfully loaded.  Running this starts it back up again.</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sudo docker run &lt;container name&gt;</code></pre>



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



<p class="wp-block-paragraph">Seafile logs can be helpful if it doesn&#8217;t start up correctly.  These can be found at:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">/opt/seafile-data/logs/seafile</code></pre>



<p class="wp-block-paragraph">There may be a need to ssh into the Docker container.  The command for that is:</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">sudo docker exec -it seafile /bin/bash</code></pre>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2019/06/12/installing-seafile-with-docker-and-apache-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3509</post-id>	</item>
		<item>
		<title>Setting up your own Counter-Strike 1.6 dedicated server via Docker</title>
		<link>https://blog.henrypoon.com/blog/2018/09/23/setting-up-your-own-counter-strike-1-6-dedicated-server-via-docker/</link>
					<comments>https://blog.henrypoon.com/blog/2018/09/23/setting-up-your-own-counter-strike-1-6-dedicated-server-via-docker/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Sun, 23 Sep 2018 20:00:12 +0000</pubDate>
				<category><![CDATA[computer stuff]]></category>
		<category><![CDATA[gaming]]></category>
		<category><![CDATA[Chan]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Computer architecture]]></category>
		<category><![CDATA[Contents]]></category>
		<category><![CDATA[Counter-Strike]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Directory]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Filesystem Hierarchy Standard]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[HLDS]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[Installation]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Net]]></category>
		<category><![CDATA[Operating systems]]></category>
		<category><![CDATA[PATH]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[Run]]></category>
		<category><![CDATA[Sleep]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[System administration]]></category>
		<category><![CDATA[System software]]></category>
		<category><![CDATA[Systemd]]></category>
		<category><![CDATA[Team]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[USR]]></category>
		<category><![CDATA[Variable]]></category>
		<guid isPermaLink="false">https://blog.henrypoon.com/?p=2992</guid>

					<description><![CDATA[Once upon a time, you had to run the HLDSUpdateTool, and then SteamCMD. But now, awesome people on the internet have created Docker images for setting up a Counter-Strike 1.6 dedicated server. Now, all you have to do is: Install Docker on your machine Get a Docker image for a CS 1.6 server (I created [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Once upon a time, you had to run the HLDSUpdateTool, and then SteamCMD. But now, awesome people on the internet have created Docker images for setting up a Counter-Strike 1.6 dedicated server. Now, all you have to do is:</p>



<ol class="wp-block-list"><li>Install Docker on your machine</li><li>Get a Docker image for a CS 1.6 server (I created <a rel="noreferrer noopener" href="https://github.com/hpoon/HLDS-CS1.6" target="_blank">this one</a>, which is based off of an <a rel="noreferrer noopener" href="https://github.com/kriansa/cs-16-server" target="_blank">existing one</a>. Mine has:<ul><li>A lot of maps</li><li>Metamod</li><li>AMXModX (with high ping kicker, podbot control menu, round money, rock the vote, and admin all in one)</li><li>Podbot</li></ul></li><li>Customise the server (e.g. editing the server.cfg, amxx.cfg, and other config files, etc.)</li><li>Start it up! (the README.md in the above linked Git repos has more info on this)</li></ol>



<p class="wp-block-paragraph">As far as ports go, I only needed to forward 27015 on my machine, but your mileage may vary. Others have reported that <a rel="noreferrer noopener" href="https://developer.valvesoftware.com/wiki/Half-Life_Dedicated_Server" target="_blank">some more ports</a> must also be forwarded on some machines.</p>



<p class="wp-block-paragraph">Then optionally, if you&#8217;re running Ubuntu and you want this server to start up like a service via systemd, you&#8217;ll need this:</p>



<ol class="wp-block-list"><li>An executable script with path /usr/local/bin/hlds with contents (make sure the DIR variable matches your installation directory):</li></ol>



<pre class="wp-block-code"><code lang="bash" class="language-bash">#!/bin/sh

# Do not change this path
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin

# The path to the game you want to host. example = /home/newuser/dod
DIR=/opt/cs-16-server/bin
DAEMON=./server

start()
{
    echo  -n "Starting HLDS"
    if [ -e $DIR ]; then
        cd $DIR
        $DAEMON start
    else
        echo "No such directory: $DIR!"
    fi
}

stop()
{
    echo -n "Stopping HLDS"
    if [ -e $DIR ]; then
        cd $DIR
        $DAEMON stop
    else
        echo "No such directory: $DIR!"
    fi
}

reload()
{
    echo -n "Restarting HLDS"
    stop
    sleep 1
    start
}

case "$1" in
    start|stop|reload)
        "$1"
        ;;
    *)
        echo  "Usage: $ 0 {start | stop | reload | status}"
        exit  1
        ;;
esac

exit  0</code></pre>



<ol class="wp-block-list" start="2"><li>A script with path /etc/systemd/system/hlds.service with contents:</li></ol>



<pre class="wp-block-code"><code lang="properties" class="language-properties">[Unit]
Description=HLDS

[Service]
Type=oneshot
ExecStart=/usr/local/bin/hlds start
ExecStop=/usr/local/bin/hlds stop
ExecReload=/usr/local/bin/hlds reload
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target</code></pre>



<ol class="wp-block-list" start="3"><li>Then execute:</li></ol>



<pre class="wp-block-code"><code lang="bash" class="language-bash">systemctl daemon-reload
systemctl enable hlds
service hlds start</code></pre>



<p class="wp-block-paragraph">Feel free to check out my server that&#8217;s running right now with the same Docker image! Here&#8217;s the command to connect via the console.</p>



<pre class="wp-block-code"><code lang="bash" class="language-bash">connect henrypoon.com:27015</code></pre>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2018/09/23/setting-up-your-own-counter-strike-1-6-dedicated-server-via-docker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2992</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>Krakow</title>
		<link>https://blog.henrypoon.com/blog/2016/08/10/krakow/</link>
					<comments>https://blog.henrypoon.com/blog/2016/08/10/krakow/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Thu, 11 Aug 2016 06:50:36 +0000</pubDate>
				<category><![CDATA[europe]]></category>
		<category><![CDATA[Air Canada]]></category>
		<category><![CDATA[beer]]></category>
		<category><![CDATA[Canada]]></category>
		<category><![CDATA[Castle]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Counties of Poland]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Districts of Kraków]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Euro]]></category>
		<category><![CDATA[Europe]]></category>
		<category><![CDATA[food]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Hole]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Kraków]]></category>
		<category><![CDATA[Lesser Poland Voivodeship]]></category>
		<category><![CDATA[Light]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[Montreal]]></category>
		<category><![CDATA[Museum]]></category>
		<category><![CDATA[Museums]]></category>
		<category><![CDATA[old town]]></category>
		<category><![CDATA[Paris]]></category>
		<category><![CDATA[PATH]]></category>
		<category><![CDATA[Pho]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[rain]]></category>
		<category><![CDATA[Run]]></category>
		<category><![CDATA[Synagogue]]></category>
		<category><![CDATA[The Holocaust]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Uber]]></category>
		<category><![CDATA[Vancouver]]></category>
		<category><![CDATA[Vol]]></category>
		<category><![CDATA[Wawel]]></category>
		<category><![CDATA[Wierzynek]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">https://blog.henrypoon.com/?p=2305</guid>

					<description><![CDATA[In June 2016, I made yet again another trip to Europe! This time, my travels have taken me to Krakow in Poland! I flew Vancouver to Montreal to Paris, AND THEN to Krakow. It took basically a whole 24 hours, but at least I got a $200 Air Canada voucher out of it by volunteering [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In June 2016, I made yet again another trip to Europe! This time, my travels have taken me to Krakow in Poland! I flew Vancouver to Montreal to Paris, AND THEN to Krakow. It took basically a whole 24 hours, but at least I got a $200 Air Canada voucher out of it by volunteering to get bumped to a later flight.</p>



<p class="wp-block-paragraph">Travel tip: THERE IS UBER IN KRAKOW!!! To go from the airport to the old town, it costed only 25.46 PLN, which is not even $7 USD to go about 12km. That total was split by 3 people, so that&#8217;s about $2-something per person.</p>



<p class="wp-block-paragraph">Our hostel was in the old town, and was in walking distance to the market square.</p>



<p class="wp-block-paragraph">South of the old town is Wawel Castle.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/album/AF1QipMCJVLos5TY9Vkl-5YhP9cjb_Bxn5kk2PvAJuPZ/photo/AF1QipMOl0NDgbtGDW5v6g2ocjrPQ4MlWW3852E87Dng" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/qkdBb2-txdEsccvG-Zs-jUA5T7Ra_ftXQcZ-cKK1rW6w4jk0G1ud2eFihvvTSyJukp98rVyfwC1oj7HO9Dry-TIFiZHzncGKmKaPlyvB6WOMZ0ZW0cIR2nZ4nJFKB-iNMzkx3Sg6Tr_Hoje428GJaLRPpBlvRnzzcy6XEy3Bj-3jNMRtsr00Nt9Np8tTlcbO0q3n8b4kK7eNsFBSWJj4g3VXYV41ZJSTX3f1LiXtaKP9sC0a242dWTGBrQPGRLBu4mgehdFX349f9NYjxcSC_5_xOGvnh593sg4FPsmGmc_lkvLjLOW2-youmtcGwmuwakhXcKnNgyBEomhYMCNtfqH02ByxJcVAF0N6KeZcF0reqwk61gyfpR9zpyzqKofwmo6kTjIeoE9f8uXtS5QSndwRCI--9Q6zaEZbGjcqxPhzymcC4Cebb4lZAdeNwCQGSkrStg5uSUxpm99HAUTs27HLIQhcOTGlEX_KUjpnx4FHpqGiQoonFC76-OjdxPJX4LLNb4mataHMUNOgc3zGzBjIgE0uRY4U01oz1CI3CxsTC44JNbxVnuAHdJ4HHcagnO_3sP12WGoeBBoLYEAe5PVt68GqXpXb=w1759-h989-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">And it&#8217;s got a great view of the Vistula River. It&#8217;s a got a great bike/jogging path that runs along it too.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/album/AF1QipMCJVLos5TY9Vkl-5YhP9cjb_Bxn5kk2PvAJuPZ/photo/AF1QipNhiVLF4quvpByMuUTsXUoZvWYWIt55e-xZJutu" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/6dRcUWviLPwTQWRfXwV26cWiSD3EpXOrIW6cUC3rBJ4RZPMuC9l3tx7jwJ_WOj3not5rM47g19kiD3NgYjGSa050YRxmPXGo93vjMRBsSI4vm2AKBFnSV1XH9IVdq2sE35sa3nGFA_P8uXRUA73J68k9j5olTct2R3lpqc_ScTjrIOR7csz70LIDqP-NJ-J4vrynO3byFsEAYfW0FzDMMw0Pksmf_zaVKnffsGaQhz9sH8lVj2wOhtQSXVFicABittQRwJSTUlD6viInnuoITOHVfcSnJ2756AfNmXmYWS236lGXtwajL8swk9Wx_v9KbAefgjOwOJ-Ga0XN1hJrW53jiE9yI71VznRr4qS_KFfy3XM5nVteD3nGKwhj02j6wPsfXg8Lp5NfB2ZdjZ_QGTRQepC5kXyX6yjk_IO2v45rFhfIm--hEThJNLu2h0jLWT1p53BYB-FtXS-Glx0rRyP5k6Fj8xQk6ZxUfqTliA5Z8cH4IHqEYjyjzItsEPxdR58YN70qXsodCEI8A6jXZx743mKRDe9ay7XBg_pCbXGP3CDZ2zF4c4RzchLQT7Tdyuhawt8r_tJxe16re3yKVdVH-FGueyf9=w1759-h989-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">We went on a walking tour to the old Jewish quarter. Since the war, it no longer housed the vibrant Jewish community that once existed. &nbsp;The Old Synagogue, built in the 15th century still stands today.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/album/AF1QipMCJVLos5TY9Vkl-5YhP9cjb_Bxn5kk2PvAJuPZ/photo/AF1QipM5GvlJZxkif1nrB4olC-GR5819Xkob8WXCciw6" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/JHB2ZA-naY0LwA3RXdIZzeVFmQeKmYgUZOxQTLOQwGYYaO9l4v5QdnRcZ0gKOexxzKhlCitQcS2cwq89oRT6wpwCT50SnxhnqRCVe4a8hxrKqqmsmm-o8gcTkRoMWn__n6p1qvzhiZJKmVPaO3K7xSkAblWmPlMsmlWcETKiCAWI3pf7p-w3EBm4w1OJCNf5uFKrcCZVSqjI9pP906-JNxJmHfSSeTA--G43kjNIFG3fm3XvbUohtJA1N6KvSaLLp-BaVSpeBxsXwVQgH_27kpFJELEwanDyvvEOmeYzbPWyccB7wmsxXIgW8vFPS2ytYDznewS-osnuWrYKGK0Kc13g70ECx2r1jt1fzv_4TfY95EvQGEKb9y8xNXCC-2qFbRx605gWPZ9kysr5jC-s2nbo0mD3dnA0BCev1vj9OIN6k_XAV6i-Ex5O8Hq-yCMUf4KKUUCZWAauFvUxS8TAbHavbEIIbCnnwLZrqCl624EUX4BoPsC84YHK2O4VzJT1vyf9JQI6OGV9vmBwx5DccnYFjNnSfhBv389UaD-aZ-yb-q67Wfhw1MHVZQlV2N8CGBs2Lv-vY7P30daxAk052KhUQTUzsFS9=w1759-h989-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">The former ghetto now looks like this. Each chair represents 1000 victims.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/album/AF1QipMCJVLos5TY9Vkl-5YhP9cjb_Bxn5kk2PvAJuPZ/photo/AF1QipOSSLlvYT4wdorL7-h5rBys_m2YhhqdIBNxbVIR" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/DzihnMpZHwHPpCpViXvbJKHt8RCSh1o8Lh6euP41yUxg23cdJlVpjrllX50OSftKFTBksyeliYA-AFVjtyhRL_63M74AyTjrVsuFz5ddEAsr5QadvdqZF0L1G5dlmdxUsgum1tZwc-Mqri7exOjKDvJToy2bYpB1cltkFauM76mUcSlekS21kCgoMf5KnK-5Gb1tF7sK2Z1px68F2LtdjodfHV-V2anLC6KpzSHk1MHGlg3rlE2cMVYFcrMzpA15C-KDZrC-gRePZc0LwgFQl36QwzuZ5uUyRvOY_JiyGB4Bk8XS1BlgXo8RKG7ifSxTNRCpvjBKSep_-0YX4q_BxZ-6FzypnLs2Rp39kd35kd6BmVhGTEttj_nQBEazuHy6ZQ1MDBiV3yQ8bWhNap1joERbs17zQgClM41qUvef4FdzzFGdjVFFOZAkKGUdq13cSdUo5ETxGpo2mGMGviJdCyVcagw3Lvz9FZTRBqfkMxs8hDWd7H65ht3DKB5N9s621geVzXyD5vv4JHIZAaoGgvBswGh9BB9zo5lTNDwuOKwwYKCY0S4y5SfmxjKm6IHcw5-WUD4920ahuWMIYOodrYy3d8TK9qEh=w1759-h989-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">The tour ended at the former Schindler Factory. It is now the site of museums for art and the history of Krakow. One of the exhibits is a cable car that used to run through the city. The sign says &#8220;Use by Jews forbidden&#8221;. It&#8217;s one thing to hear about what the tour guide says about the holocaust, but this sign was much much more impactful.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/album/AF1QipMCJVLos5TY9Vkl-5YhP9cjb_Bxn5kk2PvAJuPZ/photo/AF1QipMyOq3_WSbXpu3eZou_2aCzQCNVLqr1rSI6kvbz" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://lh3.googleusercontent.com/LZHWMIUqTb57azz-zw_wAQn3d5Pz4xxO73wo2UNHxEOWqfEIUrA3R8DtFYTSKzLC4le25hDv8S_kx5wDZURC5o7VelL1SUzy0wxSBNlAFByLMU2sKJBhaUv5keDywPbVHesIZD9G6DHwa2QOkLD5h7ANo-hN74SCVPdfWKW7LyqpZ-75KhHdI75f6_Smvcqy-NUSwsrc_FJndBRc3Os2cKoOB6wcdgTYYKM7V5ubKEb-GK4yewUldRLm2UuCnfvK3PdFGtEWyMan0mB6Joa1f8FnorWLmSJQk3D87uTIipx_NR9Ke8WcQpfa-2MPOlEeG09jj3zUIQHwcKOahqLboVOFeMbhp3YTrmCrYGLL9vWxxy2rFJYsxWNef2583SCGEgSQLSdNEoB6yJXFaZ75UOkIJNz9gt7IDzA0-TG6VJPXUK4wvSTLtTG6lz5h8CromEGhqIfBap9_-epqIchKgwpQDMbVODmHbNTPVIDxFKMc4F5BuCgrala3TL0JBzPzQyOEOPWLYDqm9WygAyuHr8DyS1UaE0FslH0MxfefM8zY3PmD0RZHvSAcLS1Sdnd_sovBNFsu4pDrLkWmZ4-VVOjvOgLEs4zi=w1759-h989-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">A less depressing topic: food. I can&#8217;t go to a new place without drinking their beer. I definitely like it a lot better than the beers I can get in North America. And then there&#8217;s bread. I really like bread. A local brand of orange juice, called Cappy was amazing too.</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/album/AF1QipMCJVLos5TY9Vkl-5YhP9cjb_Bxn5kk2PvAJuPZ/photo/AF1QipNNOyLjXMYO2PWzduPUp2mpt3vLoKlSvF5EXZWa" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/o0__VS4b1macpTlS46-b2XVo7xEiJsNT5ETYIdykN_JDBKGaGsbfxMIZzHQ0cQkA7Jua-sfMxw1ytQvnFFS0mkt4_LDHpYdBykXVki2oygYwFgIIu6bjc9ILZsANRecqmdZ5VZ6ER3dPwMlCP1pL4Ls2Olm2ivh3vI4RhyEQzkbAqanBNpZ7Jks4p1IN3iSDLB0sBpN6oWeHz_iAwg9nHcXGjqGYRu5-6cuX0Z2btMJ1U8K9oh_y3xMkc3iH-q71mWrVu2rzPWetD4zTi1e4j-GvkfdRwU5n2bPOWNWMHTSYNPyFS8q_HxqQ_kVJDkcqtsXB30MC-_RMpCfWxxvUF5-osSO8zp_5SRc1AvrSx8SzRQyAC8HKbFiSqTzA-UAbtDZjn74fMfKiGVcyuGvhMegm76NFEt2y6ZltJXZkx-5M6hqwGk7mrzf9NJDGgXq9wuOPSF7CJzkpnSSVV3BDUfpT4L4kmbWCou8ePMHhuQtLMFlTTwHvXmAZbf-b1uT8HpjHHQ0HtTHbVI74I1-mkc84n1HIGL9Px9PB-8c_AcFSA9_dizCgsJE1uEdqpjypnGK0ExwyEVDUgpHXBQ7d6h_8oRqyHo9I=w557-h989-no" 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/album/AF1QipMCJVLos5TY9Vkl-5YhP9cjb_Bxn5kk2PvAJuPZ/photo/AF1QipPMfE34edrCc98zSzSyzwwOcKFc2tAeNRTbOaUF" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/3SIpMJQG1Ulh34KccUHJPhe-0Ofz3CbJ8BiLl3gvPFtdRLDnDQjpE9ymln204DwImNlt1IpTyas_95uDAasEFjxTLLDqePou1qIs4PjWX8wH674wRed_Dia9Pp-CvS-dT_Ra_N0tLLKc6eizPPtoGErPNNwZ5wyZkjtt_PdNOFX5mY7YAfpFUVTDYvBxSgEtnJDVqSwmDCSB8fyxeQF3-r0CzKL1Y_KZeg6JAWnQnFjTwHQTui_Htyn3XbWN86zY3cUJHOjzH2x_pwWlnwmm0rvfxddVAvLaMYvdCBG-ZU9WAX_2WkzGFEV3MpWcu4hn5YE3K3zVvDSOCgrkNni8hX4IkQm-NIba7AnqzfaRAOEHZaaGoL6xDrrE6l2mTG1apUW5noxLtFX7ASPKXVx3VsNJ7fuc7aYYIKWOHP149cdzMaCcQeJrJFg0LW7QWozNSPNpJ_-JTqtf-xr01WtE1rRDLCmXUfv8cjUAux97Ft0NHAheuxuqB2v4yHJlAVkINel3hMHIUackKgTXnAnSBzj_ZOeLxfjA4kn9rjxRuC3WHzaBWXuzFlooYc7bnWbeBgNvaaRZulXJJUatep8hFGnea9ZBz-a-=w557-h989-no" alt=""/></a></figure>
</div>
</div>



<p class="wp-block-paragraph">Somebody also told me to try perogies, but perogies to me are alright I guess. I also ate some deep fried calf brain. I would not eat that again. One of the restaurants we went to was called Wierzynek, and the cool thing about it is that it&#8217;s been around since 1364!</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/album/AF1QipMCJVLos5TY9Vkl-5YhP9cjb_Bxn5kk2PvAJuPZ/photo/AF1QipNivaQD2TKzRv_VYlVegL47n4kJj0pemXYnmPLr" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/fIuJWnBJiG1h4SlDM5SO3SAbu2pCvyM-BaoC1fSkJgP_d-6WDjg7qZ99jEfwsjrrTTL_lz2SZbWFcc-JxF7DtwZwvtMX4LzbnsV0qK6GgB8gP1jsL05uBTkNJmHcAlxcd7q5_rlI-_-TiSB1NbtIOd0nfiSDtInB80oyBVhVRDedHDbEavm-tuY8hKz-GMux_lbpt-BlSHLLhwZE8fIWlrDXkvrw08rWTj2JYrFk3PLBHG8Esb8n1bRfF1WMojquYPVGaAKtVkssWxWxde4huCTVU6I3d2GZ0VvfgZU6wh7ca9zkk2x5FHS13G-Nm8esZoTlN6BrUJrXFw65cYg375Id9H4X6kYNvNscK3cKrAvUm9ydzsnZBCMAm_gn8-ejsb2F9UeCJEptRSCxDXeiwRZeGTW5DDi__u-g2S6pYoNqLMllE9JvljnJUflF1IXQHVzmYHqUyPG6VnPBu0o_Qs_5prKET_w7pBRtm2D77T_qFqbPh8VyYecNBeOUjP0TVdMbsSglIc5IHgOTnuYxJyKnbFXzCkkgXQ484YZejWyQCdurIgIO0HWjtsuSrByHe8M2RpXBZyZqtEfiCWXEmWnRs-ruxrr3=w557-h989-no" 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/album/AF1QipMCJVLos5TY9Vkl-5YhP9cjb_Bxn5kk2PvAJuPZ/photo/AF1QipO0AfH7vDaVreXDmYqFi-HBrjYOQCl2o-eGFcxN" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/C9QctuEj49y5PFePMKvqNlqi2dbKFi-G1jvViQTNmLzj6x7TOKz3zw76v8xAFx8M_lsLokb4k_E-rqZ7X_ig7gS1cM-UT7y-W9U2oxLrcQFzc1NbkdiRzO2C0-_z5U8J5_ARsBpEI9wnN3QBItXZNV6qVvy-67Kw6aJQwxyPN9OXCiXQY0rCkISjiwwMyITajeXQFrKKyZ29l6muwQGE20PyntcqyBCCnsS09UfobjRwwRkKjojPIM2H65fD1l9ZUfWvG-tmMz4HUunovxwDTOFLXQDaUNf20_b9NYbpxmnFHL-laIng7tblkett0KMOPCZA9DWN5_wPytEPI0LuzzRsvM8ou_qYCAgd7Ng-eildJqEHVuWdyuJ7n_GX3U6eZDoqr63KQngqcwfHWG2I66GgraowhDQxZnScCOvFxUyHCmMo-ZWhlclTna90nUbn1Hb-n8Z7JOAdYaGdD_ePnmE3e11fFDuz4B30Luek_0gVo6pjCU0LB7wcKNzbm3IVZLgFux2CKS9XVeYoWBQPV8upWdBe_L39VDI5GaB2F2VnwZDh4B5n83xf8lPYwDF-G27v7Ncq_SCdOSKMtfhQ29IAS5bWQ7oX=w557-h989-no" alt=""/></a></figure>
</div>
</div>



<p class="wp-block-paragraph">Link to photo album: <a href="https://goo.gl/photos/P52FCKhCTprZUtr28" target="_blank" rel="noopener noreferrer">here</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2016/08/10/krakow/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2305</post-id>	</item>
		<item>
		<title>Should you be an engineer?</title>
		<link>https://blog.henrypoon.com/blog/2016/05/11/should-you-be-an-engineer/</link>
					<comments>https://blog.henrypoon.com/blog/2016/05/11/should-you-be-an-engineer/#comments</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Thu, 12 May 2016 06:56:07 +0000</pubDate>
				<category><![CDATA[engineering]]></category>
		<category><![CDATA[opinions]]></category>
		<category><![CDATA[Academic disciplines]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Educational psychology]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Ethics]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[Over]]></category>
		<category><![CDATA[PATH]]></category>
		<category><![CDATA[Philosophy of science]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[Student]]></category>
		<category><![CDATA[Time]]></category>
		<guid isPermaLink="false">https://blog.henrypoon.com/?p=2278</guid>

					<description><![CDATA[It&#8217;s not easy to decide what career path to take.  Especially for high school students, who don&#8217;t yet know what they want to do.  During my time in university, I spent a bit of time in engineering outreach to speak to high school students and first-year university students about studying engineering. A few days ago, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>It&#8217;s not easy to decide what career path to take.  Especially for high school students, who don&#8217;t yet know what they want to do.  During my time in university, I spent a bit of time in engineering outreach to speak to high school students and first-year university students about studying engineering.</p>
<p>A few days ago, I had the opportunity to go back to my old high school and present to students about studying engineering (link to presentation below), and to help guide them with their career choices.  The idea was to communicate:</p>
<ul>
<li>What engineering is as a profession</li>
<li>What engineering is about</li>
<li>That they should consider it as a career</li>
</ul>
<p>At the same time, it wasn&#8217;t meant to &#8220;persuade&#8221; them to study engineering, but more like show them what it&#8217;s about so that they can make a more informed decision when they choose their university majors.  I also wanted to tell them this as general advice:</p>
<ul>
<li>Do what you&#8217;re interested in</li>
<li>Nothing worth doing is ever easy</li>
<li>Don&#8217;t do it just for the money</li>
</ul>
<p>Overall, the students seemed to be receptive to what I had to say, and had good questions to ask me about my experiences.  Hopefully, I helped guide them to make a career choice for themselves!</p>
<p>Link to the presentation: <a href="https://blog.henrypoon.com/wp-content/uploads/2016/05/EngineeringPresentation.pdf" target="_blank" rel="noopener">here</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2016/05/11/should-you-be-an-engineer/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2278</post-id>	</item>
		<item>
		<title>A Week in Oahu</title>
		<link>https://blog.henrypoon.com/blog/2015/04/26/a-week-in-oahu/</link>
					<comments>https://blog.henrypoon.com/blog/2015/04/26/a-week-in-oahu/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Mon, 27 Apr 2015 02:28:09 +0000</pubDate>
				<category><![CDATA[food]]></category>
		<category><![CDATA[oceania]]></category>
		<category><![CDATA[9]]></category>
		<category><![CDATA[Battleship]]></category>
		<category><![CDATA[beach]]></category>
		<category><![CDATA[BMW]]></category>
		<category><![CDATA[chickens]]></category>
		<category><![CDATA[Coconut]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Delicious]]></category>
		<category><![CDATA[Dia]]></category>
		<category><![CDATA[diamond head]]></category>
		<category><![CDATA[Drive]]></category>
		<category><![CDATA[driving]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[fish]]></category>
		<category><![CDATA[Food and drink]]></category>
		<category><![CDATA[Geography of Polynesia]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Hawaii]]></category>
		<category><![CDATA[hike]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Japan]]></category>
		<category><![CDATA[laie]]></category>
		<category><![CDATA[laie point]]></category>
		<category><![CDATA[Light]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[makapuu]]></category>
		<category><![CDATA[Makapuʻu]]></category>
		<category><![CDATA[Oahu]]></category>
		<category><![CDATA[Organisms]]></category>
		<category><![CDATA[PATH]]></category>
		<category><![CDATA[Pearl]]></category>
		<category><![CDATA[pearl harbor]]></category>
		<category><![CDATA[Pho]]></category>
		<category><![CDATA[pillbox]]></category>
		<category><![CDATA[Plants]]></category>
		<category><![CDATA[Po'e]]></category>
		<category><![CDATA[Polynesian cuisine]]></category>
		<category><![CDATA[polynesian cultural center]]></category>
		<category><![CDATA[roundtop drive]]></category>
		<category><![CDATA[sea turtles]]></category>
		<category><![CDATA[spices]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[United States]]></category>
		<category><![CDATA[uss arizona]]></category>
		<category><![CDATA[Vol]]></category>
		<category><![CDATA[waima]]></category>
		<category><![CDATA[Week]]></category>
		<category><![CDATA[Woke]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">https://www.henrypoon.com/blog/?p=2070</guid>

					<description><![CDATA[Just spent a week on the island of Oahu in Hawaii with a high school friend who used to go to school here, so I had a pretty good tour guide! &#160;Along the way, we met up with some friends and just hung out with them. Fun fact: Hawaii is not part of North America, [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Just spent a week on the island of Oahu in Hawaii with a high school friend who used to go to school here, so I had a pretty good tour guide! &nbsp;Along the way, we met up with some friends and just hung out with them.</p>



<p class="wp-block-paragraph">Fun fact: Hawaii is not part of North America, but rather Oceania. &nbsp;Already on the flight in, Hawaii already looks beautiful.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipMr-utNJRhHUswnwI1CTAUPzgaRs0LIqqHMzy1A?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEWqeymL60WZbWshHJnd4fVf4CGaOzFCLLZhS7nhIcChtcC1bqhW6CwYtydijiArbsfvPa7jVljKt5YmRHoT0D9i2_GOLalpPDlpa6CPh8ssppci92fw0lmL9NUChlriYiXutnHOEaiRtUVk3U8M1AMZSw=w1634-h919-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">On the North Shore of the island, sea turtles sometimes just chill out on shore. &nbsp;They are endangered because people wanted&nbsp;to eat them and use their shells for superstitious&nbsp;medicine. &nbsp;It is illegal to touch them and there is a fine for it if caught.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipM1E8Ck831Y2x-OCmFRY7xBPyi3CPzmSIwL_25v?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEV3uFo58m_MR5oe6RXf57508WO8kTrqDs0ElCRthM_Q97hLzssuLvpx3HTVQcsUNUl-v7zm7DVTdbkBPpL1chDyGLCqhicJPvAlqvs6nFCb2fmj6SAjdNCd1UfogPYTVNboPLXxHv9VmfJetLU64OIikA=w1634-h919-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">Here&#8217;s a picture of our nice rental car &#8211; a BMW 535i. &nbsp;Notice how there isn&#8217;t a front license plate (not legal)</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipPJjKhLNWLygj4aYP9VJwSktZU050DjC7VSea3q?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEVHEuZn-PrVK0laq63tuiOZWpxoYxzoh9C9qkoxs63FJockX6IwO9s9rZtFRI1LCuGBTGuJQmhOUU22XNRMyGshKIi8nlrTsKtLR87zooAkZO38gJ6kE6CFm8qAA5o5hK-poW0cfRzWBLGWNz98n9B1HQ=w1634-h919-no" alt=""/></a></figure>



<p class="wp-block-paragraph">Parts of Oahu&#8217;s coastline has lots of these oddly shaped rocks (possibly some volcanic rock?)</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipPBED73T_3Alxk8FgKLQGPXSbPjLMnqAfAMYto9?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEWlzSUanJDBVtlHo5uGxz21UksQDy7NYN7wzAs5vvlj1TqWlTq-NT8Y1-BN1Y0hGNJ31rWJOEqsByKSmR9SZitnA0HbBzMLijC-TQYLFYJw83su8VLNRvV4dTDoMFyZCD6wfyLXqW60tfNSiDQIuweI6Q=w1634-h919-no" alt=""/></a></figure>



<p class="wp-block-paragraph">There&#8217;s also cool rock formations like this one at Laie Point. &nbsp;We saw people here fishing, and jumping into the water from the cliff side &#8211; looks dangerous, but super fun.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipN-9ohlbSm1IPmHVVBI3a5hNiIyVGq5pD5vdiUb?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEW-xLIyjzyvSyT4jc8RXJlDW2F7a-PeUFMtuomuWH8PSlOlKQaMK2f2tVMgTJG6aF9nWYwIsCQ58DBCYfmbDsNl7rQsHaQrL7N1HxQ8W6q7lJlLA3L-TLFsCgDwU-RbVbOtrtoJSPM-urcCY3LsBCVoEg=w1634-h919-no" alt=""/></a></figure>



<p class="wp-block-paragraph">For hikes, not many people know about the&nbsp;Puu O Mahuka State Monument, where there is a semi-hidden path that leads to a really good view of Waimea.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipMkGKdLIDqiQBiont3B1dTmkvxUFbbj8YlZK4vK?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEV8pLm6T3GZulvqD-exTfdtfYFutWrASusvckz-ULW87-P81u1-5-_BI5ghlxXPjp6ArwJdEyUKnby0axajI-mSFnqJsE8-Ft0QCoWE6TrR3vLHALVsuQsOz94QPFFSQX5JDoX9yhZMbty4JKDRTXI3Rw=w1634-h919-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">There&#8217;s also the Pillbox Hike near Lanikai beach, which is a bit more touristy, but the view up there is really nice too.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipPdLXILRcCbLGZ_kyg54m5mk30Po3sryZkiHizj?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEWfMuQ2S_T1lHCHZ5LVjnF4bIkJbddIEN2OnhQ6SVhyGOEBHjxsc1vCLGq2y0TFRJlRwYHNOEl9T1aRcnXZIue2-FrD0w1o0UQ6mta-F-wPgf1Fl0cJ_9XfcdiKLxAcBWtwgDH336DeQ8vA2Yfy5S24rA=w1634-h919-no" alt=""/></a></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipPpF6i4o0m_3iYQ58oi-yLziCZrxRs6miGP1kUw?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEWyknW8xzkFnvLESp5h_jPiP2qSUQnPXYrv8YWTZ-NCJKzzpesXQfjveTad7ddSUQ_Un5cVLIoEDKbhvSkTdsQB2KmX_j1kqYps9oSM0HGudJ6uMIz3f6-BvYQk_G_3atk4hQVoMU9Yt9eoi09bG61_Pg=w1634-h919-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">Another well-known hike is the Diamond Head hike, which starts at the base of a crater all the way up to the top edge of it. &nbsp;From there, there is a good view of Waikiki and the surrounding area.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipMti7bRwaeJ7I_QbqUUJunkdX4c8GYXTHzGd-8Q?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEXsrgaWJrXJY4yVN13XeMh0a-xq5YKqHIrvi6KhXMy5S-4q2g6Cx6H2l8UE60NQUaQBPU2TuCCPqavkFlau6xKCqzxVvKQLp7OiLleL6eRPL3SwiC5dxtj4QxW2brL9vBf4c_rW8hHfOGoYk71e96X5RQ=w1634-h919-no" alt=""/></a></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipO7nrxGjYkUuSvw26-D7Mv1PZxu5RkCZ4x8p8M9?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEX07gGmN9hR_xDBZozvGu2ai497ww6nzQfkcLlYQnlZkaKsapRy24UI4-_E7z3SaCV6EkieAF1LOF3ua4mu5L-kzrN7sjObEYyY973hAKtLV6cejjtZngd-DG8pXbARfdMLFFTFwVtN51nMK2E8PHv_ew=w1634-h919-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">Another hike, called the Makapuu Point Lighthouse Trail is another hike to see Oahu&#8217;s natural beauty. &nbsp;At some parts of the hike, the mountain blocks the wind completely, so on a hot day, there is no breeze for cooling down, which makes this hike a little less enjoyable.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipPKK6M3wvCIiGUCapoBKFUbi9F13Md700RtZCuZ?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEXdtKKvI-tvvR_TMIaL8KefS0N1vE7Yrfe2cVS4axI9TNmqW1kyWnx5b_sJqtNVMzc5CUcgiTpyBML1C1CJ3ZCUpDn_1KB2Yk4MZn6OlgSLWGlLsnfHpG7naYXXE9LScAuR9YygjDgcUHy8XcU3l7hR1g=w1634-h919-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">For a night view of Honolulu, we headed up to Roundtop Drive</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipOSRxA53j5fq59XpXU9g2RKNQaSZGnBqDXviP_D?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEVtvzWveHNrSskE2uVRMdjnHTETV8SHIaDq1c-TyC7UkqyfgSiipTYjulgbnuMkk94K6NUY8c1jQdML1hymHMLI4yzyF1zWkGej1CxGCqqnBgFwpVR9a4tLbmhOJebwUcIw1Ngu5ojv2EatcU188lq1UA=w1634-h919-no" alt=""/></a></figure>



<p class="wp-block-paragraph">This is the best food in Hawaii. &nbsp;It&#8217;s called Poke. &nbsp;It&#8217;s essentially raw fish with spices on it &#8211; absolutely delicious when it is fresh. &nbsp;The ones here are from a place called Fresh Catch.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipN-j7JcUJHBjgpa4PKgx89wchvoJ7sZYhyGuE_3?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEXkq6OkO1wEcHfMCI5VQtVnW0RQVtK4NYsrXugak9DeiibJ_8LnkmU0_AoycOzP_YaqHhbNG6FPvqSK7VnBoak1zt-kj_htUVJd9ohuWniMKb9k7D77zkFG0pylmY8tqk4YzXh6AWWCFH6duCFhCAhA3A=w1280-h720-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">Of course, there is also Pearl Harbor, the site where the Japanese attacked the United States in 1942.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipOGfi-F8-QvsjduRO8Lc7fLnWfjrs7uLc5EgVWp?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEXFq9-zcgzKtg-mrCZQtbf9LiW9Kjb4xv5xU7fiz2xxQv03SpCvV46qojYZ8HD2yA2zf-2Df1-m--lNHDBNg0JH9RQZdANWIFS9Ajwu9_iwRr_o7imKWOM1eFikB-_bzngB9Kh2vmjRfbSGvcgpE7Mbjg=w1635-h919-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">The USS Arizona Memorial is built on a sunken battleship, the USS Arizona. &nbsp;Even now, pockets of oil still bubble to the surface.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipOz7NAzqIks8QnTcXKAk0LraQct5A1weeFX3j-a?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEXXTU0cFy1pixISraNimc4Iy0BsSewgye8CRo2LSOj_j0FOyZVwt0o-eJSccVStL9xtOpMiqZAz6B0XB1ZCubANC2oiheraxwDOqEb-42oXbBv47L7D28EfrVJp4UNxGkbx9qZVg1WWH3SV2HzIhwACUQ=w1634-h919-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">At the Polynesian Cultural Center, people can learn about the Polynesians and experience their culture through stuff like dance performances. &nbsp;Too bad I couldn&#8217;t get a picture of their actual theater performance, where they did crazy tricks with sticks lit on fire.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipMwcESbrO86NMhr6fq2k-2zosRESucdy93FK6rv?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEWO-JQ2SwaZWSCJIIoQ5TCag8vFSGl3dMcQY0VBS5nrrX5BkKBi85r7FEMyXEuxrnrw0Qbpg8rGMfWdu5X8jjc82ceZZOCfts811PaXGz5wSTM4lXxUY4IocYQBXBAcPFL1GQjJvr6sznWg-6zDNQORQg=w1634-h919-no" alt=""/></a></figure>



<p class="wp-block-paragraph">There is the stereotypical Luau, which is a buffet with a dinner performance (with more fire involved). &nbsp;There&#8217;s good food like kalua pig, poke, salmon, chicken, etc.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipPQtZ6kv3XRQB93AwHZbl9W439UlFxQAdC379zP?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEXPnhTp-rBQPiNJ5CWk-Han55exIVuqcbzH-JQhA0zHAuPXbTqITE2UgELhxogJad5AYFtNZrlijicZUIdL_WGdavD9VC2zHyueA03OsusgspiC8x98NGj8iUOeOycUeiPEg_g-ontndmH1p7NzBoe2Yw=w1523-h856-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">One thing that really surprised me about Hawaii is the amount of wild chickens everywhere. &nbsp;I even got woken up in the morning by a rooster&#8217;s call in the morning.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw/photo/AF1QipO0f4V2Euq6X7767Xpa0d-Vo81w-NVZ-txTRmAN?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEUYK7-BvxoMvyH5_i0Mp6pDjcG74Sg7lD8rYFT86X0dfx9oDlM3B1E4h7PdiuADlf_1SkAIfpFmMMnOmgN5bJlZR7mntMhz2gee87ly_m-KfzMdP_hnOmaEu2rFIWZnQoWiAlG787CrIJCHkwF8KuIA0A=w1636-h919-no" alt=""/></a></figure>



<p class="wp-block-paragraph">Other things to do in Hawaii that I recommend:</p>



<ul class="wp-block-list"><li>Trying garlic shrimp from a food truck (like Fumi&#8217;s)</li><li>Drinking out of a coconut (really stereotypical, but I&#8217;ve always wanted to try this!)</li><li>Drinking an Otai (coconut and mango drink)</li></ul>



<p class="wp-block-paragraph">Things that I do not recommend:</p>



<ul class="wp-block-list"><li>Driving too fast. &nbsp;Police are EVERYWHERE and it is impossible to get away with breaking traffic rules. &nbsp;I learned this the hard way.</li></ul>



<p class="wp-block-paragraph">Link to photo album: <a href="https://photos.google.com/share/AF1QipNMWZxD16-GLF97ykd7dJShkrwaX2akTygcjBU4WVFki6gy6JnmVZAVvhXLktC2gw?key=djhIOHlrdXJRTDR5Y3VaZXgxdFh1aG14UUhMVFNB" target="_blank" rel="noreferrer noopener">here</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2015/04/26/a-week-in-oahu/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2070</post-id>	</item>
	</channel>
</rss>
