<?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>Life Archives - ClickedyClick</title>
	<atom:link href="https://gergely.imreh.net/blog/category/life/feed/" rel="self" type="application/rss+xml" />
	<link>https://gergely.imreh.net/blog/category/life/</link>
	<description>Life in real, complex and digital.</description>
	<lastBuildDate>Sat, 31 Dec 2022 05:03:52 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>A year in review: 2023</title>
		<link>https://gergely.imreh.net/blog/2022/12/a-year-in-review-2023/</link>
					<comments>https://gergely.imreh.net/blog/2022/12/a-year-in-review-2023/#respond</comments>
		
		<dc:creator><![CDATA[Gergely Imreh]]></dc:creator>
		<pubDate>Sat, 31 Dec 2022 05:03:48 +0000</pubDate>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[year in review]]></category>
		<guid isPermaLink="false">https://gergely.imreh.net/blog/?p=2740</guid>

					<description><![CDATA[<p>Looking at the most impactful topics for me this year.</p>
<p>The post <a href="https://gergely.imreh.net/blog/2022/12/a-year-in-review-2023/">A year in review: 2023</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>It feels stranger than usual to review things at the moment, as I&#8217;m starting to feel more &#8220;continuous&#8221; about the flow of time rather than discrete with jumps (as the new years and holidays and so on are happening). Thus it doesn&#8217;t feel like there&#8217;s a particular closure as the calendar year comes to the end. So it&#8217;s more of a work-in-progress, rather than anything else. Let&#8217;s see what stands out in this, and where are we going, in this <a href="https://gergely.imreh.net/blog/tag/year-in-review/">year in review</a>&#8230;</p>



<span id="more-2740"></span>



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



<p>Readingwise <a href="https://www.goodreads.com/user_challenges/32687606">this is a year</a> with maybe the slimmest picking since I&#8217;ve started to record stuff. It&#8217;s really not fully about quantity but quality, just also I cannot recall too many of the things read. Also the balance is shifting from almost totally literature to partially non-fiction, as the effect of learning-at-work kicks in. So in this sense, maybe the most memorable read was <a href="https://www.goodreads.com/book/show/15014.Crucial_Conversations">Crucial Conversations</a> that probably saved my bacon multiple times, so would totally recommend for reading and re-reading.</p>



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



<p>Interestingly a sort-of mid-life-crisis seems to have kicked in for me  recently, and it&#8217;s not about getting a motorcycle or whatnot, rather than digging into physics as I&#8217;ve learned but forgotten, or never fully learned at all. So here it goes, can we learn some <a href="https://www.youtube.com/watch?v=n3kNlFMXslo&amp;t=550s">quantum field theory</a>, just for the fun of it? Starting all the way back at maths, classical, then quantum physics further than I&#8217;ve been back in uni and grad school.</p>



<p>This whole thing was kicked off by <a href="https://www.youtube.com/@pbsspacetime">PBS Spacetime</a>, a Youtube channel that I can only recommend. Enough questions raised from there to dig deeper into <a href="https://academic.oup.com/book/36442">books</a>, <a href="https://ocw.mit.edu/search/?q=quantum%20field%20theory">course material online</a>, etc&#8230; It&#8217;s a bit tougher since I won&#8217;t be using it day to day, but why not? Interdisciplinary stuff are really my cup of tea, so there it goes.</p>



<h2 class="wp-block-heading">Working with leverage</h2>



<p>This year at <a href="https://faculty.ai/">work</a>, the theme really was for me to work through others rather than just an individual contributor. This software engineering leadership, engineering management, software architect needs were definitely quite tough, and there&#8217;s no end to the learning either. Building the right kind of technical knowledge to help other people grow, rather than just do what I&#8217;m myself are interested continues to be quite a frontier to explore, and makes me uncomfortable probably in a way that&#8217;s needed.</p>



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



<p>This year we took in a little cat, which was quite a change, not in least as I&#8217;m allergic to cats. But so far it seems to be working excellently, and he&#8217;s really a charmer. It does feel like too much responsibility quite often, but one has to just deal with it.</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="469" src="https://gergely.imreh.net/blog/wp-content/uploads/2022/12/IMG_20221204_200509-1024x469.jpg" alt="Me and our cat sitting on a sofa, the cat looking at the camera, and I'm working on my laptop." class="wp-image-2742" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2022/12/IMG_20221204_200509-1024x469.jpg 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2022/12/IMG_20221204_200509-500x229.jpg 500w, https://gergely.imreh.net/blog/wp-content/uploads/2022/12/IMG_20221204_200509-768x352.jpg 768w, https://gergely.imreh.net/blog/wp-content/uploads/2022/12/IMG_20221204_200509-1536x704.jpg 1536w, https://gergely.imreh.net/blog/wp-content/uploads/2022/12/IMG_20221204_200509-2048x939.jpg 2048w, https://gergely.imreh.net/blog/wp-content/uploads/2022/12/IMG_20221204_200509-1200x550.jpg 1200w, https://gergely.imreh.net/blog/wp-content/uploads/2022/12/IMG_20221204_200509-1980x908.jpg 1980w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Hanging out one of these days</figcaption></figure>



<p>He&#8217;s still very tiny (4 months and counting, and been with us for 2), so it&#8217;s very interesting to see how the personality and skills are developing. And no need to hurry it, let kids be kids.</p>



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



<p>Been to the gym much more than any time before, that&#8217;s the advantage of having one right nearby, and enough peer pressure to actually show up. The first half of the year was better, though. After catching Covid in the autumn, I feel like I slacked a bit. It was interesting see how much change exercise can effect in the mid-term, or even on the short term, when one has the habit. This is something to definitely explore more with more curiosity.</p>



<h2 class="wp-block-heading">Mental health</h2>



<p>The whole pandemic brought out the topic of mental health quite a bit for a lot of people who might not have thought about it much or enough. And I was one of those people, just going with the flow. It&#8217;s now 3 years in, and definitely feels like it&#8217;s hard to overstate the the importance of taking care of the one thing that people actually have (while they have it), their mind. So far it&#8217;s a lot of hit and miss, and it feels like a puzzle when one has all the pieces &#8220;just&#8221; need to be able to fit them together. Taking one&#8217;s own advice, or doing the things that one knows one should be doing is 99% of the work and effort. So just keep beginning again, when inevitable fail, and continue making progress.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>There&#8217;s a lot of little things, of course, that happened this year, and this above seems to be both summarising the important themes to a very large extent, as well as filtering things through the lens of <a href="https://en.wikipedia.org/wiki/Availability_heuristic">availability bias</a>, either happening more recently or more top of mind at this year end. Still, a bite at a time, a step at a time.</p>



<p>Happy New Year, everyone!</p>
<p>The post <a href="https://gergely.imreh.net/blog/2022/12/a-year-in-review-2023/">A year in review: 2023</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gergely.imreh.net/blog/2022/12/a-year-in-review-2023/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A personal finance data pipeline project</title>
		<link>https://gergely.imreh.net/blog/2022/08/a-personal-finance-data-pipeline-project/</link>
					<comments>https://gergely.imreh.net/blog/2022/08/a-personal-finance-data-pipeline-project/#respond</comments>
		
		<dc:creator><![CDATA[Gergely Imreh]]></dc:creator>
		<pubDate>Thu, 04 Aug 2022 03:45:58 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Taiwan]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[bigquery]]></category>
		<category><![CDATA[gcp]]></category>
		<guid isPermaLink="false">https://gergely.imreh.net/blog/?p=2691</guid>

					<description><![CDATA[<p>If your bank updates you through password-protected PDFs in emails and you are a programmer, you make some finance data extract lemonade.</p>
<p>The post <a href="https://gergely.imreh.net/blog/2022/08/a-personal-finance-data-pipeline-project/">A personal finance data pipeline project</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>I had received a (family) project brief recently. In Taiwan many credit/debit cards have various promotions and deal, and many of them depend on one&#8217;s monthly spending, for example &#8220;below X <a href="https://en.wikipedia.org/wiki/New_Taiwan_dollar">NTD</a> spending each month, get Y% cashback&#8221;. People also have a lot of different cards, so playing these off each other can be nice pocket change, but have to keep an eye on whether where one is compared to the max limit (X). So the project comes from here: easy/easier tracking of where one specific card&#8217;s spending is within the monthly period. That doesn&#8217;t sound too difficult, right? Except the options for these are: </p>



<ol class="wp-block-list"><li>A banking website with CAPTCHAs and no programmatic access</li><li>An email received each day with an password-protected PDF containing the last day&#8217;s transactions in a table</li></ol>



<p>Neither of these are fully appetizing to tackle, but both are similar to bits that I do at #dayjob, but 2. was a bit closer to what I&#8217;ve been doing recently, so that&#8217;s where I landed. That is:</p>



<ul class="wp-block-list"><li>Forward the received email (the email provider does it)</li><li>Receive it in some compute environment</li><li>Decrypt the PDF</li><li>Extract the transaction data table</li><li>Clean and process the tabular data</li><li>Put raw in some data warehouse</li><li>Transform data to get the right aggregation</li><li>&#8230;</li><li>Literally profit?</li></ul>



<p>I was surprised how quick this actually worked out in the end (if &#8220;half a weekend&#8221; is quick), and indeed this can be a first piece of a &#8220;personal finance data warehouse&#8221;.</p>



<span id="more-2691"></span>



<h2 class="wp-block-heading">Technical implementation</h2>



<p>I wanted to have the final setup run in &#8220;The Cloud&#8221;, as that&#8217;s one less thing to worry about. The most obvious arrangement, based on past experiences was combing <a href="https://docs.aws.amazon.com/ses/latest/dg/Welcome.html">AWS Simple Email Service</a> (SES) to receive an email, and a <a href="https://aws.amazon.com/lambda/">Lambda</a> to run serverless processing. On the data warehouse side the real obvious choice is <a href="https://cloud.google.com/bigquery/">GCP&#8217;s BigQuery</a>, however, so I looked into what would be a similar arrangement for the processing pieces if I want to put everything into a single cloud provider.</p>



<p>After some docs diving the most natural arrangement on GCP seemed to be quite different: an <a href="https://cloud.google.com/appengine/">App Engine</a> deployment with <a href="https://cloud.google.com/appengine/docs/standard/python3/services/mail">Mail API </a>enabled. This gives a receiving domain name (@[Cloud-Project-ID].appspotmail.com) , and every email sent there is just passed to the server that is running in App Engine. This seemed pretty simple! App Engine also has a free tier, though that comes with pretty small memory limits, which features in this story too.</p>



<p>The final result of the server part is <a href="https://github.com/imrehg/finance-extract/">shared on GitHub</a>, and should be easy to reuse or extend.</p>



<h3 class="wp-block-heading">PDF processing</h3>



<p>Getting the attachments out of the email was pretty straightforward with the Mail API, so the first heavier task was opening the encrypted PDF and getting the table out of it. Opening PDFs are quite common, but the table extraction was a bit of a journey.</p>



<h4 class="wp-block-heading">False try</h4>



<p>First I was searching around (as anyone else does) for someone else&#8217;s rundown of the options, <a href="https://www.geeksforgeeks.org/how-to-extract-pdf-tables-in-python/">as an example</a>. From there I honed in on <a href="https://pikepdf.readthedocs.io/en/latest/">pikepdf</a> to open the password-protected files, an <a href="https://tabula-py.readthedocs.io/en/latest/">tabula-py</a> which seemed handy to extract tables right into <a href="https://pandas.pydata.org/">Pandas</a> DataFrames. One subtlety was that tabula-py is just a wrapper around <a href="https://github.com/tabulapdf/tabula-java">tabula-java</a> to do the extraction, and needs a Java environment installed. The free tier of App Engine uses their <a href="https://cloud.google.com/appengine/docs/standard/">standard</a> environment where all I have is my code and &#8220;requirements.txt&#8221; to install my python dependencies, so it&#8217;s obvious how would I get Java into the deployment correctly.</p>



<p>Enter the scene <a href="https://github.com/jyksnw/install-jdk">install-jdk</a> which can install the Java environment at runtime. That was sufficiently crazy hack to actually work, and <a href="https://github.com/imrehg/finance-extract/blob/19fa754b72b39aac246bf385e2ebeff7cf35b1ad/main.py#L14-L28">it did work</a>. Or so it seemed, since the data was processed and showing up in BigQuery, when I&#8217;ve sent test emails into the system.</p>



<p>Upon closer inspection, though, there were loads of duplicate lines. Between signing off in the evening, and checking it in the morning, I had bunches of them, and were still coming in&#8230;</p>



<figure class="wp-block-image size-full"><img decoding="async" width="609" height="307" src="https://gergely.imreh.net/blog/wp-content/uploads/2022/08/duplicated-data-extraction.png" alt="BigQuery view of duplicated data" class="wp-image-2705" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2022/08/duplicated-data-extraction.png 609w, https://gergely.imreh.net/blog/wp-content/uploads/2022/08/duplicated-data-extraction-500x252.png 500w" sizes="(max-width: 609px) 100vw, 609px" /><figcaption>Sometimes duplicated data sneaks in from software issues</figcaption></figure>



<p>I should have checked the logs earlier, because once dig in, there were bunches of &#8220;server errors&#8221; listed that didn&#8217;t connect to any programming errors that I might have made, rather than (here comes the epiphany) instances being killed for being out of memory / blowing their memory budget (of 256MB for the free tier). Thus what happened is:</p>



<ul class="wp-block-list"><li>the Java run of tabula was just using too much memory while processing the PDFs</li><li>it finished processing and like loaded the data but it takes a bit of time</li><li>GCP catches up and kills the instance while that is still going on, and reports to the Mail API that the email <em>hasn&#8217;t been</em> properly handled (server error during that process)</li><li>Whatever is handling the incoming email queue in GCP will just just keep the data and retries later</li><li>The cycle repeats&#8230;</li></ul>



<p>This didn&#8217;t seem very helpful and the repeat emails were piling up in whatever (opaque, to me) system GCP has, so needed a quick replace of tabulate with something lighter&#8230;</p>



<h4 class="wp-block-heading">Worse is better and actually good</h4>



<p>Going down the list of recommended libraries, next I looked at <a href="https://camelot-py.readthedocs.io/en/master/">camelot-py</a> which looks great, but needs <a href="https://opencv.org/">OpenCV</a> on the machine to do its work, so back to the &#8220;how to install OS packages on Standard AppEngine?&#8221; question. For some extra inspiration I was looking at <a href="https://github.com/camelot-dev/camelot/wiki/Comparison-with-other-PDF-Table-Extraction-libraries-and-tools">camelot&#8217;s comparison with other similar tools page</a> and it was a bit disappointing (though not surprising) that pretty much every other library is &#8220;worse&#8221; on various PDFs compared to camelot. Just for kicks I did try some out, and <a href="https://pypi.org/project/pdfplumber/">pdfplumber</a> actually delivered:</p>



<ul class="wp-block-list"><li>it does actually work on the example PDFs I had from previous bank emails</li><li>nothing else beside pip install</li><li>it can actually handle decrypting the PDF as well, so helper libraries can be dropped</li><li>the extracted data is in Python tables, but it&#8217;s just an extra line to get DataFrames, so no sweat</li><li>The extracted data was actually better quality than tabula&#8217;s, so had to do fewer cleanup steps!</li></ul>



<p>This was a pure win, and indeed it&#8217;s worth looking stuff that works with the data at hand, not ignoring the edge cases, but also not overly emphasizing being able to do &#8220;everything&#8221; when there&#8217;s a clear target of what &#8220;thing&#8221; needs to work. (Potential technical debt considered too).</p>



<h3 class="wp-block-heading">Data transformations and visibility</h3>



<p>Now the data sits in BigQuery properly:</p>



<figure class="wp-block-image size-full"><img decoding="async" width="667" height="330" src="https://gergely.imreh.net/blog/wp-content/uploads/2022/08/bigquery-finance-data.png" alt="BigQuery financial data table" class="wp-image-2708" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2022/08/bigquery-finance-data.png 667w, https://gergely.imreh.net/blog/wp-content/uploads/2022/08/bigquery-finance-data-500x247.png 500w" sizes="(max-width: 667px) 100vw, 667px" /><figcaption>Actual data in the works.</figcaption></figure>



<p>The raw transaction data loaded into BigQuery was the first step, but still need to answer the question: in this billing period, how much have I spent?</p>



<p>Not being a data analyst (or not yet?:), this took a bit of figuring out. As other novices share their bit of &#8220;clever code&#8221; when it&#8217;s actually trivial to the experts, I&#8217;m sharing here the bit of SQL queries in a similar &#8220;that was fun to figure out, wasn&#8217;t it?&#8221; way. I&#8217;m sure it can be much improved, but it&#8217;s a good reminder for myself as well.</p>



<p>Given that my billing period starts on the 23rd of the month, get the aggregated value of transactions for each billing period: </p>



<pre title="monthly-aggregation.sql" class="wp-block-code has-small-font-size"><code lang="sql" class="language-sql">WITH
  Aggregated AS (
  SELECT
    DATE(TransactionDate, 'Asia/Taipei') AS day,
    TransactionAmountNTD
  FROM
    `personal-data-warehouse.finance.huanan` ),
  calendar AS (
  SELECT
    day,
    -- Find the last day before the new interval
    DATE_SUB(
      DATE_ADD(
        day,
        INTERVAL 1 Month),
      INTERVAL 1 DAY
    ) AS endday
  FROM
    UNNEST (
      GENERATE_DATE_ARRAY(
        -- Start date in the past before any data,
        -- on the right day of the month for
        -- the billing cycle.
        '2022-05-23', 
        CURRENT_DATE('Asia/Taipei'),
        INTERVAL 1 Month
      )
    ) AS day
) SELECT
  SUM(TransactionAmountNTD) AS `MonthlyTransactions`,
  COUNT(*) AS `TransactionCount`,
  EXTRACT(Year FROM c.day) AS `Year`,
  EXTRACT(Month FROM c.day) AS `Month`,
  FORMAT('%d-%02d', EXTRACT(Year
    FROM
      c.day), EXTRACT(Month
    FROM
      c.day)
  ) AS `Interval`
FROM
  calendar AS c
JOIN
  Aggregated AS a
ON
  a.day BETWEEN c.day AND c.endday
GROUP BY
  c.day</code></pre>



<p>Good stuff on the date array and joining with a &#8220;between&#8221; statement, those are the main TIL. They also already came up at #dayjob, which was very satisfying.</p>



<p>From here the data I surface in a connected <a href="https://cloud.google.com/bigquery/docs/connected-sheets">Google Sheet</a> which is pretty practical, though leaves the &#8220;being notified when I approach/reach X&#8221; out, but that&#8217;s fine for now.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="874" height="445" src="https://gergely.imreh.net/blog/wp-content/uploads/2022/08/google-sheet-connected-to-bigquery.png" alt="" class="wp-image-2709" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2022/08/google-sheet-connected-to-bigquery.png 874w, https://gergely.imreh.net/blog/wp-content/uploads/2022/08/google-sheet-connected-to-bigquery-500x255.png 500w, https://gergely.imreh.net/blog/wp-content/uploads/2022/08/google-sheet-connected-to-bigquery-768x391.png 768w" sizes="auto, (max-width: 874px) 100vw, 874px" /><figcaption>Connected tables view in Sheets</figcaption></figure>



<h3 class="wp-block-heading">Testing and getting to &#8220;production&#8221;</h3>



<p>One good thing about personal projects is that I can make them as &#8220;good&#8221; as I want to (or as &#8220;bad&#8221;, of course), which usually results in an unhealthy amount of tweaking, trying out various best practices to see if they work, and so on. Here I really wanted to get the system well tested, for example, which turned out to take <em>loads more time</em> than actually writing the original service. Actually, there&#8217;s nothing surprising about that for software engineering professionals, but still can catch people off-guard.</p>



<p>Here the tricky parts came from two areas: <a href="https://fastapi.tiangolo.com/">FastAPI</a> settings and cloud service integrations.</p>



<p>The former is always a bit of an issue, depending on how the code uses the settings (whether things can be patched well at testing time), but here I also used a trick for the server to pull the PDF decryption key from <a href="https://cloud.google.com/secret-manager">Secret Manager</a>, so I don&#8217;t have to deploy environment files, nor keep settings like that in version control, etc&#8230; But this meant a trickier flow of getting the FastAPI testing client up in a way that it worked without it talking to the cloud backends (and stalling, and failing&#8230;). Nothing that some good mocking cannot solve (says the person with hindsight).</p>



<p>For the cloud services part it meant mocking BigQuery connections, so that the test can actually pretend to &#8220;receive&#8221; an email all the way looking at the &#8220;database&#8221; and see the right information being there. Under the hood I&#8217;m using <a href="https://googleapis.dev/python/pandas-gbq/latest/index.html">pandas-gbq</a>, and thus it was interesting to look under the hood <a href="https://github.com/googleapis/python-bigquery-pandas/blob/685d1c39f709a58a9bf59fb1cec9474d3e3c03c0/tests/unit/conftest.py">for their tests</a>, borrowing some of them. Took a bit more time, but that&#8217;s working pretty well now. Still need to do some extra bits and pieces to do cover more of the workflow, but I&#8217;m already more confident about things working. Also, all this will be very useful on other projects that are interacting with BigQuery in any way (not just through Pandas).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="618" height="404" src="https://gergely.imreh.net/blog/wp-content/uploads/2022/08/test-run-goodness.png" alt="" class="wp-image-2707" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2022/08/test-run-goodness.png 618w, https://gergely.imreh.net/blog/wp-content/uploads/2022/08/test-run-goodness-500x327.png 500w" sizes="auto, (max-width: 618px) 100vw, 618px" /><figcaption>A test run that&#8217;s nice</figcaption></figure>



<p>Big evergreen lesson on testing: <strong>you have to write your code to be testable</strong>. Lots of code out there is not even not tested, but it&#8217;s even extremely difficult to actually test. This needs remembering in every development. Also, <strong>test writing never really stops</strong>, there&#8217;s always more thing to test for. And finally, can always try more advanced testing, such as using automated test case generation (e.g with <a href="https://hypothesis.readthedocs.io/en/latest/">hypothesis</a>), and fuzz testing (e.g. with <a href="https://gitlab.com/gitlab-org/security-products/analyzers/fuzzers/pythonfuzz">pythonfuzz</a>). The next frontier, right after I&#8217;ve implemented the currently skipped tests. And finally, remember that code coverage is not case coverage, so the goals should be maximizing the latter, while the former is just a potential proxy for it.</p>



<h2 class="wp-block-heading">Future outlook</h2>



<p>It would be nice to take this idea of financial data analysis further and add some actual dashboard (say deploying <a href="https://superset.apache.org/">Superset</a> somewhere which is excellent for this). It would help to get more information into the system as well, though, currently it&#8217;s very sparse. That would mean adding other financial sources, maybe if finding an API in the end, or doing a bit of &#8220;pragmatic execution&#8221; and do a CAPTCHA bypass (since I quickly checked that my credit card provider&#8217;s CAPTCHA is completely readable by <a href="https://tesseract-ocr.github.io/tessdoc/Home.html">Tesseract</a>, for example, so I <em>could</em> likely scrape things there if I really wanted.</p>



<p>I&#8217;m not holding my breath for having something like UK&#8217;s <a href="https://www.openbanking.org.uk/about-us/">Open Banking</a> here which enables apps like <a href="https://emma-app.com/">Emma</a> so all this is accessible for people who don&#8217;t want to code. But where&#8217;s the fun in that (for me)? :) (In fact there&#8217;s a lot of fun in open access APIs, so this would be the real way of doing it&#8230;)</p>



<p>Finally, it&#8217;s good to remember how easy it is to corrupt &#8220;production&#8221; data sets, but also with the right tools (like snapshots), some of that pressure can be less. There are always bugs, the question is how to mitigate their effect.</p>
<p>The post <a href="https://gergely.imreh.net/blog/2022/08/a-personal-finance-data-pipeline-project/">A personal finance data pipeline project</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gergely.imreh.net/blog/2022/08/a-personal-finance-data-pipeline-project/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Five weeks of no-caffeine</title>
		<link>https://gergely.imreh.net/blog/2019/02/five-weeks-of-no-caffeine/</link>
					<comments>https://gergely.imreh.net/blog/2019/02/five-weeks-of-no-caffeine/#respond</comments>
		
		<dc:creator><![CDATA[Gergely Imreh]]></dc:creator>
		<pubDate>Mon, 25 Feb 2019 21:36:26 +0000</pubDate>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[caffeine]]></category>
		<category><![CDATA[coffee]]></category>
		<category><![CDATA[tea]]></category>
		<guid isPermaLink="false">https://gergely.imreh.net/blog/?p=2513</guid>

					<description><![CDATA[<p>Five weeks ago, I&#8217;ve started on a &#8220;no-caffine month&#8220;, well, it wasn&#8217;t a month indeed after all. Yesterday was the end of my target, thus let&#8217;s see how things worked out! I&#8217;m glad I have managed go all five weeks without caffeine &#8211; no coffee, no tea, no dark chocolate to be on the &#8220;safe&#8221; [&#8230;]</p>
<p>The post <a href="https://gergely.imreh.net/blog/2019/02/five-weeks-of-no-caffeine/">Five weeks of no-caffeine</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Five weeks ago, I&#8217;ve started on a &#8220;<a href="https://gergely.imreh.net/blog/2019/01/starting-on-a-no-caffeine-month/">no-caffine month</a>&#8220;, well, it wasn&#8217;t a month indeed after all. Yesterday was the end of my target, thus let&#8217;s see how things worked out!</p>



<p>I&#8217;m glad I have managed go all five weeks without caffeine &#8211; no coffee, no tea, no dark chocolate to be on the &#8220;safe&#8221; side&#8230; That&#8217;s all nice, but looking at the purpose of the decaf period, did it make any material difference? And was it any different compared to the previous two times when I did this? The result is not totally clear cut to me, it definitely was much clearer in previous times. No experiment running for five long weeks in real life can really just change one parameter (me with/without caffeine in this case), while keeping everything else the same. Thus changes or lack of change is harder to interpret.</p>



<span id="more-2513"></span>



<p>One main target was reducing &#8220;jumpiness&#8221;, as it seemed to be pretty well correlated to coffee consumption. This didn&#8217;t seem to happen this time very much, or rather it feels like the &#8220;jumpiness-cycle&#8221; is more connected to: a) I&#8217;m like that by nature, b) how stressful work was at any given point, c) how much I&#8217;ve meditated. Thus points at just being more aware of being jumpy in the future, and deploy a variety of coping mechanisms, instead of a substantial tool like this.</p>



<p>Another target was improving on my sleep. That did happen, definitely crashing by 23:00-23:30 these days, instead of staying up later. Also waking up better in the morning, though not much earlier, if at all, compared to my benchmark 8 hours of sleep. I guess there&#8217;s a lot to improve on my sleep quality, but there was some positive effect at least.</p>



<p>This time the substitutes I had were different. The main one was switching to infusions (fruit teas), and those seemed to have worked out well, I think I keep some of that up later. The other substitute was decaf coffee. That felt a bit stranger, drinking decaf knowingly made me feel a bit empty inside (why would someone actively choose a &#8220;faux&#8221; version of something like this?), but had the right effect of me being able to use the cafés&#8217; social aspect while not breaking the fast. Definitely good choice when getting a &#8220;coffee&#8221; late in the afternoon and in the evening, and not want to be influenced. The taboo is gone, so I might use this again, but likely not without shaking my head at myself inwardly. Still learned some new things, such as when getting a drink one day, I&#8217;ve thought why not go one step further and try replacing the normal milk with something else. Even if asking &#8220;decaf cappuccino with almond milk&#8221; made me almost laugh out loud because this is one of the most hipster things I&#8217;ve done, the result was pretty good, I&#8217;m a fan of almond otherwise and now I know that it is indeed good with a hot drink. Also an affirmation to keep experimenting.</p>



<p>I was surprised also, that when I had any cravings, it was for a good strong English breakfast tea, instead of a coffee. Since cravings point at weaknesses, now I&#8217;m more wary of the breakfast tea&#8230;</p>



<p>There are other health effects that I can&#8217;t really measure myself, but would have been nice to know, such as my iron levels. I get some good feedback on that when I go donating blood (and the last few times my level was lower than I&#8217;m used to), but there&#8217;s still a few weeks till next time, not sure how clear it will be any difference from these weeks.</p>



<p>All in all, I&#8217;m glad I went ahead with this decaf period, more mindful than last times. While the results are mild at best, that&#8217;s a signal too. Now let&#8217;s see how the old habits will come back or some things have changed more permanently.</p>
<p>The post <a href="https://gergely.imreh.net/blog/2019/02/five-weeks-of-no-caffeine/">Five weeks of no-caffeine</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gergely.imreh.net/blog/2019/02/five-weeks-of-no-caffeine/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Starting on a no-caffeine month</title>
		<link>https://gergely.imreh.net/blog/2019/01/starting-on-a-no-caffeine-month/</link>
					<comments>https://gergely.imreh.net/blog/2019/01/starting-on-a-no-caffeine-month/#comments</comments>
		
		<dc:creator><![CDATA[Gergely Imreh]]></dc:creator>
		<pubDate>Sat, 26 Jan 2019 17:33:37 +0000</pubDate>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[caffeine]]></category>
		<category><![CDATA[coffee]]></category>
		<category><![CDATA[tea]]></category>
		<guid isPermaLink="false">https://gergely.imreh.net/blog/?p=2470</guid>

					<description><![CDATA[<p>Notes on my experiences on the 6th day of a no-caffeine month.</p>
<p>The post <a href="https://gergely.imreh.net/blog/2019/01/starting-on-a-no-caffeine-month/">Starting on a no-caffeine month</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>This is the third time I&#8217;m embarking on a quest to decaf. It is usually triggered by observing the effect of all the coffee and tea that I&#8217;m drinking: jumpiness, difficulty getting up in the morning, generally being an arse&#8230; The signs are pretty unmistakable, that I&#8217;ve had a bit too much&#8230;</p>



<p>The first time it was a very special experience, many aspects really stayed with me. The most important memory I carry over is the expected way the caffeine withdrawal should play out, based on this first time. The first week is kinda easy. The second is harder. The third was really rough, I reverted to pretty much to be a manchild, (figuratively) banging on the table and shouting &#8220;I am a grownup, I can have coffee whenever I want!&#8221; Then the last week was very good, much better mood, much more balanced physical functions too. It was bliss. Was almost strange to stay in that state for only a week, and resuming having <g class="gr_ gr_1080 gr-alert gr_gramm gr_inline_cards gr_run_anim Style multiReplace" id="1080" data-gr-id="1080">coffee .</g></p>



<span id="more-2470"></span>



<p>The second time was less memorable but had its own lessons. The rough phase happened much earlier and was less rough. Also, I think I had a hard time working around this no-caffeine limitation when going out. Seemed like every drink that I could have either had caffeine in it, or was full of sugar, or was just not worth the price, such as a single tea bag in a cup of water the same price as cappuccino in many cafés? Still survived, and was worth it, even if this second time was less transformative than the first.</p>



<p>This third time I started again because of the warning signs listed earlier were unmistakable. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4c5.png" alt="📅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Today&#8217;s day 6 and so far it went down as such :</p>



<ul class="wp-block-list"><li><strong>Day 1</strong>: really big coffee craving, feeling almost useless the whole day, crashing at <g class="gr_ gr_211 gr-alert gr_gramm gr_inline_cards gr_disable_anim_appear Style multiReplace" id="211" data-gr-id="211">10pm</g> (hours before previous sleep time). <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f634.png" alt="😴" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li><li><strong>Day 2</strong>: quite refreshed after <g class="gr_ gr_1019 gr-alert gr_gramm gr_inline_cards gr_disable_anim_appear Grammar only-ins doubleReplace replaceWithoutSep" id="1019" data-gr-id="1019">long</g> sleep, almost no craving, this should be eeeeeasy. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f601.png" alt="😁" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li><li><strong>Day 4</strong>: cravings slowly creep back, for example when others have coffee around me, just by smelling them. Starting to have enough of the teas I&#8217;m having. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f627.png" alt="😧" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li><li><strong>Day 6</strong>: the &#8220;<g class="gr_ gr_387 gr-alert gr_spell gr_inline_cards gr_disable_anim_appear ContextualSpelling" id="387" data-gr-id="387">child</g> tantrums&#8221; are lurking, I catch myself with similar thoughts already. On the other hand, waking up better in the morning, and not feeling especially tired through the day, much more even energy. I, however, catch myself thinking &#8220;this goes well so far, I wonder what should be the first drink to have when I&#8217;m finished, to make it special?&#8221; This is really my brain subverting the effort. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f644.png" alt="🙄" class="wp-smiley" style="height: 1em; max-height: 1em;" /></li></ul>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1024" height="577" src="https://gergely.imreh.net/blog/wp-content/uploads/2019/01/IMAG0565-min-1024x577.jpg" alt="" class="wp-image-2475" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2019/01/IMAG0565-min-1024x577.jpg 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2019/01/IMAG0565-min-500x282.jpg 500w, https://gergely.imreh.net/blog/wp-content/uploads/2019/01/IMAG0565-min-768x432.jpg 768w, https://gergely.imreh.net/blog/wp-content/uploads/2019/01/IMAG0565-min-1568x883.jpg 1568w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption>Illustration, this happened a long while back in Paris.</figcaption></figure>



<p>I&#8217;ve also tried to do a little bit more thinking and checking when starting. For the hot beverage cravings, I choose more rooibos (or red bush) teas or flower/fruit teas if need to. I have to say, I couldn&#8217;t really stand the <g class="gr_ gr_265 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling multiReplace" id="265" data-gr-id="265">flavour</g> of rooibos tea before, but now I&#8217;m acclimatized to it. Don&#8217;t think I would ever choose over all the wonderful (but caffeinated) teas of Taiwan if I had a choice, but I think it will carry me over. There are other drinks like MILO that I can fall back to. Curiously enough, decaf coffee still has caffeine in it (just much less), I&#8217;m still on the fence whether having that is acceptable within the rules of this game, but the jury is still out on that one&#8230;</p>



<p>Another change is cutting down on chocolate as well (or actually skipping it as much as possible), as that has caffeine as well. I guess that&#8217;s a win on the sugar side too, but have to watch snacks in general. Having said that, I do feel that when the craving moods hit, a piece of dark chocolate would sort me out &#8211; have not tried (as playing by my own rules), but I&#8217;m pretty certain it would work.</p>



<p>This time to match some plans that I already had in place, I choose not &#8220;1 month&#8221;, but a 5-week interval for this detox. There&#8217;s a clear ending (with a trip at the end of the 5 weeks) that makes the whole experiment self-contained, which feels nice. Also, when I get to the bliss-phase, hopefully, I should have a bit more time to enjoy it.</p>



<p>In the meantime, hope everyone else can enjoy their choice of drinks <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2615.png" alt="☕" class="wp-smiley" style="height: 1em; max-height: 1em;" />, regardless of what silly things I myself am trying to do&#8230;</p>
<p>The post <a href="https://gergely.imreh.net/blog/2019/01/starting-on-a-no-caffeine-month/">Starting on a no-caffeine month</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gergely.imreh.net/blog/2019/01/starting-on-a-no-caffeine-month/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>My London Theatre Season Highlights, 2016-17 Edition</title>
		<link>https://gergely.imreh.net/blog/2017/10/my-london-theatre-highlights-2016/</link>
					<comments>https://gergely.imreh.net/blog/2017/10/my-london-theatre-highlights-2016/#respond</comments>
		
		<dc:creator><![CDATA[Gergely Imreh]]></dc:creator>
		<pubDate>Sun, 22 Oct 2017 20:34:58 +0000</pubDate>
				<category><![CDATA[UK]]></category>
		<category><![CDATA[theatre]]></category>
		<guid isPermaLink="false">https://gergely.imreh.net/blog/?p=2382</guid>

					<description><![CDATA[<p>Notes on the plays and ballets I've seen in London last year, from No Man's Land to Hamlet, from Art to Obsession...</p>
<p>The post <a href="https://gergely.imreh.net/blog/2017/10/my-london-theatre-highlights-2016/">My London Theatre Season Highlights, 2016-17 Edition</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Last year I&#8217;ve moved back to London after living eight years in Asia.</p>
<h2>No Man&#8217;s Land</h2>
<p>(2016 December) I was reading a few volumes of Pinter&#8217;s collected plays, and was feeling very envious of New York, that they had <a href="https://twitter.com/SirPatStew">Patrick Stewart</a> and <a href="https://twitter.com/ianmckellen">Ian McKellen</a> putting a dual production of Waiting for Godot and No Man&#8217;s Land on stage there. But then I was lucky enough to catch  <a href="https://en.wikipedia.org/wiki/No_Man%27s_Land_(play)">No Man&#8217;s Land</a> in London, and that was a really intense kick-off for my theatre season.</p>
<p><figure id="attachment_2389" aria-describedby="caption-attachment-2389" style="width: 525px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/No-Mans-Land-9897-min.jpg"><img loading="lazy" decoding="async" class="wp-image-2389 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/No-Mans-Land-9897-min-1024x683.jpg" alt="Stage shot of No Man's Land" width="525" height="350" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/No-Mans-Land-9897-min-1024x683.jpg 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/No-Mans-Land-9897-min-500x334.jpg 500w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/No-Mans-Land-9897-min-768x512.jpg 768w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/No-Mans-Land-9897-min.jpg 1349w" sizes="auto, (max-width: 525px) 100vw, 525px" /></a><figcaption id="caption-attachment-2389" class="wp-caption-text">Let&#8217;s change the subject, for the last time</figcaption></figure></p>
<p>Theatre of the absurd is maybe my favorite, and this one makes a really good watch. The play is not perfect, though, the long monologue towards the end made me switch off, regardless how good the delivery was. But it was superb setup, superb acting (though Sir Ian had the better part), and very memorable. I think it&#8217;s a pretty good introduction to British culture as well, I&#8217;m definitely drinking much more since (alcoholism is one of the central elements).</p>
<p><span id="more-2382"></span></p>
<p><iframe loading="lazy" title="A sneak peek at NO MAN&#039;S LAND." width="580" height="326" src="https://www.youtube.com/embed/0-sKnyiIKaQ?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></p>
<h2>Art</h2>
<p>(2016 December) For a long time I wanted to check out the <a href="https://www.oldvictheatre.com/">Old Vic</a>. The second play of the season was <a href="https://en.wikipedia.org/wiki/Art_(play)">Art</a> by Yasmina Reza (whose <a href="https://en.wikipedia.org/wiki/God_of_Carnage">God of Carnage</a> I&#8217;ve also seen many-many years ago in London), a French playwright who seem to be extremely playful and have really interesting insights into human nature.</p>
<p><figure id="attachment_2394" aria-describedby="caption-attachment-2394" style="width: 525px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Art.jpg"><img loading="lazy" decoding="async" class="wp-image-2394 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Art-1024x768.jpg" alt="" width="525" height="394" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Art-1024x768.jpg 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Art-500x375.jpg 500w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Art-768x576.jpg 768w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Art.jpg 1462w" sizes="auto, (max-width: 525px) 100vw, 525px" /></a><figcaption id="caption-attachment-2394" class="wp-caption-text">Just some old friends</figcaption></figure></p>
<p>The characters were great, <a href="https://twitter.com/fredriksewell">Rufus Sewell</a> and and <a href="http://www.imdb.com/name/nm0728795/">Paul Ritter</a> are really bringing out the worst (and in some way the best) of each other. Great stage and visual design, that will become the theme of this year too, subtle things that add up to a lot more in their overall effect. I was really amazed how much they could make simple colours, simple spaces work.</p>
<p>The play is also very enjoyable, examining the ways friendships work. I&#8217;d highly recommend to anyone who&#8217;s wondering about adult friendships, I took home some interesting thoughts about dealing with the (perceived) shortcomings of friends. (That&#8217;s how plays should be, making us reflect about our world, right?) It seem the <a href="http://pvp.org/Play%20Reading/ART%20by%20Yasmina%20Reza.pdf">play&#8217;s also online in PDF form</a>, which is pretty fortunate&#8230;</p>
<h2>Woolf Works</h2>
<p>(2017 January) After drama, the new year brought a bit of exploration and expanding my comfort zone by ballet and dance at the Royal Opera House. The first one was <a href="http://www.roh.org.uk/productions/woolf-works-by-wayne-mcgregor">Woolf Works</a>, a three-set piece by <a href="https://twitter.com/WayneMcGregor">Wayne McGregor</a> inspired by the writing and life of Virginia Woolf.</p>
<p><figure id="attachment_2399" aria-describedby="caption-attachment-2399" style="width: 1000px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/WoolfWorks.jpg"><img loading="lazy" decoding="async" class="wp-image-2399 size-full" src="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/WoolfWorks.jpg" alt="" width="1000" height="638" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/WoolfWorks.jpg 1000w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/WoolfWorks-500x319.jpg 500w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/WoolfWorks-768x490.jpg 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></a><figcaption id="caption-attachment-2399" class="wp-caption-text">Woolf Works, part I</figcaption></figure></p>
<p>Not sure how much I&#8217;ve missed by not having read Virginia Woolf myself (shame), but this performance was pretty intense and creative on its own. Again amazing stage and visual design, how sets, lighting (including lasers), projectors were used. Great choreography (saying it as someone who&#8217;s not familiar with dance theatre in general), and creative use of dancers that created powerful emotional effects &#8211; for example in the last part that deals with her drowning, how the all the other dancers turn out to represent the waves of the sea in subtle but intense way that one realizes when it&#8217;s pretty much &#8220;too late&#8221;.</p>
<h2>Sleeping Beauty</h2>
<p>(2017 February) After modern theatre and dance, switched back to classic ballet. It was quite a switch, watching <a href="http://www.roh.org.uk/productions/the-sleeping-beauty-by-marius-petipa">Sleeping Beauty</a>, again at the Royal Opera House.</p>
<p><figure id="attachment_2403" aria-describedby="caption-attachment-2403" style="width: 525px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/bc-beauty-christina-arestis-triumph_1000-min.jpg"><img loading="lazy" decoding="async" class="wp-image-2403 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/bc-beauty-christina-arestis-triumph_1000-min-1024x700.jpg" alt="" width="525" height="359" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/bc-beauty-christina-arestis-triumph_1000-min-1024x700.jpg 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/bc-beauty-christina-arestis-triumph_1000-min-500x342.jpg 500w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/bc-beauty-christina-arestis-triumph_1000-min-768x525.jpg 768w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/bc-beauty-christina-arestis-triumph_1000-min.jpg 1200w" sizes="auto, (max-width: 525px) 100vw, 525px" /></a><figcaption id="caption-attachment-2403" class="wp-caption-text">Mice, mice, baby&#8230;</figcaption></figure></p>
<p>The feeling of watching what was actually the popular taste of the 19th century &#8211; I feel like I was taken back quite a bit. It&#8217;s grandiose, it&#8217;s different, it&#8217;s somewhat interesting, but also a lot of &#8220;filler&#8221; and &#8220;what&#8217;s the point&#8221; sections for my 20th/21st century taste. But when I could get out of that mindset it was <em>nice</em>&#8230; They still managed to pull of some very 21st century visual effects, the way they represented the forest in Act II, and how they created an immersive lake &amp; willows environment was a sight to behold&#8230;</p>
<h2>Hamlet</h2>
<p>(2017 March) Already had tickets for the following play, Rosencrantz and Guildenstern are Dead, which is a twisted view on Hamlet, so I was very happy to find that there <em>was</em> a <a href="https://almeida.co.uk/whats-on/hamlet-west-end/9-jun-2017-2-sep-2017">Hamlet</a> playing in town, a very new one. Except, there were no tickets, since everyone wanted to check out <a href="http://www.imdb.com/name/nm0778831/">Andrew Scott</a>. Thus as a first, I was queuing for a day ticket at the Almeida Theatre on a grey Thursday morning, the one day when I could try to get a ticket before the following play, and managed, by a hair&#8230;.</p>
<p><figure id="attachment_2397" aria-describedby="caption-attachment-2397" style="width: 525px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Hamlet.jpg"><img loading="lazy" decoding="async" class="wp-image-2397 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Hamlet-1024x481.jpg" alt="" width="525" height="247" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Hamlet-1024x481.jpg 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Hamlet-500x235.jpg 500w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Hamlet-768x360.jpg 768w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Hamlet.jpg 1470w" sizes="auto, (max-width: 525px) 100vw, 525px" /></a><figcaption id="caption-attachment-2397" class="wp-caption-text">Andrew Scott as Hamlet</figcaption></figure></p>
<p>It was totally worth queuing for, a superb modern take, where most of the shock and awe is still coming from the original play, but plenty of opportunities for the creators and actors to shine through. And of course, Hamlet will leave you thinking as well, a lot to discuss about the world after one leave the theatre. This production was very well received in London, and continued on in another, larger theatre afterwards for quite a while.</p>
<h2>Rosencrantz and Guildenstern are Dead</h2>
<p>(2017 March) Following Hamlet, went to see the characters who follow Hamlet around, <a href="https://en.wikipedia.org/wiki/Rosencrantz_and_Guildenstern_Are_Dead">Rosencrantz and Guildenstern are Dead</a> by Tom Stoppard, again in the <a href="https://www.oldvictheatre.com/whats-on/2017/rosencrantz-and-guildenstern">Old Vic</a>.</p>
<p><figure id="attachment_2395" aria-describedby="caption-attachment-2395" style="width: 525px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/C6TrK46WYAAlqo8.jpg"><img loading="lazy" decoding="async" class="wp-image-2395 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/C6TrK46WYAAlqo8-1024x536.jpg" alt="" width="525" height="275" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/C6TrK46WYAAlqo8-1024x536.jpg 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/C6TrK46WYAAlqo8-500x262.jpg 500w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/C6TrK46WYAAlqo8-768x402.jpg 768w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/C6TrK46WYAAlqo8.jpg 1200w" sizes="auto, (max-width: 525px) 100vw, 525px" /></a><figcaption id="caption-attachment-2395" class="wp-caption-text">So you are Rosencrantz and I&#8217;m Guildenstern? Or the other way around?</figcaption></figure></p>
<p>It&#8217;s a really sharp, witty, and in it&#8217;s sarcasm very insightful play indeed. <a href="http://www.imdb.com/name/nm0705356/">Daniel Radcliffe</a> was very good (and was interesting to see him in person), as was Joshua McGuire who just never stopped, but somehow quite a bit of the attention was stolen by <a href="http://www.imdb.com/name/nm0354069/">David Haig</a> as the Player. It was definitely a highlight and a play that I&#8217;d love to see a few more time&#8230;. In the meantime it seems like it&#8217;s <a href="https://coldreads.files.wordpress.com/2016/08/rosencrantz-and-guildenstern-are-dead.pdf">also available on the (grey) net to read</a>.</p>
<h2>The Human Seasons / After the Rain / Flight Pattern</h2>
<p>(2017 March) Next back to the Royal Opera House for a mixed ballet program of <a href="http://www.roh.org.uk/mixed-programmes/the-human-seasons-after-the-rain-flight-pattern">three independent pieces</a>. The style probably couldn&#8217;t be more different between them, which made it a great eye opener evening.</p>
<p><figure id="attachment_2402" aria-describedby="caption-attachment-2402" style="width: 525px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/flight-patternaw171705.jpg"><img loading="lazy" decoding="async" class="wp-image-2402 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/flight-patternaw171705-1024x683.jpg" alt="" width="525" height="350" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/flight-patternaw171705.jpg 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/flight-patternaw171705-500x333.jpg 500w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/flight-patternaw171705-768x512.jpg 768w" sizes="auto, (max-width: 525px) 100vw, 525px" /></a><figcaption id="caption-attachment-2402" class="wp-caption-text">Flight Pattern</figcaption></figure></p>
<p>The highlight for me was <a href="http://www.roh.org.uk/productions/flight-pattern-by-crystal-pite">Flight Pattern</a> by <a href="https://en.wikipedia.org/wiki/Crystal_Pite">Crystal Pite</a>, which I think was premiered as part of this programme. It deals with the plight of refugees, and it felt like the most developed, most thoughtful choreography I&#8217;ve seen so far. A lot of dancer but they were superbly working together, and could create amazing atmospheres just by motion (I can&#8217;t even describe&#8230;) One piece this year that left me quite literally breathless and aching.</p>
<h2>The Glass Menagerie</h2>
<p>(2017 Apr) Back to drama with <a href="https://en.wikipedia.org/wiki/The_Glass_Menagerie">The Glass Menagerie</a> by Tennessee Williams. If the previous plays were superbly English and French, this is so clearly American.</p>
<p><figure id="attachment_2400" aria-describedby="caption-attachment-2400" style="width: 630px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/TheGlassMenagerie.jpg"><img loading="lazy" decoding="async" class="wp-image-2400 size-full" src="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/TheGlassMenagerie.jpg" alt="" width="630" height="472" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/TheGlassMenagerie.jpg 630w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/TheGlassMenagerie-500x375.jpg 500w" sizes="auto, (max-width: 630px) 100vw, 630px" /></a><figcaption id="caption-attachment-2400" class="wp-caption-text">Oh, Mother..</figcaption></figure></p>
<p>Maybe falling on the side of the melodramatic a bit more than I&#8217;ve expected (since I didn&#8217;t expect too much, haven&#8217;t really read anything from Tennessee Williams yet). The characters and their execution was pretty good, and here too they managed to bring in some great visual design, how the flat level of the stage could act convincingly as a top-story apartment with all the space (and stars, and Moon) around it.</p>
<h2>Travesties</h2>
<p>(2017 April) Another Tom Stoppard play, <a href="https://en.wikipedia.org/wiki/Travesties">Travesties</a>, that worked out just as well, or in some sense even better than Rosencrantz&#8230; I kinda wish I&#8217;ve checked out the play beforehand, since as Rosencrantz is a swipe at Hamlet, Travesties incorporates the Importance of Being Earnest, which, I&#8217;m ashamed to say, haven&#8217;t read before. I guess I would have gotten more of the jokes and references if I had.</p>
<p><figure id="attachment_2396" aria-describedby="caption-attachment-2396" style="width: 525px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Travesties.jpg"><img loading="lazy" decoding="async" class="wp-image-2396 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Travesties-1024x640.jpg" alt="" width="525" height="328" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Travesties-1024x640.jpg 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Travesties-500x313.jpg 500w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Travesties-768x480.jpg 768w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Travesties.jpg 1280w" sizes="auto, (max-width: 525px) 100vw, 525px" /></a><figcaption id="caption-attachment-2396" class="wp-caption-text">Zürich memories</figcaption></figure></p>
<p>As opposed to Hamlet, which I&#8217;ve caught before it went big, Travesties was in its extended run after being moved from its original, smaller theatre. Looking at the pictures from the earlier run, there were some changes, and it feels like that was for the better. So I guess there&#8217;s no universal lesson whether it&#8217;s better to catch a play in its early or in its extended stage (I wish I could say &#8220;well, see it in both stages&#8221;, which would be my ideal world:).</p>
<p>It&#8217;s a smart and entertaining take on what (and who) is real, similar to the Oscar Wilde play that it works with. Not as deep as Rosencrantz, probably, but maybe has more breadth. Would be great to see the actors from this production in other plays too on one hand; as well as learning a bit more about the early 20th century expat intellectual world. It seems mighty interesting.</p>
<h2>Obsession</h2>
<p>(2017 May) Obsession was a theatre adaptation of <a href="https://en.wikipedia.org/wiki/Obsession_(1976_film)">Luchino Visconti&#8217;s 1943 movie</a>, starring among others <a href="http://www.imdb.com/name/nm0000179/">Jude Law</a> and <a href="http://www.imdb.com/name/nm0717603/">Halina Reijn</a>. Barbican is quite a different theatre compared to the other ones so far, a lot more spacious, lot more experimental.</p>
<p><figure id="attachment_2392" aria-describedby="caption-attachment-2392" style="width: 700px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Obsession-Jude-Law-Gijs-Scholten-van-Aschat-and-Halina-Reijn-image-credit-Jan-Versweyveld.jpg"><img loading="lazy" decoding="async" class="wp-image-2392 size-full" src="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Obsession-Jude-Law-Gijs-Scholten-van-Aschat-and-Halina-Reijn-image-credit-Jan-Versweyveld.jpg" alt="" width="700" height="455" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Obsession-Jude-Law-Gijs-Scholten-van-Aschat-and-Halina-Reijn-image-credit-Jan-Versweyveld.jpg 700w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Obsession-Jude-Law-Gijs-Scholten-van-Aschat-and-Halina-Reijn-image-credit-Jan-Versweyveld-500x325.jpg 500w" sizes="auto, (max-width: 700px) 100vw, 700px" /></a><figcaption id="caption-attachment-2392" class="wp-caption-text">Aria</figcaption></figure></p>
<p>There was a lot of play around making certain parts very cinematic in a theatrical environment, with sound effects, lighting, a treadmill for a very intense run scene and so on, and it works well, though also makes the play somehow a collection of views with quite sharp transitions (not sure if that&#8217;s how the film was). The personal drama is in center, and the Italian style complex (or rather complicated) relationships do come to life to a very painful extent&#8230; Relationships and the mistakes made, but which one of us doesn&#8217;t?</p>
<h2>The Mentor</h2>
<p>(2017 July) The last of the season was again a new nationality, a peek into the German psyche in The Mentor by <a href="https://en.wikipedia.org/wiki/Daniel_Kehlmann">Daniel Kehlmann</a>. <a href="https://en.wikipedia.org/wiki/F._Murray_Abraham">F. Murray Abraham</a> is the star of the show, and this is also an extended run, originally put on stage in Bath.</p>
<p><figure id="attachment_2401" aria-describedby="caption-attachment-2401" style="width: 654px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Mentor-Vaudeville-42-min.jpg"><img loading="lazy" decoding="async" class="wp-image-2401 size-full" src="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Mentor-Vaudeville-42-min.jpg" alt="" width="654" height="455" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Mentor-Vaudeville-42-min.jpg 654w, https://gergely.imreh.net/blog/wp-content/uploads/2017/10/Mentor-Vaudeville-42-min-500x348.jpg 500w" sizes="auto, (max-width: 654px) 100vw, 654px" /></a><figcaption id="caption-attachment-2401" class="wp-caption-text">Scotch whisky enthusiast</figcaption></figure></p>
<p>Very modern, and playful while does provoke some thoughts self-examination. It&#8217;s fun to see that the characters thinking are clearly different from the British, French, American, and Italian approach to the world as in the other plays. It was a pretty short one, though, maybe it was more of a sketch, though I&#8217;m guessing it could be made more impactful. At the moment it&#8217;s more entertaining though with a pretty big dose of cringe.</p>
<h2>Epilogue</h2>
<p>I&#8217;m really happy to have caught up a bit with theatre, because unlike movies, once you miss a performance, there&#8217;s not going to be a repeat (though I&#8217;m surprised that theatres are not recording more of the plays and releasing them, I wonder why, copyright?) There&#8217;s never enough, though, there are venues to check (looking forward going to the National Theatre again, haven&#8217;t been to the Globe before, and know very little about the Off-West end theatres&#8230;), great actors to see on stage, and experience plays that I&#8217;ve read &amp; admire.</p>
<p>From tips and tricks this year: the back-of-theatre seats are usually pretty good already, no need to really fight (pay an arm-and-a-leg) for more forward seats &#8211; though I can see how it can make a decent difference in the experience;  I do not read the reviews before the play, and very rarely afterwards, that usually do not add much value and I just end up second-guessing my choices of plays; for the best productions by the time you hear about them they are already nearly or entirely sold out, so prepare for some disappointments, but also when it&#8217;s worth it try to hustle for a day ticket;</p>
<p>For the next season I have a few things booked, hopefully the review next year will be just as rave, or hopefully even more.</p>
<p>The post <a href="https://gergely.imreh.net/blog/2017/10/my-london-theatre-highlights-2016/">My London Theatre Season Highlights, 2016-17 Edition</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gergely.imreh.net/blog/2017/10/my-london-theatre-highlights-2016/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Taiwan Citizen Digital Certificate</title>
		<link>https://gergely.imreh.net/blog/2016/05/taiwan-citizen-digital-certificate/</link>
					<comments>https://gergely.imreh.net/blog/2016/05/taiwan-citizen-digital-certificate/#comments</comments>
		
		<dc:creator><![CDATA[Gergely Imreh]]></dc:creator>
		<pubDate>Thu, 26 May 2016 09:44:41 +0000</pubDate>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Taiwan]]></category>
		<category><![CDATA[computer security]]></category>
		<category><![CDATA[MOICA]]></category>
		<category><![CDATA[smart card]]></category>
		<guid isPermaLink="false">https://gergely.imreh.net/blog/?p=2295</guid>

					<description><![CDATA[<p>Now that foreigners can apply for a Taiwanese Citizen Digital Certificate (MOICA) card, here's how that process worked, with all the gory details.</p>
<p>The post <a href="https://gergely.imreh.net/blog/2016/05/taiwan-citizen-digital-certificate/">Taiwan Citizen Digital Certificate</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Taiwan has a very interesting attitude towards technology (for better or <a href="https://gergely.imreh.net/blog/2015/03/ssl-status-of-taiwanese-banks/">worse</a>), and it is fun to try out anything new that comes up here (for a certain definition of &#8220;fun&#8221;). When the news hit late last month, that the <a href="http://www.taipeitimes.com/News/taiwan/archives/2016/04/26/2003644867">National Immigration Agency opens Internet ID application to foreign residents</a>, I was there to get mine as soon as it was available. The &#8220;Internet ID&#8221; refers to a &#8220;Citizen Digital Certificate&#8221;, also called <a href="http://moica.nat.gov.tw/">MOICA</a>, a smart card that supposed to make a lot of services available through a web browser or other government-produced software (e.g. filing taxes online). For Taiwanese citizens MOICA seems to be available at least since 2003 (according to the <a href="http://www.taipeitimes.com/News/taiwan/archives/2003/11/19/2003076416">news report</a> I&#8217;ve managed to dig up), but this is the first time it available for us foreigners living here.</p>
<p>In this rather graphic post I try to summarize the process of getting a MOICA card as a foreigner in Taiwan, setting it up, and some (opinionated) lessons to learn from it.</p>
<h2>The Process</h2>
<p>The process of getting and setting up the card is outlined in this leaflet that I&#8217;ve picked up.</p>
<p><figure id="attachment_2304" aria-describedby="caption-attachment-2304" style="width: 604px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Application_English.jpg"><img loading="lazy" decoding="async" class="wp-image-2304 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Application_English-727x1024.jpg" alt="MOICA Application English" width="604" height="851" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Application_English-727x1024.jpg 727w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Application_English-355x500.jpg 355w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Application_English-768x1082.jpg 768w" sizes="auto, (max-width: 604px) 100vw, 604px" /></a><figcaption id="caption-attachment-2304" class="wp-caption-text">Click to see large scan. Wow.</figcaption></figure></p>
<p>Though &#8211; not surprisingly &#8211; in practice everything is a lot more complicated than these 8 bulletpoints.</p>
<p><span id="more-2295"></span></p>
<p>There&#8217;s also a Chinese version of this leaflet, just for the record.</p>
<p><figure id="attachment_2305" aria-describedby="caption-attachment-2305" style="width: 604px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Application_Chinese.jpg"><img loading="lazy" decoding="async" class="size-large wp-image-2305" src="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Application_Chinese-728x1024.jpg" alt="Chinese language version of the application info. Click to see the full version." width="604" height="850" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Application_Chinese-728x1024.jpg 728w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Application_Chinese-356x500.jpg 356w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Application_Chinese-768x1080.jpg 768w" sizes="auto, (max-width: 604px) 100vw, 604px" /></a><figcaption id="caption-attachment-2305" class="wp-caption-text">Chinese language version of the application info. Click to see the full version.</figcaption></figure></p>
<h3>Registration</h3>
<p>As it is included in the <a href="https://www.immigration.gov.tw/ct.asp?xItem=1313716&amp;ctNode=29991&amp;mp=2">National Immigration Agency&#8217;s (NIA) own announcement</a>, the process is kicked off by visiting one of the service centers (<a href="https://www.immigration.gov.tw/ct.asp?xItem=1092844&amp;ctNode=32289&amp;mp=2">here&#8217;s a list</a>, but people generally know which center they belong to, they have to), and requesting the card. Even though I was applying (in the Taipei center) on one of the first days when it was available, there was no surprise or difficulty. Picked up a number, the at the counter forms were filled out for me all digitally, and then got a receipt like this (sensitive info blacked out here):</p>
<p><a href="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Receipt.jpg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-2308" src="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Receipt-1024x709.jpg" alt="MOICA Receipt" width="604" height="418" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Receipt-1024x709.jpg 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Receipt-500x346.jpg 500w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Receipt-768x532.jpg 768w" sizes="auto, (max-width: 604px) 100vw, 604px" /></a></p>
<p>It included my application number, name, email, phone number, and a registration code (the last blacked out line) which was needed for the online payment. This is because, for some reason, the bill cannot be settled at the time of the application, but needed to be done online.</p>
<h3>Payment</h3>
<p>The card is only sent out to me after the online payment, and if no cash is received in 14 days, the application is cancelled. Thus I wanted to settle things very quickly. Originally I thought, based on the info I&#8217;ve received at the NIA that I will receive an email or other electronic communication with further info on how to pay. Instead, for the next 2-3 days I got a daily nudge message that I need to pay, but no information on <em>how</em>.</p>
<p><figure id="attachment_2320" aria-describedby="caption-attachment-2320" style="width: 600px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2320" src="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_SMS_Request.png" alt="SMS nudge to pay for my MOICA application" width="600" height="700" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_SMS_Request.png 600w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_SMS_Request-429x500.png 429w" sizes="auto, (max-width: 600px) 100vw, 600px" /><figcaption id="caption-attachment-2320" class="wp-caption-text">SMS nudge to pay for my MOICA application</figcaption></figure></p>
<p>Visiting the <a href="http://moica.nat.gov.tw/other/">MOICA website for foreigners (&#8220;aliens&#8221;)</a> does not make me smarter, it looks like this below, with a couple of options on the side, but no &#8220;PAY HERE&#8221; or similar.</p>
<p><figure id="attachment_2309" aria-describedby="caption-attachment-2309" style="width: 604px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site2.png"><img loading="lazy" decoding="async" class="wp-image-2309 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site2-1024x640.png" alt="MOICA Site" width="604" height="378" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site2-1024x640.png 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site2-500x313.png 500w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site2-768x480.png 768w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site2.png 1280w" sizes="auto, (max-width: 604px) 100vw, 604px" /></a><figcaption id="caption-attachment-2309" class="wp-caption-text">MOICA website greeting screen</figcaption></figure></p>
<p>After one and a half weeks the time was running out for the application, so gave in and called the <a href="tel:0800-080-117">0800-080-117</a> number from the message for help. They did help: see the funny looking Chinese-only banner with two cartoon figures? Have to click that, and then go onto this Chinese-only interface to continue.</p>
<p><figure id="attachment_2310" aria-describedby="caption-attachment-2310" style="width: 604px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site3.png"><img loading="lazy" decoding="async" class="wp-image-2310 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site3-1024x640.png" alt="MOICA Site 3" width="604" height="378" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site3-1024x640.png 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site3-500x313.png 500w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site3-768x480.png 768w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site3.png 1280w" sizes="auto, (max-width: 604px) 100vw, 604px" /></a><figcaption id="caption-attachment-2310" class="wp-caption-text">The &#8220;helper kids&#8221; page</figcaption></figure></p>
<p>Using the code from the receipt and logging in, there was an online payment interface. I really should have taken a screenshot, but so taken aback by it, that I forgot. It&#8217;s a HTTPS page (for a change), with big (Chinese-only) announcement that &#8220;because the site uses SSL your data is completely safe and nothing to worry about&#8221;, plus Chrome giving me a big security warning that the website&#8217;s SSL settings are vulnerable. Who do you trust in this situation? Rhetorical question: of course Chrome but still pay the government&#8230;</p>
<p>At least their messaging service works a lot better than their website, within seconds I got dual language notification that the credit card payment went through fine.</p>
<p><figure id="attachment_2321" aria-describedby="caption-attachment-2321" style="width: 600px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="size-full wp-image-2321" src="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Confirmation.png" alt="Confirmation message" width="600" height="480" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Confirmation.png 600w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Confirmation-500x400.png 500w" sizes="auto, (max-width: 600px) 100vw, 600px" /><figcaption id="caption-attachment-2321" class="wp-caption-text">Confirmation message</figcaption></figure></p>
<p>There&#8217;s not much to do after this, but wait till the postman arrives with the card.</p>
<h3>Card Activation</h3>
<p>The card arrived with two page of instructions, sticked in the middle, highlighting the security features of the card.</p>
<p><figure id="attachment_2322" aria-describedby="caption-attachment-2322" style="width: 604px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Instructions_Page1.jpg"><img loading="lazy" decoding="async" class="wp-image-2322 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Instructions_Page1-718x1024.jpg" alt="The card was sticked on the middle of this page of instructions" width="604" height="861" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Instructions_Page1-718x1024.jpg 718w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Instructions_Page1-351x500.jpg 351w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Instructions_Page1-768x1095.jpg 768w" sizes="auto, (max-width: 604px) 100vw, 604px" /></a><figcaption id="caption-attachment-2322" class="wp-caption-text">The card was sticked on the middle of this page of instructions (click for full size)</figcaption></figure></p>
<p>On a side note, not sure how all these visual security features (which likely serve paper bills well) help with computer security, since the only important part of that card is the chip inside, but I digress.</p>
<p>The minimum system requirements are Windows XP SP3 and IE 6.0. I&#8217;m using <a href="https://www.archlinux.org">Linux</a>, but fortunately have an XP in <a href="https://www.virtualbox.org/">VirtualBox</a>, and Internet Explorer on it, so might just work. The instructions said to go to the MOICA website again, and activate the card there. Except, there was no activation-related menu there at all, and the instructions remain tight-lipped. I was hoping that the back-side of the instructions, that are in Chinese, will contain some clues, though it turns out that they are even less useful, if that&#8217;s possible.</p>
<p><figure id="attachment_2323" aria-describedby="caption-attachment-2323" style="width: 604px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Instructions_Page2.jpg"><img loading="lazy" decoding="async" class="wp-image-2323 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Instructions_Page2-720x1024.jpg" alt="The back page of the instructions with more info and Chinese (click for full size)" width="604" height="859" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Instructions_Page2-720x1024.jpg 720w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Instructions_Page2-351x500.jpg 351w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Instructions_Page2-768x1093.jpg 768w" sizes="auto, (max-width: 604px) 100vw, 604px" /></a><figcaption id="caption-attachment-2323" class="wp-caption-text">The back page of the instructions with more info and Chinese (click for full size)</figcaption></figure></p>
<p>It&#8217;s time for another phone call to the 0800 number, and turns out that the &#8220;helper kids&#8221; are the ones we need again. Clicking that Chinese-only banner on the otherwise dual-language website brings up the page that I used earlier, but now instead of logging in, have to click the last menu point on the left, saying <strong>憑證IC卡開卡</strong>. That takes me back to a page that looks very similar to the original MOICA page &#8211; except the menu is full. Indeed, the first page only contains &#8220;<strong>Commonly Used Functions</strong>&#8221; in the menu and have to do this extra trip to get a complete list of available &#8220;<strong>Certificate Procedure</strong>&#8220;[sic].</p>
<p><figure id="attachment_2311" aria-describedby="caption-attachment-2311" style="width: 604px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site4.png"><img loading="lazy" decoding="async" class="wp-image-2311 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site4-1024x640.png" alt="MOICA activation interface" width="604" height="378" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site4-1024x640.png 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site4-500x313.png 500w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site4-768x480.png 768w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site4.png 1280w" sizes="auto, (max-width: 604px) 100vw, 604px" /></a><figcaption id="caption-attachment-2311" class="wp-caption-text">MOICA activation interface (click for full size)</figcaption></figure></p>
<p>Here the activation can begin in earnest. First steps are:</p>
<ul>
<li>the site prompting for the install of half-a-dozen plugins,</li>
<li>there&#8217;s an external program for the card reader smart card functions called HiCOS (get it from the <a href="http://moica.nat.gov.tw/other/download_1.html">download page</a>)</li>
<li>besides the card reader&#8217;s own drivers (I have an <a href="http://www.easyatm.com.tw/product/goods.php?gid=40">EasyATM Pocket Reader 111</a>, seem to work well both in Linux and Windows)</li>
<li>and a &#8220;gcms-plugin&#8221; linked from the activation page, what this does is unclear to me.</li>
</ul>
<p>Most of these are also outlined (in Chinese) on <a href="http://moica.nat.gov.tw/ShowCardInfo.html">one of the helper pages</a>.</p>
<p>I did all this, loaded the card data (取得資料), filled out the page&#8217;s form, and submitted (the 開卡 button, &#8220;enable card&#8221;), but the process just hung there for about 5 minutes without any result. Tried more times that I probably should have&#8230;</p>
<p>One difficulty is that the page asks to &#8220;enter&#8221; subscriber code, and &#8220;set&#8221; PIN code: I didn&#8217;t know any subscriber code (probably meaning &#8220;username&#8221;), and &#8220;enter&#8221; is not &#8220;set&#8221; but who knows how the translations work on these sites?</p>
<p>On the page there was a link to help if things don&#8217;t work, which takes us to the <a href="http://blog.xuite.net/my_moica/blog/244925043">MOICA blog</a>, lo and behold:</p>
<p><figure id="attachment_2313" aria-describedby="caption-attachment-2313" style="width: 604px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Blog1.png"><img loading="lazy" decoding="async" class="wp-image-2313 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Blog1-1024x640.png" alt="MOICA help blog help article header (continues below on the page)" width="604" height="378" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Blog1-1024x640.png 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Blog1-500x313.png 500w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Blog1-768x480.png 768w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Blog1.png 1280w" sizes="auto, (max-width: 604px) 100vw, 604px" /></a><figcaption id="caption-attachment-2313" class="wp-caption-text">MOICA help blog help article header (continues below on the page)</figcaption></figure></p>
<p>This doesn&#8217;t strike me with a lot of confidence. Not just that it&#8217;s all in Chinese, the post is more than a year old, the color scheme is going crazy, and basically doesn&#8217;t contain any new info. Mainly it&#8217;s about using an external site (together with advertisements) for an important information like this.</p>
<p>Further down the page there was <a href="http://blog.xuite.net/my_moica/blog/245596698">another link to even more help</a> on this blog to how to set things up for the MOICA site to work with the smart card reader.</p>
<p><figure id="attachment_2314" aria-describedby="caption-attachment-2314" style="width: 604px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Blog2.png"><img loading="lazy" decoding="async" class="size-large wp-image-2314" src="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Blog2-1024x640.png" alt="MOICA card activation tech setup info on the blog" width="604" height="378" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Blog2-1024x640.png 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Blog2-500x313.png 500w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Blog2-768x480.png 768w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Blog2.png 1280w" sizes="auto, (max-width: 604px) 100vw, 604px" /></a><figcaption id="caption-attachment-2314" class="wp-caption-text"><a href="http://blog.xuite.net/my_moica/blog/245596698">MOICA card activation tech setup info</a> on the blog</figcaption></figure></p>
<p>The info is in Chinese, but more or less says this:</p>
<ul>
<li>Enable compatibility mode in IE for moica.nat.gov.tw and  61.60.9.42,</li>
<li>In Internet Options / Security / Trusted Sites / Sites disable &#8220;require server verification (https:) for all sites in this zone&#8221;, and add moica.nat.gov.tw and  61.60.9.42 to the trusted sites</li>
<li>Internet Options / Security / Trusted Sites / Custom Level enable everything releated to ActiveX (in my opinion, set to &#8220;Prompt&#8221; instead of &#8220;Enable&#8221; whenever possible)</li>
<li>Clear cookies and browser data and try afresh</li>
</ul>
<p>This is pretty horrifying again, but what to do, have to make that card work somehow. The IP in that list is actually the IP where the form is served, within an <a href="https://developer.mozilla.org/en/docs/Web/HTML/Element/iframe">iframe</a> on the MOICA site&#8230; No security, open everything if you want to use the card.</p>
<p>The final comment on the page says, that if the activation form still hangs, then something is still not set up correctly. Of course my form was still hanging, but I was quite confident, that I haven&#8217;t missed any part of the setup. It&#8217;s time change strategy: to put myself into the shoes of the developer of a system like this. Imagining it as someone is making a site to technical specs only but not for usability, I was questioning what functions I might need. Looking through the menu, there is a &#8220;How to change subscriber code&#8221; page &#8211; and it does not ask for existing subscriber code, only other information! So it is more like resetting a forgotten code/password, this might be what I need!</p>
<p><figure id="attachment_2312" aria-describedby="caption-attachment-2312" style="width: 604px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site5.png"><img loading="lazy" decoding="async" class="size-large wp-image-2312" src="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site5-1024x640.png" alt="Changing &quot;subscriber code&quot; (click for full size)" width="604" height="378" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site5-1024x640.png 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site5-500x313.png 500w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site5-768x480.png 768w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Site5.png 1280w" sizes="auto, (max-width: 604px) 100vw, 604px" /></a><figcaption id="caption-attachment-2312" class="wp-caption-text">Changing &#8220;subscriber code&#8221; (click for full size)</figcaption></figure></p>
<p>On that page I&#8217;ve added my <a href="https://en.wikipedia.org/wiki/Resident_Certificate">Alien Residency Certificate</a> number, date of birth, and my MOICA card&#8217;s number as requested, and got a brand new subscriber code.</p>
<p>Putting this new subscriber code into the activation page, setting a PIN and finished in a second like a charm: <strong>Success</strong>! The activation was also verified by going on the <a href="http://moica.nat.gov.tw/other/Query.html">Certificate Query</a> page (using the 64-digit certificate serial number from the Activation page that can load the card data):</p>
<p><figure id="attachment_2325" aria-describedby="caption-attachment-2325" style="width: 604px" class="wp-caption aligncenter"><a href="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Active_Card.png"><img loading="lazy" decoding="async" class="size-large wp-image-2325" src="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Active_Card-1024x640.png" alt="MOICA card is activated (click for full size)" width="604" height="378" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Active_Card-1024x640.png 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Active_Card-500x313.png 500w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Active_Card-768x480.png 768w, https://gergely.imreh.net/blog/wp-content/uploads/2016/05/MOICA_Active_Card.png 1280w" sizes="auto, (max-width: 604px) 100vw, 604px" /></a><figcaption id="caption-attachment-2325" class="wp-caption-text">MOICA card is activated (click for full size)</figcaption></figure></p>
<p>The lesson seem to be, unless I&#8217;ve missed something, that a subscriber code needs to be created first (not mentioned in the help), and the activation page hangs on all kinds of issues such as missing/wrong subscriber number as well, not just when the technical setup is incorrect.</p>
<p>Now what can I use this card for? I&#8217;ve seen some articles saying that there are 3000 different services to be used with, but I guess that&#8217;s only sort of correct. The <a href="http://moica.nat.gov.tw/en/faq.html">FAQ</a> says:</p>
<blockquote><p>[&#8230;] electronic highway drivers services, tax filing, internet application system of the Labor Insurance Bureau, electronic gateway of the Land Administration, household registration internet applications, ChungHwa Telecom mobile phone (citywide) query, company online application system of the Ministry of Economic Affairs, public safety inspection system for buildings, internet customs clearance system for air cargoes, 1988 tax information instant messaging, and so on.</p></blockquote>
<p>Foreigners cannot do tax filing for the 2015 tax year (just being filed now till the end of this month), but should be good from next year (I&#8217;m using my stock trading file-based certificate so I&#8217;m good to file online anyways). Other uses I guess need some exploration.</p>
<h2>Endnotes</h2>
<h3>Tech</h3>
<p>I haven&#8217;t really used smart cards for anything so far, the only other one is the <a href="https://en.wikipedia.org/wiki/Healthcare_in_Taiwan#Healthcare_reform">National Health Insurance card</a> earlier this month, that was a tiny bit more straightforward, and sort of immediately useful.</p>
<p>Under Linux I can use <a href="http://ludovic.rousseau.free.fr/softwares/pcsc-tools/">pcsc-tools</a> and the CCID hardware driver for my reader to get some info about the card&#8217;s hardware, for what it&#8217;s worth:</p>
<pre class="lang:default decode:true" title="pcsc_scan output for the MOICA card">Thu May 26 15:23:24 2016
Reader 0: Generic USB2.0-CRW [Smart Card Reader Interface] (20070818000000000) 00 00
  Card state: Card inserted, 
  ATR: 3B B8 13 00 81 31 FA 52 43 48 54 4D 4F 49 43 41 A5

ATR: 3B B8 13 00 81 31 FA 52 43 48 54 4D 4F 49 43 41 A5
+ TS = 3B --&gt; Direct Convention
+ T0 = B8, Y(1): 1011, K: 8 (historical bytes)
  TA(1) = 13 --&gt; Fi=372, Di=4, 93 cycles/ETU
    43010 bits/s at 4 MHz, fMax for Fi = 5 MHz =&gt; 53763 bits/s
  TB(1) = 00 --&gt; VPP is not electrically connected
  TD(1) = 81 --&gt; Y(i+1) = 1000, Protocol T = 1 
-----
  TD(2) = 31 --&gt; Y(i+1) = 0011, Protocol T = 1 
-----
  TA(3) = FA --&gt; IFSC: 250
  TB(3) = 52 --&gt; Block Waiting Integer: 5 - Character Waiting Integer: 2
+ Historical bytes: 43 48 54 4D 4F 49 43 41
  Category indicator byte: 43 (proprietary format)
+ TCK = A5 (correct checksum)

Possibly identified card (using /home/user/.cache/smartcard_list.txt):
3B B8 13 00 81 31 FA 52 43 48 54 4D 4F 49 43 41 A5
	citizen digital certificate (PKI)
	http://moica.nat.gov.tw/</pre>
<p>Regarding the websites and web services in general I see more issues than good sides:</p>
<p><strong>Chinese and English</strong> are used in a very strange way. English translation is often uninformative (at best, misleading at worst), or missing. Sometimes resetting a form changes all the labels into Chinese, the relevant FAQs are often in Chinese&#8230;. All this wouldn&#8217;t be a problem, if it wasn&#8217;t advertised to be usable in English too. So far it&#8217;s about a 20% solution. Getting people to translate, doing consistent writing, not having text in images (so copy-paste translation can work as a last resort), and just thinking about the users in general would go a long way.</p>
<p>Paper documentation and blog that contains <strong>help and advice is out of date and incomplete</strong>. The website has changed since the screenshots, IE has changed since the screenshots, not all steps are described, some technical info is not presented in enough detail to make it work easily. This is again I think an issue of low manpower for maintenance and people not putting themselves into the user&#8217;s shoes when writing documentation (that&#8217;s a common issue in all tech).</p>
<p>The site&#8217;s front page showing <strong>Commonly Used Functions only</strong>, and no apparent way to see all functions. That&#8217;s just a big usability issue (people needing to call to use the website), that should come up if they check what people call them about. So I guess there&#8217;s no monitoring and review of support calls or no feedback to the site design.</p>
<p>A big no-no is <strong>not having SSL enabled everywhere</strong>, it would be so easy to do. Chunghwa Telecom that they used for some of the smart card software development is the local Certificate Authority and the government has its own too, can&#8217;t imagine why there isn&#8217;t security set up. There&#8217;s even <a href="https://letsencrypt.org/">Let&#8217;s Encrypt</a> for last resort now, so no excuses. Those pages that have SSL setup seems to be done by people who are not familiar with it, or not maintaining it properly. It&#8217;s a big misconception that &#8220;if HTTPS is in the URL, then the communication is secure&#8221;. In the public sector good sysadmins don&#8217;t fall for this, so the government and public sector need to step up their efforts. Staying with this immature security thinking will just lead to more issues (such as the <a href="http://www.taipeitimes.com/News/taiwan/archives/2016/05/25/2003647087">just hacked Chungwa Post</a>).</p>
<p>Using <strong>IP address-only designation and iframes</strong> for the smart card functions is also baffles my mind. I cannot imagine legitimate technical reasons for that, would be happy to hear if anyone knows one. Right now it looks like an alpha-quality software.</p>
<p>Relying on <strong>ActiveX</strong> for all these functions obviously is the result of the age of the project but it is definitely not future proof. Win 10 and the <a href="https://blogs.windows.com/msedgedev/2015/05/06/a-break-from-the-past-part-2-saying-goodbye-to-activex-vbscript-attachevent/">latest IE drops ActiveX</a> as well, so there are no up-to-date systems that could use this smart card functionality. How many people will keep an XP around just to use the government websites? (The answer is probably not many and still more than should be).</p>
<h3>Alternatives</h3>
<p>With all this technical background, I really feel that this is a dead-end solution, which might work for a while still but has no future. To have a future, it needs to break from ActiveX, and go cross-platform too. Probably would need to break from the smart card format as well (at least as it is now). I&#8217;m in no way an expert in this area, these are some ideas based on my experience so far.</p>
<p>If trying to keep such certificate-based services around, then there has to be some serious research put into either how to use smart cards better (maybe based on <a href="https://github.com/OpenSC/OpenSC">OpenSC</a>?), or change hardware. I&#8217;m thinking something like <a href="https://www.yubico.com/products/yubikey-hardware/yubikey4/">Yubikey</a> could be an interesting model, especially with it&#8217;s <a href="https://www.yubico.com/why-yubico/for-individuals/computer-login/yubikey-neo-and-piv/">Personal Identity Verification PIV support</a>. Probably PIV and the related standards (that I have very tiny idea about so far) would be a viable path to look at.</p>
<p>Another alternative comes to my mind thinking about how bank logins work in some countries, using a Two-Factor Authentication (2FA) device that generates a one-time password for logging in. I see the model of this good in the sense of not having any hardware attached to the computer so it&#8217;s by default cross-platform and much less setup. Of course 2FA alone is surely not enough (eg. if electronic signature functions are used with MOICA), but the current model also just seem to be a 2FA (the factors are the card and the pin) login for the services. Maybe a mixed model, with simplicity in mind would be a good path.</p>
<h3>Future</h3>
<p>The idea of MOICA is fundamentally good, and pretty much inevitable in one form or another. The main thing would be thinking over the use cases and user experience a lot better. It is an interesting project, to a level that I almost wish I could work on this: technology development, QA, user &amp; system testing, project development consulting, security enhancement, evaluation&#8230; It is unlikely to happen, so I really-really hope the Taiwan government (ie. the relevant ministries) have a decent sized and quality team working on this. Otherwise&#8230;. disaster and/or becoming irrelevant is also pretty much inevitable, only question is time.</p>
<p>Would love to hear if anyone else goes through this process and what do they use your cards for?</p>
<p>The post <a href="https://gergely.imreh.net/blog/2016/05/taiwan-citizen-digital-certificate/">Taiwan Citizen Digital Certificate</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gergely.imreh.net/blog/2016/05/taiwan-citizen-digital-certificate/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Year in Review and Preview 2015/2016</title>
		<link>https://gergely.imreh.net/blog/2015/12/year-review-preview/</link>
					<comments>https://gergely.imreh.net/blog/2015/12/year-review-preview/#respond</comments>
		
		<dc:creator><![CDATA[Gergely Imreh]]></dc:creator>
		<pubDate>Wed, 30 Dec 2015 15:16:52 +0000</pubDate>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[year in review]]></category>
		<guid isPermaLink="false">https://gergely.imreh.net/blog/?p=2186</guid>

					<description><![CDATA[<p>Looks like I haven&#8217;t done a yearly review last year, the latest one on the blog is from the end of 2013. That&#8217;s surprising, but then it&#8217;s even more pressing to take stock of 2015 and set up the coming year. 2015 &#8211; Results This year have seen a long trip to Europe in February [&#8230;]</p>
<p>The post <a href="https://gergely.imreh.net/blog/2015/12/year-review-preview/">Year in Review and Preview 2015/2016</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Looks like I haven&#8217;t done a yearly review last year, the latest one on the blog is <a href="https://gergely.imreh.net/blog/2013/12/another-stable-orbit-around-the-sun/">from the end of 2013</a>. That&#8217;s surprising, but then it&#8217;s even more pressing to take stock of 2015 and set up the coming year.</p>
<h2>2015 &#8211; Results</h2>
<p>This year have seen a long <strong>trip to Europe</strong> in February (Hungary, Prague, Vienna) which definitely opened my eyes to a lot of things that I probably should have understood back in high school (especially regarding history). On the other hand, I was a visitor back in my home country Hungary too, and tried a bunch of things that I have never tried when I lived there before, been there with different eyes (and would love to spend more time home again too).</p>
<p>The rest of the year was spent here in <strong>Taiwan</strong>, on small trips all around the north and east coast, and around Taipei City. &nbsp;A lot can fit into day trips, and it is fun to mix popular places with off the beaten track.</p>
<p><span id="more-2186"></span></p>
<p>I have finished a bunch of <strong>projects</strong>, probably more than any time recently. These include the <a href="https://gergely.imreh.net/blog/2015/04/twbankssl-continuous-monitoring/">Taiwan Bank SSL Status Monitoring service</a>&nbsp;which is going strong, and looks like it had a real effect; then there&#8217;s the <a href="https://gergely.imreh.net/blog/2015/11/taiwan-wwii-map-overlays/">Formosa City Plan Overlays</a> page&nbsp;which gave me all kinds of warm and fuzzy feelings; there are also a lot more hardware design projects than before (but still fewer than I wanted), including the <a href="https://gergely.imreh.net/blog/2015/08/pcieduino/">PCIeDuino</a> that still has a lot of unrealized potential; for writing there&#8217;s the <a href="https://moonpunch.org/blog/tag/advent/">Atomic Physics Apparatus Advent Calendar</a>&nbsp;which I didn&#8217;t think I&#8217;ll be able to finish, but I&#8217;m really glad I did.</p>
<p>On the <strong>reading</strong> front, since I haven&#8217;t met my goals in the last couple of years (usually 52 books each year), I&#8217;ve set a lower goal at 30 this time. I reached that goal (<a href="https://www.goodreads.com/user_challenges/1942878">here&#8217;s the list of books on Goodreads</a>), which means I should increase the target to be more challenging. There are a lot of good books this year, though I think not one book dominated the year&#8217;s impressions. Progressing with the <a href="https://www.goodreads.com/series/49118-culture">Culture series</a> is good, <a href="https://www.goodreads.com/book/show/22448517-invitation-to-a-beheading">Invitation to a Beheading</a>, <a href="https://www.goodreads.com/book/show/18886796-v">V.</a> are both brilliant works. There were a lot of business intelligence books on the menu, and a couple of plays, which I&#8217;m very happy getting back into.</p>
<p>Watched &nbsp;38&nbsp;<strong>movies</strong> (<a href="http://www.imdb.com/list/ls073389822/">here&#8217;s the list on IMDb</a>), and they are overwhelmingly good, and added quite a bit to my world view. I&#8217;m being picky about them, and that does a lot of good. There are a lot more in reserves to watch some day than how many I actually see, and that&#8217;s a good imbalance, in <a href="https://www.brainpickings.org/2015/03/24/umberto-eco-antilibrary/">Eco&#8217;s &#8220;Antilibrary&#8221;</a> sense, and same for books too.</p>
<p>My <strong>hardware</strong> experiment with Tindie was sort of okay, though <a href="https://www.tindie.com/stores/imrehg/">my store</a>&nbsp;doesn&#8217;t have much traffic or sales at all, but was a good source of a few lessons (and not just on that I need a lot better execution and follow through).</p>
<p>On the <strong>side-projects</strong> front everything was quiet, probably too quiet. Many big things from before are kind of on ice, and even the ones that continue, such as working on the <a href="https://taipeihack.org">Taipei Hackerspace</a>&nbsp;are on the back burner.</p>
<h2>2016 &#8211; Outlook</h2>
<p>An experiment that I&#8217;m going to try is that instead of new year resolutions, let&#8217;s have a <strong>theme</strong> for the year. Instead of setting priorities now, under the current circumstances, let&#8217;s have a tool in the shape of that theme, which helps me make choices along the way. I haven&#8217;t quite made up my mind on the theme yet (still have about 24 hours to do that), but my current candidate is <em>giving back</em>. Doesn&#8217;t matter that it is very much a cliché in general when one&#8217;s being asked about their priorities or values, and the answer has very little bearing on the real world. Here it will be in the background, with an active role, guiding a year&#8217;s worth of experimentation and exploration.</p>
<p>Other than that, I&#8217;ll try to keep my <a href="/now">/now page</a> up to date, as good tool to focus.</p>
<hr>
<p>How your year&#8217;s been and how&#8217;s the next one looking up?</p>
<p>The post <a href="https://gergely.imreh.net/blog/2015/12/year-review-preview/">Year in Review and Preview 2015/2016</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gergely.imreh.net/blog/2015/12/year-review-preview/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Taiwan WWII Map Overlays</title>
		<link>https://gergely.imreh.net/blog/2015/11/taiwan-wwii-map-overlays/</link>
					<comments>https://gergely.imreh.net/blog/2015/11/taiwan-wwii-map-overlays/#comments</comments>
		
		<dc:creator><![CDATA[Gergely Imreh]]></dc:creator>
		<pubDate>Mon, 02 Nov 2015 13:47:43 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Taiwan]]></category>
		<category><![CDATA[Google Maps]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[WWII]]></category>
		<guid isPermaLink="false">https://gergely.imreh.net/blog/?p=2102</guid>

					<description><![CDATA[<p>A while ago I came across the Formosa (Taiwan) City Plans, U.S. Army Map Service, 1944-1945 collection, in the Perry-Castañeda Library Map Collection of the University of Texas in Austin. I&#8217;m a sucker for maps, enjoy learning about history a lot, and I have a lot of interest in my current home, Taiwan &#8211; so you can call this a [&#8230;]</p>
<p>The post <a href="https://gergely.imreh.net/blog/2015/11/taiwan-wwii-map-overlays/">Taiwan WWII Map Overlays</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>A while ago I came across the <a href="https://www.lib.utexas.edu/maps/ams/formosa_city_plans/">Formosa (Taiwan) City Plans, U.S. Army Map Service, 1944-1945 collection</a>, in the <a href="https://www.lib.utexas.edu/maps/">Perry-Castañeda Library Map Collection</a> of the University of Texas in Austin. I&#8217;m a sucker for maps, enjoy learning about history a lot, and I have a lot of interest in my current home, Taiwan &#8211; so you can call this a magic mix of cool stuff.</p>
<p>There are 26 maps in the collection, made by the US Army by flying over different parts of the island, and mostly I guess stitching together aerial photographs. The maps themselves were not that easy check in an image viewer, since there&#8217;s no context, zoom is clumsy, and have no idea where about half the places should be located. Instead, I thought it would be great to have them as an overlay on top of current maps and satellite imagery on Google Maps.</p>
<p>The result is <a href="https://imrehg.github.io/taiwanmap/">Taiwan City Maps overlays</a>, which does exactly that. <em>Feel free to click the link and explore right now!</em> In the rest of this post, I try to first show how that page was made, and also some history lessons I gained by making it.</p>
<p><span id="more-2102"></span></p>
<h2>How it was made</h2>
<p>The <a href="https://developers.google.com/maps/documentation/javascript/examples/groundoverlay-simple">Google Maps Ground Overlay API</a> does exactly what I needed, so can&#8217;t claim much (almost any) innovation in the page, though I stumbled on it after a few other &#8220;Overlays&#8221;, as Google Maps has a couple, all working slightly differently.</p>
<p>Ground Overlay basically takes the following parameters:</p>
<ul>
<li>the map&#8217;s center,</li>
<li>zoom level,</li>
<li>an image,</li>
<li>the image&#8217;s N/E/W/S bounds in geographical coordinates.</li>
<li>whether to show satellite or maps view underneath</li>
</ul>
<p>Even cooler, the opacity of the image can be adjusted, so the overlay and the base layer can be viewed together much easier!</p>
<p>In that list above, the trickiest part is of course figuring out the boundaries of the image &#8211; basically the way to overlay them &#8211; for multiple reasons. First, all the maps have borders with information, titles, legend, and so on. Here below is the Taipei city plan from 1944. I can&#8217;t really tell where the corner of the image should be geographically, if there&#8217;s nothing to compare to.</p>
<p><figure id="attachment_2109" aria-describedby="caption-attachment-2109" style="width: 600px" class="wp-caption aligncenter"><a href="https://imrehg.github.io/taiwanmap/maps/txu-oclc-6565483.jpg"><img loading="lazy" decoding="async" class="wp-image-2109 size-full" src="https://gergely.imreh.net/blog/wp-content/uploads/2015/11/Taipei_Small-min.jpg" alt="Taipei / Taihoku city plan" width="600" height="490" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2015/11/Taipei_Small-min.jpg 600w, https://gergely.imreh.net/blog/wp-content/uploads/2015/11/Taipei_Small-min-500x408.jpg 500w" sizes="auto, (max-width: 600px) 100vw, 600px" /></a><figcaption id="caption-attachment-2109" class="wp-caption-text">Taipei / Taihoku city plan</figcaption></figure></p>
<p>Then there&#8217;s also the problem of things have changed in the last ~70 years, so a lot of things are different on the maps, if I want to match them up. Lastly, the maps are not perfectly accurate either, they are stitched from multiple photographs of unknown quality.</p>
<p>Been trying to match the maps by hand for a while, and codings some tools to make that process easier &#8211; but it didn&#8217;t really get easier. I needed to get to get around all these issues, and have a reasonable, objectively good fit. Objectivity is a key, and math helps with that. What I ended up with doing a linear fit of geographical and image coordinates.</p>
<ul>
<li>look for landmarks that are reasonably the same back then and now</li>
<li>note their geographical coordinates, and their pixel coordinates on the image</li>
<li>note the image size</li>
<li>finally: run a linear fit that gives back the geographical coordinates of the image edges that would best match the landmark data in both sources</li>
</ul>
<p>In really ugly Python it would be something like this:</p>
<pre class="lang:python">import numpy as np

# # For example the contents of "taoyuanfit.csv":
# # Landmark data: image vertical/horizontal (px), latitude/longitude
# 1677,2861,24.991962,121.322634
# 1597,524,24.992282,121.304856
# 2385,1348,24.986873,121.311122
# 764,1342,24.998116,121.311411
datafile = "taoyuanfit.csv"
points = np.loadtxt(datafile, delimiter=",", comments="#")
imgwidth, imgheight = 3975, 3209

# Points on the image, scaled to range 0 to 1
px, py = points[:, 1]/imgwidth, (imgheight-points[:, 0])/imgheight
# Points on the map
gx, gy = points[:, 3], points[:, 2]
# Do the fitting
lx, ly = np.polyfit(px, gx, 1), np.polyfit(py, gy, 1)

# Fitting parameters give map boundaries, results in this case
west = lx[1]          # 121.300983
east = lx[1] + lx[0]  # 121.331141
north = ly[1]+ly[0]   #  25.003429
south = ly[1]         #  24.981204
</pre>
<p>This is now pretty objective, and then quality of the overlay depends on the quality of the landmarks I find, and the maps that they are on.</p>
<p>The best landmarks I could turn up were notable roundabouts like below&#8230;</p>
<p><figure id="attachment_2103" aria-describedby="caption-attachment-2103" style="width: 600px" class="wp-caption aligncenter"><a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Tainan#lat=22.992571&amp;lng=120.205386&amp;z=17"><img loading="lazy" decoding="async" class="wp-image-2103 size-full" src="https://gergely.imreh.net/blog/wp-content/uploads/2015/11/map_roundabout.gif" alt="Matching roundabouts (Tainan)" width="600" height="400" /></a><figcaption id="caption-attachment-2103" class="wp-caption-text">Matching roundabouts (Tainan, click to go to this section on the map)</figcaption></figure></p>
<p>&#8230; and recognizable streets and intersections, like below&#8230;</p>
<p><figure id="attachment_2104" aria-describedby="caption-attachment-2104" style="width: 600px" class="wp-caption aligncenter"><a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Taichung#lat=24.140336&amp;lng=120.680156&amp;z=17"><img loading="lazy" decoding="async" class="wp-image-2104 size-full" src="https://gergely.imreh.net/blog/wp-content/uploads/2015/11/map_streets.gif" alt="Matching recognizable streets (Taichung)" width="600" height="400" /></a><figcaption id="caption-attachment-2104" class="wp-caption-text">Matching recognizable streets (Taichung, click to go to this section on the map)</figcaption></figure></p>
<p>&#8230; but not too small and not too large streets. Large streets have fewer recognizable locations (unless some notable mid-sized street is intersecting with it), and small streets are usually not placed too carefully on the map, so can&#8217;t really trust their positions.</p>
<p>What I couldn&#8217;t trust, though: rivers (they changed a lot), bridges (usually can&#8217;t tell if they are the same bridge in both era, or a new one built close to the no longer there old one, as it is a common practice), coastlines, lakes, large structures.</p>
<p>The minimal number of landmarks needed for a fit (ideally) is just two, and surprisingly, there were a couple maps where I could get along with about three. In most cases, though, I needed at least 4-6 landmarks, and there were some I needed to discard for overall better quality of fit. Some maps show pretty good accuracy, while others (such as e.g. <a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Kaohsiung">Kaohsiung</a>) are quite poor &#8211; compared to today&#8217;s satellite pictures, of course. It&#8217;s all enjoyable, though.</p>
<p>Then added a few more functions to the page, such as changing the opacity, being able to link to the exact location and zoom level I&#8217;m looking at, and some page-load animation (the maps are in the range of 4-10MB, not that quick to load).</p>
<p>The source code for the site is <a href="https://github.com/imrehg/taiwanmap">on Github</a>, and pull requests are accepted, naturally.</p>
<h2>History lessons learned</h2>
<p>I was very interested to note the things that have changed, and things that haven&#8217;t in the decades passed.</p>
<h3>Things that mostly stayed the same</h3>
<p><strong>Schools</strong> are usually at the same location, even stayed the same type (e.g. girls&#8217; high school staying that <a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Changhua#lat=24.081851&amp;lng=120.544232&amp;z=17">in Changhua</a>).</p>
<p><strong>Airports</strong> are usually at the same location (duh!), though usually greatly expanded, while the old runways can be matched to the new ones (<a href="http://localhost:8000/taiwanmap.html?location=Hsinchu#lat=24.819385&amp;lng=120.946305&amp;z=15">like in Hsinchu</a>).</p>
<p><strong>Train stations</strong>, of course, although tracks might change, or entire stations disappear (like <a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Beigang#lat=23.567516&amp;lng=120.296347&amp;z=17">in Beigang</a> or <a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Hualien#lat=23.973977&amp;lng=121.611590&amp;z=17">in Hualien</a>).</p>
<p><strong>Military installations</strong>, which surprised me, can stay the same, looks like the KMT troops just took over the Japanese posts and continued to use them. Some turned into schools, or could disappear too.</p>
<p>Many <strong>roundabouts</strong>, <strong>outlines of city blocks</strong> (like the <a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Taipei#lat=25.035710&amp;lng=121.520802&amp;z=16">CKS Memorial Hall now</a>, or <a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Yilan#lat=24.757393&amp;lng=121.753820&amp;z=16">Yilan&#8217;s city outline</a>), <strong>mountains</strong>, also stayed mostly the same.</p>
<h3>Things that changed a lot</h3>
<p><strong>City areas</strong> changed enormously (duh!), just look at the capital, <a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Taipei">Taipei</a>, the west side stayed mostly the same but built in about twice/three times as big area on the east. Most other cities grown just like that, as it&#8217;s very clear for example <a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Taitung">for Taitung</a>. It&#8217;s no wonder, 5.8 million people on the island in 1940, while above 23 million by now (<a href="https://en.wikipedia.org/wiki/Demographics_of_Taiwan#Population_census">according to Wikipedia</a>). This also brings the changes of a lot of <strong>streets and roads</strong>.</p>
<p>Water is definitely very changeable. <strong>Rivers</strong> got diverted a lot, most notably on the <a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Taipei#lat=25.071025&amp;lng=121.566421&amp;z=14">east side of Taipei </a>(near Neihu and Songshan districts) the Keelung river was straightened up, but the roads can still mirror the old path. Other rivers (or channels?) got covered up, and now only live on as roads &#8211; though I guess they might still flow under our feet (just like <a href="https://en.wikipedia.org/wiki/Fleet_Street">Fleet Street</a>)? Some more dramatic change is an entire <strong>missing island</strong> <a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Danshui#lat=25.165905&amp;lng=121.438357&amp;z=16">in Danshui</a>, I wonder what happened to it? <strong>Lakes</strong> change too, mostly I guess due to development around them (<a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Zuoying#lat=22.684229&amp;lng=120.296463&amp;z=15">like in Zuoying</a>). The <strong>sea shore</strong> is different for the many cities, as probably they were developed and also the shallows were naturally filled by the rivers (<a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Hsinchu#lat=24.816249&amp;lng=120.923389&amp;z=15">like in Hsinchu</a> and <a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Tainan#lat=22.998689&amp;lng=120.199147&amp;z=14">in Tainan</a>). Harbors don&#8217;t stay the same either (<a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Penghu">like in Penghu</a>).</p>
<p>Some landmarks such as <strong>shrines</strong> have changed too. The most notable I could find so far is in Taipei / Yuanshan, where the current <a href="https://en.wikipedia.org/wiki/Grand_Hotel_(Taipei)">Grand Hotel / 圓山大飯店</a> replaced a shrine in 1952 (yellow rooftop on the left below), while the <a href="https://en.wikipedia.org/wiki/National_Revolutionary_Martyrs%27_Shrine">Taipei Martyrs&#8217; Shrine</a> seems to be built on the site of another previous shrine in 1969 (yellow rooftop and cross-shaped grounds on the right below). On the map there&#8217;s another temple-complex looking structure in between them, that&#8217;s now the <a href="https://www.americanclub.org.tw/">Taipei American Club</a> and the <a href="https://en.wikipedia.org/wiki/International_Community_Radio_Taipei">International Community Radio Taipei (ICRT)</a>.</p>
<p><figure id="attachment_2140" aria-describedby="caption-attachment-2140" style="width: 600px" class="wp-caption aligncenter"><a href="http://imrehg.github.io/taiwanmap/taiwanmap.html?location=Taipei#lat=25.079136&amp;lng=121.528545&amp;z=17"><img loading="lazy" decoding="async" class="wp-image-2140 size-full" src="https://gergely.imreh.net/blog/wp-content/uploads/2015/11/map_shrine.gif" alt="Map Shrines" width="600" height="400" /></a><figcaption id="caption-attachment-2140" class="wp-caption-text">Grand Hotel replacing a shrine (yellow rooftop on the left), while shrine becomes a Taipei Martyrs&#8217; Shrine (yellow roof and cross-shaped ground on the right). In the centre, now the Taipei American Club and the ICRT radio station (click to go to this section on the map)</figcaption></figure></p>
<p><strong>Race courses</strong> disappeared too &#8211; together with the cavalry, I guess (like <a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Tainan#lat=22.992773&amp;lng=120.232814&amp;z=16">in Tainan</a>).</p>
<p>I&#8217;m sure there are a bunch of other things too, it will take some time to discover and understand things&#8230;</p>
<h3>Other notes</h3>
<p>The <strong>legends</strong> and information on the maps was pretty interesting. For example here&#8217;s the coverage map for Taipei / Taihoku, showing what aerial maps they stitched together, and when were the flights that took the photos:</p>
<p><figure id="attachment_2115" aria-describedby="caption-attachment-2115" style="width: 464px" class="wp-caption aligncenter"><a href="https://imrehg.github.io/taiwanmap/taiwanmap.html?location=Taipei#lat=25.018566&amp;lng=121.560241&amp;z=16"><img loading="lazy" decoding="async" class="wp-image-2115 size-full" src="https://gergely.imreh.net/blog/wp-content/uploads/2015/11/Taipei_Coverage_1944-min.jpg" alt="Taipei aerial photo coverage" width="464" height="469" /></a><figcaption id="caption-attachment-2115" class="wp-caption-text">Taipei aerial photo coverage</figcaption></figure></p>
<p>The Internet also taught me a few things, such as <a href="https://www.reddit.com/r/taiwan/comments/3o2vwh/taiwanese_city_maps_in_wwii_and_now/cvu2wml">this very insightful comment on Reddit</a> that traced back the Chinese / Japanese <strong>city names</strong> of these maps.</p>
<p>I was also amazed by how detailed information the Americans had about the <strong>functions of the buildings</strong> &#8211; down to the type of factories, the type schools the buildings were. I would not be surprised if the maps were supplemented by some real intelligence from the ground. Especially likely as the big cities had so much more such details than the smaller locations (where there might not be more than a few likely military installations noted). I wonder if there&#8217;s any good source to learn about this &#8211; about American intelligence behind enemy lines in the Pacific theatre of WWII.</p>
<h2>To the Future</h2>
<p>Now that everything kinda works, I think I&#8217;ll spend more time looking at the maps instead of working with them, try to learn more.</p>
<p>Hosting this project on Github is definitely pretty easy and convenient, though I start to see that their speed is not necessarily very good for big assets like the map images. Could add Cloudfront very easily to speed things up, just I don&#8217;t necessarily want to pay for that extra speed just yet. :P</p>
<p>To be able to show the loading animation I currently need to use jQuery to preload the image, then rely on the browser caching to <em>not</em> to download the image for the second time when the image is attached to the map object to create the overlay. It works pretty well&#8230; except in the Facebook Android app&#8217;s built in browser &#8211; that happily ignores caching and downloads the image twice (ouch). Would be awesome to figure out how can I get directly from the Google Map API when it finished downloading the image.</p>
<p>Might revisit a couple of the maps to see if I can improve the fit, though really just a couple of them, most are totally fine for their quality. Should also add the Japanese writing of the city names for more authenticity and discoverability.</p>
<p>And in the meantime, <a href="http://imrehg.github.io/taiwanmap/">keep checking the map</a>, and any comment or feedback is appreciated! A big thanks to the <a href="http://www.lib.utexas.edu/">University of Texas Libraries </a>and the <a href="http://www.lib.utexas.edu/maps/">Perry-Castañeda Library Map Collection</a> for the <a href="http://www.lib.utexas.edu/usage_statement.html">public domain maps</a>!</p>
<p>The post <a href="https://gergely.imreh.net/blog/2015/11/taiwan-wwii-map-overlays/">Taiwan WWII Map Overlays</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gergely.imreh.net/blog/2015/11/taiwan-wwii-map-overlays/feed/</wfw:commentRss>
			<slash:comments>12</slash:comments>
		
		
			</item>
		<item>
		<title>Taiwan Bank SSL Continuous Monitoring</title>
		<link>https://gergely.imreh.net/blog/2015/04/twbankssl-continuous-monitoring/</link>
					<comments>https://gergely.imreh.net/blog/2015/04/twbankssl-continuous-monitoring/#comments</comments>
		
		<dc:creator><![CDATA[Gergely Imreh]]></dc:creator>
		<pubDate>Mon, 06 Apr 2015 06:21:27 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Taiwan]]></category>
		<category><![CDATA[online banking]]></category>
		<category><![CDATA[online security]]></category>
		<category><![CDATA[open source software]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[ssl]]></category>
		<guid isPermaLink="false">https://gergely.imreh.net/blog/?p=1951</guid>

					<description><![CDATA[<p>My previous post, titled SSL status of Taiwanese banks: a sad affair sparked a lot of visits and lot of discussion, clearly touching on something important. It was great to bring to light how well (or badly, in this case) these organizations are doing, as internet security should be one of their key focus. Many of [&#8230;]</p>
<p>The post <a href="https://gergely.imreh.net/blog/2015/04/twbankssl-continuous-monitoring/">Taiwan Bank SSL Continuous Monitoring</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>My previous post, titled <a title="SSL status of Taiwanese banks: a sad affair" href="https://gergely.imreh.net/blog/2015/03/ssl-status-of-taiwanese-banks/">SSL status of Taiwanese banks: a sad affair</a> sparked a lot of visits and lot of discussion, clearly touching on something important. It was great to bring to light how well (or badly, in this case) these organizations are doing, as internet security should be one of their key focus.</p>
<p>Many of the organizations improved their setup since then, and it became quite troublesome to manually check each bank and each change, update the table and so on. It&#8217;s also good to have not just a snapshot in time, but a continuous record of how they were doing.</p>
<p>Thus I&#8217;ve hacked together some monitoring scripts, put the results online, and here&#8217;s the <a title="Taiwan Financial Institute SSL Status" href="https://gergely.imreh.net/twbankssl/">Taiwan Financial Institute SSL Status</a> page.</p>
<p><figure id="attachment_1952" aria-describedby="caption-attachment-1952" style="width: 550px" class="wp-caption aligncenter"><a href="/twbankssl/"><img loading="lazy" decoding="async" class="wp-image-1952 size-large" src="https://gergely.imreh.net/blog/wp-content/uploads/2015/04/TaiwanBankSSL-1024x599.png" alt="TaiwanBankSSL" width="550" height="322" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2015/04/TaiwanBankSSL-1024x599.png 1024w, https://gergely.imreh.net/blog/wp-content/uploads/2015/04/TaiwanBankSSL-500x292.png 500w, https://gergely.imreh.net/blog/wp-content/uploads/2015/04/TaiwanBankSSL-768x449.png 768w, https://gergely.imreh.net/blog/wp-content/uploads/2015/04/TaiwanBankSSL.png 1233w" sizes="auto, (max-width: 550px) 100vw, 550px" /></a><figcaption id="caption-attachment-1952" class="wp-caption-text">Click to check the current results</figcaption></figure></p>
<p>Page features include:</p>
<ul>
<li>Automatically run once a day</li>
<li>Highlighting issues, showing grade evolution</li>
<li><a href="https://gergely.imreh.net/twbankssl/twbankssl.xml">RSS feed of grade changes</a></li>
<li>Automatic tweeting of daily status and changes as <a title="twbankssl on Twitter" href="https://twitter.com/twbankssl">@twbankssl</a></li>
</ul>
<p>This is quite a bit more than &#8220;minimal features&#8221;, but wanted to make something that is actually useful.<br />
<span id="more-1951"></span></p>
<h2>Notes on the tech</h2>
<p>In a nutshell:</p>
<ul>
<li>to run the SSL Test queries, I&#8217;m using <a title="ssllabs-scan on Github" href="https://github.com/ssllabs/ssllabs-scan">ssllabs-scan</a>, a official program written in Go to do just that.</li>
<li>scrapting is parallelized and managed by a Python script.</li>
<li>the results are parsed and output JSON, RSS, tweets are generated by another Python script.</li>
<li>the site displays the results as a single-page app, pulling in the results through the generated JSON file.</li>
<li>the grade sparklines are using an external library.</li>
</ul>
<p>All the code is <a title="twbankssl on Github" href="https://github.com/imrehg/twbankssl">open source on Github</a>. Tried to make it reusable for people wanting to monitor any other sets of sites (eg. other countries&#8217; banks, government institutions, own sites), though I did not completely succeed. There are hard-wired parts that could use a rewrite, but can be a starting point for any other project for sure. By the way, patches / pull requests are welcome if you see something could be improved!</p>
<h2>Future</h2>
<p>I hope to leave the scripts and page running for a while to see whether it actually works autonomously, whether it&#8217;s useful for anyone, and as a tool to push for change for these financial institutions. Will also try to connect to people here in Taiwan who can make that change happen faster.</p>
<p>Some code rewrite and expanding the documentation is also inevitable &#8211; once my current coffee high has been metabolized. :)</p>
<p>What do you think? How would you use this data, or how you&#8217;d improve on the service?</p>
<p>The post <a href="https://gergely.imreh.net/blog/2015/04/twbankssl-continuous-monitoring/">Taiwan Bank SSL Continuous Monitoring</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gergely.imreh.net/blog/2015/04/twbankssl-continuous-monitoring/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>SSL status of Taiwanese banks: a sad affair</title>
		<link>https://gergely.imreh.net/blog/2015/03/ssl-status-of-taiwanese-banks/</link>
					<comments>https://gergely.imreh.net/blog/2015/03/ssl-status-of-taiwanese-banks/#comments</comments>
		
		<dc:creator><![CDATA[Gergely Imreh]]></dc:creator>
		<pubDate>Sat, 14 Mar 2015 14:43:59 +0000</pubDate>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Taiwan]]></category>
		<category><![CDATA[online banking]]></category>
		<category><![CDATA[online security]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[webmaster]]></category>
		<guid isPermaLink="false">https://gergely.imreh.net/blog/?p=1876</guid>

					<description><![CDATA[<p>Today there was a story on Hacker News, how someone tweeting a screenshot of a bank&#8217;s SSL certificate got harassed by the bank in Greece. This got me thinking about the status of the banks here in Taiwan, especially how this place is so wired and online now. So I took a list of taiwanese banks and [&#8230;]</p>
<p>The post <a href="https://gergely.imreh.net/blog/2015/03/ssl-status-of-taiwanese-banks/">SSL status of Taiwanese banks: a sad affair</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Today there was <a title="Bank harrasses user because he tweeted screenshot of their SSL certificate" href="https://news.ycombinator.com/item?id=9197903">a story on Hacker News</a>, how someone tweeting a screenshot of a bank&#8217;s SSL certificate <a title="web bank security" href="http://ebalaskas.gr/blog/2015/03/13/web-bank-security/">got harassed by the bank</a> in Greece. This got me thinking about the status of the banks here in Taiwan, especially how this place is so wired and online now. So I took <a href="http://www.startabusinessintaiwan.tw/additional-resources/54-money-banking-and-finance/75-list-of-taiwanese-bank-codes">a list of taiwanese banks</a> and run each of their sites through the <a href="https://www.ssllabs.com/ssltest/">SSL Test</a>. From past experiences I haven&#8217;t had my hopes up, but boy is the result ugly&#8230;</p>
<p><figure id="attachment_1915" aria-describedby="caption-attachment-1915" style="width: 500px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" class="wp-image-1915 size-medium" src="https://gergely.imreh.net/blog/wp-content/uploads/2015/03/SSLTest_F-500x183.png" alt="SSLTest_F" width="500" height="183" srcset="https://gergely.imreh.net/blog/wp-content/uploads/2015/03/SSLTest_F-500x183.png 500w, https://gergely.imreh.net/blog/wp-content/uploads/2015/03/SSLTest_F-768x281.png 768w, https://gergely.imreh.net/blog/wp-content/uploads/2015/03/SSLTest_F.png 794w" sizes="auto, (max-width: 500px) 100vw, 500px" /><figcaption id="caption-attachment-1915" class="wp-caption-text">The usual result of this exercise</figcaption></figure></p>
<h2>SSL Test Overview</h2>
<p>I had a list of 43 banks, and for a quick overview I took into account a few key features only. The first is whether there are any active vulnerabilities against the site according to the test (these were mostly <a href="http://en.wikipedia.org/wiki/CRIME">CRIME</a>, <a href="http://en.wikipedia.org/wiki/FREAK">FREAK</a>, and <a href="http://en.wikipedia.org/wiki/POODLE">POODLE</a> attacks). The second is whether <a href="http://en.wikipedia.org/wiki/RC4">RC4</a> encryption was enabled, as it is <a href="https://tools.ietf.org/html/rfc7465">now prohibited</a>, and having it on is an automatic <a href="http://en.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard">Payment Card Industry Data Security (PCI)</a> compliance failure, according to <a href="https://news.ycombinator.com/item?id=9198493">one of the commenters</a>. Other various warnings are mentioned when something really stands out, they are not crucial but more nice to have (though I&#8217;d contend that <a href="https://www.eff.org/deeplinks/2014/04/why-web-needs-perfect-forward-secrecy">Forward Secrecy</a> and <a href="http://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security">HTTP Strict Transport Security</a> is more than &#8220;nice&#8221; for anything financial).</p>
<p><strong>Edit:</strong> Since publishing this post, there&#8217;s a brand new <a title="Attacks Only Get Better: Password Recovery Attacks Against RC4 in TLS" href="http://www.isg.rhul.ac.uk/tls/RC4mustdie.html">password recovery attack against RC4</a>, so it&#8217;s even more urgent to switch it off.</p>
<p><span id="more-1876"></span></p>
<h2>Test Outcome</h2>
<p>The only A rating was for Deutsche Bank, which uses its global site for all regional sections too, so not that surprising that it was better than average. The rest of it in a nutshell:</p>
<ul>
<li>22 out 43 banks (51%) got an F,</li>
<li>2 of them did not have SSL (though no online banking either, fortunately),</li>
<li>1 SSL enabled site couldn&#8217;t be tested somehow, possibly because of redirections</li>
<li>Only 4 of them (9%) disabled RC4, the rest of it (91%) is vulnerable to password recovery attacks,</li>
<li>24 of them (56%) are vulnerable to common attacks, 5 (11%) to multiple different attacks (besides RC4), <a title="Alert (TA14-290A): SSL 3.0 Protocol Vulnerability and POODLE Attack" href="https://www.us-cert.gov/ncas/alerts/TA14-290A">POODLE</a> being the most common</li>
<li>There was one site where the general corporate website&#8217;s HTTPS was better configured (B) than the e-banking (F)&#8230;</li>
<li>Handling redirects and subdomains is generally very confusing for banks</li>
<li>Most banks have multiple subdomains for different services (&#8220;bank site&#8221;, &#8220;e-banking&#8221;, and &#8220;web ATM&#8221; are the three most common)</li>
<li>Of the 4 banks I have account at, there&#8217;s one B and three F-rated (not naming names)</li>
</ul>
<p>The raw overall data and test links follow (with an outlook afterwards). Usually I&#8217;ve linked to the e-bank pages of banks, unless I couldn&#8217;t see it or was the same domain as their corporate site.</p>
<p><strong>Update (2015-03-19):</strong> Some banks started to fix their systems, noticed changes will be added to the bottom of this post!</p>
<p><strong>Update (2015-03-25):</strong> Instead of keeping up with the changes manually, made a page for automatic status tests. It&#8217;s still in development but you can check it here: <a href="https://gergely.imreh.net/twbankssl/">Taiwan Financial Institutes SSL Tests</a>.</p>
<p><h2 id="tablepress-1-name" class="tablepress-table-name tablepress-table-name-id-1">Taiwanese Bank SSL Test Results</h2>
<span id="tablepress-1-description" class="tablepress-table-description tablepress-table-description-id-1">Data as of  2015-03-24</span>

<table id="tablepress-1" class="tablepress tablepress-id-1" aria-labelledby="tablepress-1-name" aria-describedby="tablepress-1-description">
<thead>
<tr class="row-1">
	<th class="column-1">Bank</th><th class="column-2">SSL Test Result</th><th class="column-3">RC4 blocked</th><th class="column-4">Attacks</th><th class="column-5">Comments</th>
</tr>
</thead>
<tbody class="row-striping row-hover">
<tr class="row-2">
	<td class="column-1"><a href="https://abtweb.agribank.com.tw">Agricultural Bank of Taiwan</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=abtweb.agribank.com.tw&amp;latest">X</a></td><td class="column-3">n/a</td><td class="column-4">n/a</td><td class="column-5">Can't run test due to redirect settings (?)</td>
</tr>
<tr class="row-3">
	<td class="column-1"><a href="https://anz.tw/">ANZ Taiwan</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=anz.tw&amp;latest">F</a> (main),<br />
<a href="https://www.ssllabs.com/ssltest/analyze.html?d=twcardsonline.anz.com&amp;latest">B</a> (was F) (credit card)</td><td class="column-3">X</td><td class="column-4">POODLE, <a href="https://community.qualys.com/blogs/securitylabs/2009/11/05/ssl-and-tls-authentication-gap-vulnerability-discovered?_ga=1.243676997.1314924344.1426306478">MitM</a></td><td class="column-5">For the credit card management it's RC4, but otherwise good</td>
</tr>
<tr class="row-4">
	<td class="column-1"><a href="https://promo.bankofamerica.com/tw/">Bank of America</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=promo.bankofamerica.com&amp;latest">B</a></td><td class="column-3">Y</td><td class="column-4">-</td><td class="column-5">No e-banking</td>
</tr>
<tr class="row-5">
	<td class="column-1"><a href="http://www.hkbea.com.tw/html/en/index.html">Bank of East Asia</a></td><td class="column-2">X</td><td class="column-3">n/a</td><td class="column-4">n/a</td><td class="column-5">No SSL version of site</td>
</tr>
<tr class="row-6">
	<td class="column-1"><a href="https://www.bok.com.tw/welcome">Bank of Kaohsiung</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=bok.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-7">
	<td class="column-1"><a href="https://netbank.bop.com.tw">Bank of Panshin</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=netbank.bop.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-8">
	<td class="column-1"><a href="https://www.bankoftaipei.com.tw/">Bank of Taipei</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=bankoftaipei.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">FREAK</td><td class="column-5"></td>
</tr>
<tr class="row-9">
	<td class="column-1"><a href="https://ebank.bot.com.tw/">Bank of Taiwan</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=ebank.bot.com.tw&amp;latest">A-</a> (was F)</td><td class="column-3">Y</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
<tr class="row-10">
	<td class="column-1"><a href="https://atm.sinopac.com">Bank SinoPac</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=atm.sinopac.com&amp;latest">C</a></td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-11">
	<td class="column-1"><a href="https://www.mybank.com.tw/">Cathay United Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=mybank.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-12">
	<td class="column-1"><a href="https://www.chb.com.tw/">Chang Hwa Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=chb.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">FREAK, POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-13">
	<td class="column-1"><a href="https://www.cdibank.com">China Development Industrial Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=cdibank.com&amp;latest">B</a></td><td class="column-3">X</td><td class="column-4">-</td><td class="column-5">HTTPS page tries to load unsafe scripts</td>
</tr>
<tr class="row-14">
	<td class="column-1"><a href="https://www.ctbcbank.com/">Chinatrust Commercial Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=ctbcbank.com&amp;latest">B</a> (was F)</td><td class="column-3">X</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
<tr class="row-15">
	<td class="column-1"><a href="https://webatm.post.gov.tw">Chunghwa Post (Post Office)</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=webatm.post.gov.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-16">
	<td class="column-1"><a href="https://webatm.citibank.com.tw/">Citibank Taiwan</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=webatm.citibank.com.tw&amp;latest">B</a></td><td class="column-3">X</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
<tr class="row-17">
	<td class="column-1"><a href="https://www.kgibank.com/">Cosmos Bank (KGI)</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=kgibank.com&amp;latest">B</a></td><td class="column-3">X</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
<tr class="row-18">
	<td class="column-1"><a href="https://ebank.cotabank.com.tw/">COTA Commercial Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=ebank.cotabank.com.tw&amp;latest">B</a></td><td class="column-3">X</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
<tr class="row-19">
	<td class="column-1"><a href="https://internet-banking.dbs.com.tw/">DBS Taiwan</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=internet-banking.dbs.com.tw&amp;latest">C</a></td><td class="column-3">Y</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-20">
	<td class="column-1"><a href="https://www.db.com/taiwan/">Deutsche Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=db.com&amp;latest">A</a></td><td class="column-3">Y</td><td class="column-4">-</td><td class="column-5">Only warning is not using SHA2</td>
</tr>
<tr class="row-21">
	<td class="column-1"><a href="https://ebank.esunbank.com.tw/">E.Sun Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=ebank.esunbank.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-22">
	<td class="column-1"><a href="https://webatm.entiebank.com.tw/entieatm/">EnTie Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=webatm.entiebank.com.tw&amp;latest">B</a></td><td class="column-3">X</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
<tr class="row-23">
	<td class="column-1"><a href="https://www.feib.com.tw/">Far Eastern International Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=feib.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-24">
	<td class="column-1"><a href="https://www.firstbank.com.tw/">First Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=firstbank.com.tw&amp;latest">B</a> (corp),<br />
<a href="https://www.ssllabs.com/ssltest/analyze.html?d=ibank.firstbank.com.tw&amp;latest">F</a> (ibank),<br />
<a href="https://www.ssllabs.com/ssltest/analyze.html?d=ebank.firstbank.com.tw&amp;latest">F</a> (ebank)</td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5">ebanking settings are weaker than general corporate sites?</td>
</tr>
<tr class="row-25">
	<td class="column-1"><a href="https://ebank.taipeifubon.com.tw/">Fubon Financial</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=ebank.taipeifubon.com.tw&amp;latest">B</a></td><td class="column-3">X</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
<tr class="row-26">
	<td class="column-1"><a href="https://www.hsbc.com.tw/">HSBC Taiwan</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=hsbc.com.tw&amp;latest">B</a></td><td class="column-3">X</td><td class="column-4">-</td><td class="column-5">No secure renegotiation, SSL3</td>
</tr>
<tr class="row-27">
	<td class="column-1"><a href="https://ibank.hncb.com.tw/">Hua Nan Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=ibank.hncb.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-28">
	<td class="column-1"><a href="https://webatm.hwataibank.com.tw">Hwatai Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=webatm.hwataibank.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-29">
	<td class="column-1"><a href="https://netbank.jihsunbank.com.tw/">JihSun Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=netbank.jihsunbank.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-30">
	<td class="column-1"><a href="https://netbank.ktb.com.tw/MyKTBank/index.jsp">King's Town Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=eatm.ktb.com.tw&amp;latest">F</a> (e-ATM),<br />
<a href="https://www.ssllabs.com/ssltest/analyze.html?d=netbank.ktb.com.tw&amp;latest">F</a> (e-bank)</td><td class="column-3">X</td><td class="column-4">CRIME, FREAK, POODLE, Diffie-Hellman</td><td class="column-5">the horror...</td>
</tr>
<tr class="row-31">
	<td class="column-1"><a href="https://www.landbank.com.tw/">Land Bank of Taiwan</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=landbank.com.tw&amp;latest">C</a></td><td class="column-3">X</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
<tr class="row-32">
	<td class="column-1"><a href="https://ebank.megabank.com.tw/">Mega International Commercial Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=ebank.megabank.com.tw&amp;latest">A-</a></td><td class="column-3">Y</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
<tr class="row-33">
	<td class="column-1"><a href="http://www.metrobank.com.tw">Metrobank</a></td><td class="column-2">X</td><td class="column-3">n/a</td><td class="column-4"></td><td class="column-5">no SSL</td>
</tr>
<tr class="row-34">
	<td class="column-1"><a href="https://ibank.scsb.com.tw/">Shanghai Commercial and Savings Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=ibank.scsb.com.tw&amp;latest">B</a></td><td class="column-3">X</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
<tr class="row-35">
	<td class="column-1"><a href="https://ibank.skbank.com.tw/skatm/">Shin Kong Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=ibank.skbank.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-36">
	<td class="column-1"><a href="https://ebank.standardchartered.com.tw/HIB/servlet/HttpDispatcher/Login/prompt?newTxRequest=true&amp;locale=zh_TW">Standard Chartered</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=ebank.standardchartered.com.tw&amp;latest">B</a></td><td class="column-3">Y</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
<tr class="row-37">
	<td class="column-1"><a href="https://www.esunnybank.com.tw">Sunny Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=esunnybank.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">FREAK, POODLE, Diffie-Hellman</td><td class="column-5"></td>
</tr>
<tr class="row-38">
	<td class="column-1"><a href="https://ibank.tcbbank.com.tw/">Taichung Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=ibank.tcbbank.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-39">
	<td class="column-1"><a href="https://www.taishinbank.com.tw/">Taishin International Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=taishinbank.com.tw&amp;latest">B</a></td><td class="column-3">X</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
<tr class="row-40">
	<td class="column-1"><a href="https://portal.tbb.com.tw/">Taiwan Business Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=portal.tbb.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-41">
	<td class="column-1"><a href="https://www.tcb-bank.com.tw">Taiwan Cooperative Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=tcb-bank.com.tw&amp;latest">B</a></td><td class="column-3">X</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
<tr class="row-42">
	<td class="column-1"><a href="https://ibank.tcbank.com.tw/">TC Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=ibank.tcbank.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-43">
	<td class="column-1"><a href="https://mybank.ubot.com.tw/">Union Bank of Taiwan</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=mybank.ubot.com.tw&amp;latest">F</a></td><td class="column-3">X</td><td class="column-4">FREAK, POODLE</td><td class="column-5"></td>
</tr>
<tr class="row-44">
	<td class="column-1"><a href="https://ebank.yuantabank.com.tw/">Yuanta Bank</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=ebank.yuantabank.com.tw&amp;latest">B</a></td><td class="column-3">X</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
<tr class="row-45">
	<td class="column-1"><a href="https://inquiry.nccc.com.tw/html/text/index.html">National Credit Card Center</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=inquiry.nccc.com.tw">B</a></td><td class="column-3">X</td><td class="column-4">-</td><td class="column-5">they should definitely do better</td>
</tr>
<tr class="row-46">
	<td class="column-1"><a href="https://www.fisc.com.tw/">Financial Information Service (FISC)</a></td><td class="column-2"><a href="https://www.ssllabs.com/ssltest/analyze.html?d=fisc.com.tw&amp;latest">A-</a></td><td class="column-3">Y</td><td class="column-4">-</td><td class="column-5"></td>
</tr>
</tbody>
</table>
<!-- #tablepress-1 from cache --></p>
<h2>What&#8217;s next?</h2>
<p>Financial fraud in Taiwan is pretty prevalent, though it&#8217;s usually the &#8220;old fashioned&#8221; phone scam type. On the other hand, people here seem to be very lucrative target of groups based in China and Philippines. While I don&#8217;t know about the latter, the former likely has black hat teams with a lot more computer savvy than most users here (or anywhere else). It would be very-very good to fix up these systems.</p>
<p>Since these banks don&#8217;t seem to be on Twitter in general (except maybe the international ones), would be good to look up the local tech contacts, and bring the problem to their attention. One thing that makes me optimistic about it on the long term, is that Taiwan has a lot of computer savvy and outspoken activists. Will try to reach out to them, and use the local talent (and local ways) to approach this. Also, local administration (ie. city government) seems to be more powerful here, and we have a quite techy and driven <a href="http://en.wikipedia.org/wiki/Ko_Wen-je">new mayor</a> in Taipei city. Putting pressure on the banks through them is not inconceivable.</p>
<p>I like it a lot where technology is going over here (many days I feel like being in a science fiction), and hope to make it work out well by keeping an eye on the practical implementations such as this.</p>
<p>If you find any problems in the dataset above (or any updates as sites are fixed:), please let me know!</p>
<h2>Updates</h2>
<ul>
<li><strong>2015-03-19</strong>: <a href="https://www.ctbcbank.com/">Chinatrust</a> fixed their POODLE vulnerability, improving their score from F to B! Hope they&#8217;ll fix RC4 next.</li>
<li><strong>2015-03-19</strong>: <a href="https://ebank.bot.com.tw/">Bank of Taiwan</a> went from F to A-, the first Taiwan-based bank to achieve an A!</li>
<li><strong>2015-03-23:</strong> The <a href="https://twcardsonline.anz.com">ANZ Credit Card site</a> went from F to B as well, which is pretty good, even if their corporate site remains F.</li>
<li><strong>2015-03-24:</strong> <a href="https://ebank.megabank.com.tw/">Mega Bank</a> went from B to A- by disabling RC4.</li>
</ul>
<p>The post <a href="https://gergely.imreh.net/blog/2015/03/ssl-status-of-taiwanese-banks/">SSL status of Taiwanese banks: a sad affair</a> appeared first on <a href="https://gergely.imreh.net/blog">ClickedyClick</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://gergely.imreh.net/blog/2015/03/ssl-status-of-taiwanese-banks/feed/</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Object Caching 22/114 objects using APC
Page Caching using Disk: Enhanced 
Lazy Loading (feed)

Served from: gergely.imreh.net @ 2026-04-09 16:31:02 by W3 Total Cache
-->