<?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/"
	 xmlns:friends="wordpress-plugin-friends:feed-additions:1" >

<channel>
	<title>Blog: timdream</title>
	<atom:link href="https://blog.timdream.org/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.timdream.org</link>
	<description>Life, n. the unending journey toward making sense of the world.</description>
	<lastBuildDate>Mon, 05 May 2025 05:17:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.timdream.org/wp-content/uploads/2017/02/tiramisu-icon-64-shadow.png</url>
	<title>Blog: timdream</title>
	<link>https://blog.timdream.org</link>
	<width>32</width>
	<height>32</height>
</image> 
xmlns:rsl="https://rslstandard.org/rsl"
	<item>
		<title>Neil Postman 的《娛樂至死》</title>
		<link>https://blog.timdream.org/posts/neil-postman-amusing-ourselves-to-death/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Mon, 05 May 2025 05:17:08 +0000</pubDate>
				<category><![CDATA[Books]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3714</guid>

					<description><![CDATA[《娛樂至死》這本書雖然討論的議題（媒體生態學、媒體科技對文化的影響等）和當代非常有關，但書本身是一本很硬的哲學書，很慚愧的我也看不太完。 新版介紹有一段印象深刻、切題的摘句，Postman 比較了歐維爾的《1984》描述反烏托邦，相對於赫胥黎的《美麗新世界》，下譯： What Orwell feared were those who would ban books. What Huxley feared was that there would be no reason to ban a book, for there would be no one who wanted to read one. Orwell feared those who would deprive us of information. Huxley feared those who would give us so much [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fneil-postman-amusing-ourselves-to-death%2F&amp;action_name=Neil%20Postman%20%E7%9A%84%E3%80%8A%E5%A8%9B%E6%A8%82%E8%87%B3%E6%AD%BB%E3%80%8B&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p lang="zh-tw">《<a href="https://zh.wikipedia.org/zh-tw/娱乐至死">娛樂至死</a>》這本書雖然討論的議題（媒體生態學、媒體科技對文化的影響等）和當代非常有關，但書本身是一本很硬的哲學書，很慚愧的我也看不太完。</p>



<p lang="zh-tw">新版介紹有一段印象深刻、切題的摘句，Postman 比較了歐維爾的《1984》描述反烏托邦，相對於赫胥黎的《美麗新世界》，下譯：</p>



<blockquote hidden class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>What Orwell feared were those who would ban books. What Huxley feared was that there would be no reason to ban a book, for there would be no one who wanted to read one. Orwell feared those who would deprive us of information. Huxley feared those who would give us so much that we would be reduced to passivity and egoism. Orwell feared that the truth would be concealed from us. Huxley feared the truth would be drowned in a sea of irrelevance. Orwell feared we would become a captive culture. Huxley feared we would become a trivial culture. As Huxley remarked, the civil libertarians and rationalists who are ever on the alert to oppose tyranny &#8220;failed to take into account man&#8217;s almost infinite appetite for distractions.&#8221;</p>
</blockquote>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p lang="zh-tw">歐維爾恐懼禁書的政權。赫胥黎所害怕的，則是再也沒有任何禁書的理由，因為沒有任何人會想要看書。歐維爾害怕資訊被剝奪，赫胥黎則害怕過多海量的資訊導致我們更被動，更本位主義。歐維爾害怕真相被蒙蔽，赫胥黎則害怕真相被無關的事物所淹沒。歐維爾害怕文化被當權者掌握，赫胥黎則害怕文化被瑣事佔據。赫胥黎評論，時時警醒反對暴政的公民學者與理性主義者「未能考量到人類對於分散注意力的近乎無限的渴望」。</p>
</blockquote>



<p lang="zh-tw">Tristan Harris（<a href="https://www.humanetech.com/">Center for Humane Technologies</a>；《<a href="https://www.humanetech.com/the-social-dilemma">智能社會：進退兩難（The Social Dilemma）</a>》）的 <a href="https://www.humanetech.com/podcast">Your Undivided Attention</a> podcast 也<a href="https://www.humanetech.com/podcast/the-man-who-predicted-the-downfall-of-thinking">剛好講到了這句</a>：</p>



<figure class="wp-block-video"><video height="1008" style="aspect-ratio: 1008 / 1008;" width="1008" src="https://blog.timdream.org/wp-content/uploads/2025/05/f3fce507a15dcccb.mp4"></video></figure>
<img decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fneil-postman-amusing-ourselves-to-death%2F&amp;action_name=Neil%20Postman%20%E7%9A%84%E3%80%8A%E5%A8%9B%E6%A8%82%E8%87%B3%E6%AD%BB%E3%80%8B&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		<enclosure url="https://blog.timdream.org/wp-content/uploads/2025/05/f3fce507a15dcccb.mp4" length="5380069" type="video/mp4" />

		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/neil-postman-amusing-ourselves-to-death/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>The Google Web</title>
		<link>https://blog.timdream.org/posts/the-google-web/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Mon, 23 Sep 2024 04:48:18 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3372</guid>

					<description><![CDATA[I&#8217;ve been closely watching coverage on Google&#8217;s two antitrust trials on Big Tech on Trial. I am not naïve — as a public-traded company that is only and rightfully accountable to the shareholders, I have always known Google is not simply benevolent when it comes to funding the Web. But not only until hearing about [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthe-google-web%2F&amp;action_name=The%20Google%20Web&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p>I&#8217;ve been closely watching coverage on Google&#8217;s two antitrust trials on <a href="https://www.bigtechontrial.com">Big Tech on Trial</a>.</p>



<p>I am not naïve — as a public-traded company that is only and rightfully accountable to the shareholders, I have always known Google is not simply benevolent when it comes to funding the Web. But not only until hearing about the details revealed by the States in court, I realized how successful Google has been (and illegally, alleged by the States) at capturing both ends of the Web, effectively capturing its values in a way that is as profitable as closed platforms.</p>



<p>Google has been paying billions of dollars to all browser vendors to allow Google to be the default search engine<sup data-fn="de2748dc-57e3-4371-81ee-03abeb540f86" class="fn"><a id="de2748dc-57e3-4371-81ee-03abeb540f86-link" href="#de2748dc-57e3-4371-81ee-03abeb540f86">1</a></sup> — something <a href="https://www.bigtechontrial.com/p/judge-rules-google-is-a-monopolist">the court deemed to be illegal just recently</a> — to capture all traffic that goes into the Web.</p>



<p>In the ad marketplace, Google has captured the entire ad revenue stream of the content Web, making it impossible for any content provider to generate ad revenue — the primary business model of content — without Google. This is something <a href="https://www.bigtechontrial.com/p/the-stakes-of-the-third-google-antitrust">the States allege to be anti-competitive</a>, and the court is going to weigh in pretty soon.</p>



<p>As it turned out, the Web being a ubiquitous technical success is a chess piece of Google&#8217;s money-making machinery. People who claimed to advocate for Open Web without talking about the nuances are just doing community evangelism for Google without getting paid by them.</p>



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



<p>Where do we go from here?</p>



<p>The browser engines need new business models and revenue streams. People<a href="https://www.igalia.com/chats/adpocalypse"> are surely talking</a>. I agree that engines are implementations of the one and only viable mostly non-proprietary application platform. They deserve to exist as public goods. Regretfully, unlike rails and tunnels, their public benefits are as abstract as any other software infrastructures (<a href="https://xkcd.com/2347/">obligatory XKCD reference</a>). We are often blind by our passion for technologies to think of them, but it will take some persuasion to be entitled to public money — skipping the persuasion part sometimes sounds arrogant.</p>



<p>The ad revenue dependency of the content web is a much harder problem. The Sherman Act can only ensure the market is fair; it can&#8217;t create new markets. Donations/subscriptions have been successful in a few content segments, but they have not yet become mainstream. Lots of YouTubers have been talking about that — I have no more insights to offer than to provide my support occasionally as a consumer<sup data-fn="1c22f368-449f-420a-8851-dfa610281fa8" class="fn"><a id="1c22f368-449f-420a-8851-dfa610281fa8-link" href="#1c22f368-449f-420a-8851-dfa610281fa8">2</a></sup>.</p>



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



<p>Do I still believe in better access to the Web and better application capabilities offered on the Web? Honestly, it is a MAYBE now.</p>



<p>I see great use cases of powerful APIs like <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API">Web Bluetooth</a> and agreeable arguments made for them, but I also value the security sandbox promised by the Web. I wanted to see features that prioritize the decentralized root of the Web than re-enforce it, but nothing has truly happened yet other than questionable offerings from cryptobros.</p>



<p>Again, looking at the grip Google has on the Web right now, I would decline to be their <a href="https://en.wikipedia.org/wiki/Useful_idiot">useful idiots</a>.</p>



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


<ol class="wp-block-footnotes"><li id="de2748dc-57e3-4371-81ee-03abeb540f86">Which is the primary revenue of my previous employer, and I benefited. I am certainly also benefited indirectly by working in tech and as an index fund investor. <a href="#de2748dc-57e3-4371-81ee-03abeb540f86-link" aria-label="Jump to footnote reference 1"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li><li id="1c22f368-449f-420a-8851-dfa610281fa8">Yes, my account credential was <a href="https://haveibeenpwned.com">leaked on Patreon</a>. <a href="#1c22f368-449f-420a-8851-dfa610281fa8-link" aria-label="Jump to footnote reference 2"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li></ol><img decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthe-google-web%2F&amp;action_name=The%20Google%20Web&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/the-google-web/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>The Software Crisis</title>
		<link>https://blog.timdream.org/posts/the-software-crisis/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Thu, 18 Jul 2024 17:17:00 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3359</guid>

					<description><![CDATA[We developed methods of building nested layers of abstractions, hiding information at multiple levels. We took the problem of constructing software and morphed it into towering layers. We integrated these layers into the software required to use our computers, and the software that drives our lives. From The Software Crisis. One pivotal distinction between senior [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthe-software-crisis%2F&amp;action_name=The%20Software%20Crisis&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>We developed methods of building nested layers of abstractions, hiding information at multiple levels. We took the problem of constructing software and morphed it into towering layers. We integrated these layers into the software required to use our computers, and the software that drives our lives.</p>
</blockquote>



<p>From <em><a href="https://wryl.tech/log/2024/the-software-crisis.html"><strong>The Software Crisis</strong></a></em>.</p>



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



<p>One pivotal distinction between senior and junior engineers is how they manage abstractions, both in building them and understanding them.</p>



<p>After all, &#8220;<a href="https://en.wikipedia.org/wiki/Fundamental_theorem_of_software_engineering">We can solve any problem by introducing an extra level of indirection</a>.&#8221; The temptation to solve problem at hand with another wrapper object or adding an <code>if</code> block is irresistible. The abstraction layer could also be a comfort zoom that many may unintentionally trapped themselves in; it is more rewarding for them to build cathedrals in their layers than reaching down and out (yes, this has been a critique of Web engineering and myself in the beginning of my career.)</p>



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



<p>How would you like to survive in this era of crisis?</p>
<img decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthe-software-crisis%2F&amp;action_name=The%20Software%20Crisis&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/the-software-crisis/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>The economics of the old indieweb</title>
		<link>https://blog.timdream.org/posts/the-economics-of-the-old-indieweb/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Fri, 03 May 2024 03:40:55 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3342</guid>

					<description><![CDATA[This post is a response to We can have a different Web by Molly White. I enjoy her takes and her colorful metaphors. Go read that post and support her if you can. I too have a few things to say and it didn&#8217;t fit into a Mastodon post. So I guess this is the [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthe-economics-of-the-old-indieweb%2F&amp;action_name=The%20economics%20of%20the%20old%20indieweb&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>This post is a response to <em><a href="https://www.citationneeded.news/we-can-have-a-different-web/"><strong>We can have a different Web</strong></a></em> by Molly White. I enjoy her takes and her colorful metaphors. Go read that post and support her if you can.</p>
</blockquote>



<p>I too have a few things to say and it didn&#8217;t fit into a Mastodon post. So I guess this is the topic to take it over to a self-hosted blog.</p>



<p>While I too have an indieweb presence since 2000, what is lacking is not technologies nor advocacy. Molly correctly pointed out the (almost) forever backward compatible Web means the technologies exist back then are still available today. There are surely enough warnings on the dangers of walled gardens and the toxicity of algorithms. Yet I feel that the barrier is simply economics on what people wanted out of the time and effort they spent.</p>



<p>People put themselves on the Web to connect. Many may want to be influencers, but a lot more are just here to find their crowds. The relentless network effect means you&#8217;ll need to meet people where they are, and to do that you need to go to one of these “five websites.” It just doesn&#8217;t make sense, for most people, to build a cozy cabin on the indieweb, with no visitors.</p>



<p>Just take myself as an example. I enjoy the company of <a href="https://mastodon.social/@timdream/following">my tech folks on Mastodon</a>, but I still had to regretfully log on to other social platforms not lose touch with my other friends. Every time I do it, I feel that I am risking my mental health by exposing myself to algorithmic toxicity, in exchange for staying connected. It must be worse for people without any other places to escape.</p>



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



<p>So what was the economics that enabled the old indieweb?</p>



<p>People used to be able to host content on Geocities, which was ad-supported.</p>



<p>People used to be able to find their crowds in much smaller self-hosted forums, web rings, and human-curated web directories.</p>



<p>What made the business model of Geocities unsustainable, or made the self-hosted forums die out? What gave rise to the walled garden content websites? What made algorithm-curated content win?</p>



<p>I don&#8217;t have a clear answer to all these questions. I am not going to start a new web ring or a web directory. I just know that we&#8217;ll need to tilt the balance again to make indieweb work again.</p>



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



<p>Allow me to end this post with something <a href="https://mastodon.social/@timdream/111780497807278171">I&#8217;ve said before</a>:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>When I look at the history of the commercialization of the internet &amp; web (no, Al Gore didn’t invent the internet), it always reminds me that proprietary information services (like CompuServe) existed before that, and will likely continue to exist afterward.</p>



<p>We must remind ourselves that open systems, like democratic forms of governance, are the outliers of human history, not the norm, no matter how precious we feel.</p>
</blockquote>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthe-economics-of-the-old-indieweb%2F&amp;action_name=The%20economics%20of%20the%20old%20indieweb&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/the-economics-of-the-old-indieweb/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Celebrating CSS: Testing the Versatile Yet Elusive</title>
		<link>https://blog.timdream.org/posts/celebrating-css-testing-the-versatile-yet-elusive/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Fri, 15 Mar 2024 19:34:51 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3329</guid>

					<description><![CDATA[I love CSS despite I know there are a lot of haters out there. The problem with CSS is not cascade. The problem with CSS is it is hard to test. We know how to test JavaScript — create a bunch of test cases and assert the outputs — but we know too little about [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fcelebrating-css-testing-the-versatile-yet-elusive%2F&amp;action_name=Celebrating%20CSS%3A%20Testing%20the%20Versatile%20Yet%20Elusive&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p>I love CSS despite I know there are a lot of haters out there.</p>



<p>The problem with CSS is not cascade. The problem with CSS is it is hard to test. We know how to test JavaScript — create a bunch of test cases and assert the outputs — but we know too little about how to validate CSS outputs (the layout) effectively. It is so frustrating, to the point that people end up demanding &#8220;simpler&#8221; abstractions on top of it to prevent mistakes.</p>



<p>You can read back layout in JavaScript and assert the dimensions, but not everything is exposed (like <code>::before</code> or <code>::after</code>,) and some states are hard to reach (like <code>:hover</code> or dark mode.)</p>



<p>Or, you can create a screenshot tool to diff the pixels. You would still face the issue above, in addition to maintaining a complex test suite across multiple browsers and multiple OSes. On, and different versions too, including underlining text rendering changes.</p>



<p>Regretfully, none of these are easy enough than hiring QA engineers to manually click through the pages.</p>



<p>In a way, CSS is a victim of its own success — it is so versatile and adaptive, allowing you to achieve a lot with a few lines of code — and cause regressions in the same few lines if you are not careful.</p>



<p>Maybe this is a problem of declarative languages in general. I don&#8217;t know how to write test cases for a spreadsheet either, and there are no well-known or built-in tools for that, after more than a half-century since its invention.</p>



<p>Cracking this problem may be the thing that could make CSS popular.</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fcelebrating-css-testing-the-versatile-yet-elusive%2F&amp;action_name=Celebrating%20CSS%3A%20Testing%20the%20Versatile%20Yet%20Elusive&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/celebrating-css-testing-the-versatile-yet-elusive/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Book recommendation: Taiwan, A Contested Democracy Under Threat</title>
		<link>https://blog.timdream.org/posts/book-recommendation-taiwan-a-contested-democracy-under-threat/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Thu, 28 Dec 2023 00:54:49 +0000</pubDate>
				<category><![CDATA[Books]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3312</guid>

					<description><![CDATA[You should care about that island nation called Taiwan. Not because I told you to (and I am obviously biased,) but because how your democracy engages the country reflects its value, and to some extent, your value. You should also try to understand it through its rich, complex history and people. Not just commentaries in [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fbook-recommendation-taiwan-a-contested-democracy-under-threat%2F&amp;action_name=Book%20recommendation%3A%20Taiwan%2C%20A%20Contested%20Democracy%20Under%20Threat&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" width="683" height="1024" src="https://blog.timdream.org/wp-content/uploads/2023/12/9781788216708-683x1024.jpg" alt="Taiwan: A Contested Democracy Under Threat (Flashpoints)" class="wp-image-3313" style="width:350px" srcset="https://blog.timdream.org/wp-content/uploads/2023/12/9781788216708-683x1024.jpg 683w, https://blog.timdream.org/wp-content/uploads/2023/12/9781788216708-333x500.jpg 333w, https://blog.timdream.org/wp-content/uploads/2023/12/9781788216708.jpg 750w" sizes="auto, (max-width: 683px) 100vw, 683px" /></figure>
</div>


<p>You should care about that island nation called Taiwan. Not because I told you to (and I am obviously biased,) but because how your democracy engages the country reflects its value, and to some extent, <em>your value</em>.</p>



<p>You should also try to understand it through its rich, complex history and people. Not just commentaries in the news when pundits speak of U.S.—China relationships.</p>



<p><strong><em><a href="https://www.agendapub.com/page/detail/?k=9781788216708">Taiwan: A Contested Democracy Under Threat</a></em></strong> is the best book that I know of that will tell you all about it. The book thoroughly explored how Taiwan became what it is today, how it transformed itself into a young democracy, and most importantly, a framework to look ahead.</p>



<p>I have been reading <a href="https://mastodon.social/@lnachman32">Lev Nachman</a>’s perspectives on contemporary Taiwan for quite a while. The book did not disappoint. I enjoyed the fresh new take on a topic that I&#8217;m already familiar with, especially through the lens of International Relationship studies. It was also entertaining in a way — I crackled when the authors explained how the two major parties employ their own versions of &#8220;strategic ambiguities&#8221; when cornering votes (my take, not the view of the book,) while precariously trying to avoid angering the bases. It is happening in real-time right now again, with the presidential election less than 30 days away.</p>



<p>I am especially appreciative of the conclusion:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Superpower politics and the conflict are the dominant lenses through which Taiwan is seen internationally, but Taiwanese agency and the complexity and diversity of Taiwanese wants and needs deserve to be heard.</p>
</blockquote>



<p>Please get a copy. I am sure it is a worthwhile read.</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fbook-recommendation-taiwan-a-contested-democracy-under-threat%2F&amp;action_name=Book%20recommendation%3A%20Taiwan%2C%20A%20Contested%20Democracy%20Under%20Threat&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/book-recommendation-taiwan-a-contested-democracy-under-threat/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>On Software Quality</title>
		<link>https://blog.timdream.org/posts/on-software-quality/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Sun, 08 Oct 2023 22:44:00 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3284</guid>

					<description><![CDATA[One perspective I&#8217;ve profoundly changed compared to the junior engineer in me is how I see software quality. With decades of economic expansion and Internet boom, our industry has learned a rather sloppy norm on quality. In this post, here are my takes on how you should approach software quality. Your User is Your Customer [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fon-software-quality%2F&amp;action_name=On%20Software%20Quality&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p>One perspective I&#8217;ve profoundly changed compared to the junior engineer in me is how I see software quality. With decades of economic expansion and Internet boom, our industry has learned a rather sloppy norm on quality. In this post, here are my takes on how you should approach software quality.</p>



<h2 class="wp-block-heading">Your User is Your Customer</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Only software engineers and drug dealers call their customers &#8220;users&#8221;.</p>
<cite>— a random joke on Internet</cite></blockquote>



<p>The joke is meant to be a joke, but there is some truth in it. The term &#8220;user&#8221; fails to remind listeners that software, like everything engineered in the world, is experienced, explored, and felt by human beings. A human being that makes intentional efforts to tinker with your creation.</p>



<p>Some people find the word strange because &#8220;customer&#8221; implies these people are paying for the software. I would argue that this is always true, no matter your business model. Traditionally, your customer pays for software download, or the CD-ROM containing the software. Nowadays they may pay through subscriptions. Often people pay indirectly through advertisers that put ads on your UI. Even the free-tier customers of your freemium service pay with their time.</p>



<p>Surely there are times when you need to distinguish between “end-users” and “external developers” when your software interfaces both. Or your business software is paid for by businesses serving their employees. Yet at the end of the day, all parties are your customers.</p>



<p>Software engineering is one of the highest-paying industries. Like any other economic activity, it interacts with the rest of the economy, creates value, and transfers wealth. Referring to your customers as &#8220;customers&#8221; acknowledges this fact with gratitude.</p>



<h2 class="wp-block-heading">Software Errors are Disruptive</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Try to reload the page if you encounter an issue. Clear cookies and open the browser again.</p>
<cite>— literally every troubleshooting article</cite></blockquote>



<p>No, your website shouldn&#8217;t stop working because you fail to bust the cache. Your app shouldn&#8217;t crash because you fail to handle an edge case. Period.</p>



<p>Sure, it is hard on the web to deliver assets atomically. <a href="https://en.wikipedia.org/wiki/Formal_methods">Formal methods</a> are not realistically deployable yet. But those are the problems our industry needs to collectively solve, not hand-waving them and leaving the problems to the &#8220;users.&#8221;</p>



<p>During the boom, such an attitude is tolerated, because software creates much more value to the economy predates it. Software engineering <em>is</em> the economy now. It occupies a much critical role in people&#8217;s lives, than that gimmicky website for ordering books.</p>



<p>Assume people&#8217;s lives depend on your software doing the right things <em>indirectly</em> even if the use cases don&#8217;t suggest that. We are not all software engineers working on avionics software, but you never know how your software <a href="https://www.cnet.com/culture/spacex-rockets-fly-with-software-you-can-find-on-your-android-phone/">would be repurposed</a>.</p>



<p>We are, ultimately, all software customers. You wouldn&#8217;t want to <a href="https://www.youtube.com/watch?v=4M62g7bSQoY">spend 5 minutes resetting the light bulbs</a> every other day, don&#8217;t you?</p>



<h2 class="wp-block-heading">Respect your Quality Assurance Engineers</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The next inspector is the customer.</p>
<cite>— a banner that should be in your office</cite></blockquote>



<p>For some reason, QA engineers are being paid less than software engineers in general. That translates to an unhealthy disrespect to QA engineers — pushing back on what they found, questioning their value to the project, etc.</p>



<p>It is true that QA engineers is the easiest entry point into software engineering (the next being, err, web front-end engineer.) The best QA engineers are, however, generalists — they know a little bit of everything to effectively ensure software quality; they self-motivate and constantly reinvent themselves for the next best way to identify customer-facing issues. They do much, <em>much</em>, more things than manual test case runs.</p>



<p>Sadly, I do not see this notion changing any time soon. Life finds a way, many QA engineers end up taking the title of &#8220;automation engineers&#8221; or &#8220;build and release managers,&#8221; as an attempt to shed the stigma of the plain title with whatever supporting responsibility the team shoves on them.</p>



<p>Assume the QA engineer in your team does more than manual testing, and stop treating them with whatever feeling arises when you hear the title &#8220;QA engineer.&#8221; We are all responsible for quality. Given how critical software errors may be, identifying them before shipping could very well save lives.</p>



<h2 class="wp-block-heading">Quality Metrics can be Automated, but Release Cannot</h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>A computer can never be held accountable. Therefore a computer can never make a management decision.</p>
<cite>— a memorable quote, allegedly from IBM in 1979</cite></blockquote>



<p>Tests can definitely be automated and they should be automated. Quality metrics and observability are software engineering problems with software solutions. However, eventually, someone needs to make the judgment call on quality and releases. </p>



<p>Software release/sign-off quality is, and forever will be, the managerial decision that can&#8217;t be automated away. This is a responsibility that falls under QA engineering, which makes their job indispensable.</p>



<p>Even if your project has no dedicated people responsible for QA or testing, <em>someone</em> is making a go/no-go decision based on quality. That someone, by definition, is subsuming the role.</p>



<h2 class="wp-block-heading">Developer Experiences is a Means, not an End</h2>



<p>Especially in Web Engineering, people lose the big picture when engaging in developer experience (DX) discussions. <em>Unidirectional or bidirectional data flow</em>. <em>Static typed or dynamically typed</em>. <em>Test case paradigm on continuous integration pipelines</em>. <em>Git flow or GitHub flow</em>. The list goes on.</p>



<p>There is no point in arguing any of these if people can&#8217;t agree that the end goal is to elevate software quality. Developers&#8217; quality of life is important, but it is secondary to that goal. <strong>For me, the best developer experience is what allows me to make fewer mistakes, in the same development timespan.</strong></p>



<p>There will always be &#8220;rockstar developers&#8221; showing up and telling you their next project is the best thing ever, or their methodology is perfect. Give them a hard look through the lens of software quality — many of them fall apart pretty quickly.</p>



<p>One persistent DX argument is &#8220;fast.&#8221; Faster tool does contribute to software quality by tightening the feedback loop. Regretfully, the adoption and maintenance cost of a newer, immature tool often offset the gain.</p>



<p>Compared to &#8220;fast,&#8221; I am much more interested in &#8220;correct&#8221; — like <a href="https://www.rust-lang.org">a programming language that can eliminate use-after-free</a>, or <a href="https://duckduckgo.com/?q=type+checking+with+jsdoc&amp;t=osx&amp;ia=web">prevent <code>TypeError</code>s in JavaScript alone</a>. Only you are in the position to judge adoption and the maintenance cost though, no one else.</p>



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



<p>Software provides values like any other machinery driving the world. Its excellence is measured by quality, and quality is measured by the experiences of those who interact with the software.</p>



<p>As software engineers, we are mortal code-typing intelligent monkeys, sitting in front of a keyboard trying to ask silicons to do the right thing. We are undoubtedly empowered to figure out &#8220;how&#8221; we can be better at doing it — but we should do so without losing sight of &#8220;why,&#8221; and treating others better.</p>



<p></p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fon-software-quality%2F&amp;action_name=On%20Software%20Quality&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/on-software-quality/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>A new take on Asian IME for English audiences</title>
		<link>https://blog.timdream.org/posts/a-new-take-on-asian-ime-for-english-audiences/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Sun, 20 Aug 2023 01:53:00 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3252</guid>

					<description><![CDATA[East Asian Input Methods are not hard to understand, but for English speakers, we can do better than a general explanation on Wikipedia with a concrete example. This post is me attempting to do that for English audiences. It is written for my own amusement, but I hope you would like it. My recommendation is [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fa-new-take-on-asian-ime-for-english-audiences%2F&amp;action_name=A%20new%20take%20on%20Asian%20IME%20for%20English%20audiences&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p><strong>East Asian Input Methods</strong> are not hard to understand, but for English speakers, we can do better than <a href="https://en.wikipedia.org/wiki/Input_method">a general explanation on Wikipedia</a> with a concrete example. This post is me attempting to do that for English audiences. </p>



<p>It is written for my own amusement, but I hope you would like it. My recommendation is to read it once without tapping on footnotes and skim through it again with footnotes.</p>



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



<p>Spoken languages are humans conveying ideas by making sounds. A human can only make a limited number of sounds, due to anatomy. Not every sound humans can make is used for a given spoken language.</p>



<p>There are <a href="https://en.wikipedia.org/wiki/English_phonology#Phonemes">around 44 sounds in spoken English</a>. Linguists call them <a href="https://en.wikipedia.org/wiki/Phoneme">phonemes</a>. English is usually written in Latin alphabets. There are 26 alphabets. To represent 44 sounds, combinations of alphabets are utilized. Linguists call these alphabet combinations <a href="https://en.wikipedia.org/wiki/Grapheme">graphemes</a>. Each English phoneme is being represented by many graphemes (too many for some, without <a href="https://en.wikipedia.org/wiki/English-language_spelling_reform">a spelling reform</a>). Humans are taught to pick the right grapheme combinations to write down the exact words they intend to speak. It’s called spelling.</p>



<p>Now, imagine there is a language<sup data-fn="7e122bda-88bc-422c-b0ab-b7c293b569cb" class="fn"><a href="#7e122bda-88bc-422c-b0ab-b7c293b569cb" id="7e122bda-88bc-422c-b0ab-b7c293b569cb-link">1</a></sup> written using a different script. Instead of Latin alphabets, it would traditionally be written with graphemes composed of distinct shapes of drawings<sup data-fn="edc5978a-4a3c-4697-b2ec-5a16cbaeb320" class="fn"><a href="#edc5978a-4a3c-4697-b2ec-5a16cbaeb320" id="edc5978a-4a3c-4697-b2ec-5a16cbaeb320-link">2</a></sup>. Linguists call these shapes <a href="https://en.wikipedia.org/wiki/Monogram">monograms</a>. This particular imagery script comes with tens of thousands of these monograms, with the same relationship with the phonemes of the imagery language like English — just as humans are taught to spell English words correctly, they are taught to pick the right monogram combinations to write down the exact words they intend to speak.</p>



<p>Most humans were born with ten fingers. Modern computer keyboards come with around 78 keys, designed for the ten fingers to operate. This is enough for Latin alphabets given that there are only 26 of them, but far from enough for the monograms of the imagery language. Something would have to be done with that.</p>



<p>Thankfully, as a human language, the number of sounds of the imagery language would still be within a manageable magnitude. Before the introduction of modern computers, local linguists would have already identified these phonemes. They would have gone afar and invented a set of symbols for these sounds. These symbols — phonetic symbols, they called — would &#8220;spell&#8221; a phoneme with just one to four symbols<sup data-fn="51dc7526-6edb-4e17-a02b-8d7b2d61e757" class="fn"><a href="#51dc7526-6edb-4e17-a02b-8d7b2d61e757" id="51dc7526-6edb-4e17-a02b-8d7b2d61e757-link">3</a></sup>. Unlike English, since the symbols were constructed and not naturally developed, each symbol combination would only represent one phoneme, and each phoneme would only be written by one symbol combination, systematically.</p>



<p><em><strong>Aside:</strong> other linguists disagree and used Latin alphabets to &#8220;spell&#8221; the phonemes of the same language<sup data-fn="c6a6d1ea-56a5-4ca2-9743-6c85e262ebe1" class="fn"><a href="#c6a6d1ea-56a5-4ca2-9743-6c85e262ebe1" id="c6a6d1ea-56a5-4ca2-9743-6c85e262ebe1-link">4</a></sup>. The principle is the same, though.</em></p>



<p><em><strong>Aside:</strong> Local linguists of another imagery language picked a different route and decided to invent symbols to directly represent each sound. It&#8217;s &#8220;less&#8221; systematic, but it gets the job done too<sup data-fn="388c4dae-0871-425b-ae44-6875e78b36e9" class="fn"><a href="#388c4dae-0871-425b-ae44-6875e78b36e9" id="388c4dae-0871-425b-ae44-6875e78b36e9-link">5</a></sup>.</em></p>



<p>Since the number of symbols is limited, they could then be arranged on a modern computer keyboard. Computers would then be loaded with a program<sup data-fn="54745f86-6b12-413c-adab-f35128cf9dd8" class="fn"><a href="#54745f86-6b12-413c-adab-f35128cf9dd8" id="54745f86-6b12-413c-adab-f35128cf9dd8-link">6</a></sup> that allows humans to pick the right monogram for each symbol combination, as they type.</p>



<p><em><strong>Aside:</strong> For spelling the language with Latin alphabets, it is even easier — you don&#8217;t even have to arrange a different set of symbols on the keyboard.</em></p>



<p>When computers were dumb with limited capacity, these programs would only be implemented with a simple mapping table, mapping symbol combinations to monograms. This would be quite cumbersome, because words that people type are often the same monogram combinations, and humans really hate to repeat themselves.</p>



<p><em><strong>Aside:</strong> A different school of programs for the same purpose would instead map monograms to visual symbols by decomposing their shapes, instead of the sounds they represent. Their mapping table would map visual symbol combinations to monograms<sup data-fn="8cc6a243-dafc-421d-8043-f3571d833fdf" class="fn"><a href="#8cc6a243-dafc-421d-8043-f3571d833fdf" id="8cc6a243-dafc-421d-8043-f3571d833fdf-link">7</a></sup>. This is very helpful for typing a monogram without knowing its sound and/or disregarding the spoken language being written. Some argue it is easier to type too, given that there can be arbitrary more symbol combinations designed for the program, than a fixed number of phonemes.</em></p>



<p>As computers become more powerful, a new class of programs would have developed. Instead of mapping symbol combinations to monograms (the shapes that make up the words), these programs would map multiple symbol combinations to words<sup data-fn="e6300586-25e9-4b8f-be72-829cbfa3bf4c" class="fn"><a href="#e6300586-25e9-4b8f-be72-829cbfa3bf4c" id="e6300586-25e9-4b8f-be72-829cbfa3bf4c-link">8</a></sup>. It would need a bigger mapping table for sure, and the table would also require constant curation, because of the endless evolution of human thoughts and their new words (comparably, new monograms are rarely added.)</p>



<p>Thankfully, computers are also powerful enough to manage these tasks. Maintaining and developing these bigger mapping tables are also helped by the fact that computers have since been connected across the planet<sup data-fn="15e8d22c-48f2-4fe8-b5eb-61e42dc536fa" class="fn"><a href="#15e8d22c-48f2-4fe8-b5eb-61e42dc536fa" id="15e8d22c-48f2-4fe8-b5eb-61e42dc536fa-link">9</a></sup> (and its lower orbits<sup data-fn="ba978ead-ba8a-4d20-b563-c57a31c24989" class="fn"><a href="#ba978ead-ba8a-4d20-b563-c57a31c24989" id="ba978ead-ba8a-4d20-b563-c57a31c24989-link">10</a></sup>, to be exact) so it would not be hard for computers to find a large body of text written in the imagery language (a &#8220;<a href="https://en.wikipedia.org/wiki/Text_corpus">text corpus</a>&#8220;, linguists and computer scientists call) waiting to be extracted and processed<sup data-fn="e3adff71-89b3-4f55-b44d-034251b4aa63" class="fn"><a href="#e3adff71-89b3-4f55-b44d-034251b4aa63" id="e3adff71-89b3-4f55-b44d-034251b4aa63-link">11</a></sup>.</p>



<p>Thus, through the ingenuity of these humble programs built upon linguistics knowledge, our imagery language would have been allowed to strive in the Information Age, expressed in monograms the same way it would have been written down for thousands of years, and perhaps thousands of years to come.</p>



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



<p>If you like this post, you would like my not-to-be-updated <a href="https://jszhuyin.timdream.org/">JSZhuyin</a> and <a href="https://jszhuyin.timdream.org/learn/">its interactive tutorial</a>. I would imagine you will already be frequent on many YouTube videos on linguistics, and a fan of the movie <a href="https://en.wikipedia.org/wiki/Arrival_(film)">The Arrival</a>, like me.</p>



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


<ol class="wp-block-footnotes"><li id="7e122bda-88bc-422c-b0ab-b7c293b569cb"><a href="https://en.wikipedia.org/wiki/Standard_Chinese">Mandarin Chinese</a> is the imagery language in question. <a href="#7e122bda-88bc-422c-b0ab-b7c293b569cb-link" aria-label="Jump to footnote reference 1"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li><li id="edc5978a-4a3c-4697-b2ec-5a16cbaeb320">Mandarin Chinese is traditionally written in <a href="https://en.wikipedia.org/wiki/Chinese_characters">Chinese characters</a>, a monogram shared among East Asia languages. Among these languages, the usage of Chinese characters only survived in Chinese, Japanese, and Korean, abbreviated as <a href="https://en.wikipedia.org/wiki/CJK_characters">CJK</a> in the information processing field.  <a href="#edc5978a-4a3c-4697-b2ec-5a16cbaeb320-link" aria-label="Jump to footnote reference 2"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li><li id="51dc7526-6edb-4e17-a02b-8d7b2d61e757">This is how <a href="https://en.wikipedia.org/wiki/Bopomofo">Bopomofo Phonetic Symbol</a> system spells Mandarin sounds. It was invented in the 1900s. Invented in 1443, which predates modern linguistics, Hangul works more or less the same way for spelling Korean. <a href="#51dc7526-6edb-4e17-a02b-8d7b2d61e757-link" aria-label="Jump to footnote reference 3"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li><li id="c6a6d1ea-56a5-4ca2-9743-6c85e262ebe1">The <a href="https://en.wikipedia.org/wiki/Pinyin">Pinyin system</a> is designed to spell Mandarin with Latin alphabets. <a href="#c6a6d1ea-56a5-4ca2-9743-6c85e262ebe1-link" aria-label="Jump to footnote reference 4"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li><li id="388c4dae-0871-425b-ae44-6875e78b36e9"><a href="https://en.wikipedia.org/wiki/Kana">Japanese Kana</a> is one such system. <a href="#388c4dae-0871-425b-ae44-6875e78b36e9-link" aria-label="Jump to footnote reference 5"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li><li id="54745f86-6b12-413c-adab-f35128cf9dd8">The programs are <a href="https://en.wikipedia.org/wiki/Input_method">Input Method</a> programs, or IMEs, the subject of our discussion here. <a href="#54745f86-6b12-413c-adab-f35128cf9dd8-link" aria-label="Jump to footnote reference 6"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li><li id="8cc6a243-dafc-421d-8043-f3571d833fdf">An example of these kinds of IMEs is <a href="https://en.wikipedia.org/wiki/Cangjie_input_method">Cangjie input method</a>, which codes Chinese Characters with 24 invented &#8220;radical&#8221; symbols. <a href="#8cc6a243-dafc-421d-8043-f3571d833fdf-link" aria-label="Jump to footnote reference 7"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li><li id="e6300586-25e9-4b8f-be72-829cbfa3bf4c">These newer IMEs are often dubbed &#8220;smart&#8221; or &#8220;intelligent&#8221; IMEs. As mentioned in the later paragraph, all IMEs are &#8220;smart&#8221; nowadays. <a href="#e6300586-25e9-4b8f-be72-829cbfa3bf4c-link" aria-label="Jump to footnote reference 8"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li><li id="15e8d22c-48f2-4fe8-b5eb-61e42dc536fa"><a href="https://en.wikipedia.org/wiki/Internet">Internet</a> and <a href="https://en.wikipedia.org/wiki/World_Wide_Web">World Wide Web</a>, if you haven&#8217;t heard about it. <a href="#15e8d22c-48f2-4fe8-b5eb-61e42dc536fa-link" aria-label="Jump to footnote reference 9"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li><li id="ba978ead-ba8a-4d20-b563-c57a31c24989">There is Internet on International Space Station, usable by astronauts. One <a href="https://en.wikipedia.org/wiki/Anne_McClain#Personal_life">got sued for it (and vindicated.)</a> <a href="#ba978ead-ba8a-4d20-b563-c57a31c24989-link" aria-label="Jump to footnote reference 10"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li><li id="e3adff71-89b3-4f55-b44d-034251b4aa63">This study of distilling human language using computers is called <a href="https://en.wikipedia.org/wiki/Natural_language_processing">Natural Language Processing</a>. <a href="#e3adff71-89b3-4f55-b44d-034251b4aa63-link" aria-label="Jump to footnote reference 11"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/21a9.png" alt="↩" class="wp-smiley" style="height: 1em; max-height: 1em;" />︎</a></li></ol><img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fa-new-take-on-asian-ime-for-english-audiences%2F&amp;action_name=A%20new%20take%20on%20Asian%20IME%20for%20English%20audiences&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/a-new-take-on-asian-ime-for-english-audiences/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Status of IDN ccTLDs</title>
		<link>https://blog.timdream.org/posts/status-of-idn-cctlds/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Thu, 13 Jul 2023 21:56:26 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3246</guid>

					<description><![CDATA[For some reasons, work has taken me to investigate current usage of Internationalized country code top-level domain. Something I came across all the way back almost two decades ago. I remember it was a big thing being promoted by NICs. As a web engineer, I have also found it to be an interesting technical endeavor [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fstatus-of-idn-cctlds%2F&amp;action_name=Status%20of%20IDN%20ccTLDs&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p>For some reasons, work has taken me to investigate current usage of <a href="https://en.wikipedia.org/wiki/Internationalized_country_code_top-level_domain">Internationalized country code top-level domain</a>. Something I came across all the way back almost two decades ago.</p>



<p>I remember it was a big thing being promoted by NICs. As a web engineer, I have also found it to be an interesting technical endeavor (with Punycode and etc) and spent my own effort to make sure the <code>&lt;IDN>.tw</code> site <s>I managed at the time also resolves on <code>&lt;IDN>.台灣</code>, given that per NIC rule they auto-register you with the IDN ccTLD when you register for a second level ccTLD domain.</s> Edit: I misremember this.</p>



<p><strong>Fast forward to today:</strong> I was struggling to find a live website that resolves on an IDN ccTLD hostname. <s>I no longer handled that <code>&lt;IDN>.台灣</code> website and my successor broke it (probably because of me failing to document my work.)</s> The university websites that I know of at the time all stopped resolving on their IDN ccTLD hostnames. Hell, even the <a href="https://twnic.tw/">TWNIC</a> website doesn&#8217;t resolve on <code>twnic.台灣</code>!</p>



<p>Eventually through the wonder of Wikipedia, I found the one website that resolves: <code><a href="http://уміц.укр"><strong>уміц.укр</strong></a></code>, <strong>Ukrainian Network Informational Centre</strong>. It is good enough for me even though it won&#8217;t connect over HTTPS.</p>



<p>Ukrainians never disappoint.</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fstatus-of-idn-cctlds%2F&amp;action_name=Status%20of%20IDN%20ccTLDs&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/status-of-idn-cctlds/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>How to Kill a Decentralised Network (such as the Fediverse)</title>
		<link>https://blog.timdream.org/posts/how-to-kill-a-decentralised-network-such-as-the-fediverse/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Thu, 29 Jun 2023 07:23:14 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/posts/how-to-kill-a-decentralised-network-such-as-the-fediverse/</guid>

					<description><![CDATA[How to Kill a Decentralised Network (such as the Fediverse) This piece is a good history lesson of why XMPP failed to gain momentum and a cautionary tale on how companies can commandeer open, “public good” protocols. My experience with XMPP was limited: in an unpublished project, I wired GMail to MSN Messenger though the [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fhow-to-kill-a-decentralised-network-such-as-the-fediverse%2F&amp;action_name=How%20to%20Kill%20a%20Decentralised%20Network%20%28such%20as%20the%20Fediverse%29&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><a href="https://ploum.net/2023-06-23-how-to-kill-decentralised-networks.html">How to Kill a Decentralised Network (such as the Fediverse)</a></p>
</blockquote>



<p>This piece is a good history lesson of why <a href="https://en.wikipedia.org/wiki/XMPP">XMPP</a> failed to gain momentum and a cautionary tale on how companies can  commandeer open, “public good” protocols.</p>



<p>My experience with XMPP was limited: in an unpublished project, I wired GMail to MSN Messenger though the protocol. I know enough to know XMPP as a precursor of things being re-invented (my other favorite that falls into category is <a href="https://en.wikipedia.org/wiki/Network_News_Transfer_Protocol">NNTP</a>, and even e-mails to a certain extent.)</p>



<p>From the post, it sounds like the danger arise of an intentional commercial protocol fork that designed to compete with the original protocol. I wonder if there are things to learn (like governing model) from protocols that so far had survived risk of fragmentation.</p>



<p>Something to dig further.</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fhow-to-kill-a-decentralised-network-such-as-the-fediverse%2F&amp;action_name=How%20to%20Kill%20a%20Decentralised%20Network%20%28such%20as%20the%20Fediverse%29&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/how-to-kill-a-decentralised-network-such-as-the-fediverse/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>The A.I. Dilemma</title>
		<link>https://blog.timdream.org/posts/the-a-i-dilemma/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Sun, 07 May 2023 00:27:13 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3236</guid>

					<description><![CDATA[When people talk about LLMs being at its &#8220;Netscape Moment&#8221;, this is the thing that ponders me the most. Tristan Harris, which I covered his early work, timewellspent.io, and Aza Raskin, discuss, quote, &#8220;how existing A.I. capabilities already pose catastrophic risks to a functional society, how A.I. companies are caught in a race to deploy [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthe-a-i-dilemma%2F&amp;action_name=The%20A.I.%20Dilemma&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p>When people talk about LLMs being at its &#8220;Netscape Moment&#8221;, this is the thing that ponders me the most. </p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="The A.I. Dilemma - March 9, 2023" width="640" height="360" src="https://www.youtube.com/embed/xoVJKj8lcNQ?start=2&#038;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>Tristan Harris, which I <a href="https://blog.timdream.org/posts/time-well-spent-zh/">covered</a> his early work, <a href="https://web.archive.org/web/20171228033631/http://timewellspent.io/">timewellspent.io</a>, and Aza Raskin, discuss, quote, &#8220;<em>how existing A.I. capabilities already pose catastrophic risks to a functional society, how A.I. companies are caught in a race to deploy as quickly as possible without adequate safety measures, and what it would mean to upgrade our institutions to a post-A.I. world.</em>&#8220;</p>



<p><a href="https://en.wikipedia.org/wiki/Dead_Internet_theory">The Internet already died once</a>, and it, and the remaining human creativity, may very well die again.</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthe-a-i-dilemma%2F&amp;action_name=The%20A.I.%20Dilemma&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/the-a-i-dilemma/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Towards a modern Web stack by Hixie</title>
		<link>https://blog.timdream.org/posts/towards-a-modern-web-stack-by-hixie/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Mon, 06 Feb 2023 07:17:59 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3230</guid>

					<description><![CDATA[Towards a modern Web stack by Ian &#8216;Hixie&#8217; Hickson This is not the first time people talk about a Web Platform design for applications, by sidestepping HTML. This is, nonetheless, the first time such idea is being lad out in a detailed proposal. What is surprising is that this came from one of the editors [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Ftowards-a-modern-web-stack-by-hixie%2F&amp;action_name=Towards%20a%20modern%20Web%20stack%20by%20Hixie&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><a href="https://docs.google.com/document/d/1peUSMsvFGvqD5yKh3GprskLC3KVdAlLGOsK6gFoEOD0/edit?resourcekey=0-bPajpoo9IBZpG__-uCBE6w"><strong>Towards a modern Web stack</strong></a></p>



<p>by Ian &#8216;Hixie&#8217; Hickson</p>
</blockquote>



<p>This is not the first time people talk about a Web Platform design for applications, by sidestepping HTML. This is, nonetheless, the first time such idea is being lad out in a detailed proposal.</p>



<p>What is surprising is that this came from one of the editors of HTML5. In the link in <a href="https://news.ycombinator.com/item?id=34622514">the footnote</a>, he asserts that the unfulfilled promises of HTML can only be solved by revamping the stack altogether, ditching the old HTML/CSS/JavaScript trilogy.</p>



<p>Overall it is pretty complete — except for addressing the fact that WASM is a byte code. Unlike HTML/CSS in its declarative form, which browsers are free to parse and render partially downloaded content, there is going to be a loading screen for WASM widgets/apps like Java applets.</p>



<p>This sole issue isn’t going to be a showstopper in any way. HTML/CSS will continue to live on as the best document format.</p>



<p>It would be interesting to see if the browser vendors (his employer included) will ack on these.</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Ftowards-a-modern-web-stack-by-hixie%2F&amp;action_name=Towards%20a%20modern%20Web%20stack%20by%20Hixie&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/towards-a-modern-web-stack-by-hixie/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>ChatGPT</title>
		<link>https://blog.timdream.org/posts/chatgpt/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Fri, 03 Feb 2023 08:06:46 +0000</pubDate>
				<category><![CDATA[Thoughts]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3225</guid>

					<description><![CDATA[Note: I promise, nothing in this post is generated by ChatGPT. Mental calculation and calculator  I grew up in an East Asian culture that values learning mental calculation. I remember how adults think of calculators, and what children were being told to practice at&#160;Kumon.&#160; I can’t do mental calculations, and I still admire those who [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fchatgpt%2F&amp;action_name=ChatGPT&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p><em><strong>Note:</strong> I promise, nothing in this post is generated by ChatGPT.</em></p>



<h2 class="wp-block-heading">Mental calculation and calculator </h2>



<p>I grew up in an East Asian culture that values learning mental calculation. I remember how adults think of calculators, and what children were being told to practice at&nbsp;<a href="https://en.wikipedia.org/wiki/Kumon">Kumon</a>.&nbsp;</p>



<p>I can’t do mental calculations, and I still admire those who do. They, however, don’t seem to always end up getting STEM degrees or doing better in personal finance.</p>



<p>I reach for a calculator on my phone, watch, and&nbsp;<a href="https://www.alfredapp.com/">Alfred</a>&nbsp;every day.</p>



<h2 class="wp-block-heading">Writing and input methods</h2>



<p>I also grew up in a place that appreciates penmanship.</p>



<p>Yet, I can’t seem to write Chinese characters because of my inability to remember the strokes of the characters. Since leaving school, I have been almost exclusively relying on typing characters on screens. Thankfully, East Asian input methods are ubiquitous on all devices — handwriting recognition, in fact, came later.</p>



<h2 class="wp-block-heading"><strong>Writing and ChatGPT&nbsp;</strong></h2>



<p>Essay writing is also an appreciated skill. It is arguably global, not limited to East Asia.</p>



<p>Users of the language model can generate essays with the right prompts, and supplement them with their edits.</p>



<p>There are no undisputed results with a given calculation or character. 16 times 4 is always 64. The same goes for typing Chinese characters — the outputs are the same CJK code points in Unicode. One of course one has to understand the math enough to put in the right calculation, or with enough reading skills to pick the right character among the homophones.</p>



<p>It is also a learned skill to give ChatGPT the right prompt and supplement the output with the right edits. We, humans, are only a few months into understanding what it feels like to learn a such skill. But even with users who excelled at that skill, the output isn’t indisputable. The vast space of possible human utterance and expression means that there will be bad and effortless ChatGPT-generated essays, and there will be essays made better because of ChatGPT.</p>



<p>What would that lead us, you ask?</p>



<h2 class="wp-block-heading"><strong>ChatGPT and half-lies</strong></h2>



<p>As of today, the output of a ChatGPT-assisted essay still relies on heavily on a human to fact-check. The language model does not employ the same editorial standards as Wikipedia, let alone academic papers. It does not know if the materials it was trained on were trustworthy either.</p>



<p>Like <a href="https://github.com/features/copilot">CoPilot</a>, the copyright of the generated content is a subject of scrutiny too. Just last week, I had to reject a pull request at work, because it contains a function generated by ChatGPT without copyright notation.</p>



<p>What if it is by design, not a problem?</p>



<h2 class="wp-block-heading"><strong>ChatGPT and half-truth</strong></h2>



<p>We may be witnessing the end of the human-driven internet, where the majority of the texts are written by humans.</p>



<p>We have already seen the shift where almost all contents are now curated by algorithm, with many machine learning models. There are tons of reflections on the effects of that (among the almost-destruction of democracies) not worth repeating.</p>



<p>User-generated content may soon be drowned by machine-generated content. Perspectives will soon be replaced by entities with the biggest wallets. Intelligence and misinformation campaigns will be even effortless.</p>



<p>On the other hand, the next great fantasy literature may be generated than written. Its <a href="https://en.wikipedia.org/wiki/Fictional_universe">fictional universe</a> can be as glamorous as that of Asimov.</p>



<h2 class="wp-block-heading"><strong>In conclusion</strong></h2>



<p>It is a paradigm shift. Just like how calculators and input methods relieve the mental burden of many, ChatGPT is going to change how humans construct essays, and even the thoughts themselves.</p>



<p>I am looking forward to seeing what kind of creativity ChatGPT will unleash on humanity, while carefully observing the harm it may cause.</p>



<p>I will miss the days when life was simpler, and you don’t have to worry about the quality of the texts you encounter on the web, at least this much.</p>



<p>I hope future generations will continue to be able to enjoy the ability to reflect on their thoughts through their writings, like what I am doing with my blog right now.</p>



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



<p>This post is a reprise of&nbsp;<a href="https://www.youtube.com/watch?v=AAwbvGywdOc">what Evan Puschak said in his The Nerdwriter video</a>, also a&nbsp;<a href="https://g0v.social/@ronnywang/109475048192654273">toot from ronnywang</a>, together with my take on the subject. Any mistakes are mine and mine alone.</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fchatgpt%2F&amp;action_name=ChatGPT&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/chatgpt/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Meet high-performance MapKit JS</title>
		<link>https://blog.timdream.org/posts/meet-high-performance-mapkit-js/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Fri, 27 Jan 2023 19:00:53 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3212</guid>

					<description><![CDATA[Meet high-performance MapKit JS MapKit JS provides a JavaScript API to embed interactive Apple Maps directly into your webpages or apps across different platforms and operating systems, including iOS and Android. Learn about the latest features to help improve load performance and make your web and native apps more responsive and faster — all while [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fmeet-high-performance-mapkit-js%2F&amp;action_name=Meet%20high-performance%20MapKit%20JS&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="500" height="282" src="https://blog.timdream.org/wp-content/uploads/2023/01/image.png" alt="" class="wp-image-3213"/></figure>
</div>


<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong><a href="https://developer.apple.com/videos/play/tech-talks/110353">Meet high-performance MapKit JS</a></strong></p>
<cite>MapKit JS provides a JavaScript API to embed interactive Apple Maps directly into your webpages or apps across different platforms and operating systems, including iOS and Android. Learn about the latest features to help improve load performance and make your web and native apps more responsive and faster — all while giving you more control.</cite></blockquote>



<p>If you are an Apple Developer Program subscriber and needs an interactive map on your website, you should try <a href="https://developer.apple.com/maps/web/">MapKit JS</a>.</p>



<p>I made an effort to improve its start-up performance last year. Everything accumulated to this Tech Talk recorded and published on <a href="https://developer.apple.com/">Apple Developer</a> website.</p>



<p>It is also nice to be informed that one of the slides made it to the front page today:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="629" src="https://blog.timdream.org/wp-content/uploads/2023/01/developer-apple-com-mapkit-sized-1024x629.png" alt="" class="wp-image-3216" srcset="https://blog.timdream.org/wp-content/uploads/2023/01/developer-apple-com-mapkit-sized-1024x629.png 1024w, https://blog.timdream.org/wp-content/uploads/2023/01/developer-apple-com-mapkit-sized-500x307.png 500w, https://blog.timdream.org/wp-content/uploads/2023/01/developer-apple-com-mapkit-sized-768x472.png 768w, https://blog.timdream.org/wp-content/uploads/2023/01/developer-apple-com-mapkit-sized.png 1474w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p><em>Please redirect technical questions to official channels, such as <a href="https://developer.apple.com/forums/">Developer Forums</a> or <a href="https://feedbackassistant.apple.com">Feedback Assistant</a>.</em></p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fmeet-high-performance-mapkit-js%2F&amp;action_name=Meet%20high-performance%20MapKit%20JS&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/meet-high-performance-mapkit-js/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Webspaces and the retro Web</title>
		<link>https://blog.timdream.org/posts/webspaces-and-the-retro-web/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Thu, 29 Dec 2022 09:05:54 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3190</guid>

					<description><![CDATA[I am exceptionally intrigued by how Webspaces, made by Greg Fodor as a take on the 3D Web, is similar to the retro, &#8220;Web 1.0&#8221;-era Web. I commend Greg for his deep insights and technical knowledge as shown in his detailed explainer on Webspaces. Webspaces: Rebooting the 3D Web tl;dr: Webspaces is a new way [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fwebspaces-and-the-retro-web%2F&amp;action_name=Webspaces%20and%20the%20retro%20Web&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p>I am exceptionally intrigued by how Webspaces, made by Greg Fodor as a take on the 3D Web, is similar to the retro, &#8220;Web 1.0&#8221;-era Web. I commend Greg for his deep insights and technical knowledge as shown in his detailed explainer on Webspaces.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><strong><a href="https://gfodor.medium.com/rebooting-the-web-in-3d-with-webspaces-9e58847e042c">Webspaces: Rebooting the 3D Web</a></strong></p>
<cite>tl;dr: Webspaces is a new way to create self-hosted 3D worlds on the web using just HTML. Visit webspaces.space, join the Discord, play around in an example on glitch, or download a blank webspace to get started!</cite></blockquote>



<p>In his post, you would appreciate these, especially as an old guard who&#8217;d experienced &#8220;Web 1.0&#8221;:</p>



<ul class="wp-block-list">
<li>The need to lower the barrier of self-hosting to a point of just a pile of static files to avoid gatekeepers and walled gardens (remember Geocities?)</li>



<li>Self-editing, or &#8220;web writeback&#8221; as what Greg said, to fulfill the promise of WorldWideWeb (the first browser) to keep the web a two-way medium. I still vividly remember the excitement when I saw <a href="https://tiddlywiki.com">TiddlyWiki</a> achieving that back in the day, though with a different method.</li>



<li>The ingenious way of leveraging one, almost free CloudFlare Worker to achieve WebRTC signaling (almost feel like old guest books that you&#8217;d embed.)</li>
</ul>



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



<p>Having only played Counter-Strike in my past life and not anything remotely similar metaverse-y like Minecraft, I am not entirely convinced that is how people will be interacting with &#8220;the&#8221; next, non-niche social network.</p>



<p>The keyboard, mouse, and the 2D screen (at best with audio/video), just don&#8217;t feel like the right hardware to experience a 3D space for the messes. The right hardware is perhaps have not been invented yet; the browser for 3D Web is yet to be seem.</p>



<p>That said, you should go visit that link and read his full post. I am sure it is a milestone of the future, popularized 3D Web, when historians tried to connect the dots.</p>



<p>PS. I don&#8217;t know Greg personally, even though we worked in the same company. Happy to be introduced.</p>



<p></p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fwebspaces-and-the-retro-web%2F&amp;action_name=Webspaces%20and%20the%20retro%20Web&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/webspaces-and-the-retro-web/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Cookies: the most consequential Web technology</title>
		<link>https://blog.timdream.org/posts/cookies-the-most-consequential-web-technology/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Wed, 23 Nov 2022 20:23:00 +0000</pubDate>
				<category><![CDATA[Media]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3170</guid>

					<description><![CDATA[I was meant to expand my thoughts on cookies previously blabbed on Twitter, but NPR’s Planet Money did a much better job than I did there: How the cookie became a monster. The episode faithfully covered how cookies was invented at Netscape out of the necessity to enable commerce on the Web, and how DoubleClick [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fcookies-the-most-consequential-web-technology%2F&amp;action_name=Cookies%3A%20the%20most%20consequential%20Web%20technology&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p>I was meant to expand my thoughts on cookies <a href="https://twitter.com/timdream/status/1546233837134307328">previously blabbed on Twitter</a>, but NPR’s Planet Money did a much better job than I did there: <a href="https://www.npr.org/2022/11/18/1137657496/third-party-cookie-data-tracking-internet-user-privacy"><em><strong>How the cookie became a monster</strong></em></a>.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1880" height="1253" src="https://blog.timdream.org/wp-content/uploads/2022/11/pexels-photo-230325.jpeg" alt="" class="wp-image-3172" srcset="https://blog.timdream.org/wp-content/uploads/2022/11/pexels-photo-230325.jpeg 1880w, https://blog.timdream.org/wp-content/uploads/2022/11/pexels-photo-230325-500x333.jpeg 500w, https://blog.timdream.org/wp-content/uploads/2022/11/pexels-photo-230325-1024x682.jpeg 1024w, https://blog.timdream.org/wp-content/uploads/2022/11/pexels-photo-230325-768x512.jpeg 768w, https://blog.timdream.org/wp-content/uploads/2022/11/pexels-photo-230325-1536x1024.jpeg 1536w" sizes="auto, (max-width: 1880px) 100vw, 1880px" /><figcaption class="wp-element-caption">(Obligatory stock photo. Photo by Lisa Fotios on <a rel="nofollow" href="https://www.pexels.com/photo/macro-photography-of-pile-of-3-cookie-230325/">Pexels.com</a>)<br></figcaption></figure>



<p>The episode faithfully covered how cookies was invented at Netscape out of the necessity to enable commerce on the Web, and how DoubleClick repurposed it to enable targeted advertising. The episode also covered GDPR and mentioned browser vendors’ eventual plan to phase out cookies.</p>



<p>What the episode didn’t mention was how targeted advertising was abused to enable foreign interferences on democratic elections.</p>



<p>As an informational piece, they didn’t cover opinions on politics between and within browser vendors on deprecating cookies. That’s maybe something I am not in the position to comment either.</p>



<p>Anyway, like every technology, there are abuses and unintended consequences, even the democracy-destroy ones.</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fcookies-the-most-consequential-web-technology%2F&amp;action_name=Cookies%3A%20the%20most%20consequential%20Web%20technology&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/cookies-the-most-consequential-web-technology/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>I am on Mastodon &#038; ActivityPub</title>
		<link>https://blog.timdream.org/posts/i-am-on-mastodon-activitypub/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Mon, 21 Nov 2022 21:51:44 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3168</guid>

					<description><![CDATA[I am on Mastodon as @timdream@mastodon.social. This blog is also ActivityPub-enabled as @timdream (thanks to info from Kanru.)<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fi-am-on-mastodon-activitypub%2F&amp;action_name=I%20am%20on%20Mastodon%20%26%23038%3B%20ActivityPub&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p>I am on Mastodon as <a href="https://mastodon.social/@timdream">@timdream@mastodon.social</a>. This blog is also ActivityPub-enabled as <strong><a rel="mention" class="u-url mention" href="https://blog.timdream.org/posts/author/timdream/">@timdream</a></strong> (thanks to <a href="https://kanru.info/zh/join-fediverse/">info from Kanru</a>.)</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fi-am-on-mastodon-activitypub%2F&amp;action_name=I%20am%20on%20Mastodon%20%26%23038%3B%20ActivityPub&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/i-am-on-mastodon-activitypub/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Taiwan Prepares to be Invaded, from The Atlantic</title>
		<link>https://blog.timdream.org/posts/taiwan-prepares-to-be-invaded-from-the-atlantic/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Wed, 09 Nov 2022 05:37:42 +0000</pubDate>
				<category><![CDATA[Media]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3162</guid>

					<description><![CDATA[The title is definitely clickbait-y, but the author did a good job illustrating the current state. 
I highly recommend.<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Ftaiwan-prepares-to-be-invaded-from-the-atlantic%2F&amp;action_name=Taiwan%20Prepares%20to%20be%20Invaded%2C%20from%20The%20Atlantic&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="533" src="https://blog.timdream.org/wp-content/uploads/2022/11/image-1-1024x533.png" alt="" class="wp-image-3164" srcset="https://blog.timdream.org/wp-content/uploads/2022/11/image-1-1024x533.png 1024w, https://blog.timdream.org/wp-content/uploads/2022/11/image-1-500x260.png 500w, https://blog.timdream.org/wp-content/uploads/2022/11/image-1-768x400.png 768w, https://blog.timdream.org/wp-content/uploads/2022/11/image-1.png 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The [geopolitical] situation requires [President] Tsai to perform a careful balancing act: preparing for war while seeking to avoid it.<a rel="noreferrer noopener" href="https://t.co/TNMYuaIUWp" target="_blank"></a></p>
<cite><a rel="noreferrer noopener" href="https://www.theatlantic.com/magazine/archive/2022/12/china-takeover-taiwan-xi-tsai-ing-wen/671895/" target="_blank">Taiwan Prepares to be Invaded — The Atlantic</a></cite></blockquote>



<p>The title is definitely clickbait-y, but the author did a good job illustrating the current state.</p>



<p>I highly recommend.</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Ftaiwan-prepares-to-be-invaded-from-the-atlantic%2F&amp;action_name=Taiwan%20Prepares%20to%20be%20Invaded%2C%20from%20The%20Atlantic&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/taiwan-prepares-to-be-invaded-from-the-atlantic/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>High Performance Browser Networking</title>
		<link>https://blog.timdream.org/posts/high-performance-browser-networking/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Sun, 06 Nov 2022 06:25:12 +0000</pubDate>
				<category><![CDATA[Books]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3152</guid>

					<description><![CDATA[I highly recommend High Performance Browser Networking by Ilya Grigorik. Great overview and insights whether or not you are new or a veteran.<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fhigh-performance-browser-networking%2F&amp;action_name=High%20Performance%20Browser%20Networking&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>Note: </em>In light of recent events, I am going to spend time backtracking my Twitter timeline and attempt to document some memorable moment. Apologies if these may be repetitive to you.</p>
</blockquote>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="560" height="300" src="https://blog.timdream.org/wp-content/uploads/2022/11/image.png" alt="" class="wp-image-3155" srcset="https://blog.timdream.org/wp-content/uploads/2022/11/image.png 560w, https://blog.timdream.org/wp-content/uploads/2022/11/image-500x268.png 500w" sizes="auto, (max-width: 560px) 100vw, 560px" /></figure>



<p>I highly recommend <a href="https://hpbn.co">High Performance Browser Networking</a> by Ilya Grigorik. Great overview and insights whether or not you are new or a veteran.</p>



<p>The book is from 2003 however. Thankfully, Ilya provided a &#8220;15 sec 2nd edition&#8221; when I asked on Twitter.</p>



<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
<blockquote class="twitter-tweet" data-width="550" data-dnt="true"><p lang="en" dir="ltr">2nd edition in 15 seconds:<br>&#8211; Speed of light still the same, dammit.<br>&#8211; &quot;Wireless sympathy&quot; is still underappreciated.<br>&#8211; Nobody talks about TLS &amp; H2.. it is assumed.<br>&#8211; QUIC is an uphill but worthwhile slog.<br>&#8211; Use fetch().</p>&mdash; Ilya Grigorik (@igrigorik) <a href="https://twitter.com/igrigorik/status/1521218081535631360?ref_src=twsrc%5Etfw">May 2, 2022</a></blockquote><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div></figure>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fhigh-performance-browser-networking%2F&amp;action_name=High%20Performance%20Browser%20Networking&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/high-performance-browser-networking/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>代理問題與公視</title>
		<link>https://blog.timdream.org/posts/agency-dilemma-and-public-television-taiwan/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Sun, 02 Jan 2022 20:53:02 +0000</pubDate>
				<category><![CDATA[Media]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3134</guid>

					<description><![CDATA[進入職場也超過10年了，換了三個工作之後，發現團隊績效與管理是經典的代理問題的印證。<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fagency-dilemma-and-public-television-taiwan%2F&amp;action_name=%E4%BB%A3%E7%90%86%E5%95%8F%E9%A1%8C%E8%88%87%E5%85%AC%E8%A6%96&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>公視的繁榮壯大是全台灣人的福音，但當公視績效不彰、官僚僵化，那它就是不折不扣的「社會問題」。</p><cite><a href="https://medium.com/公視與納稅人的距離/全民買單-台灣每人年繳80元給公視-為何只換到這一丁點-存在感-和影響力-184f99c2482e">公視與納稅人的距離</a></cite></blockquote>



<p>一直都在關心公視，但第一次看到潛入內部從中分析的文章。跟想像的沒有差太多。</p>



<p>進入職場也超過10年了，換了三個工作之後，發現團隊績效與管理是經典的<a href="https://zh.wikipedia.org/zh-tw/代理問題">代理問題</a>的印證。我一點都不喜歡在上市公司的薪酬結構：公司股價和累計的配股比起個人績效還要重要太多，但在相比另一家你也知道的非營利基金會全資持有的公司，我也說不上來這個問題的解法是什麼。</p>



<p>真的有答案的人，應該會拿諾貝爾經濟學獎吧？</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fagency-dilemma-and-public-television-taiwan%2F&amp;action_name=%E4%BB%A3%E7%90%86%E5%95%8F%E9%A1%8C%E8%88%87%E5%85%AC%E8%A6%96&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/agency-dilemma-and-public-television-taiwan/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Taiwan: Last Week Tonight with John Oliver</title>
		<link>https://blog.timdream.org/posts/taiwan-last-week-tonight-with-john-oliver/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Tue, 26 Oct 2021 04:21:51 +0000</pubDate>
				<category><![CDATA[Media]]></category>
		<guid isPermaLink="false">https://blog.timdream.org/?p=3129</guid>

					<description><![CDATA[This is something share-worthy or even celebrate-worthy. I was enthusiastic viewer of Last Week Tonight until I was stopped by compassion fatigue. After decades of exposure to late-night since Jon Stewart, I was looking for a break from having the news telling me what I should be angry about. Yet, the issue of political status [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Ftaiwan-last-week-tonight-with-john-oliver%2F&amp;action_name=Taiwan%3A%20Last%20Week%20Tonight%20with%20John%20Oliver&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Taiwan: Last Week Tonight with John Oliver (HBO)" width="640" height="360" src="https://www.youtube.com/embed/9Y18-07g39g?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>This is something share-worthy or even celebrate-worthy.</p>



<p>I was enthusiastic viewer of Last Week Tonight until I was stopped by <a href="https://en.wikipedia.org/wiki/Compassion_fatigue">compassion fatigue</a>. After decades of exposure to late-night since Jon Stewart, I was looking for a break from having the news telling me what I should be angry about.</p>



<p>Yet, the issue of <a href="https://en.wikipedia.org/wiki/Political_status_of_Taiwan">political status of Taiwan</a> is surely something dear to me. I especially like the take-away — the place, the island, shouldn&#8217;t always just be mentioned in passing when talking about China; the people there deserve to decide their own future.</p>



<p>Something to make a note of.</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Ftaiwan-last-week-tonight-with-john-oliver%2F&amp;action_name=Taiwan%3A%20Last%20Week%20Tonight%20with%20John%20Oliver&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/taiwan-last-week-tonight-with-john-oliver/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Leaving Mozilla</title>
		<link>https://blog.timdream.org/posts/leaving-mozilla/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Sun, 10 Feb 2019 03:30:03 +0000</pubDate>
				<category><![CDATA[Me Me Me]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=3073</guid>

					<description><![CDATA[Last week, I ended my journey at Mozilla. The decision to leave was bittersweet, but I felt it was the right time for me to try something new instead. I am sincerely grateful to everyone who took their chances on me. I am thankful for the lemons too — you can&#8217;t make lemonade without them! [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fleaving-mozilla%2F&amp;action_name=Leaving%20Mozilla&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p>Last week, I ended my journey at Mozilla. The decision to leave was bittersweet, but I felt it was the right time for me to try something new instead.</p>



<p><g class="gr_ gr_4 gr-alert gr_tiny gr_gramm gr_inline_cards gr_run_anim Grammar only-ins doubleReplace replaceWithoutSep" id="4" data-gr-id="4">I</g> am sincerely grateful to everyone who took their chances on me. I am thankful for the lemons too — you can&#8217;t make lemonade without them!</p>



<p>During my time at Mozilla, I worked on now-defunct Firefox OS as an engineer and later manager. I helped built the short-lived “Taipei Development Center” as well. It was quite a ride. Last year, as an individual contributor, I spent a large chunk of my time moving web content UIs to a Shadow DOM-based widget architecture, which shipped last week in Firefox 65.</p>



<p>I would like to share this paragraph from my goodbye letter to my colleagues here:</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>The internet has an impact on humanity akin to the printing press. For better or worse, we are in a place in time where we are empowered to shape the future for the next 500 years, just like what the printing press had done for the last 500 years. May we all find our ways to tame the beast.</p></blockquote>



<hr class="wp-block-separator"/>



<p>I am joining Apple to work on <a href="https://developer.apple.com/maps/mapkitjs/">MapKit JS</a>. Looking at how modern web applications are built is a great opportunity to reflect my experience building a browser. I am looking forward to find out what I can contribute.</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fleaving-mozilla%2F&amp;action_name=Leaving%20Mozilla&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/leaving-mozilla/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>The Truth About Veritasium</title>
		<link>https://blog.timdream.org/posts/the-truth-about-veritasium/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Mon, 18 Jun 2018 08:46:40 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2937</guid>

					<description><![CDATA[This is a candid piece from Derek Muller, the science educator/YouTuber, talking about his journey leading to what he does today. This is not yet-another-so-successful-wow story or you-must-follow-your-dream story. His approach to life and grip is something to take inspiration from.<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthe-truth-about-veritasium%2F&amp;action_name=The%20Truth%20About%20Veritasium&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<iframe loading="lazy" width="640" height="360" src="https://www.youtube-nocookie.com/embed/S1tFT4smd6E" class="aligncenter" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>



<p>This is a candid piece from Derek Muller, the science educator/YouTuber, talking about his journey leading to what he does today. This is not
	<g class="gr_ gr_81 gr-alert gr_gramm gr_hide gr_inline_cards gr_disable_anim_appear Grammar only-ins multiReplace replaceWithoutSep" id="81" data-gr-id="81">yet-another-so-successful-wow</g> story or you-must-follow-your-dream story. His approach to life and grip is something to take inspiration from.<br/></p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthe-truth-about-veritasium%2F&amp;action_name=The%20Truth%20About%20Veritasium&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/the-truth-about-veritasium/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Computer Security In The Past, Present and Future, with Mikko Hypponen</title>
		<link>https://blog.timdream.org/posts/computer-security-in-the-past-present-and-future-with-mikko-hypponen/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Wed, 14 Mar 2018 01:51:58 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2676</guid>

					<description><![CDATA[If you are into computer security and not a security expert, this is a great talk by Mikko Hypponen. He is a security researcher from F-Secure. Some of the highlights from the talk includes a floppy disk containing the first known computer virus from Pakistan; Y2K and Y38K (“Try to set the date to year [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fcomputer-security-in-the-past-present-and-future-with-mikko-hypponen%2F&amp;action_name=Computer%20Security%20In%20The%20Past%2C%20Present%20and%20Future%2C%20with%20Mikko%20Hypponen&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p>If you are into computer security and not a security expert, <strong><a href="https://www.youtube.com/watch?v=DsUcCGtd5cI">this is a great talk</a></strong> by Mikko Hypponen. He is a security researcher from F-Secure.</p>



<iframe loading="lazy" width="640" height="360" src="https://www.youtube-nocookie.com/embed/DsUcCGtd5cI" class="aligncenter" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen=""></iframe>



<p>Some of the highlights from the talk includes a floppy disk containing the first known computer virus from Pakistan; Y2K and <a href="https://en.wikipedia.org/wiki/Year_2038_problem">Y38K</a> (“Try to set the date to year 2038 on your smart phone; you can’t”); introduction to <a href="https://en.wikipedia.org/wiki/Stuxnet">Stuxnet</a> and it&#8217;s implications; implication to network security as the world become more connected with IoT devices.</p>



<p>One of the comment worthy remembering was (paraphrasing): when he started his career, he didn&#8217;t know he would be fighting against state actors, and/or gun-carrying organized criminals who would literally jump over the window to flee.<br></p>



<p>He also highly recommends the movie <a href="https://www.youtube.com/watch?v=C8lj45IL5J4">Zero Day</a>, a documentary about Stuxnet.</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fcomputer-security-in-the-past-present-and-future-with-mikko-hypponen%2F&amp;action_name=Computer%20Security%20In%20The%20Past%2C%20Present%20and%20Future%2C%20with%20Mikko%20Hypponen&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/computer-security-in-the-past-present-and-future-with-mikko-hypponen/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Impostor syndrome</title>
		<link>https://blog.timdream.org/posts/impostor-syndrome/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Thu, 01 Feb 2018 12:50:07 +0000</pubDate>
				<category><![CDATA[Journal]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2670</guid>

					<description><![CDATA[I kind of missed my blogging target last year, because I didn&#8217;t feel I am in the right place. A place where I have some authority to talk about a few more things. It didn&#8217;t take long for me to realize that&#8217;s exactly how it feels like to be an impostor. It is said, the [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fimpostor-syndrome%2F&amp;action_name=Impostor%20syndrome&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<p>I kind of missed my blogging target last year, because I didn&#8217;t feel I am in the right place. A place where I have some authority to talk about a few more things.</p>
<p>It didn&#8217;t take long for me to realize that&#8217;s exactly how it feels like to be an impostor.</p>
<p>It is said, the impostor syndrome is a good thing. It&#8217;s a form of self-awareness, it helps you by allowing you to step back and understand your limits and find the ways to improve yourself. <strong>Blah Blah Blah. We all heard about it, and we all talked about it when wanted to give our friends some encouragement. Still, it&#8217;s harder to acknowledge that when you experience the impostor syndrome yourself.</strong></p>
<p>It didn&#8217;t come at the right time either, as I have experienced a lot of life changes lately. The dust, unfortunately, won&#8217;t settle until later part of this year. I will share more when I can.</p>
<p>Thank you for reading a rant from an impostor.</p>
<p> <img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fimpostor-syndrome%2F&amp;action_name=Impostor%20syndrome&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/impostor-syndrome/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Programming 101: Learn English</title>
		<link>https://blog.timdream.org/posts/programming-101-learn-english/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Sun, 19 Nov 2017 14:38:41 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Thoughts]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2645</guid>

					<description><![CDATA[@muanchiou shared this wonderful talk on Twitter. The talk mentioned a lot of things I have tired of organizing them into words, because of the things I mentioned on Twitter: Thank you very much for sharing this. It’s a sad reality but it’s a reality need to be told. I’ve find it hard to talk [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fprogramming-101-learn-english%2F&amp;action_name=Programming%20101%3A%20Learn%20English&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed">
    <iframe loading="lazy" title="Programming 101: Learn English | Vanessa Yuen" width="640" height="360" src="https://www.youtube.com/embed/pOwnBPaW5zE?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>
</figure>


<p><a href="https://twitter.com/muanchiou">@muanchiou</a> shared this wonderful talk on Twitter. The talk mentioned a lot of things I have tired of organizing them into words, because of the things <a href="https://twitter.com/timdream/status/932085098018627584">I mentioned on Twitter</a>:</p>

<blockquote><p>Thank you very much for sharing this. It’s a sad reality but it’s a reality need to be told. I’ve find it hard to talk about this without people from both sides getting defensive so I stopped talking. Maybe I should — start by sharing this.</p></blockquote>

<p>If you work with non-native English speakers or online/technical communities at any capacity, I highly recommend watching this 15 minutes talk.</p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fprogramming-101-learn-english%2F&amp;action_name=Programming%20101%3A%20Learn%20English&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/programming-101-learn-english/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Forget about /etc/hosts and use proxy.pac</title>
		<link>https://blog.timdream.org/posts/forget-about-etchosts-and-use-proxy-pac/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Mon, 13 Nov 2017 14:39:50 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2635</guid>

					<description><![CDATA[I hate to touch /etc/hosts myself when a project asks me to do so as part of development setup. Tools like Vagrant use zeroconfig/Bonjour to dispatch a .local hostname, but no one seems to remember the ancient, all-mighty Proxy auto-config﻿. Proxy auto-config allows you to setup hostname and URL mapping in JavaScript. It’s supported on [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fforget-about-etchosts-and-use-proxy-pac%2F&amp;action_name=Forget%20about%20%2Fetc%2Fhosts%20and%20use%20proxy.pac&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[
<p>I hate to touch <code>/etc/hosts</code> myself when a project asks me to do so as part of development setup. Tools like Vagrant use zeroconfig/Bonjour to dispatch a <code>.local</code> hostname, but no one seems to remember the ancient, all-mighty <a href="https://en.wikipedia.org/wiki/Proxy_auto-config"><strong>Proxy auto-config</strong>﻿</a>.</p>



<p>Proxy auto-config allows you to setup hostname and URL mapping in JavaScript. It’s supported on every OS and browser. To use that to setup your own development hostname, you would first need to write a PAC file:</p>



<pre class="wp-block-code"><code>function FindProxyForURL(url, host) {
    if (host === &#x27;calypso.localhost&#x27;) {
        return &#x27;PROXY 127.0.0.1:3000&#x27;;
    }
    return &quot;DIRECT&quot;;
}</code></pre>



<p>The example above points <code>calypso.localhost</code> to <code>127.0.0.1</code>, as <a href="https://github.com/Automattic/wp-calypso/blob/f39ef49bd5dbf85381e3a224fc807d39d610d230/docs/install.md#quick-summary-of-steps">required by the Calypso project</a>. Next, save this file as a private <a href="https://gist.github.com/">Gist</a>, and get the raw, private, HTTPS URL.</p>



<p>You can file the place to put that URL in the Proxy setting section of your OS, for example, this is <a href="https://support.apple.com/kb/PH25424">how to do it on macOS</a>. Now, open any browser, the hostname should correctly connect to the IP address specified (Firefox comes with it’s own Proxy setting allowing you to specify a PAC, so if you would like the setting to affect only one browser, use Firefox).</p>



<p>This is the simplest way to use a PAC file. <a href="https://en.wikipedia.org/wiki/Proxy_auto-config">The Wikipedia article</a> lists several other use cases for PAC files.</p>



<h3 class="wp-block-heading">Important considerations</h3>



<ul class="wp-block-list">
    <li><strong>Use your own PAC file.</strong> I didn&#x27;t share my PAC file hosting on Gist because you should never trust me nor anyone else for that. PAC file has the potential to redirect all your network traffic.<br/></li>
    <li><strong>Turn off PAC auto-discovery</strong>. It rely on the expired <a href="https://en.wikipedia.org/wiki/Web_Proxy_Auto-Discovery_Protocol">WPAD protocol</a> to discover PAC file served on your local subnet, but implementation hardly know the boundary of your local domain (it could by checking the <a href="http://publicsuffix.org/">Public Suffix list</a> but that list changes almost monthly). Thankfully the good folks at <a href="https://www.wpadblock.com/">WPADblock initiative</a> secured a few public hostnames that could be exploited.</li>
</ul>



<p>I hope you find this trick useful. </p>
<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fforget-about-etchosts-and-use-proxy-pac%2F&amp;action_name=Forget%20about%20%2Fetc%2Fhosts%20and%20use%20proxy.pac&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/forget-about-etchosts-and-use-proxy-pac/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>現在的架站配置（以及信任的服務）</title>
		<link>https://blog.timdream.org/posts/server-setup-and-trusted-services-2017/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Thu, 26 Oct 2017 01:24:51 +0000</pubDate>
				<category><![CDATA[Programming]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2557</guid>

					<description><![CDATA[看到朋友不小心 renew 了網址在某愚蠢廠商搬不出來，想說在這邊紀錄與分享一下我的架站配置，給大家參考一下：<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fserver-setup-and-trusted-services-2017%2F&amp;action_name=%E7%8F%BE%E5%9C%A8%E7%9A%84%E6%9E%B6%E7%AB%99%E9%85%8D%E7%BD%AE%EF%BC%88%E4%BB%A5%E5%8F%8A%E4%BF%A1%E4%BB%BB%E7%9A%84%E6%9C%8D%E5%8B%99%EF%BC%89&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<p>看到朋友不小心 renew 了網址在某愚蠢註冊商搬不出來，想說在這邊紀錄與分享一下我的架站配置，給大家參考一下：</p>
<h3><a href="https://blog.timc.idv.tw/">blog.timc.idv.tw</a></h3>
<ul>
<li><strong>網址註冊商：</strong><a href="https://www.gandi.net/">Gandi</a>。除了網站從台北連操作太慢以外，沒什麼好挑惕的（最近改版之後也變漂亮了）。之前在 PCHome MyName（<a href="http://plainpass.com/2014/01/myname-pchome-stores-passwords-in-plaintext.html">因為 plainpass 搬出來</a>），再之前在 SEEDNet，更早之前應該是在 TWNIC。<ins><strong>更新：</strong>Gandi 的客服說<a href="https://twitter.com/Gandi_TW/status/924918211476418560">他們沒有 idv.tw 的註冊服務</a>，還能不能轉移過去要再問。</ins></li>
<li><strong>DNS：</strong>Gandi。唯一的問題是沒有 Dynamic DNS。之前還有留另一個 domain 在 Namecheap 只是為了 Dynamic DNS，但是現在就是用這個 domain 然後 CNAME 到一個免費服務的 hostname 處理（不是面向大眾的服務所以沒有很介意信任問題）。</li>
<li><strong>主機：</strong><a href="https://www.digitalocean.com/">Digital Ocean</a>（<a href="https://www.digitalocean.com/?refcode=12c24b0bd63f">推薦優惠連結</a>）。只開了最便宜的每月 US$5 主機（希望不要寫在這裡就被打爆了）。Digital Ocean 也有免費 DNS 服務。</li>
<li><strong>SSL 憑證：</strong><a href="https://letsencrypt.org/">Let’s Encrypt</a>，用 <a href="https://certbot.eff.org/">certbot-auto</a> 寫了 cron script 自己 renew。</li>
<li><strong>服務：</strong><a href="https://wordpress.org/">WordPress</a>、自己的一些靜態內容、自用的一些服務（像是某個我不能告訴你的網址只要 POST 我的手機就會響）</li>
</ul>
<h3><a href="https://timdream.org/">timdream.org</a></h3>
<ul>
<li><strong>網址註冊商：</strong>Gandi。</li>
<li><strong>DNS、CDN、SSL 憑證：</strong><a href="https://www.cloudflare.com/">CloudFlare</a>。</li>
<li><strong>主機：</strong><a href="https://pages.github.com/">GitHub Pages</a>，全部都是靜態的公開內容，CloudFlare 開 flexible SSL 指到 GitHub。</li>
</ul>
<p>前端的程式碼把大部分的第三方 script 都拔掉了，只剩下 <a href="https://fonts.google.com/">Google Fonts</a> 和 <a href="https://analytics.google.com/">Google Analytics</a>。後者在靜態網站上如果有看到 <a href="https://en.wikipedia.org/wiki/Do_Not_Track">Do Not Track</a> 就不會載入。</p>
<p>&nbsp;<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fserver-setup-and-trusted-services-2017%2F&amp;action_name=%E7%8F%BE%E5%9C%A8%E7%9A%84%E6%9E%B6%E7%AB%99%E9%85%8D%E7%BD%AE%EF%BC%88%E4%BB%A5%E5%8F%8A%E4%BF%A1%E4%BB%BB%E7%9A%84%E6%9C%8D%E5%8B%99%EF%BC%89&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/server-setup-and-trusted-services-2017/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Photon: Firefox 與前端開發的全新觀點</title>
		<link>https://blog.timdream.org/posts/photon-firefox-new-front-end-perspective/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Tue, 24 Oct 2017 07:00:56 +0000</pubDate>
				<category><![CDATA[Software]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2544</guid>

					<description><![CDATA[上個月在台北的 Mozilla 開發者大會給的演講。好久沒有給演講了，這次是一個短講，介紹今年底的 Firefox 新版新功能。 作為工程師，上台講新介面的設計風格有點無聊，所以我提到了一些前端效能的細節。希望這是一個開頭，讓大家對前端效能更有意識。<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fphoton-firefox-new-front-end-perspective%2F&amp;action_name=Photon%3A%20Firefox%20%E8%88%87%E5%89%8D%E7%AB%AF%E9%96%8B%E7%99%BC%E7%9A%84%E5%85%A8%E6%96%B0%E8%A7%80%E9%BB%9E&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<p>上個月在<a href="https://www.mozilladevtw2017.com/">台北的 Mozilla 開發者大會</a>給的演講。好久沒有給演講了，這次是一個短講，介紹今年底的 Firefox 新版新功能。</p>
<p><iframe loading="lazy" class="aligncenter" src="https://blog.timc.idv.tw/wp-content/uploads/2017/10/Firefox-Developer-Conf-Taipei-2017-Photon.pdf" width="600" height="400"></iframe></p>
<p>作為工程師，上台講新介面的設計風格有點無聊，所以我提到了一些前端效能的細節。希望這是一個開頭，讓大家對前端效能更有意識。<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fphoton-firefox-new-front-end-perspective%2F&amp;action_name=Photon%3A%20Firefox%20%E8%88%87%E5%89%8D%E7%AB%AF%E9%96%8B%E7%99%BC%E7%9A%84%E5%85%A8%E6%96%B0%E8%A7%80%E9%BB%9E&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/photon-firefox-new-front-end-perspective/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>開放政府觀察報告</title>
		<link>https://blog.timdream.org/posts/taiwan-open-government-report/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Tue, 12 Sep 2017 09:37:11 +0000</pubDate>
				<category><![CDATA[Thoughts]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2532</guid>

					<description><![CDATA[開放文化基金會發表了《開放政府觀察報告》。看了關鍵結論覺得真的是講到痛處啊⋯⋯跟 2013 年聽了張政委演講之後的感想有點相似：行政院主事者的目標是經濟發展，研考會的目標是政府效率，促進民主參與還是只能留給非營利組織。 另外讓我想到的是美國政黨輪替之後在媒體上出現的一句話：「用行政命令（而不靠推動修法）執政，後果就是政績可以輕易地被下一任消除。」幸好在台灣開放資料不是黨派議題，所以政黨輪替之後沒有全部爛掉？ 做為小額捐款捐贈人，很開心看到開放文化基金會能夠凝聚能量，細緻的幫這個議題找到更明確的方向。<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Ftaiwan-open-government-report%2F&amp;action_name=%E9%96%8B%E6%94%BE%E6%94%BF%E5%BA%9C%E8%A7%80%E5%AF%9F%E5%A0%B1%E5%91%8A&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-2533" src="https://blog.timc.idv.tw/wp-content/uploads/2017/09/banner-wide-1024x366.png" alt="" width="640" height="229" srcset="https://blog.timdream.org/wp-content/uploads/2017/09/banner-wide-1024x366.png 1024w, https://blog.timdream.org/wp-content/uploads/2017/09/banner-wide-500x179.png 500w, https://blog.timdream.org/wp-content/uploads/2017/09/banner-wide-768x274.png 768w, https://blog.timdream.org/wp-content/uploads/2017/09/banner-wide.png 1400w" sizes="auto, (max-width: 640px) 100vw, 640px" /></p>
<p><strong>開放文化基金會</strong>發表了《<strong><a href="https://opengovreport.ocf.tw/">開放政府觀察報告</a></strong>》。看了關鍵結論覺得真的是講到痛處啊⋯⋯跟 2013 年<a href="https://blog.timc.idv.tw/posts/on-open-data-in-taiwan/">聽了張政委演講之後的感想</a>有點相似：<strong>行政院主事者的目標是經濟發展，研考會的目標是政府效率，促進民主參與還是只能留給非營利組織。</strong></p>
<p>另外讓我想到的是美國政黨輪替之後在媒體上出現的一句話：「<strong>用行政命令（而不靠推動修法）執政，後果就是政績可以輕易地被下一任消除。</strong>」幸好在台灣開放資料不是黨派議題，所以政黨輪替之後沒有全部爛掉？</p>
<p>做為小額捐款捐贈人，很開心看到開放文化基金會能夠凝聚能量，細緻的幫這個議題找到更明確的方向。<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Ftaiwan-open-government-report%2F&amp;action_name=%E9%96%8B%E6%94%BE%E6%94%BF%E5%BA%9C%E8%A7%80%E5%AF%9F%E5%A0%B1%E5%91%8A&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/taiwan-open-government-report/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>英文式中文與中文文法</title>
		<link>https://blog.timdream.org/posts/chinese-with-english-grammar/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Sun, 10 Sep 2017 08:43:34 +0000</pubDate>
				<category><![CDATA[Thoughts]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/posts/%e8%8b%b1%e6%96%87%e5%bc%8f%e4%b8%ad%e6%96%87%e8%88%87%e4%b8%ad%e6%96%87%e6%96%87%e6%b3%95/</guid>

					<description><![CDATA[台大史老師的這篇文章，精準的描述了中文的文法是什麼，還有作為中文使用者，如何從理解文法來避免寫出中文句法式的英文文章。 反過來說，她舉例的一些錯譯就很像是我會寫的中文。就是那種余光中等會崩潰的「英式中文」啦。 我還可以想到更多例子，像是國外服務寫中文公告時，常常破題寫「親愛的客戶您好，我們即將調整某某服務⋯⋯」。看久了，不被點出來還真的不知道怪在哪裡。 總之，知道歸知道，要能操作還是要練習啊。中文不好英文也不好 😵。<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fchinese-with-english-grammar%2F&amp;action_name=%E8%8B%B1%E6%96%87%E5%BC%8F%E4%B8%AD%E6%96%87%E8%88%87%E4%B8%AD%E6%96%87%E6%96%87%E6%B3%95&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<p><strong><a href="http://www.core-corner.com/Web/Main.php?stat=a_3nn46iT">台大史老師的這篇文章</a></strong>，精準的描述了中文的文法是什麼，還有作為中文使用者，如何從理解文法來避免寫出中文句法式的英文文章。</p>
<p>反過來說，她舉例的一些錯譯就很像是我會寫的中文。就是那種余光中等會崩潰的「英式中文」啦。</p>
<p>我還可以想到更多例子，像是國外服務寫中文公告時，常常破題寫「親愛的客戶您好，我們即將調整某某服務⋯⋯」。看久了，不被點出來還真的不知道怪在哪裡。</p>
<p>總之，知道歸知道，要能操作還是要練習啊。中文不好英文也不好 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f635.png" alt="😵" class="wp-smiley" style="height: 1em; max-height: 1em;" />。</p>
<p><img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fchinese-with-english-grammar%2F&amp;action_name=%E8%8B%B1%E6%96%87%E5%BC%8F%E4%B8%AD%E6%96%87%E8%88%87%E4%B8%AD%E6%96%87%E6%96%87%E6%B3%95&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/chinese-with-english-grammar/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>我們的戒嚴記憶</title>
		<link>https://blog.timdream.org/posts/twtrc-our-martial-law-memory/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Fri, 07 Jul 2017 09:36:46 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2523</guid>

					<description><![CDATA[台灣真相與和解促進會專頁的文章是我捨不得讓他被 Facebook 演算法過濾掉的內容之一，所以就用了暗黑手法轉成 RSS Feed 來看了。 最近的文章是分享來自「我們的戒嚴記憶」活動的故事。相對於網路上很多帶風向的言論，這些故事很平淡，不會試著想要強迫灌輸什麼意識。但是看著看著，還是會心酸的體會，原來這個土地上的居民曾經是這樣的生活的啊。 大學有位老師曾經說過，他這代作為政治學學者極其幸運，國際上能夠見證蘇聯垮台、冷戰結束，在國內能夠親眼目睹解嚴、民主化。相對來說，我們這代好像是「不幸」的？但我反而覺得，做為凡人我們是幸運的，要帶著感恩的心理解這些傷痕。 最後最後 &#8230; 有沒有人可以請這個單位把網站改好一點最好有個部落格可以訂啊？網路的內容都被 Facebook 牆起來的 :'( 。<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Ftwtrc-our-martial-law-memory%2F&amp;action_name=%E6%88%91%E5%80%91%E7%9A%84%E6%88%92%E5%9A%B4%E8%A8%98%E6%86%B6&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.timc.idv.tw/wp-content/uploads/2017/07/twtrc-martial-law-1024x390.jpg" alt="" width="640" height="244" class="aligncenter size-large wp-image-2524" srcset="https://blog.timdream.org/wp-content/uploads/2017/07/twtrc-martial-law-1024x390.jpg 1024w, https://blog.timdream.org/wp-content/uploads/2017/07/twtrc-martial-law-500x191.jpg 500w, https://blog.timdream.org/wp-content/uploads/2017/07/twtrc-martial-law-768x293.jpg 768w" sizes="auto, (max-width: 640px) 100vw, 640px" /></p>
<p><a href="https://www.facebook.com/TaiwanTrc/" target="_blank">台灣真相與和解促進會專頁</a>的文章是我捨不得讓他被 Facebook 演算法過濾掉的內容之一，所以就用了暗黑手法轉成 RSS Feed 來看了。</p>
<p>最近的文章是分享來自「<a href="https://www.facebook.com/戒嚴是什麼東西我們的戒嚴記憶徵集活動-117581872138500/" target="_blank">我們的戒嚴記憶</a>」活動的故事。相對於網路上很多帶風向的言論，這些故事很平淡，不會試著想要強迫灌輸什麼意識。但是看著看著，還是會心酸的體會，原來這個土地上的居民曾經是這樣的生活的啊。</p>
<p>大學有位老師曾經說過，他這代作為政治學學者極其幸運，國際上能夠見證蘇聯垮台、冷戰結束，在國內能夠親眼目睹解嚴、民主化。相對來說，我們這代好像是「不幸」的？但我反而覺得，做為凡人我們是幸運的，要帶著感恩的心理解這些傷痕。</p>
<p>最後最後 &#8230; 有沒有人可以請這個單位把網站改好一點最好有個部落格可以訂啊？網路的內容都被 Facebook 牆起來的 :'( 。<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Ftwtrc-our-martial-law-memory%2F&amp;action_name=%E6%88%91%E5%80%91%E7%9A%84%E6%88%92%E5%9A%B4%E8%A8%98%E6%86%B6&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/twtrc-our-martial-law-memory/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>There are “too much democracy”</title>
		<link>https://blog.timdream.org/posts/there-are-too-much-democracy/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Mon, 12 Jun 2017 05:17:01 +0000</pubDate>
				<category><![CDATA[Thoughts]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2519</guid>

					<description><![CDATA[I feel utterly sad when people say “there are too much democracy in Taiwan.” That&#8217;s what you get every day when you live in a young democracy. Those who think of that are often friends and families you respect. They are not dumb, nor arrogant; it&#8217;s merely a lasting effect when one exposed to totalitarian, [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthere-are-too-much-democracy%2F&amp;action_name=There%20are%20%E2%80%9Ctoo%20much%20democracy%E2%80%9D&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<blockquote><p>I feel utterly sad when people say “there are too much democracy in Taiwan.” That&#8217;s what you get every day when you live in a young democracy. Those who think of that are often friends and families you respect. They are not dumb, nor arrogant; it&#8217;s merely a lasting effect when one exposed to totalitarian, even briefly. The saddest part being, there is no way to purge that, other than waiting for the generation to die out…… which I am sure will not live to see.</p></blockquote>
<p>I&#8217;ve been troubled by this kind of notion for some time. There were no particular reason this came up today, but I figured if I <a href="https://twitter.com/timdream/status/874075322039193600">tweet</a> it I might as well talk about it here too.<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthere-are-too-much-democracy%2F&amp;action_name=There%20are%20%E2%80%9Ctoo%20much%20democracy%E2%80%9D&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/there-are-too-much-democracy/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Internet History Podcast：早期 Web 發展史</title>
		<link>https://blog.timdream.org/posts/internet-history-podcast/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Wed, 22 Mar 2017 12:56:56 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Media]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2512</guid>

					<description><![CDATA[Internet History Podcast 是一個研究以及介紹早期 Web 與 Internet 歷史的 Podcast。我是從湾区日报看到的。報主原本推薦聽一開始 Netscape 的那幾集，但是聽了幾集之後發現這一切是過去聽過的故事（像是 Code Rush）的背景。這些故事也讓我了解現在許多網路業的既成模式的發展背景，例如以廣告為營利模式的商業模式、開放的 Open Web 與封閉的 walled garden 的競爭、私有服務試圖快速擴張的「平台化」策略、微軟的 Windows 優勢對其他公司的威脅以及這些公司和他競爭合作的策略。當然，還有傳說中的「Information Superhighway」以及有線電視產業對其失敗的投資。 那是一個建立現在網路業舞台的時代。這個舞台的角色換了，但是舞台本身到現在還是沒有什麼很大改變。聽聽這些故事也比較能夠了解老闆到底在想什麼 🙂<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Finternet-history-podcast%2F&amp;action_name=Internet%20History%20Podcast%EF%BC%9A%E6%97%A9%E6%9C%9F%20Web%20%E7%99%BC%E5%B1%95%E5%8F%B2&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<p><a href="http://www.internethistorypodcast.com/"><img loading="lazy" decoding="async" src="https://blog.timc.idv.tw/wp-content/uploads/2017/03/Internet-History-Podcast-500x500.jpg" alt="" width="500" height="500" class="aligncenter size-medium wp-image-2513" srcset="https://blog.timdream.org/wp-content/uploads/2017/03/Internet-History-Podcast-500x500.jpg 500w, https://blog.timdream.org/wp-content/uploads/2017/03/Internet-History-Podcast-150x150.jpg 150w, https://blog.timdream.org/wp-content/uploads/2017/03/Internet-History-Podcast-768x768.jpg 768w, https://blog.timdream.org/wp-content/uploads/2017/03/Internet-History-Podcast.jpg 840w" sizes="auto, (max-width: 500px) 100vw, 500px" /></a></p>
<p><a href="http://www.internethistorypodcast.com/">Internet History Podcast</a> 是一個研究以及介紹早期 Web 與 Internet 歷史的 Podcast。我是從<a href="https://wanqu.co/" lang="zh-cn">湾区日报</a>看到的。報主原本推薦聽<a href="https://wanqu.co/b/57/2017-03-03-podcasts.html">一開始 Netscape 的那幾集</a>，但是聽了幾集之後發現這一切是過去聽過的故事（像是 <a href="https://blog.timc.idv.tw/posts/on-code-rush-the-movie/">Code Rush</a>）的背景。這些故事也讓我了解現在許多網路業的既成模式的發展背景，例如以廣告為營利模式的商業模式、開放的 Open Web 與封閉的 walled garden 的競爭、私有服務試圖快速擴張的「平台化」策略、微軟的 Windows 優勢對其他公司的威脅以及這些公司和他競爭合作的策略。當然，還有傳說中的「<a href="https://en.wikipedia.org/wiki/Information_superhighway">Information Superhighway</a>」以及有線電視產業對其失敗的投資。</p>
<p>那是一個建立現在網路業舞台的時代。這個舞台的角色換了，但是舞台本身到現在還是沒有什麼很大改變。聽聽這些故事也比較能夠了解老闆到底在想什麼 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Finternet-history-podcast%2F&amp;action_name=Internet%20History%20Podcast%EF%BC%9A%E6%97%A9%E6%9C%9F%20Web%20%E7%99%BC%E5%B1%95%E5%8F%B2&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/internet-history-podcast/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Ben&#8217;s Story of Firefox OS</title>
		<link>https://blog.timdream.org/posts/bens-story-of-firefox-os/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Mon, 13 Mar 2017 14:50:51 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[Planet Mozilla]]></category>
		<category><![CDATA[Planet MozTW]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2494</guid>

					<description><![CDATA[Like my good old colleague Ben Francis, I too have a lot to say about Firefox OS. It&#8217;s been little over a year since my team and I moved away from Firefox OS and the ill-fated Connected Devices group. Over the course of last year, each time I think about the Firefox OS experience, I [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fbens-story-of-firefox-os%2F&amp;action_name=Ben%26%238217%3Bs%20Story%20of%20Firefox%20OS&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<p><iframe loading="lazy" src="https://api.medium.com/embed?type=story&amp;path=%2F%40bfrancis%2Fthe-story-of-firefox-os-cb5bf796e8fb&amp;id=0&amp;collapsed=" allowtransparency="true" title="Embedded story" class="aligncenter" width="640" height="320" frameborder="0"></iframe></p>
<p>Like my good old colleague Ben Francis, I too have a lot to say about Firefox OS.</p>
<p>It&#8217;s been little over a year since my team and I moved away from Firefox OS and the ill-fated Connected Devices group. Over the course of last year, each time I think about the Firefox OS experience, I arrived at different conclusions and complicated, sometimes emotional, belives. I didn&#8217;t feel I am ready to take a snapshot of these thoughts and publish it permanently, so I didn&#8217;t write about it here. Frankly, I don&#8217;t even think I am ready now.</p>
<p><a href="https://medium.com/@bfrancis/the-story-of-firefox-os-cb5bf796e8fb">In his post</a>, Ben has pointed out many of the turning points of the project. I agree with many of his portrayals, most importantly, lost of direction between being a product (which must ship fast and deliver whatever partners/consumers wanted and used to) and a research project (which involves engineering endeavors that answer questions asked in the original announcement). I, however, have not figured out what can be done instead (which Ben proposed in his post nicely).</p>
<p>Lastly, a final point: to you, this might as well be another story in the volatile tech industry, but to me, I felt the cost of people enormously whenever a change was announced during the “slow death” of Firefox OS.</p>
<p>People moves on and recovers, including me (which fortunately wasn&#8217;t nearly being hit the hardest). I can only extend my best wishes to those who had fought the good fight with.</p>
<p><img loading="lazy" decoding="async" style="display: none" src="https://blog.timc.idv.tw/wp-content/uploads/2017/03/the-story-of-firefox-os-1024x531.jpg" alt="" width="0" height="0" class="aligncenter size-large wp-image-2498" srcset="https://blog.timdream.org/wp-content/uploads/2017/03/the-story-of-firefox-os-1024x531.jpg 1024w, https://blog.timdream.org/wp-content/uploads/2017/03/the-story-of-firefox-os-500x259.jpg 500w, https://blog.timdream.org/wp-content/uploads/2017/03/the-story-of-firefox-os-768x398.jpg 768w, https://blog.timdream.org/wp-content/uploads/2017/03/the-story-of-firefox-os.jpg 2000w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fbens-story-of-firefox-os%2F&amp;action_name=Ben%26%238217%3Bs%20Story%20of%20Firefox%20OS&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/bens-story-of-firefox-os/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>好好的花時間</title>
		<link>https://blog.timdream.org/posts/time-well-spent-zh/</link>
					<comments>https://blog.timdream.org/posts/time-well-spent-zh/#comments</comments>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Wed, 01 Feb 2017 02:49:42 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2472</guid>

					<description><![CDATA[Time Well Spent 是一個宣導科技產品設計應該以人的價值為出發點的網站。他批評目前的科技產品以延長使用者的使用時間為目標，介面與互動總是設計成讓人會無法抗拒的繼續使用下去，或是竭盡所能地想要得到使用者的注意力，打斷現在正在專心做的事情。 這兩天和影片的作者聯絡，請他把 YouTube 的字幕翻譯功能打開，把中文字幕翻譯好。如果您在設計您的下一個網站或是 App，這是一個值得考慮的目標。 （人到了 30 歲對時間就會有不同的看法&#8230;）<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Ftime-well-spent-zh%2F&amp;action_name=%E5%A5%BD%E5%A5%BD%E7%9A%84%E8%8A%B1%E6%99%82%E9%96%93&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<p><iframe loading="lazy" width="640" height="360" class="aligncenter" src="https://www.youtube-nocookie.com/embed/tf9ZhU7zF8s?hl=zh-tw&amp;cc_load_policy=1" frameborder="0" allowfullscreen></iframe></p>
<p><strong><a href="https://www.timewellspent.io/">Time Well Spent</a></strong> 是一個宣導科技產品設計應該以人的價值為出發點的網站。他批評目前的科技產品以延長使用者的使用時間為目標，介面與互動總是設計成讓人會無法抗拒的繼續使用下去，或是竭盡所能地想要得到使用者的注意力，打斷現在正在專心做的事情。</p>
<p>這兩天和影片的作者聯絡，請他把 YouTube 的字幕翻譯功能打開，把中文字幕翻譯好。如果您在設計您的下一個網站或是 App，這是一個值得考慮的目標。</p>
<p>（人到了 30 歲對時間就會有不同的看法&#8230;）<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Ftime-well-spent-zh%2F&amp;action_name=%E5%A5%BD%E5%A5%BD%E7%9A%84%E8%8A%B1%E6%99%82%E9%96%93&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.timdream.org/posts/time-well-spent-zh/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/time-well-spent-zh/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>The slow death of RSS feed</title>
		<link>https://blog.timdream.org/posts/the-slow-death-of-rss-feed/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Mon, 30 Jan 2017 18:46:44 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2467</guid>

					<description><![CDATA[One of the sad things about a decentralized system is that they will never go away — they simply enjoy a slow death with critical infrastructures being turned off one at a time. I was recently told that Google Feed API had been shut down, years after Google closes the Reader. It, unfortunately, breaks many [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthe-slow-death-of-rss-feed%2F&amp;action_name=The%20slow%20death%20of%20RSS%20feed&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.timc.idv.tw/wp-content/uploads/2017/01/Stonehenge-1024x540.jpg" alt="" width="640" height="338" class="aligncenter size-large wp-image-2468" srcset="https://blog.timdream.org/wp-content/uploads/2017/01/Stonehenge-1024x540.jpg 1024w, https://blog.timdream.org/wp-content/uploads/2017/01/Stonehenge-500x264.jpg 500w, https://blog.timdream.org/wp-content/uploads/2017/01/Stonehenge-768x405.jpg 768w" sizes="auto, (max-width: 640px) 100vw, 640px" /></p>
<p>One of the sad things about a decentralized system is that they will never go away — they simply enjoy a slow death with critical infrastructures being turned off one at a time.</p>
<p>I was recently told that <a href="https://developers.google.com/feed/">Google Feed API</a> had been shut down, years after Google closes the Reader. It, unfortunately, breaks many of my &#8220;serverless&#8221; single-page web apps (the <a href="https://timdream.org/wordcloud/">HTML5 Word Cloud</a> being one prominent example).</p>
<p>Twitter closed the RSS feed for user timelines a few years ago. Facebook once had RSS feed for the profiles, but they realized they could put everyone in their walled garden.</p>
<p>Granted, for the users&#8217; sake these centralized systems are better regarding the user experiences. There just wasn&#8217;t a viable evolution path for the RSS ecosystem (or, &#8220;blogging,&#8221; in layman&#8217;s term) to outgrow the walled garden today.</p>
<p>For the &#8220;better&#8221; user experiences, we traded in the portability of data, the ability to remix the data (like the Word Cloud case), and with the present democracy-endangering challenges like fake news, we ended up being inevitably helpless, and look at these mighty companies to tweak their algorithms. It&#8217;s just not their responsibilities to enable their users to read across the aisle.</p>
<p>The next thing should turn this around.<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthe-slow-death-of-rss-feed%2F&amp;action_name=The%20slow%20death%20of%20RSS%20feed&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/the-slow-death-of-rss-feed/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Thoth&#8217;s Pill &#8211; an Animated History of Writing</title>
		<link>https://blog.timdream.org/posts/thoths-pill-an-animated-history-of-writing/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Mon, 09 Jan 2017 15:59:25 +0000</pubDate>
				<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2460</guid>

					<description><![CDATA[You don’t normally find an educational video on YouTube ticks at 44 minutes mark, but I would strongly recommend you check this out if you are into this kind of things like me. Thoth&#8217;s Pill &#8211; an Animated History of Writing talks about writing systems across the world and what linguists think, as of present, [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthoths-pill-an-animated-history-of-writing%2F&amp;action_name=Thoth%26%238217%3Bs%20Pill%20%26%238211%3B%20an%20Animated%20History%20of%20Writing&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<p>You don’t normally find an educational video on YouTube ticks at 44 minutes mark, but I would strongly recommend you check this out if you are into this kind of things like me. <a href="https://www.youtube.com/watch?v=PdO3IP0Pro8">Thoth&#8217;s Pill &#8211; an Animated History of Writing</a> talks about writing systems across the world and what linguists think, as of present, how they had evolved.</p>
<p><iframe loading="lazy" src="https://www.youtube-nocookie.com/embed/PdO3IP0Pro8" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen" class="aligncenter"></iframe></p>
<p>The more you understand this, the more you would realize the traditional definition of ethnic groups/race cease to apply to the real world, and monoculture nation-states will never work beyond a few million people.<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fthoths-pill-an-animated-history-of-writing%2F&amp;action_name=Thoth%26%238217%3Bs%20Pill%20%26%238211%3B%20an%20Animated%20History%20of%20Writing&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/thoths-pill-an-animated-history-of-writing/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>When work cease to …… work</title>
		<link>https://blog.timdream.org/posts/when-work-cease-to-work/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Fri, 06 Jan 2017 15:28:54 +0000</pubDate>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Thoughts]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2437</guid>

					<description><![CDATA[One of the downside being a middle manager in the office is the loss of focus on the big picture and focused on getting your team, your company, and your product to succeed. The article, “F**k work” by James Livingston, asks for application of universal basic income, and what&#8217;s the shift of mindset the world would [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fwhen-work-cease-to-work%2F&amp;action_name=When%20work%20cease%20to%20%E2%80%A6%E2%80%A6%20work&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<p>One of the downside being a middle manager in the office is the loss of focus on the big picture and focused on getting your team, your company, and your product to succeed. The article, <strong>“<a href="https://aeon.co/essays/what-if-jobs-are-not-the-solution-but-the-problem">F**k work</a>” by James Livingston</strong>, asks for application of universal basic income, and what&#8217;s the shift of mindset the world would need to make that happen.</p>
<p><img loading="lazy" decoding="async" class="aligncenter wp-image-2456 size-full" src="https://blog.timc.idv.tw/wp-content/uploads/2017/01/IMG_6291-e1483688620872.jpg" width="1024" height="399" srcset="https://blog.timdream.org/wp-content/uploads/2017/01/IMG_6291-e1483688620872.jpg 1024w, https://blog.timdream.org/wp-content/uploads/2017/01/IMG_6291-e1483688620872-500x195.jpg 500w, https://blog.timdream.org/wp-content/uploads/2017/01/IMG_6291-e1483688620872-768x299.jpg 768w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></p>
<p>To me, it serves as a bloody reminder of what work is essentially about to individuals within the society, and what it has been unfulfilling for most of the people in the society (those who maybe ended up gave us Trump).</p>
<p>The broader issue covered by this post is how the economy can work without sank generations of creativity into just for bread and butter of their families. I have to admit that I immediately think of the Star Trek Federation society upon reaching this paragraph, where people work because of their aspirations and sense of achievement.</p>
<p>Incidentally, I have been reading <em>The Pleasures and Sorrows of Work</em> by Alain de Botton, and he too touches the meaning of work. Finland recently <a href="https://www.theguardian.com/world/2017/jan/03/finland-trials-basic-income-for-unemployed">became the first country implementing universal basic income</a>, but it applied as a tool for welfare reform, not a challenge to the meaning of work itself.</p>
<p>I don&#8217;t know what can be done to bring this kind of massive social change, something so fundamental, almost since the beginning of the human civilization. Nonetheless, we must remain helpful as that&#8217;s the only way to keep the dream alive.<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fwhen-work-cease-to-work%2F&amp;action_name=When%20work%20cease%20to%20%E2%80%A6%E2%80%A6%20work&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/when-work-cease-to-work/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
		<item>
		<title>Big5 與 WHATWG Encoding Standard</title>
		<link>https://blog.timdream.org/posts/big5-and-whatwg-encoding-standard/</link>
		
		<dc:creator><![CDATA[Timothy Chien (blog)]]></dc:creator>
		<pubDate>Fri, 06 Jan 2017 05:40:06 +0000</pubDate>
				<category><![CDATA[MozTW]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Planet MozTW]]></category>
		<guid isPermaLink="false">https://blog.timc.idv.tw/?p=2442</guid>

					<description><![CDATA[到了 2017 年還是要講 Big5 編碼&#8230;&#8230;這篇算是 But 的 Big5-UAO 從頭說起的續篇。 WHATWG Encoding Standard 是一個用 WHATWG 名義發表，試圖最後一次解決規範瀏覽器對 Web 的不同編碼的行為的規格書，還有提供標準的 DOM API。大約幾年前開始，規格書的編輯就和 MozTW 社群這邊討論，想要知道要如何產生一個統一的 Web 使用的 Big5 字碼表。 討論滿攏長的，總之最後的結論是因為在 Web 上沒有看到顯著的使用 Big5-UAO 編碼的網站，所以 Web 應該使用基於 Big5-HKSCS 的字碼表。那個字碼表後來也就和 Encoding Standard 一起被發表出來且實作在 Firefox 43 中。 當初其實和 but 一樣有點錯愕（或是哀傷）的，不過想想台灣（或是台灣的原 Big5-UAO 使用者）比起香港能夠先拋棄 Big5，到一種 Web 上量不到有使用狀況的情況，其實是一種成就啊。Big5-UAO 在 PTT 等環境的使用對使用者來說也是近乎透明的（由 BBS Client 直接支援），也算對這個字碼表的地位的重要承認。 會突然想起這事，後來也發現是因為跟 [&#8230;]<img src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fbig5-and-whatwg-encoding-standard%2F&amp;action_name=Big5%20%E8%88%87%20WHATWG%20Encoding%20Standard&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" />]]></description>
										<content:encoded><![CDATA[<p>到了 2017 年還是要講 Big5 編碼&#8230;&#8230;這篇算是 But 的 <a href="http://but.tw/2014/03/the-story-of-big5-uao-zhtw/">Big5-UAO 從頭說起</a>的續篇。</p>
<p><a href="https://encoding.spec.whatwg.org/">WHATWG Encoding Standard</a> 是一個用 <a href="https://whatwg.org/">WHATWG</a> 名義發表，試圖最後一次解決規範瀏覽器對 Web 的不同編碼的行為的規格書，還有提供標準的 DOM API。大約幾年前開始，規格書的編輯就和 MozTW 社群這邊討論，想要知道要如何產生一個統一的 Web 使用的 Big5 字碼表。</p>
<p><div id="attachment_2446" style="width: 1010px" class="wp-caption aligncenter"><a href="http://xkcd.tw/927"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2446" src="https://blog.timc.idv.tw/wp-content/uploads/2017/01/standards-xkcd-tw.jpeg" alt="" width="1000" height="584" class="size-full wp-image-2446" srcset="https://blog.timdream.org/wp-content/uploads/2017/01/standards-xkcd-tw.jpeg 1000w, https://blog.timdream.org/wp-content/uploads/2017/01/standards-xkcd-tw-500x292.jpeg 500w, https://blog.timdream.org/wp-content/uploads/2017/01/standards-xkcd-tw-768x449.jpeg 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></a><p id="caption-attachment-2446" class="wp-caption-text">XKCD: 標準規範</p></div></p>
<p>討論滿攏長的，總之最後的結論是因為在 Web 上沒有看到顯著的使用 Big5-UAO 編碼的網站，所以 Web 應該使用基於 Big5-HKSCS 的字碼表。那個字碼表後來也就和 Encoding Standard 一起被發表出來且實作在 Firefox 43 中。</p>
<p>當初其實和 but 一樣有點錯愕（或是哀傷）的，不過想想台灣（或是台灣的原 Big5-UAO 使用者）比起香港能夠先拋棄 Big5，到一種 Web 上量不到有使用狀況的情況，其實是一種成就啊。Big5-UAO 在 PTT 等環境的使用對使用者來說也是近乎透明的（由 BBS Client 直接支援），也算對這個字碼表的地位的重要承認。</p>
<p>會突然想起這事，後來也發現是因為跟 HKSCS 有關：#whatwg 上面在問 Encoding Standard 表的重複對應問題，研究之後發現是因為 Big5-HKSCS 沒有處理，把變成重複編碼只對應到單一的 Unicode 字碼導致的。原本 Big5 的重複文字有兩個，會對應到 <a href="https://en.wikipedia.org/wiki/CJK_Compatibility_Ideographs">CJK Compatibility Ideographs</a> 去。</p>
<p>我昨天也就順手更新了 MozTW 網站上那份 <a href="https://moztw.org/docs/big5/">Mozilla 系列與 Big5 中文字碼</a>文件（不知為何後來就變成我維護了）。希望這次是最後一次更新了。相關的討論都有在那份文件上連結，可供參考。<img loading="lazy" decoding="async" src="https://stats.timdream.org/piwik.php?idsite=2&amp;rec=1&amp;url=https%3A%2F%2Fblog.timdream.org%2Fposts%2Fbig5-and-whatwg-encoding-standard%2F&amp;action_name=Big5%20%E8%88%87%20WHATWG%20Encoding%20Standard&amp;urlref=https%3A%2F%2Fblog.timdream.org%2Ffeed%2F" style="border:0;width:0;height:0" width="0" height="0" alt="" /></p>
]]></content:encoded>
					
		
		
		<friends:post-format>standard</friends:post-format>

    <rsl:content url="https://blog.timdream.org/posts/big5-and-whatwg-encoding-standard/" server="https://blog.timdream.org/wp-json/rsl-olp/v1" lastmod="2025-09-21T00:37:28+00:00">
      <rsl:license>
        <rsl:prohibits type="usage">all</rsl:prohibits>
        <rsl:prohibits type="user">commercial,non-commercial,education,government,personal</rsl:prohibits>
        <rsl:payment type="attribution">
        </rsl:payment>
      </rsl:license>
    </rsl:content>
	</item>
	</channel>
</rss>
