<?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>Scope &#8211; Henry Poon&#039;s Blog</title>
	<atom:link href="https://blog.henrypoon.com/blog/tag/scope/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.henrypoon.com</link>
	<description></description>
	<lastBuildDate>Sun, 20 Apr 2025 04:13:55 +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>European road trip – day 6 – Heidelberg, Zweibrücken, and Luxembourg</title>
		<link>https://blog.henrypoon.com/blog/2020/03/12/european-road-trip-day-6-heidelberg-zweibrucken-and-luxembourg/</link>
					<comments>https://blog.henrypoon.com/blog/2020/03/12/european-road-trip-day-6-heidelberg-zweibrucken-and-luxembourg/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Thu, 12 Mar 2020 07:03:17 +0000</pubDate>
				<category><![CDATA[europe]]></category>
		<category><![CDATA[food]]></category>
		<category><![CDATA[9]]></category>
		<category><![CDATA[Alley]]></category>
		<category><![CDATA[Bastogne]]></category>
		<category><![CDATA[Berlin]]></category>
		<category><![CDATA[Borders]]></category>
		<category><![CDATA[Bratwurst]]></category>
		<category><![CDATA[Breakfast]]></category>
		<category><![CDATA[Castle]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[curry]]></category>
		<category><![CDATA[currywurst]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Delicious]]></category>
		<category><![CDATA[Desert]]></category>
		<category><![CDATA[dog]]></category>
		<category><![CDATA[Drive]]></category>
		<category><![CDATA[driving]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Euro]]></category>
		<category><![CDATA[Europe]]></category>
		<category><![CDATA[Fast food]]></category>
		<category><![CDATA[Final]]></category>
		<category><![CDATA[Flag]]></category>
		<category><![CDATA[Food and drink]]></category>
		<category><![CDATA[Foods]]></category>
		<category><![CDATA[French fries]]></category>
		<category><![CDATA[German]]></category>
		<category><![CDATA[German cuisine]]></category>
		<category><![CDATA[Germany]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Heidelberg]]></category>
		<category><![CDATA[Hole]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[In Germany]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Lag]]></category>
		<category><![CDATA[Lie]]></category>
		<category><![CDATA[Light]]></category>
		<category><![CDATA[Luxembourg]]></category>
		<category><![CDATA[old town]]></category>
		<category><![CDATA[Pho]]></category>
		<category><![CDATA[rain]]></category>
		<category><![CDATA[Rolling]]></category>
		<category><![CDATA[Run]]></category>
		<category><![CDATA[Sausage]]></category>
		<category><![CDATA[Scope]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[Street food]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[Trac]]></category>
		<category><![CDATA[UNC]]></category>
		<category><![CDATA[Week]]></category>
		<category><![CDATA[wind turbines]]></category>
		<category><![CDATA[World cuisine]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">https://blog.henrypoon.com/?p=5043</guid>

					<description><![CDATA[Today, we start the day in the Black Forest in Bad Wildbad and make our through Heidelberg, Zweibrücken, Luxembourg, and then finally end in Bastogne. Heidelberg Heidelberg probably has the most picturesque old town in the entire Germany. Out of all the views I&#8217;ve seen in Germany, this is one of the best. The view [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Today, we start the day in the Black Forest in Bad Wildbad and make our through Heidelberg, Zweibrücken, Luxembourg, and then finally end in Bastogne.  </p>



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



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



<p class="wp-block-paragraph">Heidelberg probably has the most picturesque old town in the entire Germany.  Out of all the views I&#8217;ve seen in Germany, this is one of the best.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNpTf0PGbYkmFn1yYBo-rgBy6Fq5qy8GqHYthsJoLCOQbURddNK0Fv6Po46coOgcA/photo/AF1QipNptaV6zkiDVNAap8B-0V9AtLq3w6TvUP5AwiSf?key=M2t3WkhtZHNacjgzdnY0dzVRc1czX0lKbC1pbzNR" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/znL9xKLuDVzVJIik3uVmz_INvUwOIR5pBATj6w08em9w_RghFYaDuhQ0vvwA9teEqD7wdJofqmyASvT7I6q2Qv2WHRbWOUu3yNkQEQ59OKS99O2WwEoOA4p0DSPNp-kXtAecnGLqfXmqHX-yvdJ0M6EzUox39yjXl5ilpWrCrywTPomHBGk_kS93sr-twAIPDFoW9iRN5cxcuIuD2-1k20O920qVQiZqIJDrDq0q3bEoeBhp-_jGOqyu3eX-1kQ_xaXOuNuWj2B56ru5HFOWL6cvX_IQD1yVlq9UdAuueQMvJslB3NuHMM7gL8lEyikwDefzcbIAXlQZTCY7xZslghVU4JEmakSeaBSJZyRlTOUIqXP_kQp04qFGb_A5JT68XwknpwJM1pDjkguFpMN4cofnC1NrwCQ2SsIkeXGgaW9cmKYtTsEAO1rRdOa_Hgh6tntOUjemjlRYt4k3xKLJmSfFBMb6waRde_UYx6nekaeEJ3ECUuRlYswDgry_Mf9ciDGtYWmrPhg1Td20RL-03vq3Kv2BdGqK0w-y27oTuHLrfOBs4JX5wsv-TfEz5fAT2CfaW9X3PJuHc0vrQqMueUZnaOc5sxfaDUYzgIAff-h6coOLjPOoayc-2izGfRxNmad7l_6ri3fk8I7-qR_HNftXfGGcWaIvRIrOHhjVRv0CM2u6LM_rmVumHr8O72ep_XgPxpMqJ-tMc-qRB77M4-ZfsBZTdA81H91FXJf-r0gJ45VO3A=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">The view is from the ruins of a castle that was destroyed during the Thirty Years War (17th century).  I believe the old town is mostly in the Baroque style.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNpTf0PGbYkmFn1yYBo-rgBy6Fq5qy8GqHYthsJoLCOQbURddNK0Fv6Po46coOgcA/photo/AF1QipOypicidkjuUDoucw_yNR9JnetT2z2wQXrIUsqd?key=M2t3WkhtZHNacjgzdnY0dzVRc1czX0lKbC1pbzNR" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/iZs41WMZx7iObm51fMMDZLgFSikNwJ1RWweCQzSlsaam6gDwNSK2BzkVK4ArxVKGsRo1wkLRRgZM3F8k0H_uaBcqAP4wfhU5eooHUTc7zBBiZ2CvfWa6KyDlReVCoYE2V2G4vxaHVQHwzPYe-lwpxZo6-gMhhm2caY0pSACwYMEOaGP81llzLwMRekE-Qi0nRSUngQFV4ANwCoenFo4gtjrc_Xz65Kjx7Ie-NbbUU-AOMs3qgd67yyI-Tc-nBWDx4v3qlBu8vjaN30N3roxO8jk4l1YE7HNlwVpwM2HCE5wtkrU7Ssjnm-Oo-lVAjkzWDVHxe4ujukihoMoCZD2vxgfE6rMs9fW95DdUiuFG2k2pVoW70_QW7_BN-ZthjrVvAvtulkinetOIHd8dl-9b2ytsgtXWaJ-JFSlpQ94cAVc0_rjTRRyTb5U9_NFHaN6_hTW-NgCwCgTQGS0l2x20k1KYh6iQ19ZWmHgxdxbMwiAcmUy2lfojqZZPVuTuk0rjJ9OYg6G6SVRaagedck0X2HLgwtLQai1cfgBxBj_XPFvuw07cH4AGp2Qlh9IrVKmfVFcWhLhWU6m2u9F3gGg16_QFrqYe9C3FsHmUOPpPzPOIMZ1dArBNmpBEaVptApReXJYX4ZnX7QhYXhRSEGOeabh_ZNMOjHJPRHdXd_dTC2KfDttgWt2gEviCa9Ls5E3-rBmJcYVxs3i3cp20vaG28ci8iZD9lQpSFg-91dQlShhEAjzy3A=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">For breakfast, we had a very traditional German pastry, known as a Berliner.  It&#8217;s similar to a doughnut, but without the hole, and it has a jam filling on the inside and powdered sugar on top.  They&#8217;re super delicious and not insanely sweet like a lot of American doughnuts.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNpTf0PGbYkmFn1yYBo-rgBy6Fq5qy8GqHYthsJoLCOQbURddNK0Fv6Po46coOgcA/photo/AF1QipOMfKNft8mDZ2qmtX_2GUHpjymDMyrY0QxNZBDp?key=M2t3WkhtZHNacjgzdnY0dzVRc1czX0lKbC1pbzNR" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/XDVdXbdvLCVfeg_3qcIdhFdzMfZ3E04bu1jb9Y1p_Cp0Z41O4Ec7BLbk0a2nuWd7xLXPPZ61KsNg_rtReFrLIm1ZYgq9JdYIgS1G5jDvJ45PGyQClE57jXMOrX0nKaQE0NsU89tgmbnp7k1PfzOZLvXgTBu4OaMko0CC1hQh7tDRO_u_Ybi4S4IXhzqEaXusB3UNGAh9X48COPXhlucXehI0XY6XkElmz8aQsCK5qeGaLn6K0D9TN94viELuQIcoDEqS1YoZJrOaW_FD_XDpQVVbCX80aSQuzchfaNEj_d0nwlIfyYIBgY35EgmD5Xc5_r7nip-NxfrwQMyr3ZF47aj6d0EFbeKL54RMBe799PiKx5WOkTdnK_i8ltmK2HdcXD_nfD2Oq7XfNCrkABSWXSNPV0f0g_0tnxYYjs774EW-AsP5qYdmiamVpEzeU3nzzWGZThDzTk8g1w2V1GJlvgrBfpx3gYsg9br6ueUZasuzhnq3fuGrO7lR2mknOp_tAVhBfiAHlUYXglacoCCQ2iKnVWe24Xe_0-hscLRHj7xmPABQlj-skZ895-UJphQ3v4WX7-pO94s9apYphdRLTdJBgIg99MQppAmcsnfufNco6pO8odTWmoQCFp8Ul2EAWZzjnsGFQTAhQv6cMysvseGxrj37qtpc7ZvuiTzV8MS-CE7UrSlpeCogHA4KXhcGO5GDbU4Y8IR3KlTgqXt_wEW8NMip3v7GsJXBS5q3OrU7fr9b_g=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">For lunch, we had more traditional German street foods.  The top of the bottom image is currywurst, cut up sausage with curry ketchup on top.  The flavour is a very savoury sausage with a slight sweet and spicy zing of curry.  The bottom of the image is a bratwurst in a breadroll with mustard.  Everything about this is better than the American hot dog.  Better sausage to bun ratio, better bread, better sausage, and better mustard.  And of course, fries are seasoned with mayonnaise instead of ketchup.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNpTf0PGbYkmFn1yYBo-rgBy6Fq5qy8GqHYthsJoLCOQbURddNK0Fv6Po46coOgcA/photo/AF1QipPTDRB5FU2fGyhpOqJez42xSFlJNSeCmONmLF9e?key=M2t3WkhtZHNacjgzdnY0dzVRc1czX0lKbC1pbzNR" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/84c1uOlb_5hZUlES5_4W8p49ku6hPskSQ6opOWmLGFF_HST17hN20JUBGaMCO7fpprBO38xx0KblkzZTNV-SR4SXTHnk_0QJgpG8x3BjZkqZqYOyB25JDxDn1loz0o9gjL16kEGbzVvQxCcHcz8Pxuv-N1l5Vb6nf4t49WyaabI6DywIa9J7m24NoKWQQ5AFSMryFz8M5G_V3ljUOkPoBZxHidGNZ4f8yFTxV9U-B7h3cWRC_upoD2dmR-ARjrXO4eE0g_5m-K1YrXx1NqjdcfmSArPD4hq3OE0jOFmPUmN6uJGB0oakH6I2NhTkaK8oBc-k5yZZbeLXPx21fG2T6KnjPW9wP68WVLZVKxupM-_BIKTCmPXWmHYQepcLoIQTkblUVTH_TWxYqysUkuhgfGwwBwYQuQ1WLkiaCpgHdzcpHVOjmAyej3daF7ptuGFWgmY1xl1QFQThrqJKoyUaSXElTxosoehd0kF8eE8YDL_97BBFnO0VQ6wNxCKv2wzZOznLD27k1X9pAfkXbOoC8mY1D-D93fEUgVrSQHk7maep5393YWTHRV5v2_0pSVyrdbXosK7YIOEtiAfDS_zaP3HhtSpifCBJP7TCfpd6N4qvTfOQH81VAmgJD_Y-eV6Ytn2xJ3375ykqrW06Zs8dj5WP2eNrxgg67ImMrBsXb1_EcEyR9aquh7nOf_NP2x2SDz5kz5wIUSwBvclbgHDYoePDB6WEERNCvYnYEt_XiUn-xs-xOQ=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">After lunch, we drove up the hill across the river from the old town and visited an old ampitheatre.  Why is this amptitheatre interesting, you might ask?  It&#8217;s actually a relic of the Nazi period for holding propaganda performances.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipNpTf0PGbYkmFn1yYBo-rgBy6Fq5qy8GqHYthsJoLCOQbURddNK0Fv6Po46coOgcA/photo/AF1QipMyAtH6Qe94Sslh2gvUCRFarKocAZyMdYERd67M?key=M2t3WkhtZHNacjgzdnY0dzVRc1czX0lKbC1pbzNR" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/Lso0JytjmJiu9u9RAm9kIPatjstGnBYqm2eYTMmmRiqgIYN2kB0AB5PbNYYF54anZMH5JbhzpamjPuyAFhqRA9l2Is0FlMJuj9H7_um5sLNZXcXr7w5bvLRV8WaLeTe-6BluZgGYlMdM_uCFz8GE4wNEvxt8t_nySDIOI1h8OEQ8jaBuOpRdwy_ohC5joVnVBlJQ85qad28Q4ttIkYsgdMDUIdqjB-0P0Q9aC6j8Uy14sYd76ekeDapEImP8Pcg8YgxDfZfPQ53OPeXXXBeI6FOTK6w1ko5u8ggtHmWIkut4OohqueeCI65MG28T8r73CzwKMUtCbRJ1vx9lCippP542J6LJSsBwki8IW7B6KnTCpe6nWitY0IVF48iQjab7N_9kR8-PPoyPO58SPJxxG-BBfRivCqALnSAv1v9aGqi8RpJPu_sKcALZbUSgv2SVvup4ak99UvIYuvmI9f-_IL87l0EE45FWX6ajolyx5IlUn-W3Zo-_RTseUErqC0F_YMg0sGXomKIRvtqBtkSUUKPLRC_reiqdqh2fVguUhST44VQhAG0F2S0m5bMU1tXsTg-4Rm5rLosyCHhcwRf9jEzd28bKQdfyqGmfXM-GYqe7B-OseGGf4nG9RlToIb4k3cYMkgSAKAmBd5c08AKDYC1CGwSfnyYIZvZVqTfSV4EC1CrDBqyWbvg19NNC811P6kzsLsDDwHr1LwBS76ajHJqR58XoP7TajQG9d4CJKmdqS9YqkA=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">The main allure of Heidelberg itself is its picturesque views both in the old town and up on Heidelberg castle.  Visitors can easily enjoy this by strolling through the old town and making their way up to the castle (there is also a tram), which are main attractions of the city.</p>



<h2 class="wp-block-heading">Zweibrücken</h2>



<p class="wp-block-paragraph">From Heidelberg, we drove to Zweibrücken.  It was a slight detour from Luxembourg, where we were actually trying to go, but we had read about a cool observatory decorated like R2D2, so we thought we&#8217;d check it out!  It would have been cool to look through the telescope &#8211; after all the sky was completely clear of any clouds.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipP94XyLmCeehPz3xnUYLEDQh_4GlJ9TjCwEIabTnd1_ZuGMYbZW3GwWwVaZLNQgXQ/photo/AF1QipPMLy-8bcOuYcM6lFa_KhR1zk01L37XNEg2I4BO?key=aVMzZy1Sb3l0eHNCdy1qSEJUVDctZU5zazVBSndR" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/5Be9_OJOASbgHHhG9Agius_VX4q04Vg28i90A308kQD66WIrmBME7bju8ZFAJ1uGnZJx-r6zppHnr0iw-r5Yew29FfTGex676w6OFvr6ygjgxXct8mq6IBKmS7KrFSi-bUpljUd96kW-RE8hPjAdA7CoslYZuIci5r9tZgSBP8yG4zCo8S_FBaaL6b0ZsNr59uGPBied-6oVF8Jx8mHe4Wv2MP_l9JpF0v9OQ5OHub2Nynb6Xlkzl8pJjoYWKZvPgeO4nTQn9SSfAN9c3T-ATJjaykc0tyFixay9oyHJVEMWimelebZsQxBkdQNqVmTuFsEzowjWhkWHF-M9X5SXaqctP_bLmu96oeQJOhjcUs-fN3Lgiz1JuLW1klPyDnniRxwIquFDaDCqwjDZ6A9uDBHj0AsHX0Y2UFo-Ht0ngtSC9gF1QkOOU63-2TFeRtb2qFdc3VynLCuHZATN6XSbW4a5KXwiriacYDUSfEd6UeTvqJ4Ae3EzKuBJNhn7fVkQ5x5xQV-E1l-Yc6RGpVPlRFU2G-F9ZCPoPZMCj0U3KKRAiTcIRlXqLFIM4PEMiafNhe4YSVSUMUj2dmTQ7qdR_i3Dpm9qImEMlJ0nxBly3y7mPOsmFg205SFbK2fMrV_gqapEJ4SxJItTWAdQU5L5qOdt1sfX9id0-9buNh6SwHeFwXvTkI6kLip2iSQzolAl6QeVTG7mTHDZ6-raNHlqM0Bk5guLsH-XRW1e-ZXWFiC77_snhA=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">Driving to the place was super scenic!  Nice rolling countryside hills with towering wind turbines.</p>



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



<p class="wp-block-paragraph">From there we continued our drive to Luxembourg.</p>



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



<p class="wp-block-paragraph">We crossed the border into Luxembourg at dusk and stopped by the town of Schengen.  This is the place where the Schengen Agreement was signed &#8211; the agreement that removed the hard borders between its European member states.</p>



<p class="wp-block-paragraph">Normally, it&#8217;s possible to walk across to the island to see the small  exhibit that discusses the Schengen Agreement, but we were super surprised to see the river at such a high tide (it did rain a lot the past couple of days).  On the right of the  picture, there&#8217;s a little shrub, street signs and flagpoles poking out  of the water. </p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipMrY5QO3wdaYZtkhGdvoTror4u78Yghhxgkp9U3nYQ7sq4QxOPrgd1F0FroLACmiA/photo/AF1QipMq1nzHUzpsBvBbiw-Xhrqmo0pPHwm_l2-pWyXg?key=Y0plMlp6empoSU5Eckd4NVdHSmJFemdzTU5YOS1n" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/9SDogXwyaYi7NIpXzG37YZbDgTZTUgXAzaHJMMZ2tNGVeSYhhjrwKyKO9lg_KeNOI2euLWyHojN_hM7V5VZQ9QLakYDz-Umuqa6sjztIf21dvZD2vDIR6zFKtFXxsDIxgyOvpGKHej9UpaevXE_TWa7WdPSu-ocThzX45bZzqeS6YLLUX-saT2Im7rWQ_gpGsHMh-3r0N13kqZqmmeHGuJvQTDmas-SRfEs-rxzNi9h2X6Y7fsPM037dBXi8yCG7tZIAyM7lUHptsKOu825u3pkHK-nQySOluvMP0Pdus4rQkjKIwRdidQAYmN-lVdNi09HOZWwb-yu3txiA5XBK9rpPWWFQMrGz-NdUbVC8r1rYUXPDC_-eLAUTI7OzvfCcEDHj5vuZnpuNPLj8sSd34E8ybuKjacQ3SclPzbYtPGTaNJvTHJUJ6XW2eovGogMT70wL6CDkmrsVytyxBXvwVGX7AuS8HrIlHPOTNxHW8AosMR9ZYooKYAgQ826DMNOROERiHcdipkOGTPRtnN6Ki0i149rPaTcPZrXELyYlmGrRh9H5rwwY3dLDdsMCB9aGkBggWWMXI_ojEm419G3qgntQqPJflLCaICou_7TfXW532YD5PClVZhLodp6eKIAzHA8Ih1_BgOJMQv5LxOqPepMg7VEfs4I5PR-d3qBQZl46uUNX-BCz1yDL87-0AFnu0HuvWq3667DjCHYlQxR9LCe2cn_4y0AXujQ1jDBkGFUk55Bdog=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">By the time we reach Luxembourg City, it was nighttime.  To our surprise, the city looked deserted even though it was only 19:00.  People walking on the street appeared drunk.  There was even a guy taking a leak in the street without even trying to do it in an alley!</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipMrY5QO3wdaYZtkhGdvoTror4u78Yghhxgkp9U3nYQ7sq4QxOPrgd1F0FroLACmiA/photo/AF1QipNHu-eEEOxQr5s8dULk-2Iw758Y4KeYdIXwmE2n?key=Y0plMlp6empoSU5Eckd4NVdHSmJFemdzTU5YOS1n" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/FXfVob9h5K0vBhTMrHR6VcaTOgjb1bk8Ohbw2IwCbQKJoAr4xMfvSXyW90cSqy5AJaaKsMJNsg7WNnRAKIa36Yr54ZApkcTcbGewa2lTAZ65Z32MvbB3XsRQdJDtekCcBr5_J9yT1qi5-3ay4z3NV7UYidKV1rGAwPyCY_xVo5OuBKzsDwnqDGCdQfCsJKBY1onCZGu-AF5YxnjKlApJZoRw7Ojt5Zv-QPy4gGEIzmImE1qdmBZg9FjkwiQVs3-F0w46KcghwgLxDCkA_Qy93-eK6O27VoYIm6-AfZqPV8qe2s1XEsSlwU4PZPcYoKofkNBxSrugzc-eYVAUtI1KJtQHJ9NnLkk-qHPDD3o-QkPMPP1Q_kyfMNQQLpNij_DHcF0n5H147KH6dthHYQOdLo9ixcOrRBhhAMsJe9oAh69d2jyj8FY-5PyTD_2UdVbVScCGjReOVKBkkKxAwOvG8JwhDEHWIhOTqv9ewsIOt-1M6ceyt-7aItXquyhbAgN3wSAu0-UjiQq9wHvhgoy1FMXdHu7GO1yHYx0w6HSWmnTlhOBlMjxKsCvE74WgH7o-Qk--j-cb5hC2txAFSDZ9gwrkCxgVNYLtIpHfveBYOdisGd1rNUHU3oIZCPpuqBv-0gmfBN2KuvGo722rVAWNxBYLXF2GKWE_l4W5A5qMtd2VskbYQZqrxQc3bLrmiblWPA2dJS-sDdpSU9Xi9VtbnJGKWDUUelKPtBUL4hDVMkcE9D4zng=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">We walked around a bit to check out the town, but otherwise, there wasn&#8217;t much to do at that hour on a weekday.</p>



<figure class="wp-block-image size-large"><a href="https://photos.google.com/share/AF1QipMrY5QO3wdaYZtkhGdvoTror4u78Yghhxgkp9U3nYQ7sq4QxOPrgd1F0FroLACmiA/photo/AF1QipM0reNsfFgptz-WKMtC3B04ZZjtn6TJXd6mI53X?key=Y0plMlp6empoSU5Eckd4NVdHSmJFemdzTU5YOS1n" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/FVK5ZnQIspJOEtE738eIjXj0jfJ1rQTGeebcc1Hv16TOALzDazaP_9q1IOxKi0kidt3mTbAQs-T6BYY_5ntZAuhwSdjza_V7bG6oHQEnFwE6GYTfi8cDNhgsh6IZi_Ffp_sgjdRKikQfwzZluTiCPZhg6rX-iUQMa3K8FWYErjzLwv6w8pTcxUp3ShsDzFiaFBQ9J6uB8J4lL7WvgiPk1MAZF7tUr9svQbsd1AItpyiC9b57hXob-p7_sTirT_gf_K2JxC9CYNw-AbxC9qxPH48MeXheopWpZ9_ZkWlVPZKjqTxIyOq2FIL3pGBha8XfMZj229IYQ8HsPg3wD1MD_IZxcrHSUgGBkKs4d_liniqEcpeea-uqU3UsqIoH31ZO6qGdL0Z5oEBK65VNA1VDQY8pdpi9uVj4v9rFxYARCbQ4F3kBof0OnVN23SunaXWRgFVh-_8YsuuKaXfg1thhh4I5KL6-tV6__xzwf2ABqgLCkxjI8U2MyUQ7OklkDY23EGolj-zF9XpZQsfsCjij18hiCTDDuQVmnAw5PLmsR1tZ58CxohJwlUElcrgQV6qxk7lBBiS8ZOxpTt1oILdgy_RlgYjZEMYEC9XxiV0fhVNVtEXgWil4xuCtUnB6doKq3rxyN9K9pu59EqUJQtEH6C0482kTfscsyxpUoOivOUXh45zQ0w9h7pQaI4wxRa4Tuvm-9Rwu8u9fmFVy7_VXgXU-xC_YYATkyJc0kWGK9LjSEZXU_Q=w1680-h945-no" alt=""/></a></figure>



<p class="wp-block-paragraph">We didn&#8217;t stay too long in Luxembourg, and we continued our drive to Bastogne, where we&#8217;d stay the night.</p>



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



<ul class="wp-block-list"><li><a href="https://photos.google.com/share/AF1QipNpTf0PGbYkmFn1yYBo-rgBy6Fq5qy8GqHYthsJoLCOQbURddNK0Fv6Po46coOgcA?key=M2t3WkhtZHNacjgzdnY0dzVRc1czX0lKbC1pbzNR" target="_blank" rel="noreferrer noopener" aria-label="Heidelberg (opens in a new tab)">Heidelberg</a></li><li><a href="https://photos.google.com/share/AF1QipP94XyLmCeehPz3xnUYLEDQh_4GlJ9TjCwEIabTnd1_ZuGMYbZW3GwWwVaZLNQgXQ?key=aVMzZy1Sb3l0eHNCdy1qSEJUVDctZU5zazVBSndR" target="_blank" rel="noreferrer noopener" aria-label="Zweibrücken (opens in a new tab)">Zweibrücken</a></li><li><a href="https://photos.google.com/share/AF1QipMrY5QO3wdaYZtkhGdvoTror4u78Yghhxgkp9U3nYQ7sq4QxOPrgd1F0FroLACmiA?key=Y0plMlp6empoSU5Eckd4NVdHSmJFemdzTU5YOS1n" target="_blank" rel="noreferrer noopener" aria-label="Luxembourg (opens in a new tab)">Luxembourg</a></li></ul>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2020/03/12/european-road-trip-day-6-heidelberg-zweibrucken-and-luxembourg/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5043</post-id>	</item>
		<item>
		<title>Ise</title>
		<link>https://blog.henrypoon.com/blog/2014/07/27/ise/</link>
					<comments>https://blog.henrypoon.com/blog/2014/07/27/ise/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Sun, 27 Jul 2014 23:24:03 +0000</pubDate>
				<category><![CDATA[asia]]></category>
		<category><![CDATA[Albums]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[Beef]]></category>
		<category><![CDATA[candy]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[fish]]></category>
		<category><![CDATA[food]]></category>
		<category><![CDATA[Food and drink]]></category>
		<category><![CDATA[Foods]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Gun]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[Ise Udon Okunoya]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Japanese cuisine]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[matsuzaka beef]]></category>
		<category><![CDATA[Mouth]]></category>
		<category><![CDATA[nagoya]]></category>
		<category><![CDATA[oharaimachi]]></category>
		<category><![CDATA[Pho]]></category>
		<category><![CDATA[RAID]]></category>
		<category><![CDATA[rice]]></category>
		<category><![CDATA[Run]]></category>
		<category><![CDATA[sashimi]]></category>
		<category><![CDATA[Scope]]></category>
		<category><![CDATA[shinto]]></category>
		<category><![CDATA[shinto shrine]]></category>
		<category><![CDATA[Shinto shrines]]></category>
		<category><![CDATA[shrine]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[sushi]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[udon]]></category>
		<category><![CDATA[UNC]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">http://henrypoon.mooo.com/blog/ise</guid>

					<description><![CDATA[This is my last post from my trip to Asia, where we took a day trip from Nagoya to a town, known for its Shinto shrines, called Ise. Unlike Shinto shrines in other places, these ones are quite simple in their architecture. These people were trying to &#8220;listen&#8221; to the tree. I thought stethoscopes were [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">This is my last post from my trip to Asia, where we took a day trip from Nagoya to a town, known for its Shinto shrines, called Ise.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><a href="https://photos.google.com/share/AF1QipPjIF-xnceudmfzhBRvKH2zNUHgR4rW6wNVrwZJmRbp8m96zXjt00sQ9vtj8zqnkg/photo/AF1QipMr92u9b4P5LrZNDOpjaspMWjvjFrXKylrXL9mO?key=cU9fbHF4Q3hETVRSMmFCcGMzWTF2QWtRSlNPZnZn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/pw/AL9nZEWuWSyQ11i0imfqfFGmc4dY4fFdIeDPW7fdF-E7NVLT7j121owtD1y98xteS5zR3xsybMKE4sPSlQdPEOlCQnzUSHxzy7d5FbsWh4Dmxh6xzil8Z9bNp06EHZ6nnM1mn7ad2gN-zUO4lm4_SkYpbB9m2g=w720-h265-no" alt="" width="720" height="265"/></a></figure>
</div>


<p class="wp-block-paragraph">Unlike Shinto shrines in other places, these ones are quite simple in their architecture.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipPjIF-xnceudmfzhBRvKH2zNUHgR4rW6wNVrwZJmRbp8m96zXjt00sQ9vtj8zqnkg/photo/AF1QipPQago2JM7wQ-4aJyLgswZWYS9syJig4ju0_Z98?key=cU9fbHF4Q3hETVRSMmFCcGMzWTF2QWtRSlNPZnZn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh5.googleusercontent.com/FkLaSqlJFLRuZ5Qg7jYHvxIJojXKzcPUCdsd8IdJWwzG=w1357-h603-no" alt=""/></a></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipPjIF-xnceudmfzhBRvKH2zNUHgR4rW6wNVrwZJmRbp8m96zXjt00sQ9vtj8zqnkg/photo/AF1QipMDoSs9FPlXqAJV7qLiWADZxkIj9Y_1PwDhQQ7u?key=cU9fbHF4Q3hETVRSMmFCcGMzWTF2QWtRSlNPZnZn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh5.googleusercontent.com/fQYc074D34ZToMDwCWZ_byZ9uA6e7W9pmaVKSLNCO4dp=w1357-h713-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">These people were trying to &#8220;listen&#8221; to the tree. I thought stethoscopes were needed to do that. Anyway, that tree trunk was huge.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipPjIF-xnceudmfzhBRvKH2zNUHgR4rW6wNVrwZJmRbp8m96zXjt00sQ9vtj8zqnkg/photo/AF1QipMiEYWyP2BIkehuJxSU4j83nWS-8ACgts7aeMzA?key=cU9fbHF4Q3hETVRSMmFCcGMzWTF2QWtRSlNPZnZn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh6.googleusercontent.com/Sb1KpCP4-8yPq0n2Blr1OcmSbVx0C4Kis6ht2lClX782=w1358-h748-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">Random chicken on the road. Doesn&#8217;t seem to be afraid of people.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipPjIF-xnceudmfzhBRvKH2zNUHgR4rW6wNVrwZJmRbp8m96zXjt00sQ9vtj8zqnkg/photo/AF1QipMKvMTI8dd9k53WMqSb_a1RYQ1FVQMkFWUpgogY?key=cU9fbHF4Q3hETVRSMmFCcGMzWTF2QWtRSlNPZnZn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/aCHHFjUpPS8zwbHP71vEcKMgYpu52_m2RFMeECiH6kDb=w1358-h658-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">And of course, lunch! Ise is famous for its udon, so that&#8217;s what we had at a restaurant called Ise Udon Okunoya. My lunch also came with a rice bowl with sashimi from local fish.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipPjIF-xnceudmfzhBRvKH2zNUHgR4rW6wNVrwZJmRbp8m96zXjt00sQ9vtj8zqnkg/photo/AF1QipMf_8kCbA4_iTCF1Kn-44ufafPg07OTGyIw1YNE?key=cU9fbHF4Q3hETVRSMmFCcGMzWTF2QWtRSlNPZnZn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh5.googleusercontent.com/o1BpGDj-YFNun2CgZRd394AAoKbV1kBgXyRgQGYrcN9I=w1357-h731-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">And I also had one piece of sushi that costed ¥1,000 (~$10). The main ingredient: Matsuzaka beef, a kind of beef that rivals even Kobe beef in quality. The beef is very soft and tender. When I put it in my mouth, I felt it melting apart by itself. $10 well spent.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipPjIF-xnceudmfzhBRvKH2zNUHgR4rW6wNVrwZJmRbp8m96zXjt00sQ9vtj8zqnkg/photo/AF1QipMf_8kCbA4_iTCF1Kn-44ufafPg07OTGyIw1YNE?key=cU9fbHF4Q3hETVRSMmFCcGMzWTF2QWtRSlNPZnZn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh5.googleusercontent.com/WQSbx11O6WmxpHXpnWOWkljMTc3CdNQpma1pcjxRXw0I=w1357-h605-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">Oharaimachi is a street with many traditional buildings and restaurants. There also lots of shops that sell different types of sake, and local foods for tourists.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipPjIF-xnceudmfzhBRvKH2zNUHgR4rW6wNVrwZJmRbp8m96zXjt00sQ9vtj8zqnkg?key=cU9fbHF4Q3hETVRSMmFCcGMzWTF2QWtRSlNPZnZn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh5.googleusercontent.com/tU-0EA79tGCj2MxPu61YX0mjOQdSbUW-MOTadam-pR7q=w1358-h731-no" alt=""/></a></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipPjIF-xnceudmfzhBRvKH2zNUHgR4rW6wNVrwZJmRbp8m96zXjt00sQ9vtj8zqnkg/photo/AF1QipMJcAXl7w74s45E54J_5PYkn3tMs_uzvKXv_ESO?key=cU9fbHF4Q3hETVRSMmFCcGMzWTF2QWtRSlNPZnZn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh6.googleusercontent.com/Bw-efEx2rKGSPTdFS4FZ3bjMJpdH79v4F4owfZ07vDij=w1358-h655-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">Played this game where I shot a gun that shot out a small cork at towers of candies. Whatever I knocked down, I got to keep. Went home with a bag of candy <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipPjIF-xnceudmfzhBRvKH2zNUHgR4rW6wNVrwZJmRbp8m96zXjt00sQ9vtj8zqnkg/photo/AF1QipMGcA8GWs3ckYwkNKh0ILCRibxu01_cGU8D46fJ?key=cU9fbHF4Q3hETVRSMmFCcGMzWTF2QWtRSlNPZnZn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh4.googleusercontent.com/dkfZZAC__xvNW-lDpCbXqkuLzl4acZocL63fAXekhmD8=w1358-h720-no" alt=""/></a></figure>
</div>

<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipPjIF-xnceudmfzhBRvKH2zNUHgR4rW6wNVrwZJmRbp8m96zXjt00sQ9vtj8zqnkg/photo/AF1QipP1gq9UaFsO7U5OWr85m0NNCZwzW_4DRkEzQc52?key=cU9fbHF4Q3hETVRSMmFCcGMzWTF2QWtRSlNPZnZn" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh4.googleusercontent.com/M6bM-NlJK6ujKCYAxF4LTSIPbA5cepxNqCG_bEWaDTnq=w1357-h774-no" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph">Links to photo albums: <a href="https://photos.google.com/share/AF1QipPjIF-xnceudmfzhBRvKH2zNUHgR4rW6wNVrwZJmRbp8m96zXjt00sQ9vtj8zqnkg?key=cU9fbHF4Q3hETVRSMmFCcGMzWTF2QWtRSlNPZnZn" target="_blank" rel="noreferrer noopener">here</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2014/07/27/ise/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1898</post-id>	</item>
		<item>
		<title>The Demilitarized Zone: The Divide between North and South Korea</title>
		<link>https://blog.henrypoon.com/blog/2014/07/07/the-demilitarized-zone-the-divide-between-north-and-south-korea/</link>
					<comments>https://blog.henrypoon.com/blog/2014/07/07/the-demilitarized-zone-the-divide-between-north-and-south-korea/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Tue, 08 Jul 2014 05:50:07 +0000</pubDate>
				<category><![CDATA[asia]]></category>
		<category><![CDATA[Aftermath of the Korean War]]></category>
		<category><![CDATA[Beef]]></category>
		<category><![CDATA[Countries]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Delicious]]></category>
		<category><![CDATA[demilitarized zone]]></category>
		<category><![CDATA[Dia]]></category>
		<category><![CDATA[DMZ]]></category>
		<category><![CDATA[Dora Observatory]]></category>
		<category><![CDATA[Dorasan]]></category>
		<category><![CDATA[Dorasan Station]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Hole]]></category>
		<category><![CDATA[hotpot]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Japan]]></category>
		<category><![CDATA[joint security area]]></category>
		<category><![CDATA[JSA]]></category>
		<category><![CDATA[Kimchi]]></category>
		<category><![CDATA[korea]]></category>
		<category><![CDATA[Korean]]></category>
		<category><![CDATA[Korean Demilitarized Zone]]></category>
		<category><![CDATA[korean war]]></category>
		<category><![CDATA[Lag]]></category>
		<category><![CDATA[Lie]]></category>
		<category><![CDATA[Link]]></category>
		<category><![CDATA[MDL]]></category>
		<category><![CDATA[Meetings]]></category>
		<category><![CDATA[Military]]></category>
		<category><![CDATA[military demarcation line]]></category>
		<category><![CDATA[military vehicles]]></category>
		<category><![CDATA[North and South Korea]]></category>
		<category><![CDATA[north korea]]></category>
		<category><![CDATA[North Korean]]></category>
		<category><![CDATA[North Korea–South Korea relations]]></category>
		<category><![CDATA[Paju]]></category>
		<category><![CDATA[Panmunjom]]></category>
		<category><![CDATA[Pho]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[Scope]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Seoul]]></category>
		<category><![CDATA[south korea]]></category>
		<category><![CDATA[Sports]]></category>
		<category><![CDATA[the Korean War]]></category>
		<category><![CDATA[Third Tunnel of Aggression]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[tuna]]></category>
		<category><![CDATA[UNC]]></category>
		<category><![CDATA[villa]]></category>
		<category><![CDATA[village]]></category>
		<category><![CDATA[When We]]></category>
		<category><![CDATA[Wiki]]></category>
		<category><![CDATA[Wikipedia]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">http://henrypoon.mooo.com/blog/the-demilitarized-zone-the-divide-between-north-and-south-korea</guid>

					<description><![CDATA[A day after getting back from my work trip in USA, I went on my next adventure to South Korea and Japan. As a part of the trip, my friend and I went to the Korean Demilitarized Zone (DMZ). The DMZ separates North and South Korea along the 38th parallel and is a result of [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">A day after getting back from my work trip in USA, I went on my next adventure to South Korea and Japan. As a part of the trip, my friend and I went to the Korean Demilitarized Zone (DMZ). The DMZ separates North and South Korea along the 38th parallel and is a result of the end of the Korean War. To this day, tensions between North and South Korea are high. On the tour bus ride there, our passports were checked multiple times as the UN had to account for each person who would be travelling in a potentially dangerous area.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/bd/Korea_DMZ.svg/681px-Korea_DMZ.svg.png" alt=""/></figure>
</div>


<p class="wp-block-paragraph"><br><a href="http://en.wikipedia.org/wiki/Korean_Demilitarized_Zone#mediaviewer/File:Korea_DMZ.svg" target="_blank" rel="noreferrer noopener">&#8220;Korea DMZ</a>&#8221; by Rishabh Tatiraju is licensed under <a href="http://creativecommons.org/licenses/by-sa/3.0/" target="_blank" rel="noreferrer noopener">CC BY-SA 3.0</a></p>



<h1 class="wp-block-heading">Joint Security Area at Panmunjom</h1>



<p class="wp-block-paragraph">The most worthwhile part of the trip was to be able to visit the Joint Security Area in Panmunjom or the so-called &#8220;Truce Village&#8221;. This is the part of the DMZ where people from the North and South can see each other face-to-face. Travelling here allowed me to see a piece of history that I was already interested in.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipOyu6YKchv-rj5bfOXxfQ1Xw-grK8IlBhkA8CX8tVNApsgRCC9-ml0WkM9vaIaWog/photo/AF1QipMnzgqqayOcDUprvh-ku6184B5mlhczN0gsM5tL?key=R2wzMlc3WWtZNWxMTW9nblJ1OEdqeGNRX2tVODh3" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh5.googleusercontent.com/NeRzTBEbFxb0G1FJNbH7Ie40ONZReD11KmCoVkm3kIKq=w1358-h764-no" alt=""/></a></figure>
</div>


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



<p class="wp-block-paragraph">Before going in everyone had to sign an agreement, where one passage says, &#8220;The visit to the Joint Security Area at Panmunjom will entail entry into a hostile area and possibility of injury or death as a direct result of enemy action.&#8221; Luckily, the US soldier informed us that it was &#8220;highly unlikely for anything to happen&#8221;. We were also told to not make any gestures toward the North Korean guards or any tourists on the other side.</p>



<p class="wp-block-paragraph">The blue buildings are conference buildings where meetings with both sides take place. They are placed such that half of the building lies on each side of the border. The gray/white building is the Panmungak, a North Korean building. On the first door on the left, a North Korean soldier stands on guard. Concrete slabs show the separation between the two sides. I guess this means I&#8217;ve technically been to North Korea &#8211; at least for a few minutes.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipOyu6YKchv-rj5bfOXxfQ1Xw-grK8IlBhkA8CX8tVNApsgRCC9-ml0WkM9vaIaWog/photo/AF1QipOOCp1-Q44y94RP8LuTCgAmJxDqDYF9SkpDAWj8?key=R2wzMlc3WWtZNWxMTW9nblJ1OEdqeGNRX2tVODh3" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh6.googleusercontent.com/QpX71BfzdePF-aiyfThXR5wFI3gxmLnoFK7XToV7wURX=w1358-h764-no" alt=""/></a></figure>
</div>


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



<h1 class="wp-block-heading">Third Infiltration Tunnel</h1>



<p class="wp-block-paragraph">Another destination we went to was the Third Infiltration Tunnel, which had the potential of being used to attack the South and its location was revealed by North Korean defector. This was known because there were clear signs of holes drilled in the rock for the next blast, and the holes were aimed toward the South side.</p>



<p class="wp-block-paragraph">To prevent injury, everyone had to wear hard hats &#8211; which was a really, really, really good idea since there was a low ceiling and I hit my head at least a dozen times. Unfortunately, we weren&#8217;t allowed to take any photographs underground.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="http://en.wikipedia.org/wiki/File:Third_Tunnel_of_Aggression.jpg" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Third_Tunnel_of_Aggression.jpg/1200px-Third_Tunnel_of_Aggression.jpg" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph"><br>&#8220;<a href="http://en.wikipedia.org/wiki/File:Third_Tunnel_of_Aggression.jpg" target="_blank" rel="noreferrer noopener">Third Tunnel of Aggression</a>&#8221; by Josh Berglund is licensed under <a href="http://creativecommons.org/licenses/by/2.0/" target="_blank" rel="noreferrer noopener">CC-BY-2.0</a></p>



<h1 class="wp-block-heading">Dora Observatory Post</h1>



<p class="wp-block-paragraph">This is a place where one can look toward North Korea from afar &#8211; but photos are not allowed past the yellow line for fear of being mistaken for sniper scopes. It&#8217;s pretty barren on that side. If only my camera could take a shot like the image I found on Wikipedia!</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><a href="http://commons.wikimedia.org/wiki/File:The_view_of_North_Korea_from_Dora_Observatory.jpg" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://upload.wikimedia.org/wikipedia/commons/a/a3/The_view_of_North_Korea_from_Dora_Observatory.jpg" alt=""/></a></figure>
</div>


<p class="wp-block-paragraph"><br>&#8220;<a href="https://commons.wikimedia.org/wiki/File:The_view_of_North_Korea_from_Dora_Observatory.jpg" data-type="link" data-id="https://commons.wikimedia.org/wiki/File:The_view_of_North_Korea_from_Dora_Observatory.jpg" target="_blank" rel="noreferrer noopener">The view of North Korea from Dora Observatory</a>&#8221; by Josh Berglund is licensed under <a href="http://creativecommons.org/licenses/by/2.0/" target="_blank" rel="noreferrer noopener">CC-BY-2.0</a></p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipOyu6YKchv-rj5bfOXxfQ1Xw-grK8IlBhkA8CX8tVNApsgRCC9-ml0WkM9vaIaWog/photo/AF1QipNXaXSfLNpm6L_jnMprzoBvEWQNSaWDGGbwggN2?key=R2wzMlc3WWtZNWxMTW9nblJ1OEdqeGNRX2tVODh3" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh5.googleusercontent.com/zI167AcI-akUoaj7VPVmUQGy-0k5W308__IL_ngkzYM6=w1358-h764-no" alt=""/></a></figure>
</div>


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



<h1 class="wp-block-heading">Dorasan Station</h1>



<p class="wp-block-paragraph">Dorasan Station is one of the few places one can actually go to Pyeongyang, at least before 2008. Our tour guide happened to be named Dora, so when we got to Dora Mountain she said, in her accented English, something like, &#8220;Look! This is my mountain!&#8221;</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipOyu6YKchv-rj5bfOXxfQ1Xw-grK8IlBhkA8CX8tVNApsgRCC9-ml0WkM9vaIaWog/photo/AF1QipOthuqFB6f8L57Qgyedriy3HgBng-HMzlffYNVw?key=R2wzMlc3WWtZNWxMTW9nblJ1OEdqeGNRX2tVODh3" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh4.googleusercontent.com/CrIc237Ct0dKelKrG_WGvSgoa6guzBNIKmXJ3wFds3SD=w1358-h764-no" alt=""/></a></figure>
</div>


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


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipOyu6YKchv-rj5bfOXxfQ1Xw-grK8IlBhkA8CX8tVNApsgRCC9-ml0WkM9vaIaWog/photo/AF1QipMinWNji1xHkPmO6fREbvbY96ksH9x_-2EU324F?key=R2wzMlc3WWtZNWxMTW9nblJ1OEdqeGNRX2tVODh3" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh6.googleusercontent.com/TsyvQ2Fyue5_dN5mJw7fHkAVeMamWhjjkI_Un3NvtjSC=w1358-h764-no" alt=""/></a></figure>
</div>


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



<h1 class="wp-block-heading">Lunch!</h1>



<p class="wp-block-paragraph">Lunch was a delicious mushroom and beef hotpot with kimchi, salad, and other delicious goodies on the side (if only I knew what I was eating)!</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipOyu6YKchv-rj5bfOXxfQ1Xw-grK8IlBhkA8CX8tVNApsgRCC9-ml0WkM9vaIaWog/photo/AF1QipNTOrFlJz4fG874HpCOCgHvlwMM1zWWnUdzdIm9?key=R2wzMlc3WWtZNWxMTW9nblJ1OEdqeGNRX2tVODh3" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh3.googleusercontent.com/vcJOvjO_BGWb80ERtZwSzay_JVqbTy-Gdao-gWvOLsEU=w1358-h764-no" alt=""/></a></figure>
</div>


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



<h1 class="wp-block-heading">Outdoor Military Vehicle Display in Imginjak</h1>



<p class="wp-block-paragraph">Nothing much to say here &#8211; just a showcase of various military vehicles.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://photos.google.com/share/AF1QipOyu6YKchv-rj5bfOXxfQ1Xw-grK8IlBhkA8CX8tVNApsgRCC9-ml0WkM9vaIaWog/photo/AF1QipOdY1-5PugA-ZtxOQUXQPBlYeTnjcSET1IameQe?key=R2wzMlc3WWtZNWxMTW9nblJ1OEdqeGNRX2tVODh3" target="_blank" rel="noreferrer noopener"><img decoding="async" src="https://lh4.googleusercontent.com/bhuRc2GAv6ADkzp9ZMV4MLCmvrVAKwyZvFjAMEXiZ1YM=w1358-h764-no" alt=""/></a></figure>
</div>


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



<h1 class="wp-block-heading">Back to Seoul</h1>



<p class="wp-block-paragraph">The tour lasted the full day. It began in Imginjak and ended at the Joint Security Area. We had dinner (more on that very &#8220;special&#8221; dinner in <a href="http://henrypoon.wordpress.com/2014/07/08/seoul-following-the-korean-stereotypes-no-not-plastic-surgery/" target="_blank" rel="noreferrer noopener">another post</a>) in Myeongdong and spent the rest of the night walking around there.</p>



<p class="wp-block-paragraph">Link to more photos: <a href="https://photos.google.com/share/AF1QipOyu6YKchv-rj5bfOXxfQ1Xw-grK8IlBhkA8CX8tVNApsgRCC9-ml0WkM9vaIaWog?key=R2wzMlc3WWtZNWxMTW9nblJ1OEdqeGNRX2tVODh3" target="_blank" rel="noreferrer noopener">here</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2014/07/07/the-demilitarized-zone-the-divide-between-north-and-south-korea/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1857</post-id>	</item>
		<item>
		<title>Considerations in Buying A 3D Printer</title>
		<link>https://blog.henrypoon.com/blog/2013/05/18/considerations-in-buying-a-3d-printer/</link>
					<comments>https://blog.henrypoon.com/blog/2013/05/18/considerations-in-buying-a-3d-printer/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Sun, 19 May 2013 03:28:22 +0000</pubDate>
				<category><![CDATA[engineering]]></category>
		<category><![CDATA[3D printing]]></category>
		<category><![CDATA[3D printing processes]]></category>
		<category><![CDATA[Actors]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Computer printers]]></category>
		<category><![CDATA[Contents]]></category>
		<category><![CDATA[Currency]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Dia]]></category>
		<category><![CDATA[Dime]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Emerging technologies]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Find]]></category>
		<category><![CDATA[Force]]></category>
		<category><![CDATA[Fused filament fabrication]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Gun]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[Inkjet printing]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Light]]></category>
		<category><![CDATA[Measurement]]></category>
		<category><![CDATA[Nature]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Office equipment]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Outside]]></category>
		<category><![CDATA[Over]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[Printer]]></category>
		<category><![CDATA[Printing]]></category>
		<category><![CDATA[Run]]></category>
		<category><![CDATA[Scope]]></category>
		<category><![CDATA[Speed]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[Struct]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Vol]]></category>
		<category><![CDATA[Volume]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">http://henrypoon.mooo.com/blog/considerations-in-buying-a-3d-printer</guid>

					<description><![CDATA[These days, there are so many people who are very excited with the latest developments in 3D printing. &#160;There are so many different options out there for people who want to purchase their own machine. &#160;Having worked with them before, I&#8217;ve come up with a list of considerations for buying a 3D printer. Print Volume [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>These days, there are so many people who are very excited with the latest developments in 3D printing. &nbsp;There are so many different options out there for people who want to purchase their own machine. &nbsp;Having worked with them before, I&#8217;ve come up with a list of considerations for buying a <a class="zem_slink" title="3D printing" href="http://en.wikipedia.org/wiki/3D_printing" target="_blank" rel="wikipedia noopener noreferrer">3D printer</a>.</p>
<h1>Print Volume</h1>
<p>This is the amount volume that the printer is able to print in. &nbsp;Generally, the measurement is given by the three dimensions of a rectangular prism. &nbsp;The thing to watch out for here is that&nbsp;<strong>just because a printer has a large print volume, it does not mean the printer can reliably print in all of it</strong>. &nbsp;Say the design calls for a thin flat plate. &nbsp;If the plate is too wide, then the edges of the plate will peel/warp during the print and the flat shape that was intended will be slightly curved. &nbsp;To visualize what warping is, imagine a flat plate lying on the print bed as it is being printed. &nbsp;Warping is when the corners of the plate start peeling off the base during a print. &nbsp;Warping will be explained in a little more detail later on.</p>
<h1>Resolution</h1>
<p>This describes the accuracy of the nozzle&#8217;s positioning. &nbsp;It is usually measured in microns or inches. &nbsp;Clearly a smaller value means that the printer will be more accurate in its position.</p>
<h1>Layer Thickness</h1>
<p>Because the printer works by extruding layers of plastic, thinner layers allow for more fine details. &nbsp;However, more layers means that the part will take longer to print (all other things being equal).</p>
<h1>Print Speed</h1>
<p>3D printing is generally a slow process, but a faster print speed could definitely help offset that.</p>
<h1>Nozzle Diameter</h1>
<p>A small nozzle diameter means that the extruded plastic will be narrow and thus allow for fine details. &nbsp;It also improves the smoothness of the printed object.</p>
<h1>Ease of Removing Parts off the Platform</h1>
<p>Because during a print, the base of the part (ideally) should be firmly adhered to the print bed, one must take care when removing the part from the print bed. &nbsp;In some cases, removing a part requires a little bit of force to pry the part off the print bed. &nbsp;This application of force may affect the alignment of the print bed relative to the nozzle. &nbsp;In lower quality printers this can permanently affect the alignment or require frequent&nbsp;re-calibration&nbsp; &nbsp;Seeing how &#8220;rigid&#8221; the print bed assembly can help assess how the machine accuracy can be affect during part removal. &nbsp;For example, if the print bed is mounted on really large support structure, then the affect of misalignment is less of a problem than a machine where the print bed is mounted in a smaller support.</p>
<h1>Enclosure</h1>
<p>Some printers enclose the part to be printed in a box and some don&#8217;t. &nbsp;The reason an enclosure exists is so that the machine is able to prevent the part being printed from losing too much heat during print. &nbsp;Loss of heat during a print negatively affects the adhesion of the printed plastic. &nbsp;Also a larger temperature difference means the part will warp more. &nbsp;Without an enclosure, heat is able to freely transfer to the ambient. &nbsp;High quality printers generally have an enclosure.</p>
<h1>Variety of Printed Materials</h1>
<p>A common material to print with is ABS. &nbsp;Other materials such as PLA can be printed as well. &nbsp;The use of the particular material can be quite dependent on the application of the printed part. &nbsp;The cost of material also differs. &nbsp;It is worthwhile to determine what material will be printed. &nbsp;In many cases, ABS should be sufficient.</p>
<h1>Warping</h1>
<p>This is probably one of the biggest limitations of 3D printing. &nbsp;Because of the use of heat during print, it is natural for the part to shrink as it cools down. &nbsp;The problem is that the shrinkage is not uniform. &nbsp;Some parts of the model shrink more than others and most of the time it is very unpredictable. &nbsp;While there are some general guidelines that designers can follow to reduce warping, there are definitely some machine features that are good to have to help reduce warping even further. &nbsp;Because the nature of the way the printer prints is that plastic is extruded layer by layer, the plastic layer at the very bottom is the first to cool down. &nbsp;Cooling down means shrinkage. &nbsp;This also means that as the bottom of the model shrinks, the printer is still printing on top of a slightly shrunken part. &nbsp;Sometimes the shrinkage can be so bad that the part pulls itself off the print bed. &nbsp;When the part is no longer securely adhered to the print bed, the part may slide around and ruin the entire print. &nbsp;Warping is the enemy of 3D printing.</p>
<p>Below are some qualities of a machine that help reduce shrinkage:</p>
<ul>
<li>Heated print bed &#8211; a heated print bed keeps the plastic hot during the print and does not let the base cool down as much as if there were no heated print bed</li>
<li>Enclosure &#8211; described above</li>
</ul>
<p>There are more ways to reduce warping that the designer can do, but that is outside the scope of this article.</p>
<h1>Number of Nozzles</h1>
<p>A lot of printers just have the one print nozzle, but there are some with multiple. &nbsp;This allows printing with multiple colours or in some cases printing with a water soluble support material. &nbsp;Generally, support material has to be manually removed from the printed part, but if the support material is water soluble, this saves a lot of the manual labor involved in cleaning up the model.</p>
<h1>Nozzle Maintenance</h1>
<p>Through extended use, the nozzle can become quite dirty, that is black gunk starts building up on the surface of the nozzle. &nbsp;If one is not careful, this can clog the print nozzle. &nbsp;It is worthwhile to find out how often the nozzle needs to be replaced. &nbsp;There are also other factors that may result in the need to replace a nozzle. &nbsp;This is a recurring cost of maintaining the printer. &nbsp;Some nozzles are cheaper and more common than others and it is worth it to see how often the nozzle needs to be replaced and how much it will cost each time. &nbsp;Machines may come with extra nozzles.</p>
<h1>Lubrication</h1>
<p>Over time, moving parts may have to be lubricated. &nbsp;Printers should come with a maintenance manual to help instruct the user how to do this. &nbsp;It is also helpful to know the cost of the lubricant and how often it will be required.</p>
<h1>Machine Lifetime Cost</h1>
<p>Aside from the cost of the machine, operating a 3D printer can also incur the following costs:</p>
<ul>
<li>Shipping</li>
<li>Insurance</li>
<li>Brokerage fees</li>
<li>Tools for removing support material</li>
<li>Currency conversion</li>
<li>Sales tax</li>
<li>Print material (recurring)</li>
<li>Replacement nozzles (recurring)</li>
<li>Lubricants for moving parts (recurring)</li>
</ul>
<p>As it can be seen, the extra costs can be quite significant.</p>
<h1>Conclusion</h1>
<p>Hopefully this has given a good general overview of some of the considerations in buying a 3D printer. &nbsp;Different people will value different things in the printer and hopefully this subset of possible considerations for buying a 3D printer helps people make a decision as to what to look for in a printer.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2013/05/18/considerations-in-buying-a-3d-printer/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1603</post-id>	</item>
		<item>
		<title>RoboCup Small Size League North American Open 2012</title>
		<link>https://blog.henrypoon.com/blog/2012/06/27/robocup-small-size-league-north-american-open-2012/</link>
					<comments>https://blog.henrypoon.com/blog/2012/06/27/robocup-small-size-league-north-american-open-2012/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Wed, 27 Jun 2012 21:57:07 +0000</pubDate>
				<category><![CDATA[engineering]]></category>
		<category><![CDATA[9]]></category>
		<category><![CDATA[British Columbia]]></category>
		<category><![CDATA[Canada]]></category>
		<category><![CDATA[Chan]]></category>
		<category><![CDATA[China]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Competition]]></category>
		<category><![CDATA[Culture]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Drive]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Erlangen]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Final]]></category>
		<category><![CDATA[Find]]></category>
		<category><![CDATA[Firmware]]></category>
		<category><![CDATA[Flag]]></category>
		<category><![CDATA[Force]]></category>
		<category><![CDATA[friedrich alexander universität]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[German]]></category>
		<category><![CDATA[Germany]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Hex]]></category>
		<category><![CDATA[Hole]]></category>
		<category><![CDATA[Human behavior]]></category>
		<category><![CDATA[Humanoid Robots Evolution]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Lag]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[Light]]></category>
		<category><![CDATA[Literature]]></category>
		<category><![CDATA[London]]></category>
		<category><![CDATA[Lost]]></category>
		<category><![CDATA[Mech]]></category>
		<category><![CDATA[Mecha]]></category>
		<category><![CDATA[Mexico]]></category>
		<category><![CDATA[Mexico City]]></category>
		<category><![CDATA[Over]]></category>
		<category><![CDATA[Pho]]></category>
		<category><![CDATA[Plan]]></category>
		<category><![CDATA[Project management]]></category>
		<category><![CDATA[puffin]]></category>
		<category><![CDATA[RAR]]></category>
		<category><![CDATA[RoboCup]]></category>
		<category><![CDATA[robocup competition]]></category>
		<category><![CDATA[Robot]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[robots]]></category>
		<category><![CDATA[Science in popular culture]]></category>
		<category><![CDATA[Scope]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Stairs]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[Struct]]></category>
		<category><![CDATA[Student]]></category>
		<category><![CDATA[Sunday]]></category>
		<category><![CDATA[Team]]></category>
		<category><![CDATA[The Battery]]></category>
		<category><![CDATA[The Organ]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[thunder]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[tuna]]></category>
		<category><![CDATA[universität erlangen nürnberg]]></category>
		<category><![CDATA[University of British Columbia]]></category>
		<category><![CDATA[Vancouver]]></category>
		<category><![CDATA[Vol]]></category>
		<category><![CDATA[Voltage]]></category>
		<category><![CDATA[Week]]></category>
		<category><![CDATA[Woke]]></category>
		<category><![CDATA[Z]]></category>
		<category><![CDATA[Zhejiang]]></category>
		<category><![CDATA[Zhejiang University]]></category>
		<guid isPermaLink="false">http://henrypoon.mooo.com/blog/robocup-small-size-league-north-american-open-2012</guid>

					<description><![CDATA[From 9 to 16 June, the RoboCup Small Size League North American Open 2012 was held in Vancouver, Canada at the University of British Columbia. &#160;There were three participating teams: Thunderbots (University of BC, Vancouver, Canada), ER-Force (Friedrich-Alexander-Universität Erlangen-Nürnberg,&#160;Erlangen, Germany), and ZJUNLict (Zhejiang University, Zhejiang, China). &#160;This was the chance for these three teams to [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">From 9 to 16 June, the <a class="zem_slink" title="RoboCup" href="http://en.wikipedia.org/wiki/RoboCup" target="_blank" rel="wikipedia noopener noreferrer">RoboCup</a> Small Size League North American Open 2012 was held in Vancouver, Canada at the University of British Columbia. &nbsp;There were three participating teams: Thunderbots (<a class="zem_slink" title="University of British Columbia" href="http://maps.google.com/maps?ll=49.2669222222,-123.247466667&amp;spn=0.01,0.01&amp;q=49.2669222222,-123.247466667 (University%20of%20British%20Columbia)&amp;t=h" target="_blank" rel="geolocation noopener noreferrer">University of BC</a>, Vancouver, Canada), ER-Force (<a class="zem_slink" title="University of Erlangen-Nuremberg" href="http://maps.google.com/maps?ll=49.597,11.007&amp;spn=1.0,1.0&amp;q=49.597,11.007 (University%20of%20Erlangen-Nuremberg)&amp;t=h" target="_blank" rel="geolocation noopener noreferrer">Friedrich-Alexander-Universität Erlangen-Nürnberg</a>,&nbsp;Erlangen, Germany), and ZJUNLict (<a class="zem_slink" title="Zhejiang University" href="http://maps.google.com/maps?ll=30.2636111111,120.120833333&amp;spn=0.01,0.01&amp;q=30.2636111111,120.120833333 (Zhejiang%20University)&amp;t=h" target="_blank" rel="geolocation noopener noreferrer">Zhejiang University</a>, Zhejiang, China). &nbsp;This was the chance for these three teams to pit their robots against each other in preparation for the even bigger RoboCup competition in Mexico City.</p>



<figure class="wp-block-image size-large"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/design.engineering.ubc.ca/files/2011/10/EDC-cropped-small.jpg?w=1280&#038;ssl=1" alt=""/></figure>



<h1 class="wp-block-heading">Beginning of the Competition</h1>



<p class="wp-block-paragraph">On the first day of the competition, there was a work day for all the teams to use to get their robots ready again after a long flight to Canada. &nbsp;As the current mechanical team lead for the Thunderbots, I too had to get our own robots ready to play. &nbsp;The mechanical systems had already been completed some weeks ago, but unfortunately, even now, the electrical board testing and firmware coding still had not been completed yet and some parts that we needed were still not in. &nbsp;For the next day and a half, the team was scrambling to get everything finished in preparation for the first game on Sunday. &nbsp;Because, the only critical tasks remaining were the electrical testing and coding, only the electrical team had the know-how to tackle those tasks. &nbsp;The mechanical and software teams could only wait for results. &nbsp;As the electrical team worked, everybody else on the team became more and more stressed. &nbsp;We all kept wondering whether the team would have working robots for the first game. &nbsp;We were all helpless in this situation. &nbsp;The electrical team worked throughout the day and night trying to finish. &nbsp;Some of the other team members stayed in anticipation while others went home to rest hoping for results in the morning.</p>



<p class="wp-block-paragraph">Throughout this work day, the Chinese team continued testing their robots on the field. &nbsp;They seemed like the most ready team. &nbsp;The German team however, had lots of work to do as well. &nbsp;Their flight to London from Germany was delayed and as a result, they missed their flight from London to Vancouver. &nbsp;They arrived in Vancouver on Saturday night. &nbsp;They &nbsp;had even less time than we did to get their robots working. &nbsp;When each team set up their work space, they each made sure to put up their mascots. &nbsp;For the Chinese team, they had a panda plush of about 1.5 ft tall and the Germans had a full size German flag.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://picasaweb.google.com/117972094293741244551/RoboCupNorthAmericanOpen#5758409322088030514" target="_blank" rel="noreferrer noopener"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh4.googleusercontent.com/-OBIdp4ameUE/T-n6xOJa4TI/AAAAAAAAGVA/diAZMRHAeds/s720/2012-06-10%252020.57.49.jpg?w=1280&#038;ssl=1" alt="" title="ZJUNLict's mascot"/></a></figure>
</div>


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



<h1 class="wp-block-heading">Game Days</h1>



<p class="wp-block-paragraph">On the game day, I woke at up 5:30 AM and arrived bright and early on campus at 8 AM. &nbsp;When I arrived, the electrical team was still at it and seemingly not even close to finishing. &nbsp;This led to a change in the team&#8217;s strategy to the competition. &nbsp;We would try to repair the electrical boards from last year&#8217;s robots. &nbsp;These old boards had a different size than the new ones and had different mounting holes, but luckily, somebody on the team had the great idea of including mounting holes for these old boards for this year&#8217;s robots. &nbsp;Otherwise, we would have had a really hard time hacking that together. &nbsp;Given only the few hours we had to hack this set up together, the mech team and I worked as fast as we could to finish. &nbsp;We each probably ran up and down the stairs at the UBC Engineering Design Center about 20 times that day looking for tools and delivering robots.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://picasaweb.google.com/117972094293741244551/RoboCupNorthAmericanOpen#5758409159532132882" target="_blank" rel="noreferrer noopener"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh5.googleusercontent.com/-JBZL1uGRMq4/T-n6nwlEuhI/AAAAAAAAGUU/1GTz2IKrVLI/s1024/2012-06-10%252015.59.43.jpg?w=1280&#038;ssl=1" alt="" title="Three robots working so far..."/></a></figure>
</div>


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



<p class="wp-block-paragraph">The first game was supposed to be at 9:30 AM, but my team certainly was not ready. &nbsp;It seemed like the other teams weren&#8217;t completely ready either, so the game was postponed until the afternoon. &nbsp;The Thunderbots was supposed to play the first game, but due to our lack of readiness, China and Germany played each other instead. &nbsp;When it became our turn we play, we managed to get three robots out of six on the field. &nbsp;None of these robots had a working break beam sensor (the sensor on the robot that is designed to detect ball possession). &nbsp;Without break beams, the robots did not know they could kick the ball, since it would never know if it had ball possession. &nbsp;The robots did not have a controller that worked well either (the controller determines how much voltage to apply to each of the motors such that the robot can move smoothly from A to B). &nbsp;A controller that didn&#8217;t work well meant the robots drove about on the field seemingly confused. &nbsp;&#8220;Derp&#8221; is probably the best word to describe it. &nbsp;Despite the shortcomings of these three robots, they played their best against ZJUNLIct from China and the Thunderbots were defeated 10-0.</p>



<p class="wp-block-paragraph">On the following few days, the mech team tried to help the electrical team the best they could with tasks such as building extra connectors. &nbsp;We also tried to get the old break beam sensors working again. &nbsp;It was something that had to be on the robot if it were to ever kick the ball properly. &nbsp;After toiling for a few hours, we managed to get two out of three of them working. &nbsp;We probably could have gotten more if we knew more about the electrical design. &nbsp;There was little to go on in terms of the wiring schematic and spare parts. &nbsp;It was also hard to troubleshoot since ambient lighting largely affected the sensor. &nbsp;If it worked upstairs in our work space, it wouldn&#8217;t work downstairs on the playing field. &nbsp;It took us a while to figure that out.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://picasaweb.google.com/117972094293741244551/RoboCupNorthAmericanOpen#5758409410428513954" target="_blank" rel="noreferrer noopener"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh6.googleusercontent.com/-cl0rDbWpRmQ/T-n62XPbrqI/AAAAAAAAGVg/OnQtBcCgvKM/s1024/IMG_6469.JPG?w=1280&#038;ssl=1" alt="" title="Break beam sensor mount"/></a></figure>
</div>


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



<p class="wp-block-paragraph">In our second game, we played against ER-Force from Deutschland. &nbsp;For this game, we still only had three robots, but this time they were a little bit better equipped. &nbsp;Even then, the robots still had trouble kicking because the lights being used on the field emitted too much infrared light, which obstructed the break beam sensors. &nbsp;It was very frustrating to see the robots not knowing when to kick even though they were handling the ball perfectly. But somehow, we still managed to score a goal. &nbsp;In the end we lost the game 6 to 1.</p>



<p class="wp-block-paragraph">In the final game between China&#8217;s ZJUNLict and Germany&#8217;s ER-Force, the Chinese team was victorious. &nbsp;Both teams had a full fleet of robots to play six on six. &nbsp;A modest crowd of spectators also watched the whole game being played and in general people were quite impressed at this engineering feat.</p>


<div class="wp-block-image">
<figure class="aligncenter is-resized"><a href="https://picasaweb.google.com/117972094293741244551/RoboCupNorthAmericanOpen#5758409494133610066" target="_blank" rel="noreferrer noopener"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh4.googleusercontent.com/-ml3EBYiXDLs/T-n67PESFlI/AAAAAAAAGV4/vqoVgQ3YP0s/s1024/2012-06-12%252017.11.20.jpg?w=1280&#038;ssl=1" alt="" style="width:840px;height:630px" title="ZJUNLict VS ER-Force"/></a></figure>
</div>


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



<h1 class="wp-block-heading">Team Social</h1>



<p class="wp-block-paragraph">To allow the teams to better know one another, there was a social event planned by the organizers of the North American Open. &nbsp;There, I met a lot of the members of the German and Chinese teams. &nbsp;It was nice that that I could talk to each team in their native languages. &nbsp;Although my German wasn&#8217;t that good to keep up a conversation for a long time, it was enough to get the Germans wondering how I knew it at all. &nbsp;The last thing they&#8217;d expect is for a Chinese guy to start speaking German to them. &nbsp;My Mandarin was at a level that I could talk to people in it, but there were still some occasions where I didn&#8217;t understand what they said. &nbsp;It was probably because of me not having a lot of practice with Mandarin (I speak Cantonese normally) and them having an accent from their region that I didn&#8217;t recognize.</p>



<h1 class="wp-block-heading">Press Conference</h1>



<p class="wp-block-paragraph">The organizers made sure to invite as much of the press as they could. &nbsp;More publicity meant that the team could potentially get more money in sponsorship. &nbsp;More money means better robots. &nbsp;The administrative members of the team were in the spotlight and talked to most of the people from the press, while the technical members of the team continued to do their work. &nbsp;The team leads from mech, software and electrical also had a brief interview with the 24 Hours Vancouver newspaper. &nbsp;The team was also featured in the Ubbyssey <a rel="noopener noreferrer" href="http://www.youtube.com/watch?v=EtJr4VRkEbY&amp;feature=youtu.be" target="_blank">here</a>&nbsp;and on MacLean&#8217;s magazine <a href="https://www.macleans.ca/society/science/video-the-robot-version-of-euro-2012/" target="_blank" rel="noreferrer noopener">here</a>.</p>



<p class="wp-block-paragraph">The Chinese team also put on a show for the press by putting all 12 of their robots on the field so they could they play against themselves six on six. &nbsp;The performance went quite smoothly as there were not random break downs and the press were very impressed.</p>



<h1 class="wp-block-heading">Engineering Failures</h1>



<p class="wp-block-paragraph">As with these student projects, an accident was bound to happen. &nbsp;This one was with a battery. &nbsp;There was have been a defective battery that the Chinese team unknowingly brought and when they charged it, the battery started puffing up &#8211; not a good sign for a battery. &nbsp;One of our team members was quick to notice and instantly dunked it in soap water and disposed of it.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://picasaweb.google.com/117972094293741244551/RoboCupNorthAmericanOpen#5758409233257529122" target="_blank" rel="noreferrer noopener"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh6.googleusercontent.com/-dqZIo6vvNJw/T-n6sDOk_yI/AAAAAAAAGUo/xOEm5RTzTtk/s720/2012-06-10%252018.14.26.jpg?w=1280&#038;ssl=1" alt="" title="LiPo battery in soap water"/></a></figure>
</div>


<p class="wp-block-paragraph">For our team, we had problems where the solenoid kicker would get stuck after being used repetitively. &nbsp;Heat from the power dissipation in the solenoid windings would heat up the whole assembly and cause the solenoid housing to permanently deform. &nbsp;The solenoid was produced out of stacked layers of&nbsp;poly-carbonate&nbsp;sheets. &nbsp;This stacking of layers allowed each layer to deform individually. &nbsp;To fix this problem, we printed out new housings made of ABS plastic. &nbsp;By having one solid solenoid housing, it was more difficult for it to deform.</p>



<figure class="wp-block-image"><a href="https://picasaweb.google.com/117972094293741244551/RoboCupNorthAmericanOpen#5758409620210048882" target="_blank" rel="noreferrer noopener"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh3.googleusercontent.com/-tJi9w9vsdH8/T-n7CkvP33I/AAAAAAAAGWg/X3yEDaDSwD4/s1024/2012-06-15%252010.52.31.jpg?w=1280&#038;ssl=1" alt="" title="Solenoid warping"/></a></figure>



<figure class="wp-block-image"><a href="https://picasaweb.google.com/117972094293741244551/RoboCupNorthAmericanOpen#5758409664266399922" target="_blank" rel="noreferrer noopener"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/lh4.googleusercontent.com/-Sa6aEXretIU/T-n7FI3GcLI/AAAAAAAAGWo/mv8nKIm2dGw/s1024/2012-06-15%252010.52.37.jpg?w=1280&#038;ssl=1" alt="" title="3D printed winding"/></a></figure>



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



<p class="has-text-align-left wp-block-paragraph">The German team had some problems with the turf getting dug out of the carpet and getting everywhere inside the problem and also with their robot shells not staying on properly. &nbsp;The turf inside the robot meant that gears could get stuck intermittently and could also get in the way of other mechanical components. &nbsp;Their solution solution for now was to clean it all out every game. &nbsp;During games, the shells of the robot would pop out randomly whenever there was an intense impact with a ball or another robot.</p>



<h1 class="wp-block-heading">Getting Ready for Mexico</h1>



<p class="wp-block-paragraph">On the Friday before all three teams left for Mexico City, everybody had to pack up all of their things. &nbsp;The German and Chinese teams could pack everything easily since they had packed everything once before when they had to fly to Vancouver. &nbsp;For us, our tools were scattered all over the place. &nbsp;It took us about 4 hours to find all tools to pack into the the luggage containers. &nbsp;The approach to packing was that we would pack any tool that was ours and was already lying out on the table. &nbsp;This is because if we took it out of the tool closet, it meant that the team used it for something. &nbsp;Naturally all of the hex keys, screw drivers and the like were packed. &nbsp;All spare parts were packed. &nbsp;Every tool that we had sitting around was packed. &nbsp;Even electrical equipment like a power supply and an oscilloscope was packed. &nbsp;We had everything we needed for RoboCup 2012 in Mexico City. &nbsp;Even though not everything was done in time for this competition, everybody was confident that things would be better in the competition in Mexico.</p>



<p class="wp-block-paragraph">More photos <a href="https://photos.google.com/share/AF1QipO8nu-4pMZ9jFTHgrzQfAFiAfAYkRitCki3r6wat0nEHgnez-lfz2SNwdjLEUHETw?key=UjBWUXYtRmZBRlFtY3VWeGdTZDRRejJEOEx6Vm5B" target="_blank" rel="noreferrer noopener">here</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2012/06/27/robocup-small-size-league-north-american-open-2012/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1467</post-id>	</item>
		<item>
		<title>Reflections from MECH 45X Capstone Design Project</title>
		<link>https://blog.henrypoon.com/blog/2012/05/13/reflections-from-mech-45x-capstone-design-project/</link>
					<comments>https://blog.henrypoon.com/blog/2012/05/13/reflections-from-mech-45x-capstone-design-project/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Sun, 13 May 2012 22:07:32 +0000</pubDate>
				<category><![CDATA[engineering]]></category>
		<category><![CDATA[9]]></category>
		<category><![CDATA[Brian Welch]]></category>
		<category><![CDATA[Bullet]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Chan]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Competition]]></category>
		<category><![CDATA[Const]]></category>
		<category><![CDATA[Creative works]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Engineering]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Family]]></category>
		<category><![CDATA[Films]]></category>
		<category><![CDATA[Find]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Guitarists]]></category>
		<category><![CDATA[Health]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Lie]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Mech]]></category>
		<category><![CDATA[Mecha]]></category>
		<category><![CDATA[Mechanical engineering]]></category>
		<category><![CDATA[Meetings]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Over]]></category>
		<category><![CDATA[Product development]]></category>
		<category><![CDATA[Project and Program Management]]></category>
		<category><![CDATA[Project management]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[rain]]></category>
		<category><![CDATA[RoboCup]]></category>
		<category><![CDATA[Robot]]></category>
		<category><![CDATA[Scope]]></category>
		<category><![CDATA[Sleep]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[Student]]></category>
		<category><![CDATA[Team]]></category>
		<category><![CDATA[thunder]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[Time management]]></category>
		<category><![CDATA[UNC]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">http://henrypoon.mooo.com/blog/reflections-from-mech-45x-capstone-design-project</guid>

					<description><![CDATA[Around 8 months ago, myself and three others began to design and build&#160;a robotic object manipulation device for the RoboCup@Home Competition in 2013 that is able to handle a variety of household objects. &#160;My experience in this project taught me aspects to a design project that to be learned by doing. Team Formation I think [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Around 8 months ago, myself and three others began to design and build&nbsp;a robotic object manipulation device for the RoboCup@Home Competition in 2013 that is able to handle a variety of household objects. &nbsp;My experience in this project taught me aspects to a design project that to be learned by doing.</p>
<h1>Team Formation</h1>
<p>I think this is where a lot of students struggle when things go wrong. &nbsp;It&#8217;s always possible to get a teammate that is hard to work with. &nbsp;While it is no fault of either person, the two personalities (either in values, cultural background, style of working, way of thinking, etc.) are different enough to cause disagreements. &nbsp;At times, the disagreements can become so heated that the team&#8217;s progress in the project is hindered.</p>
<p>I realized that there were communication issues among each other in the group, which delayed progress in the early stages of the project.&nbsp; These issues came about in the form of misunderstandings of what people said during team meetings.&nbsp; I found myself in the position where I was expressing my own interpretation of what people said in the hopes that everyone would reach a common understanding.&nbsp; As the project went on, family issues prevented one member from continuing this project further.&nbsp; In a way, this eased our communication problems since communication between three people was a lot easier than between four people, based on what I experienced in the project.&nbsp; Afterward, our team became a lot more efficient and progressed at a faster rate than before.</p>
<p>One of the things that the mechanical engineering curriculum at UBC teaches is team dynamics. &nbsp;After learning a lot of theory as to how to work best with teams, doing projects with other people puts that knowledge to the test. &nbsp;Some people don&#8217;t really manage working with others and feel set in their ways. &nbsp;Differences among people exist and I realize that adjustments in the way I work with them is required in order to promote a healthy functioning group.</p>
<h1>Project Scope</h1>
<p>In retrospect, I would have advocated reducing the project scope since; I feel that the hours we put in were beyond what the course asked for.&nbsp; I estimate that each member put in over 300 hours on the project.&nbsp; Since a large part of this course is about design justification, time is very realistic constraint that can limit project scope. &nbsp;At the same time, there are other courses to worry about. &nbsp;By spending extra time on 45X, less time is available for other courses.</p>
<p>In the beginning of the project, I couldn’t predict well how long things would take. &nbsp;Therefore, time for “messing up” or “unforeseen consequences” should be budgeted for.&nbsp; Many people say things like “I can finish this in about 2 hours”, but in reality, it will take him two days.</p>
<h1>Documentation</h1>
<p>Very often I found myself referring to old dossier documents to find out information that I needed to know. For example, if I forgot how much something cost, I looked back on the dossier to find out.&nbsp; If I forgot one of the project requirements, back to the dossier I looked.&nbsp; At times, it is a bit of a pain to write some sections of the dossier since I couldn’t make sense of the some of the wording.&nbsp; To deal with it, I had to ask the project supervisor during team meetings.</p>
<h1>Project Logistics</h1>
<p>I booked as much machine shop time as we could ahead of time knowing that we would need it.&nbsp; The team would have liked to send in parts for the waterjet or have the technicians work on them, but we were way too late for that.&nbsp; With a simpler project scope, we could have designed our parts faster and could have been further ahead in those manufacturing lineups to decrease the lead time.&nbsp; My teammates and I spent quite a bit of time in the machine shop to get as much as we could ready for the design review.&nbsp; At the same time, I had to look at when ordered parts arrived such that things would arrive in time so that we had everything prepared while building the prototype.</p>
<h1>Time Management</h1>
<p>While doing 45X, I was also working on New Venture Design and Thunderbots at the same time, which also took up a lot of my time.&nbsp; As with design projects, they take up the most time relative to other courses.&nbsp; For me, I had to juggle these three for the entire year.&nbsp; This gave me a lot of stress at times, but it taught me to be more productive.&nbsp; For example, on the way home, I would be responding to e-mails that I received during the day so I would have more time to work on the project when I got home.&nbsp; Since my commute to campus is 1.5 hours just to get to campus (one direction), I had to learn how to make use of this time.</p>
<h1>Project Management</h1>
<p>I took up the role of “project manager” in the beginning of the project and this role showed me a lot of the logistics that had to be considered in a project.&nbsp; Very often I found myself asking for progress on certain tasks and pushing teammates to finish faster.&nbsp; Different issues often came to my head that I had to find an answer for such as “are our parts going to arrive in time for machining” or “do we need to have another meeting with the client”.</p>
<h1>For Future 45X Students</h1>
<p>Don’t wait until the last minute to do something.&nbsp; There is always something that needs to be done in this course from beginning to end.&nbsp; Mech students like to aim high, which is good, but 99% of the time there is not enough time to accomplish the “perfect” design that they always aim for.&nbsp; This leads to a lot of sleepless nights or worse, a prototype that isn’t ready to be handed in.&nbsp; Be ready to bite the bullet and make compromises like cutting features to make work less for the team and to meet deadlines.&nbsp; No design will be “perfect” at the end of the course and this fact, however brutal it may be, must be accepted.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2012/05/13/reflections-from-mech-45x-capstone-design-project/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1449</post-id>	</item>
		<item>
		<title>Childhood Nostalgia–Pokémon on Gameboy</title>
		<link>https://blog.henrypoon.com/blog/2011/12/31/childhood-nostalgia-pok%c3%a9mon-on-gameboy/</link>
					<comments>https://blog.henrypoon.com/blog/2011/12/31/childhood-nostalgia-pok%c3%a9mon-on-gameboy/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Sun, 01 Jan 2012 02:00:39 +0000</pubDate>
				<category><![CDATA[gaming]]></category>
		<category><![CDATA[9]]></category>
		<category><![CDATA[Creative works]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Dia]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Emergent gameplay]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Gary]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[Inventory]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Japan]]></category>
		<category><![CDATA[Lavender Town]]></category>
		<category><![CDATA[Mass]]></category>
		<category><![CDATA[MissingNo.]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[pokemon]]></category>
		<category><![CDATA[RAR]]></category>
		<category><![CDATA[Role-playing video games]]></category>
		<category><![CDATA[Scope]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[Video games]]></category>
		<category><![CDATA[Video games developed in Japan]]></category>
		<category><![CDATA[Video gaming]]></category>
		<guid isPermaLink="false">http://henrypoon.mooo.com/blog/childhood-nostalgia%e2%80%93pok%c3%a9mon-on-gameboy</guid>

					<description><![CDATA[Being a 90’s kid, Pokémon was immensely popular at the time.&#160; I was around 9 years old, playing the Gameboy games on an emulator, and trying to catch every Pokémon.&#160; One of the most memorable scenes was in Lavender Town, being in the tower and not being able to fight any of the ghosts because [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Being a 90’s kid, Pokémon was immensely popular at the time.&nbsp; I was around 9 years old, playing the Gameboy games on an emulator, and trying to catch every Pokémon.&nbsp; One of the most memorable scenes was in Lavender Town, being in the tower and not being able to fight any of the ghosts because I didn’t yet have the Silph Scope to reveal them.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2011/12/cdn-alt1040-com_-files_-2010-09-pokemon-ghost-420x251.jpg" target="_blank" rel="noreferrer noopener"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2011/12/cdn-alt1040-com_-files_-2010-09-pokemon-ghost-420x251_thumb.jpg?w=1280" alt="cdn.alt1040.com.files.2010.09.Pokemon-Ghost-420x251" title="cdn.alt1040.com.files.2010.09.Pokemon-Ghost-420x251"/></a></figure>
</div>


<p class="wp-block-paragraph">The eerie music played continuously in the background.&nbsp; I don’t remember what the music was, but reading more about it, it is the source of an urban legend surrounding the “Lavender Town Syndrome”.&nbsp; Apparently, there was a brief peak in suicides among 7-12 year old kids shortly after the release of Pokémon Red and Green in Japan.&nbsp; I don’t remember being <em>that</em> frightened by the ghosts when I was little.</p>



<p class="wp-block-paragraph">I also remember talking to the old man in Viridian City who taught the player how to catch Pokémon and then using him as an exploit to get to MIssingNo off the coast of Cinnabar Island.</p>



<p class="wp-block-paragraph"><a href="https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2011/12/missingno.png" target="_blank" rel="noreferrer noopener"><img data-recalc-dims="1" loading="lazy" decoding="async" title="Missingno" width="320" height="288" border="0" style="background-image: none; padding-left: 0; padding-right: 0; display: block; float: none; margin-left: auto; margin-right: auto; padding-top: 0; border: 0;" src="https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2011/12/missingno_thumb.png?resize=320%2C288" alt="Missingno"></a></p>



<p class="wp-block-paragraph">All sorts of weird stuff happened like seeing level 100+ Pokémon and the massive replication of items in the sixth inventory slot (that’s a lot of Masterballs and Rare Candies).</p>



<p class="wp-block-paragraph">And then there was Gary, who was probably the biggest jerk ever encountered.&nbsp; At every step of the game, he’d ALWAYS be one step ahead of the player.&nbsp; In the beginning, he purposely picks the Pokémon that is your pick’s weakness.&nbsp; And later in the game, after the player gets all the Gym Badges, it turns out Gary got them all before the player.&nbsp; And he still remains ahead even after fighting the Elite 4.</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2011/12/gary.png" target="_blank" rel="noreferrer noopener"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/blog.henrypoon.com/wp-content/uploads/2011/12/gary_thumb.png?w=1280" alt="gary" title="gary"/></a></figure>
</div>


<p class="wp-block-paragraph">At least, at the end, there is a great feeling of satisfaction after beating him.&nbsp; If I remember correctly, according to Professor Oak, he didn’t give his Pokémon “trust and love”.&nbsp; Gary was a bit of an ass, so I guess he deserved it.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2011/12/31/childhood-nostalgia-pok%c3%a9mon-on-gameboy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1292</post-id>	</item>
		<item>
		<title>Description of C++ Keywords</title>
		<link>https://blog.henrypoon.com/blog/2010/01/18/description-of-c-keywords/</link>
					<comments>https://blog.henrypoon.com/blog/2010/01/18/description-of-c-keywords/#comments</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Tue, 19 Jan 2010 04:44:44 +0000</pubDate>
				<category><![CDATA[computer stuff]]></category>
		<category><![CDATA[9]]></category>
		<category><![CDATA[Assembly language]]></category>
		<category><![CDATA[British Columbia]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[C++ classes]]></category>
		<category><![CDATA[Chan]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Compilers]]></category>
		<category><![CDATA[Computer languages]]></category>
		<category><![CDATA[Const]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Data types]]></category>
		<category><![CDATA[Dia]]></category>
		<category><![CDATA[EAR]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[IME]]></category>
		<category><![CDATA[ise]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Lie]]></category>
		<category><![CDATA[Monday]]></category>
		<category><![CDATA[Nature]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Outside]]></category>
		<category><![CDATA[Over]]></category>
		<category><![CDATA[Parameter]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[Programming languages]]></category>
		<category><![CDATA[RAR]]></category>
		<category><![CDATA[Reference]]></category>
		<category><![CDATA[Run]]></category>
		<category><![CDATA[Scope]]></category>
		<category><![CDATA[Sizeof]]></category>
		<category><![CDATA[Speed]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[Struct]]></category>
		<category><![CDATA[Sunday]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[Thou]]></category>
		<category><![CDATA[Time]]></category>
		<category><![CDATA[Typedef]]></category>
		<category><![CDATA[Typename]]></category>
		<category><![CDATA[UNC]]></category>
		<category><![CDATA[University of British Columbia]]></category>
		<category><![CDATA[Variable]]></category>
		<category><![CDATA[Virtual function]]></category>
		<category><![CDATA[Vol]]></category>
		<category><![CDATA[Week]]></category>
		<category><![CDATA[Words]]></category>
		<category><![CDATA[ypres]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">http://henrypoon.mooo.com/blog/description-of-c-keywords</guid>

					<description><![CDATA[Source: The University of British Columbia asm (seldom used) Used to insert assembly language commands directly into the code. This function is very tricky to use even for professional programmers and can cause portability issues. asm(&#8220;instruction&#8221;); auto Used to declare local variables but is purely optional. auto int i = 5; The previous declaration thus [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Source: The University of British Columbia</p>
<p><strong><code>asm</code></strong> (seldom used)</p>
<ul>
<li>Used to insert assembly language commands directly into the code. This function      is very tricky to use even for professional programmers and can cause portability      issues.<br />
<blockquote><p>asm(&#8220;instruction&#8221;);</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="auto"></a>auto</code></strong></p>
<ul>
<li>Used to declare local variables but is purely optional.<br />
<blockquote><p>auto int i = 5;</p></blockquote>
<p>The previous declaration thus has identical meaning to the following declaration.</p>
<blockquote><p>int i = 5;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="bool"></a>bool</code></strong> (C++ only)</p>
<ul>
<li>Used to declare a Boolean logic variable; a variable that can have the value      true or false. This variable type      is normally 8 bits (1 byte) long.<br />
<blockquote><p>bool t = true;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="break"></a>break</code></strong></p>
<ul>
<li>Used to break out of a loop independant of the loop condition. Also, used      to finish a switch statement, keeping the program from      &#8220;falling through&#8221; to the next case in the code.<br />
<blockquote>
<pre>while(x &lt; 100)
{
    if(x &lt; 0)
         break;
    cout &lt;&lt; x &lt;&lt; endl;
    x++;
}
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="case"></a>case</code></strong></p>
<ul>
<li>Used as a label to declare a single test in a switch statement.<br />
<blockquote>
<pre>case 1: command1;
        command2;
        break;
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="catch"></a>catch</code></strong> (C++ only)</p>
<ul>
<li>Used to handle exceptions generated by a throw statement.<br />
<blockquote>
<pre>catch(const char* e)
{
    //handle exception
}
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="char"></a>char</code></strong></p>
<ul>
<li>Used to declare character variables. This variable type is normally 8 bits      (1 byte) long.<br />
<blockquote><p>char c = &#8216;h&#8217;;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="class"></a>class</code></strong> (C++ only)</p>
<ul>
<li>Used to define a new class. Members of the class are private by default unless listed under the protected or public labels.<br />
<blockquote>
<pre>class class-name : inheritance-list
{
    public:
        public-members-list;
    protected:
        protected-members-list;
    private:
        private-members-list;
} object-list;
</pre>
</blockquote>
<ul>
<li>class-name is the name of the class that is being created.</li>
<li>inheritance-list is the optional list of classes inherited by the new          class.</li>
<li>public-members-list is the list of public members          of the class.</li>
<li>protected-members-list is the list of protected members of the class.</li>
<li>private-members-list is the list of private members          of the class.</li>
<li>object-list is an optional list used to immediately instantiate 1 or          more instances of the class.</li>
</ul>
<blockquote>
<pre>class Date
{
public:
    void display();

private:
    int day;
    int month;
    int year;
}
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="const"></a>const</code></strong> (C++ only)</p>
<ul>
<li>Used to tell the compiler that a certain object should not be modified once      it has been initialized.<br />
<blockquote><p>const int i = 5;</p></blockquote>
</li>
<li>Used to declare a pointer so that the value of the pointer (the memory     location to which it points)     <span style="text-decoration:underline;">can</span> be modified, but the data in the memory location <span style="text-decoration:underline;">cannot</span> be changed.<br />
<blockquote><p>const int* j = new int(3);</p></blockquote>
</li>
<li>Used to declare a pointer so the that value of the pointer (the memory     location to which it points)     <span style="text-decoration:underline;">cannot</span> be modified, but the data in that memory location <span style="text-decoration:underline;">can</span> be changed.<br />
<blockquote><p>int* const j = new int(3);</p></blockquote>
</li>
<li>Used to declare a member function that does not modify the object&#8217;s state,      meaning that it should be used for methods like print so that data in the     object cannot      be changed accidentally. If and attempt is made     to modify the object in any way, a compilation error will be triggered.<br />
<blockquote><p>void print(bool verbose) const;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="const_cast"></a>const_cast</code></strong> (C++ only, seldom used)</p>
<ul>
<li>Used to remove the const protection on a variable as      long as the original variable was not declared as a const.      The target type must be the same as the original type.<br />
<blockquote><p>const_cast&lt;target_type&gt; (object);</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="continue"></a>continue</code></strong></p>
<ul>
<li>Used to jump to the next iteration of a loop. The following example will      print out all of the numbers from 1 to 20 except for 10.<br />
<blockquote>
<pre>for(int i = 0; i &lt; 21; i++)
{
    if(i == 10)
        continue;
    cout &lt;&lt; i &lt;&lt; endl;
}
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="default"></a>default</code></strong></p>
<ul>
<li>Used as a label to declare the default case of a switch statement.<br />
<blockquote>
<pre>case 1:  command1;
         command2;
         break;

default: command1;
         command2;
         break;
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="delete"></a>delete</code></strong> (C++ only)</p>
<ul>
<li>Used to free memory allocated for a pointer back to the heap. The argument      should have been allocated through a call to new. To delete      an array, use the following form of delete: delete[]<br />
<blockquote>
<pre>delete p;
delete[] pArray;</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="do"></a>do</code></strong></p>
<ul>
<li>Used to create a loop that is executed at least once. The terminating condition      is tested at the end of the loop.<br />
<blockquote>
<pre>do
{
    cout &lt;&lt; "hello worldn";
    i++;
} while(i &lt; 5)
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="double"></a>double</code></strong></p>
<ul>
<li>Used to declare a double-precision floating-point type variable. This variable      type is normally 64 bits (8 bytes) long.<br />
<blockquote><p>double d = 12.55;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="dynamic_cast"></a>dynamic_cast</code></strong> (C++ only, seldom used)</p>
<ul>
<li>Used to cast from one type to another with a check performed at runtime.      If the cast types are incompatible, NULL is returned.<br />
<blockquote><p>dynamic_cast&lt;target_type&gt; (object);</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="else"></a>else</code></strong></p>
<ul>
<li>Used for an alternative condition in an if statement.<br />
<blockquote>
<pre>if(i == 1)
{
    // do something
}
else
{
    // do something else
}
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="enum"></a>enum</code></strong></p>
<ul>
<li>Used to define an enumerated type. Each of the names in the name-list are      given a distinct value. This should be used in place of defining variables      using &#8220;magic numbers&#8221; (eg. int Monday = 0, int Tuesday = 1, etc).<br />
<blockquote>
<pre>enum name {name-list};</pre>
</blockquote>
<ul>
<li>name is the name of the enumerated type that was created</li>
<li>name-list is the list of names of the elements</li>
</ul>
<blockquote>
<pre>enum weekdays {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday};</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="explicit"></a>explicit</code></strong> (C++ only)</p>
<ul>
<li>Used to make sure that a constructoor is only used for the creation of new      values and not used for the implicit conversion between two different types.      It will only be be used if the initialization exactly matches the call to      that constructor. This keyword is only needed with one-argument constructors.<br />
<blockquote>
<pre>class vector
{
    ...
    explicit vector(int v);
    ...
}
</pre>
</blockquote>
<p>Using this keyword, some mysterious errors can be caught by the compiler like      the following:</p>
<blockquote>
<pre>vector&lt;int&gt; v(10);
v = 5; // error, meant to write v[0] = 5
</pre>
</blockquote>
<p>The problem in this code if the explicit keyword was not specified is that      the v = 5 statement would invoke the constructor, creating a new vector of      size 5 and destroying the old one.</li>
</ul>
<hr>
<p><strong><code><a name="export"></a>export</code></strong> (C++ only, seldom used)</p>
<ul>
<li>Used to export a template to other modules. Most compilers require template      definitions to be explicitly specified in the header file since the Comeau      C++ compiler seems to be the only compiler that supports this keyword.<br />
<blockquote>
<pre>// In MyTemplateFunction.h
template
void myTemplateFunction(const T &amp;t1);

// In MyTemplateFunction.cpp
export template
void myTemplateFunction(const T &amp;t1)
{
    ...
}
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="extern"></a>extern</code></strong></p>
<ul>
<li>Used to inform the compiler of variables and functions that are defined      outside of the current scope or module. Variables defined as extern will not      have space allocated for them since they are defined elsewhere.<br />
<blockquote><p>extern char* message;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="false"></a>false</code></strong> (C++ only)</p>
<ul>
<li>Used to represent the Boolean value false.<br />
<blockquote><p>bool b = false;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="float"></a>float</code></strong></p>
<ul>
<li>Used to declare a single-precision floating-point type variable. This variable&lt;br&gt;      type is normally 32 bits (4 bytes) long.<br />
<blockquote><p>float f = 3.5;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="for"></a>for</code></strong></p>
<ul>
<li>Used to create a loop that is meant to initialize, test and update a variable.<br />
<blockquote>
<pre>for(int i = 0; i &lt; 10; i++)
{
    cout &lt;&lt; "i is " &lt;&lt; i &lt;&lt; endl;
}
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="friend"></a>friend</code></strong> (C++ only)</p>
<ul>
<li>Used to allow another class or function to have access      to the private features of that class.<br />
<blockquote>
<pre>friend void print(bool verbose);
friend class Vector;</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="goto"></a>goto</code></strong> (seldom used)</p>
<ul>
<li>Used to jump to another location in a function specified by a label. This      is generally considered harmful and should not be used unless necessary.<br />
<blockquote>
<pre>goto labelA;
...
labelA:</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="if"></a>if</code></strong></p>
<ul>
<li>Used to create a conditional branch statement so that different code can      be executed under different conditions. The conditions are evaluated in the      order that they appear in the code.<br />
<blockquote>
<pre>if (i &lt; 0)
{
    cout &lt;&lt; "i is negative";
}
else if(i == 0)
{
    cout &lt;&lt; "i is 0n";
}
else
{
    cout &lt;&lt; "i is posativen";
}
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="inline"></a>inline</code></strong> (C++ only)</p>
<ul>
<li>Used to tell the compiler that the function an its body are inserted into      the calling code meaning that it has to expand the function in-place instead      of just insert a call to the function. Functions that have static data, loops, switches or recursive calls cannot be inlined.<br />
<blockquote>
<pre>inline int test(int A)
{
    ...
}
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="int"></a>int</code></strong></p>
<ul>
<li>Used to declare an integer type variable. This variable type is normally        32 bits (4 bytes) long.<br />
<blockquote><p>int i = 3;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="long"></a>long</code></strong></p>
<ul>
<li>Used as a data type modifier for the int and double types to indicate that      they may have more bytes then the type has available. This variable type is      normally 32 or 64 bits (4 or 8 bytes) long.<br />
<blockquote><p>long int i = 100000;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="mutable"></a>mutable</code></strong> (C++ only)</p>
<ul>
<li>Used to specify that it is a data field that can be modified even if another      part of the data is declared const.</li>
</ul>
<hr>
<p><strong><code><a name="namespace"></a>namespace</code></strong> (C++ only)</p>
<ul>
<li>Used to create a new scope. Once created, the namespace must be refered      to either directly or with the using keyword.<br />
<blockquote>
<pre>   namespace CartoonNameSpace
    {
        int HomersAge;

        void incrementHomersAge()
        {
            HomersAge++;
        }
    }
    int main() {
        ...
        CartoonNameSpace::HomersAge = 39;
        CartoonNameSpace::incrementHomersAge();
        cout &lt;&lt; CartoonNameSpace::HomersAge &lt;&lt; endl;
        ...
    }
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="new"></a>new</code></strong> (C++ only)</p>
<ul>
<li>Used to allocate a new block of memory for the given type from the heap,      and return a pointer to that block of memory. Allocating arrays can be done      by providing the size of the array in square brackets.<br />
<blockquote>
<pre>pointer = new type;
pointer = new type( initializer );
pointer = new type[size];</pre>
</blockquote>
<ul>
<li>pointer is a pointer to the type that you want to allocate the memory          for</li>
<li>type is the type of the item that is to be stored in the memory that          is allocated</li>
<li>initializer is the optional information for the constructor</li>
<li>size is the size of the array to create</li>
</ul>
</li>
</ul>
<hr>
<p><strong><code><a name="operator"></a>operator</code></strong> (C++ only)</p>
<ul>
<li>Used to specify that you are overloading an operator.<br />
<blockquote>
<pre>   return-type class-name::operator#(parameter-list)
    {
        ...
    }
</pre>
</blockquote>
<ul>
<li>return-type is the return type for the function</li>
<li>class-name is the name of the class that the operator is a part of.          If it is not part of a class, this can be left out along with the &#8216;<strong>::</strong>&#8216;<strong>.</strong></li>
<li># is the operator that is to be overloaded, such as &#8216;++&#8217;. You cannot          overload the #, ##, ., :, .*, or ? tokens.</li>
<li>parameter-list is the list of parameters that the operator will take.          For unary operators, parameter-list should be empty, and for binary operators,          parameter-list should contain the operand on the right side of the operator          (the operand on the left side is passed as this).</li>
</ul>
</li>
<li>There are special conventions for some operators, such as the unary       ++ and &#8212; operators.
<ul>
<li> The unary ++ operator has both prefix (<code>++object</code> and postfix (<code>object++</code>) versions.</li>
<li>
<blockquote>
<pre>   return-type class-name::operator++()
    {
        ...
    }
</pre>
</blockquote>
<p>overloads the prefix version (the value returned is the        value of the object <span style="text-decoration:underline;">after</span> it is incremented, so this        is also known as the pre-increment version because the        increment takes place <span style="text-decoration:underline;">before</span> the value is returned). There is        no parameter specified because ++ is a unary operator.</li>
<li>
<blockquote>
<pre>   return-type class-name::operator++( int )
    {
        ...
    }
</pre>
</blockquote>
<p>overloads the postfix version (the value returned is the        value of the object <span style="text-decoration:underline;">before</span> it is incremented, so this        is also known as the post-increment version because the        increment takes place <span style="text-decoration:underline;">after</span> the value is returned). The parameter        <code>int</code> is not really a parameter (++ is still a unary        operator) but is there soley to differentiate the prefix and        postfix versions.</li>
</ul>
</li>
</ul>
<hr>
<p><strong><code><a name="private"></a>private</code></strong> (C++ only)</p>
<ul>
<li>Used within a class declaration to specify features of that class that can      only be accessed by itself and its friends.<br />
<blockquote>
<pre>class Date
{
public:
    void display();

private:
    int day;
    int month;
    int year;
}</pre>
</blockquote>
</li>
<li>Used to inherit a base class privately, which causes all public and protected members of the base class to become      private members of the derived class.<br />
<blockquote>
<pre>class AlarmClock : private Clock
{
public:
    void display();

}</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="protected"></a>protected</code></strong> (C++ only)</p>
<ul>
<li>Used within a class declaration to specify features of that class that are      private to its own class, but can be inherited by a      derived class.<br />
<blockquote>
<pre>class Date
{
public:
    void display();
protected:
    int day;
    int month;
    int year;
}</pre>
</blockquote>
</li>
<li>Used to inherit a base class, which causes all public and protected members of the base class to become      protected members of the derived class.<br />
<blockquote>
<pre>class AlarmClock : protected Clock
{
public:
    void display()
}</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="public"></a>public</code></strong> (C++ only)</p>
<ul>
<li>Used within a class declaration to specify features of that class that are      accessable to everyone.<br />
<blockquote>
<pre>class Date
{
public:
    void display();
protected:
    int day;
    int month;
    int year;
}</pre>
</blockquote>
</li>
<li>Used to inherit a base class publically, which causes all public and protected members of the base class to become public and protected members of the derived class.<br />
<blockquote>
<pre>class AlarmClock : public Clock
{
public:
    void display()
}</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="register"></a>register</code></strong></p>
<ul>
<li>Used to reccommend that a varibale be placed into a processor register so      that it is optimized for speed but the compiler is not obliged to do so. This      keyword is rarely used anymore since compilers have become better than programmers      at optimizing code.</li>
</ul>
<hr>
<p><strong><code><a name="reinterpret_cast"></a>reinterpret_cast</code></strong> (C++ only), seldom used</p>
<ul>
<li>Used to change one data type in a non-portable way. It is normally used      to cast between incompatible pointer types.<br />
<blockquote><p>reinterpret_cast&lt;target_type&gt; (object);</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="return"></a>return</code></strong></p>
<ul>
<li>Used to cause the execution to jump from the current function back to the      one that called it. An optional value can be returned but the function must      specify the type that it will return.<br />
<blockquote>
<pre>return;
return 5;</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="short"></a>short</code></strong></p>
<ul>
<li>Used as a data type modifier for the int type to indicate that there may      be less bytes then the type has available. This variable type is normally      16or 32bits (2 or 4bytes) long.<br />
<blockquote><p>short int i = 5;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="signed"></a>signed</code></strong></p>
<ul>
<li>Used to specify that the number type provided could potentially be negative,      so it must be stored in a different format. This is the default representation      that is chosen by most compilers if either signed or unsigned is not specified.<br />
<blockquote><p>signed int i = -12;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="sizeof"></a>sizeof</code></strong></p>
<ul>
<li>Used to return the size of the object (in bytes) that is passed to it.<br />
<blockquote>
<pre>int i = 5;
int size = sizeof( i );</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="static"></a>static</code></strong></p>
<ul>
<li>Used outside any function or class as a qualifier to a variable declaration      makes the scope of the variable the file in which the variable is declared,      and the extent is permanent (i.e., it is in the static segment).<br />
<blockquote><p>static int i;</p></blockquote>
</li>
<li>Used inside a function as a qualifier to a variable declaration makes the        scope of the variable the function in which the variable is declared, and        the extent is permanent (i.e., it is in the static segment).<br />
<blockquote>
<pre>void foo()
{
    static int i;
}</pre>
</blockquote>
</li>
<li>Used inside a class as a qualifier to a variable declaration makes the        scope of the variable the class in which the variable is declared, and the        extent is permanent (i.e., it is in the static segment).<br />
<blockquote>
<pre>class bar
{
    static int i;
}</pre>
</blockquote>
</li>
<li>Used outside any class as a qualifier to a function declaration makes the        scope of the function the file in which the function is declared. As with        all functions, the instructions for the function are in the code segment.<br />
<blockquote>
<pre>static void foo()
{
}</pre>
</blockquote>
</li>
<li>Used inside a class as a qualifier to a function (method) declaration makes        the scope of the function the class in which the function is declared (as        with all methods), and the instructions for the method are in the code       segment (as for all functions). What is different is that a static method       is invoked without requiring an object, using the qualifier syntax       <code>class::staticMethod( <em>parameters</em> )</code>, although it can       also be invoked on an object in the class in the usual way. Because no       object is associated with a static method, only static member variables       and other static member functions can be invoked by a static method.<br />
<blockquote>
<pre>class bar
{
    static void foo();
}</pre>
</blockquote>
<p><strong>Note:</strong> A method in a class cannot be both &#8220;static&#8221;        and &#8220;virtual&#8221;. The reason for this is       that virtual functions have to know the object to which they apply       (because of polymorphism) but static methods are not applied to an       object.</li>
</ul>
<hr>
<p><strong><code><a name="static_cast"></a>static_cast</code></strong> (C++ only, seldom used)</p>
<ul>
<li>Used for a normal conversion between types. No runtime checking is performed.<br />
<blockquote><p>static_cast&lt;target_type&gt; (object);</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="struct"></a>struct</code></strong></p>
<ul>
<li>Used to create a structure like a class, but the members      are public by default instead of private.      In C, structs can only contain data, cannot have inheritance and cannot have      data with different visibilities.<br />
<blockquote>
<pre>struct struct-name : inheritance-list
{
        public-members-list;
    protected:
        protected-members-list;
    private:
        private-members-list;
} object-list;</pre>
</blockquote>
<ul>
<li>struct-name is the name of the struct that is being created.</li>
<li>inheritance-list is the optional list of structs inherited by the new          struct.</li>
<li>public-members-list is the list of public members          of the struct.</li>
<li>protected-members-list is the list of protected members of the struct.</li>
<li>private-members-list is the list of private members          of the struct.</li>
<li>object-list is an optional list used to immediately instantiate 1 or          more instances of the struct.</li>
</ul>
<blockquote>
<pre>struct Date
{
    int day;
    int month;
    int year;
}</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="switch"></a>switch</code></strong></p>
<ul>
<li>Used to test an expression of an integer value against many constant integer      values and is commonly used to replace large if()&#8230;else if()&#8230; statements.      Break statements are required between each case statement, otherwise execution will &#8220;fall-through&#8221; to the next case statement. The default case is optional. If provided,      it will match any case not explicitly covered by the preceding cases in the      switch statement.<br />
<blockquote>
<pre>char keystroke = getch();
switch( keystroke )
{
    case 'a':
    case 'b':
    case 'c':
    case 'd':
        KeyABCDPressed();
        break;
    case 'e':
        KeyEPressed();
        break;
    default:
        UnknownKeyPressed();
        break;
}
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="template"></a>template</code></strong> (C++ only)</p>
<ul>
<li> Used to create generic functions and can operate on data without knowing      the nature of that data. They accomplish this by using a placeholder data-type      for which many other data types can be substituted.<br />
<blockquote>
<pre>template void genericSwap( X &amp;a, X &amp;b )
{
    X tmp;

    tmp = a;
    a = b;
    b = tmp;
}
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="this"></a>this</code></strong> (C++ only)</p>
<ul>
<li>Used as a pointer to the current object. All member functions of a class have this pointer.<br />
<blockquote><p>this.print();</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="throw"></a>throw</code></strong> (C++ only)</p>
<ul>
<li>Used together with try and catch statements to create an exception handling system. Throw is used to generate      an exception.<br />
<blockquote>
<pre>try
{
    cout &lt;&lt; "Before throwing exception"&lt;&lt; endl;
    throw 42;
    cout &lt;&lt; "Shouldn't ever see this"&lt;&lt; endl;
}
catch( int error )
{
    cout &lt;&lt; "Error: caught exception " &lt;&lt; error &lt;&lt; endl;
}
</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="true"></a>true</code></strong> (C++ only)</p>
<ul>
<li>Used to represent the Boolean value true.<br />
<blockquote><p>bool b = true;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="try"></a>try</code></strong> (C++ only)</p>
<ul>
<li>Used to attempt to execute exception-generating code.<br />
<blockquote>
<pre>try
{
    cout &lt;&lt; "Before throwing exception" &lt;&lt; endl;
    throw 42;
    cout &lt;&lt; "Shouldn't ever see this" &lt;&lt; endl;
}
catch( int error )
{
    cout &lt;&lt; "Error: caught exception " &lt;&lt; error &lt;&lt; endl;
}</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="typedef"></a>typedef</code></strong></p>
<ul>
<li>Used to create a new type from an existing type.<br />
<blockquote><p>typedef int seconds;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="typeid"></a>typeid</code></strong> (C++ only, seldom used)</p>
<ul>
<li>Used to get a reference to a type_info object that describes the object      it was passed.<br />
<blockquote><p>typeid(object);</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="typename"></a>typename</code></strong> (C++ only)</p>
<ul>
<li>Used to describe an undefined type or in place of the class keyword in a      template declaration.</li>
</ul>
<hr>
<p><strong><code><a name="union"></a>union</code></strong></p>
<p>Used to create multiple data fields that will occupy the same memory location.</p>
<blockquote>
<pre>union Data
{
    int i;
    char c;
};
</pre>
</blockquote>
<hr>
<p><strong><code><a name="unsigned"></a>unsigned</code></strong></p>
<ul>
<li>Used to specify that the int or char provided can only be posative and can      therefore contain a larger number since there is no need to worry about representation      of negative numbers.<br />
<blockquote><p>signed int i = -12;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="using"></a>using</code></strong> (C++ only)</p>
<ul>
<li>Used to import a namespace into the current scope.<br />
<blockquote><p>using namespace std;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="virtual"></a>virtual</code></strong> (C++ only)</p>
<ul>
<li>Used to create virtual functions that can be overridden by derived functions.
<ul>
<li>A virtual function indicates that a function can be overridden in a          subclass, and that the overridden function will actually be used.</li>
<li>When a base object pointer points to a derived object that contains          a virual function, the decision about which version of that function to          call is based on the type of object pointed to by the pointer, and this          process happens at runtime.</li>
<li>A base object can point to different derived objects and have different          versions of the virual function run.</li>
</ul>
<blockquote><p>virtual void print();</p></blockquote>
</li>
<li>Used to create a <span style="text-decoration:underline;">pure virtual function</span> which is a virtual function that      <em> <strong>must</strong></em> be overriden by some derived class.<br />
<blockquote><p>virtual void print() = 0;</p></blockquote>
</li>
<li><strong>Note:</strong> A method in a class cannot be both &#8220;virtual&#8221;        and &#8220;static&#8221;.</li>
</ul>
<hr>
<p><strong><code><a name="void"></a>void</code></strong></p>
<ul>
<li>Used to denote functions that return no value.<br />
<blockquote>
<pre>void print()
{
    cout &lt;&lt; "printn";
}
</pre>
</blockquote>
</li>
<li> Used to create generic variables which can point to any type of data.<br />
<blockquote>
<pre>void *p = 5;
</pre>
</blockquote>
</li>
<li>Used to declare an empty parameter list.<br />
<blockquote>
<pre>void print( void )
{
    cout &lt;&lt; "printn";
}</pre>
</blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="volatile"></a>volatile</code></strong></p>
<ul>
<li>Used to inform the compiler that the variables value can change in unexpected      ways (i.e. through an interrupt), which could conflict with optimizations      that the compiler might perform, so therefore the compiler will not optimize      these variables.<br />
<blockquote><p>volatile Date d;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="wchar_t"></a>wchar_t</code></strong></p>
<ul>
<li>Used to declare a wide character variable. This variable type is normally      16 bits (2 bytes) long.<br />
<blockquote><p>wchar_t c = &#8216;c&#8217;;</p></blockquote>
</li>
</ul>
<hr>
<p><strong><code><a name="while"></a>while</code></strong></p>
<ul>
<li> Used as a looping construct that will evaluate a list of statements as      long as the condition is true. Note: if the condition      starts off as false, the list of statements will never      be executed. (You can use a do loop to guarantee that the      list of statements will be executed at least once.)<br />
<blockquote>
<pre>bool done = false;
while( !done )
{
    ProcessData();
    if( StopLooping() )
    {
        done = true;
    }
}</pre>
</blockquote>
</li>
</ul>
<hr>
<p>Copyright (C) 2000-2005, The University of British Columbia</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2010/01/18/description-of-c-keywords/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">201</post-id>	</item>
		<item>
		<title>C++ Vocabulary</title>
		<link>https://blog.henrypoon.com/blog/2010/01/18/c-vocabulary/</link>
					<comments>https://blog.henrypoon.com/blog/2010/01/18/c-vocabulary/#respond</comments>
		
		<dc:creator><![CDATA[hp]]></dc:creator>
		<pubDate>Tue, 19 Jan 2010 03:49:41 +0000</pubDate>
				<category><![CDATA[computer stuff]]></category>
		<category><![CDATA[Assembly language]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Chan]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Comment]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Computer programming]]></category>
		<category><![CDATA[Const]]></category>
		<category><![CDATA[D]]></category>
		<category><![CDATA[Entry point]]></category>
		<category><![CDATA[Human]]></category>
		<category><![CDATA[Humans]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[It]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Programming language implementation]]></category>
		<category><![CDATA[Programming languages]]></category>
		<category><![CDATA[Scope]]></category>
		<category><![CDATA[Software engineering]]></category>
		<category><![CDATA[Source code]]></category>
		<category><![CDATA[STR]]></category>
		<category><![CDATA[String]]></category>
		<category><![CDATA[Struct]]></category>
		<category><![CDATA[Subroutine]]></category>
		<category><![CDATA[UNC]]></category>
		<category><![CDATA[Variable]]></category>
		<category><![CDATA[Z]]></category>
		<guid isPermaLink="false">http://henrypoon.mooo.com/blog/c-vocabulary</guid>

					<description><![CDATA[Comment &#8211; text written in the source code that compiler ignores and is mainly meant for humans to read for showing how the program works Conditional &#8211; decides which set of actions that the program will perform depending on a programmer specified condition Constant &#8211; a special kind of variable whose value cannot change during [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>Comment</strong> &#8211; text written in the source code that compiler ignores and is mainly meant for humans to read for showing how the program works</p>
<p><strong>Conditional </strong>&#8211; decides which set of actions that the program will perform depending on a programmer specified condition</p>
<p><strong>Constant</strong> &#8211; a special kind of variable whose value cannot change during program execution</p>
<p><strong>Control structure</strong> &#8211; refers to the order in which the individual statements, instructions, or function calls of an imperative or a declarative program are executed or evaluated</p>
<p><strong>Data structure </strong>&#8211; ways that data can be organized within a program</p>
<p><strong>Data type </strong>&#8211; different varieties that data can be represented within a program</p>
<p><strong>Directive</strong> &#8211; used to describe how the parts of a program are to be used to built a complete program</p>
<p><strong>Identifier</strong> &#8211; programmer-specified name; a sequence of characters associated with and used to access a variable, particular object, class or struct, or function. Every identifier has a scope</p>
<p><strong>Iteration</strong> &#8211; a single execution of a set of instructions that are to be repeated; &#8220;the solution took hundreds of iterations&#8221;</p>
<p><strong>Keyword</strong> &#8211; a word that has particular meaning to the programming language and describes how a program is to work</p>
<p><strong>Literal</strong> &#8211; a notation for representing a fixed value in source code.  For example, the literal 12 represents the integer value &#8220;twelve&#8221;, &#8220;Morning&#8221; represents the character string value &#8220;Morning&#8221; and true represents the Boolean value true.  They describe the type of value data has</p>
<p><strong>Naming structure</strong> &#8211; rules for how data values, variables, operators, and other language constructs are referred to within the language</p>
<p><strong>Operator</strong> &#8211; special symbols that specify how data is to be manipulated.  For example, a ++ is an operator</p>
<p><strong>Pragma</strong> &#8211; data embedded in source code by programmers to indicate some intention to the compiler</p>
<p><strong><strong>Sequential execution</strong></strong> &#8211; execution by a computer if instructions in a program, performed in the sequence established by a programmer</p>
<p><strong>Subprogram</strong> &#8211; a part of the code that is reused in various parts of the program</p>
<p><strong>Variable &#8211; </strong>remembers data values for use within a program</p>
<p><strong>Variable declaration</strong> &#8211; defining a variable&#8217;s type and name (identifier)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.henrypoon.com/blog/2010/01/18/c-vocabulary/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">187</post-id>	</item>
	</channel>
</rss>
