<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Programming on Daniel @ Nowhere</title><link>https://plateaukao.github.io/blog/tags/programming/</link><description>Recent content in Programming on Daniel @ Nowhere</description><image><title>Daniel @ Nowhere</title><url>https://plateaukao.github.io/blog/images/banner/og.jpg</url><link>https://plateaukao.github.io/blog/images/banner/og.jpg</link></image><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 10 Jun 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://plateaukao.github.io/blog/tags/programming/index.xml" rel="self" type="application/rss+xml"/><item><title>How TinyRetroPad Works — a Notepad Clone in 2,794 Bytes of Assembly</title><link>https://plateaukao.github.io/blog/posts/how-tinyretropad-works/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0800</pubDate><guid>https://plateaukao.github.io/blog/posts/how-tinyretropad-works/</guid><description>A deep dive into trpad.asm: how a complete Windows Notepad clone — menus, dialogs, printing, find &amp;amp; replace — fits in 2,794 bytes of x86 MASM assembly, with diagrams of the architecture, message loop, and the Crinkler build pipeline.</description></item><item><title>My GitHub Activity — April &amp; May 2026</title><link>https://plateaukao.github.io/blog/posts/github-activity-april-may-2026/</link><pubDate>Sat, 06 Jun 2026 00:00:00 +0800</pubDate><guid>https://plateaukao.github.io/blog/posts/github-activity-april-may-2026/</guid><description>A data-driven look at two months of open-source work: 318 dev commits across 22 repos, what the line counts actually are (code vs. assets vs. docs), and why EinkBro dominated.</description></item><item><title>Kickstart Modern Android Development with Jetpack and Kotlin -- Catalin Ghita</title><link>https://plateaukao.github.io/blog/posts/kickstart-modern-android-development-with-jetpack-and-kotlin-catalin-ghita/</link><pubDate>Sun, 26 Jun 2022 13:26:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/kickstart-modern-android-development-with-jetpack-and-kotlin-catalin-ghita/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/a/AVvXsEiR91K77JLKtBQxeeMz28r8QXb8_zxOVJ3m_m5iXzoj7z8oXhw5G4QMJ1pOY1U_V_JZ8kJAC37Q7-bGlw48p79M3WwDxrH7TgH1GH8zMbkVptuQp1HmgA5keSUfpJN5I8TU3LuUwzMWQBw1CdVs3oQMaD4keZNSR0CRq91V7yP_e4LZEomP17Q1AGL0"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/7702191605544384962/AVvXsEiR91K77JLKtBQxeeMz28r8QXb8_zxOVJ3m_m5iXzoj7z8oXhw5G4QMJ1pOY1U_V_JZ8kJAC37Q7-bGlw48p79M3WwDxrH7TgH1GH8zMbkVptuQp1HmgA5keSUfpJN5I8TU3LuUwzMWQBw1CdVs3oQMaD4keZNSR0CRq91V7yP_e4LZEomP17Q1AGL0.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;第一次看完 Oreilly.com 上面的技術書。之前雖然也曾翻閱了很多本，但是因為它 APP 的介面很網頁，網頁又很不電子書，所以一直無法認真的完完整整地看完一本書(其實只是我定力不夠)。&lt;/p&gt;</description></item><item><title>前端框架 Svelte 上手指南，從基本介紹到 UI 實戰與測試</title><link>https://plateaukao.github.io/blog/posts/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6-svelte-%E4%B8%8A%E6%89%8B%E6%8C%87%E5%8D%97%E5%BE%9E%E5%9F%BA%E6%9C%AC%E4%BB%8B%E7%B4%B9%E5%88%B0-ui-%E5%AF%A6%E6%88%B0%E8%88%87%E6%B8%AC%E8%A9%A6/</link><pubDate>Mon, 02 May 2022 15:29:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6-svelte-%E4%B8%8A%E6%89%8B%E6%8C%87%E5%8D%97%E5%BE%9E%E5%9F%BA%E6%9C%AC%E4%BB%8B%E7%B4%B9%E5%88%B0-ui-%E5%AF%A6%E6%88%B0%E8%88%87%E6%B8%AC%E8%A9%A6/</guid><description>&lt;p&gt;看了那麼多閒書，還是偶爾要看看新的工具書，增加一點常識。IT 鐵人賽出了很多作品，份量都不會太多，可以在兩三天左右看完。這幾天把這本 Svelte 的入門書看完了。雖然之前學過 Javascript，但總覺得它的語法不是那麼地喜歡，所以還是一直沒有踏入前端的領域。但，看看這一塊新推出的 framework 總是可以當做參考。&lt;/p&gt;</description></item><item><title>30天與 Docker 做好朋友 跟鯨魚先生一同探索開發者的大平台</title><link>https://plateaukao.github.io/blog/posts/30%E5%A4%A9%E8%88%87-docker-%E5%81%9A%E5%A5%BD%E6%9C%8B%E5%8F%8B-%E8%B7%9F%E9%AF%A8%E9%AD%9A%E5%85%88%E7%94%9F%E4%B8%80%E5%90%8C%E6%8E%A2%E7%B4%A2%E9%96%8B%E7%99%BC%E8%80%85%E7%9A%84%E5%A4%A7%E5%B9%B3%E5%8F%B0/</link><pubDate>Mon, 28 Feb 2022 16:25:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/30%E5%A4%A9%E8%88%87-docker-%E5%81%9A%E5%A5%BD%E6%9C%8B%E5%8F%8B-%E8%B7%9F%E9%AF%A8%E9%AD%9A%E5%85%88%E7%94%9F%E4%B8%80%E5%90%8C%E6%8E%A2%E7%B4%A2%E9%96%8B%E7%99%BC%E8%80%85%E7%9A%84%E5%A4%A7%E5%B9%B3%E5%8F%B0/</guid><description>&lt;p&gt;一連借了兩本鐵人賽得獎作品出版的電腦書，一本是 Webpack 的教學，另一本是 Docker 的入門書。 Webpack 一書前面講了很多前端開發的各種 tools ，然後慢慢導入 Webpack 的操作教學。不過，畢竟不是在寫 code，而是說明怎麼利用 Webpack 把各種前端的元件做各種設定，最終產出可以在網頁上顯示的內容。看了約莫 1/3 就有點看不下去了。可能要先去看看 Vue.js，寫了點網頁相關程式後，再回來看會更有感覺吧。&lt;/p&gt;</description></item><item><title>line bot in python on Heroku</title><link>https://plateaukao.github.io/blog/posts/line-bot-in-python-on-heroku/</link><pubDate>Fri, 30 Dec 2016 10:25:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/line-bot-in-python-on-heroku/</guid><description>&lt;h1 id="加入-cloud-storage"&gt;加入 cloud storage&lt;/h1&gt;
&lt;p&gt;heroku addons:create cloudinary:starter&lt;/p&gt;
&lt;h1 id="加入-mongodb-support"&gt;加入 mongodb support&lt;/h1&gt;
&lt;p&gt;heroku addons:create mongolab&lt;/p&gt;
&lt;h1 id="imagesendmessage"&gt;ImageSendMessage&lt;/h1&gt;
&lt;p&gt;一定要用 https 不然會報錯，然後不知其所以然。&lt;/p&gt;</description></item><item><title>Android Studio 升級至 2.2 後的 gradle 問題</title><link>https://plateaukao.github.io/blog/posts/android-studio-%E5%8D%87%E7%B4%9A%E8%87%B3-22-%E5%BE%8C%E7%9A%84-gradle-%E5%95%8F%E9%A1%8C/</link><pubDate>Mon, 19 Dec 2016 15:26:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/android-studio-%E5%8D%87%E7%B4%9A%E8%87%B3-22-%E5%BE%8C%E7%9A%84-gradle-%E5%95%8F%E9%A1%8C/</guid><description>&lt;p&gt;Android 升到 2.2 後，原本在取得 version name 的方式更改了，所以下面原先的作法行不通：&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiShCr_jIiCyI21z6LERUm70IL1B-NZL2pwtAxGZAOXrrVM7m2WlhyPlfDZDpzuS_6clbimp7umqLYiILuuzRAMVMX-t6PgcZ1jxQK6nesM8txJbpFQLqDn_DhQ9yDDu52n0p7YfCrVmyY/s1600/Screen+Shot+2016-12-19+at+11.24.58+PM.png"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/3509823763714373228/Screen_Shot_2016-12-19_at_11.24.58_PM.png"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;錯誤訊息會說找不到 DefaultManifestParser。&lt;/p&gt;
&lt;p&gt;新版的gradle，其實可以直接用 variant 取得 version name了：&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0-B4vC_Oj_oxKMJJeaJ57m4CZPlADW_Gu_3KZptc4ekcPdzYplO7lMJi6hFKeSkdI6Id_7-nKGQz13bSsMvS_GnKnagvwxe9KwV0DfGdNsJpbdJS_IvNjWOv71go-2K3qpFKpn_Ep7j8/s1600/Screen+Shot+2016-12-19+at+11.26.16+PM.png"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/3509823763714373228/Screen_Shot_2016-12-19_at_11.26.16_PM.png"&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>升級 android studio</title><link>https://plateaukao.github.io/blog/posts/%E5%8D%87%E7%B4%9A-android-studio/</link><pubDate>Sat, 26 Nov 2016 09:10:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/%E5%8D%87%E7%B4%9A-android-studio/</guid><description>&lt;p&gt;有半年以上沒有動 Android Studio 了吧。最近又要開始使用 NerAudioList ，想說把原本串 parse.com 的部分改為 firebase，因為 parse.com 的大限快到了。為了改 code，只好升級一下 android studio，沒想到這是條漫長的路。&lt;/p&gt;</description></item><item><title>How to detect foreground process name in Android with Lollipop</title><link>https://plateaukao.github.io/blog/posts/how-to-detect-foreground-process-name-in-android-with-lollipop/</link><pubDate>Sun, 27 Sep 2015 04:10:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/how-to-detect-foreground-process-name-in-android-with-lollipop/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiE7rekh_acf6kdfks1EOpt7yQ50k-xVE8KFuquLVQgkmgGY2N5fEAHT-kdlU6VWnkciKck4dtmcYJrmBX4ZvK_O1QqO_voyZlvujNF1FNFhfeQxedMyDrH0e5QNzj6GT9J6UoLOjg-Pc/s1600/373538371_70f1fe9eeb_o.jpg"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/8280208682070887822/373538371_70f1fe9eeb_o.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(Katwijk.Holland)&lt;/p&gt;
&lt;p&gt;Android 一直改版，原本可以用的功能，因為安全性，因為有的 app 會亂搞，所以把許多流程和功能不是改得變複雜，就是直接拿掉了。&lt;/p&gt;
&lt;p&gt;原本一個很單純的抓取前景正在執行的程式名稱的功能，也變得愈來愈複雜。之前只需要抓一下getRunningTasks() 就可以找到想要的結果，但是現在得要為 application 加上新的 permission PACKAGE_USAGE_STATS，然後還要要求使用者進到 Settings &amp;gt; Security &amp;gt; User Apps with access to usage data , 勾選該 application 後才可以。&lt;/p&gt;</description></item><item><title>在 Pebble 上顯示中文的 Android 通知，和開發 Pebble 的簡單程式</title><link>https://plateaukao.github.io/blog/posts/%E5%9C%A8-pebble-%E4%B8%8A%E9%A1%AF%E7%A4%BA%E4%B8%AD%E6%96%87%E7%9A%84-android-%E9%80%9A%E7%9F%A5%E5%92%8C%E9%96%8B%E7%99%BC-pebble-%E7%9A%84%E7%B0%A1%E5%96%AE%E7%A8%8B%E5%BC%8F/</link><pubDate>Wed, 13 Aug 2014 15:51:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/%E5%9C%A8-pebble-%E4%B8%8A%E9%A1%AF%E7%A4%BA%E4%B8%AD%E6%96%87%E7%9A%84-android-%E9%80%9A%E7%9F%A5%E5%92%8C%E9%96%8B%E7%99%BC-pebble-%E7%9A%84%E7%B0%A1%E5%96%AE%E7%A8%8B%E5%BC%8F/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig759putKGCOvcdLTqDD1MA3lePfJ14dMQtYrps4bjKz_NEHYd5vsVYZLZSw_-EdqTLGx3_ohrEs2iPNvhZlvaQIweb1E9rApt7-7lavU1p4cz16vYuMbxDHY_nC-2HKkLvjl-WCbz5IU/s1600/2096998891_364264a8a1_o.jpg"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/3424188634377675216/2096998891_364264a8a1_o.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(Lyon)&lt;/p&gt;
&lt;p&gt;想在 Pebble 上顯示中文的話，iOS手機可以裝 PebbleCC ，Android手機的話可以裝 YaNC。不過 YaNC 在 Android 的 PlayStore 是要錢的。目前用 YaNC 的感覺還不錯。只是，如果一天下來訊息比較多的話，手錶變得比較快沒電。因為它是把訊息的內容傳成圖檔，然後把圖檔發到手錶上呈現。&lt;/p&gt;</description></item><item><title>AutoScreenOnOff 再升級</title><link>https://plateaukao.github.io/blog/posts/autoscreenonoff-%E5%86%8D%E5%8D%87%E7%B4%9A/</link><pubDate>Tue, 22 Jul 2014 15:00:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/autoscreenonoff-%E5%86%8D%E5%8D%87%E7%B4%9A/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil3UBhGHsgFo_2x5BBGgVhlNIGTrVc9zXdjYYTsavlC_K3tzjhakKbboVrJuWrIw56WrcOFEY4kMgz6OxJtHQpGlxGsndUzF5Iloo_oLw_gbR25LAXEnyqn0O8zf25P20SQpdDK9pUYNY/s1600/5479178966_7069c28f5f_o.jpg"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/5027626825927423780/5479178966_7069c28f5f_o.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(Dansui.Taiwan)&lt;/p&gt;
&lt;p&gt;前幾天花了半天加入 app 黑名單的功能後，評價還不錯，至少止血了。今天趁著明天颱風要來早點回家，花了一個多小時，把一個單純的 screen off widget 給加了進去。&lt;/p&gt;
&lt;p&gt;花的時間比預料的快很多，因為本來在 notification 的互動中就已經有這個 intent 和處理邏輯在了，今天只是照著原本的 widget 再生一個出來，然後設定個 pendingIntent 給它，就收工了。&lt;/p&gt;</description></item><item><title>如何讓 Android 中的 Activity 不要顯示任何畫面</title><link>https://plateaukao.github.io/blog/posts/%E5%A6%82%E4%BD%95%E8%AE%93-android-%E4%B8%AD%E7%9A%84-activity-%E4%B8%8D%E8%A6%81%E9%A1%AF%E7%A4%BA%E4%BB%BB%E4%BD%95%E7%95%AB%E9%9D%A2/</link><pubDate>Sun, 22 Jun 2014 03:08:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/%E5%A6%82%E4%BD%95%E8%AE%93-android-%E4%B8%AD%E7%9A%84-activity-%E4%B8%8D%E8%A6%81%E9%A1%AF%E7%A4%BA%E4%BB%BB%E4%BD%95%E7%95%AB%E9%9D%A2/</guid><description>&lt;p&gt;&lt;a href="http://3.bp.blogspot.com/-899VDUUPPQU/U6ZG46PQq8I/AAAAAAAA9YQ/XLkOcTeJ7h4/s1600/P6210357.JPG"&gt;&lt;img loading="lazy" src="http://3.bp.blogspot.com/-899VDUUPPQU/U6ZG46PQq8I/AAAAAAAA9YQ/XLkOcTeJ7h4/s1600/P6210357.JPG"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(ShinShan.Dream Lake.Taipei)&lt;/p&gt;
&lt;p&gt;北部難得可以找到人少一點的景點。&lt;br&gt;
之前來路跑竟然沒有看到。&lt;/p&gt;
&lt;p&gt;*****&lt;br&gt;
最近又在寫小 app，但總是在畫面上卡關，一直無法很順利的進行。&lt;br&gt;
今天早上起床，順手又改了幾個自己在使用上覺得不夠方便的地方，&lt;br&gt;
然後，就是這麼自然地，在網路上逛到了如何解決自己試了很久都沒成功的功能。&lt;/p&gt;</description></item><item><title>在Lime HD中快速啟動語音輸入法</title><link>https://plateaukao.github.io/blog/posts/%E5%9C%A8lime-hd%E4%B8%AD%E5%BF%AB%E9%80%9F%E5%95%9F%E5%8B%95%E8%AA%9E%E9%9F%B3%E8%BC%B8%E5%85%A5%E6%B3%95/</link><pubDate>Sun, 09 Jun 2013 16:14:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/%E5%9C%A8lime-hd%E4%B8%AD%E5%BF%AB%E9%80%9F%E5%95%9F%E5%8B%95%E8%AA%9E%E9%9F%B3%E8%BC%B8%E5%85%A5%E6%B3%95/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjET2NbPqiLgS1jQfefljsHsCOhB_RguQIl6CxPH8NfB6LI7LheAdl4swjFw-C97xjwnm0YeHF_vXL-4rEPHw1vNx0_yGY4PizHpXRSiNPQ1K7a48oElZ7jd7yGjMc3VICBG0yJaZIpkmI/s1600/8988184819_15e50ca1d3_k.jpg"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/8586416849300642508/8988184819_15e50ca1d3_k.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(富貴角.Taiwan)&lt;/p&gt;
&lt;p&gt;剛剛試了一下谷歌的語音輸入，覺得有些時候應該蠻實用的。所以打算幫它在Lime HD中加個快速切換的功能。在Lime HD中原本就有開啟Google語音輸入法的方式，只是我覺得有點太麻煩了。原本的方式是：&lt;/p&gt;</description></item><item><title>Some hacking articles about IdeaVIM under Intellij</title><link>https://plateaukao.github.io/blog/posts/some-hacking-articles-about-ideavim-under-intellij/</link><pubDate>Thu, 06 Jun 2013 09:25:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/some-hacking-articles-about-ideavim-under-intellij/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBEpsQy74f0fYeoMhwGLS7gW9V5HzxpWm6Q25sPDV7x8AsH0up4rQqdMYVbA9yNPATU46UCO8sjGeSy2CwF4QjoSbNbZ-SPRa89ajFYNkuaSnxoL12Q9KNEpd_ovWrpK1m9y-_PiqRe8U/s1600/376535441_f2749ab9f5_o.jpg"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/2169089169489441445/376535441_f2749ab9f5_o.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; (Leiden.Netherlands)&lt;/p&gt;
&lt;p&gt;IdeaVIM is a vim-like input plugin for intellij IDE, good for text editing but not so powerful if you want to use it for other IDE tasks, for example accessing menu actions by defining keyboard shortcuts.&lt;/p&gt;
&lt;p&gt;Fortunately, someone in Japan branched the source codes on GitHub, and wrote some tweaks to make it possible to configure all kinds of Intellij menu items to keyboard shortcuts as you wish in a config file.&lt;/p&gt;</description></item><item><title>How to make testing work under Android Studio</title><link>https://plateaukao.github.io/blog/posts/how-to-make-testing-work-under-android-studio/</link><pubDate>Mon, 03 Jun 2013 18:10:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/how-to-make-testing-work-under-android-studio/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRwdn-OO7RZKl-TOaAR_dCycKGE6rbR5gzsgfBeKfDdxBKWSyK9JGLMHe30e1oDSjrJ21NzdxDDYRzVKnLDxiB29grSsUyw3y7_AVIv2fbAegotzEN1_8mxvhbS2D0NR3jg7ju5zlTEoY/s1600/2044110721_0ef215ae91_b.jpg"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/5121282738638358012/2044110721_0ef215ae91_b.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(Geneve.Swiss)&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s such a pain to look for solutions for tasks on Android Studio. When can it be mature enough and more well documented for developers?&lt;/p&gt;
&lt;p&gt;I would like to write some test cases for my small app, but I couldn&amp;rsquo;t find a way for adding test cases into Android Studio project and have it run successfully.&lt;/p&gt;
&lt;p&gt;After wandering around on the internet for a long time, eventually I found a link that did helped me out (see reference below). As Google I/O 2013 video said, a new android build system made of gradle is released, which will be more flexible, more powerful, more etc, etc. However, currently, it &amp;rsquo;s not well integrated into Android Studio. Some modification in Android Studio won&amp;rsquo;t be directly reflected in gradle build scripts. Well&amp;hellip; then, how do I know when I should modify build scripts my self? And to write it by myself, I have to learn groovy first, because that&amp;rsquo;s the language Gradle used to write its build configuration files. How could I master these things in a short time&amp;hellip;&lt;/p&gt;</description></item><item><title>Gradle build error in comman line for Android Studio app projects</title><link>https://plateaukao.github.io/blog/posts/gradle-build-error-in-comman-line-for-android-studio-app-projects/</link><pubDate>Sat, 01 Jun 2013 10:48:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/gradle-build-error-in-comman-line-for-android-studio-app-projects/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-WHtgdkil91ENmSTBLGwpAI9QULuGSjCaYJLrnDE1O3sX0ihyphenhyphenyQKP8H77b43aEiu8NebiD3nK4aZHPjabq0M-cMprgc9UpLu6ZM0FitVeZWmMQ2t8bkkcuehDzt9ysZkwS15b89i8y04/s1600/IMAG1396_ZOE001-MOTION.gif"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/4105251298569710537/IMAG1396_ZOE001-MOTION.gif"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I saw someone met the same problem on StackOverflow. Fortunately,  I found out how to make it work. So leave some notes here:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;upgrade Gradle version to 1.6&lt;/li&gt;
&lt;li&gt;Afterward, running &amp;ldquo;gradle build &amp;ndash;stacktrace&amp;rdquo;, you will see that ANDROID_HOME environment variable is required to be set up.&lt;/li&gt;
&lt;li&gt;on Mac, add following line to your ~/.bash_profile&lt;br&gt;
export ANDROID_HOME=&amp;quot;/Applications/Android Studio.app/sdk/&amp;quot;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now it should work like a charm!&lt;/p&gt;</description></item><item><title>OrientationEventListener on Android to get current rotation degree</title><link>https://plateaukao.github.io/blog/posts/orientationeventlistener-on-android-to-get-current-rotation-degree/</link><pubDate>Tue, 28 May 2013 06:33:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/orientationeventlistener-on-android-to-get-current-rotation-degree/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBVQ2cfHm1kM4nepIjwibq6OaC71jHz9ag8kF6POLx5xp01sEnfj4Vu5yqscbUxLnqfm11986jvG_HuiSC0GGpelUtx5_bV-4aVlG5W5-Epv1OSNiT6MvxbP3_XDMF5AqbUxyIUmb4pp0/s1600/4120153199_93cc8874c2_b.jpg"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/1898616034331393813/4120153199_93cc8874c2_b.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(Central Park.New York)&lt;/p&gt;
&lt;p&gt;Strangely, it&amp;rsquo;s not possible to get current rotation angle in android directly, except for getting the fixed 4 rotation modes: 0, 90, 180, 270. In order to get precise rotation degrees instead of rotation modes, &lt;strong&gt;OrientationEventListener&lt;/strong&gt; can be used. Once it&amp;rsquo;s implemented, you can get the rotation degree in onOrientationChanged(). It&amp;rsquo;s a lot easier than manipulating values from all the sensors like gyroscope, accelerator, etc.&lt;/p&gt;
&lt;p&gt;REF:&lt;/p&gt;</description></item><item><title>Tips for using AdMod module in Android Studio</title><link>https://plateaukao.github.io/blog/posts/tips-for-using-admod-module-in-android-studio/</link><pubDate>Fri, 24 May 2013 12:53:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/tips-for-using-admod-module-in-android-studio/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg6140x8Ka-rgVPQWxfU_YXAzJ7ymtb5F4_yx0JJBowZTWLLgvrCz00OyCDKFSiN9H3WMNvgdgpLnui-WjDT-ZXNdLcQgCCqVqxvnbGYNqosuO3OkxljAFsWpeRgAevknJzUVYWMVFja4/s1600/2043865899_2f123a0ab8_b.jpg"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/7263569642981193798/2043865899_2f123a0ab8_b.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(Geneva.Swiss)&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s pain in the ass to use Android Studio now, since it&amp;rsquo;s just published, which implies bugs appear every now and then, and you&amp;rsquo;re not sure it&amp;rsquo;s due to your misunderstanding of this IDE, or it&amp;rsquo;s really an issue. In addition, it&amp;rsquo;s  relatively hard to find How-to answers comparing to ADT plugin with Eclipse.&lt;/p&gt;
&lt;p&gt;While trying to set up AdMob module in my project on Android Studio, it took me some time to fix some external library import errors that should be clearly mentioned in online AdMob doc, or even better, just integrate it into &amp;ldquo;Android Studio&amp;rdquo;.  Isn&amp;rsquo;t Android Studio meant to make Android developers&amp;rsquo; life easier?&lt;/p&gt;</description></item><item><title>Enhance Reading Experience for Android Dev website</title><link>https://plateaukao.github.io/blog/posts/enhance-reading-experience-for-android-dev-website/</link><pubDate>Mon, 20 May 2013 13:59:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/enhance-reading-experience-for-android-dev-website/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLpsgFNOceP2dHRq-uo1hUf10LUxZea48Lx4JWZKJfeKGcbSWoPc5Ht4ejd3uTQmxoW4CF8EMm-yz-4Uoo-IikDoNWhETYbH0OB_okwKG-HNXxzt9clq5tKx9aIqY5KFRtU4xAa2T0HsE/s1600/266808319_85a363fd82_o.jpg"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/8040249807488410138/266808319_85a363fd82_o.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Recently I spend most of my time reviewing documents on google&amp;rsquo;s android official site. It annoys me that the left side of the screen is always occupied by the content index; however, I just need to change articles once in a while by using it. It makes me feel bad that one third of the screen is wasted. In addition, it also distracts me while I was reading.&lt;/p&gt;
&lt;p&gt;As a consequence, I searched internet to see if there&amp;rsquo;s any extension, plugin, or script to help me hide the navigation panel when I want to do so. Out of luck, no. Maybe it&amp;rsquo;s too tiny to have someone work on it.&lt;/p&gt;</description></item><item><title>AVPlayer and AVAudioPlayer on iOS</title><link>https://plateaukao.github.io/blog/posts/avplayer-and-avaudioplayer-on-ios/</link><pubDate>Sat, 30 Mar 2013 19:51:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/avplayer-and-avaudioplayer-on-ios/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdfJrn8gP7eOHOKH6QXw8egnA5uXreSwpz_58r_bAc9xLGe44X-9zSd2_nb_XZhyphenhyphenKRdWwJ4CB8wZhGlyuOV__3eeuLvOT4thvqdue8ZRLxg1v_-s7AQ7fVM2fGuHv8u9LXoJGmNc0yLQ8/s1600/376379415_52e857274b_b.jpg"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/3913354364059932815/376379415_52e857274b_b.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(Polderpark.Netherlands)&lt;br&gt;
I like the bright color in this picture. Although this photo was taken almost 10 years ago, the image quality is so great that I still can&amp;rsquo;t believe it&amp;rsquo;s taken by a cheap camera at that time.&lt;/p&gt;
&lt;p&gt;****&lt;br&gt;
It&amp;rsquo;s easy to play and control local mp3 files by using AVAudioPlayer. However, if someone wants to stream playing mp3 files from the internet, he should try AVPlayer instead.&lt;/p&gt;
&lt;p&gt;Spend most of my time trying to find a remote mp3 for testing. Too bad that I just can&amp;rsquo;t even find one. Eventually, I gave up searching on the internet. Instead, I use following python command to create a simple http server locally on my mac:&lt;/p&gt;</description></item><item><title>Big Data and Hadoop</title><link>https://plateaukao.github.io/blog/posts/big-data-and-hadoop/</link><pubDate>Thu, 28 Feb 2013 14:16:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/big-data-and-hadoop/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisXOeZtJtfHaSiH7YNWnOUhcNLVmWnq0Yf_BO-oRpaAcdw2aDvkjZ3dz9KbHeF0In2PepfiyzBR_yqwYOpwiHkELfWnd2b7QCNGfUxZ79HqJ8m8buii8nUYxo_lYYhyyWJzNdpsUZAgfE/s1600/392332859_6d08197b35_b.jpg"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/1841076477405711307/392332859_6d08197b35_b.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; Spring.Taiwan&lt;/p&gt;
&lt;p&gt;Read the book &amp;ldquo;Understanding Big Data&amp;rdquo; today. Half way done.&lt;br&gt;
Here&amp;rsquo;s some excerpts from the book:&lt;/p&gt;
&lt;h2 id="understanding-big-data"&gt;Understanding Big Data&lt;/h2&gt;
&lt;p&gt;2013-02-28 15:45:37&lt;/p&gt;
&lt;p&gt;the term Big Data applies to information that can’t be processed or analyzed using tradi-tional processes or tools&lt;/p&gt;
&lt;p&gt;2013-02-28 15:46:12&lt;/p&gt;
&lt;p&gt;An
IBM survey found that over half of the busi-ness leaders today realize
they don’t have access to the insights they need to do their jobs&lt;/p&gt;
&lt;p&gt;2013-02-28 15:48:45&lt;/p&gt;</description></item><item><title>在未參加iOS developer program的前提下，在iPhone/iPad實機上測試開發中app</title><link>https://plateaukao.github.io/blog/posts/%E5%9C%A8%E6%9C%AA%E5%8F%83%E5%8A%A0ios-developer-program%E7%9A%84%E5%89%8D%E6%8F%90%E4%B8%8B%E5%9C%A8iphoneipad%E5%AF%A6%E6%A9%9F%E4%B8%8A%E6%B8%AC%E8%A9%A6%E9%96%8B%E7%99%BC%E4%B8%ADapp/</link><pubDate>Wed, 20 Feb 2013 17:05:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/%E5%9C%A8%E6%9C%AA%E5%8F%83%E5%8A%A0ios-developer-program%E7%9A%84%E5%89%8D%E6%8F%90%E4%B8%8B%E5%9C%A8iphoneipad%E5%AF%A6%E6%A9%9F%E4%B8%8A%E6%B8%AC%E8%A9%A6%E9%96%8B%E7%99%BC%E4%B8%ADapp/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfEJiGEAyGQHuz8DlVIokJQa2JvVMLo404-Rucgn4c8LcfktrQ57pHR8m9rf0Rya8_fpV2837GnCuEnNjwg_mupyGtl72sksPwA7ST3DA0KlPN9GoOGn_zv7CAoNnszqAdfUbhUBC-ttc/s1600/5427758925_c8ff86cf54_b.jpg"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/8686974382411629765/5427758925_c8ff86cf54_b.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(Taipei.Taiwan)&lt;/p&gt;
&lt;p&gt;該做的正事不認真，寫程式倒是花了不少時間。&lt;br&gt;
今天總算有了點進展，先是把addTags的功能搞定，&lt;br&gt;
再來是加上了Favorites的頁面，可以顯示自己加過特定tags的照片。&lt;/p&gt;</description></item><item><title>難搞的oAuth Process和文件不夠清楚的flickr Developer Documentation</title><link>https://plateaukao.github.io/blog/posts/%E9%9B%A3%E6%90%9E%E7%9A%84oauth-process%E5%92%8C%E6%96%87%E4%BB%B6%E4%B8%8D%E5%A4%A0%E6%B8%85%E6%A5%9A%E7%9A%84flickr-developer-documentation/</link><pubDate>Wed, 20 Feb 2013 08:01:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/%E9%9B%A3%E6%90%9E%E7%9A%84oauth-process%E5%92%8C%E6%96%87%E4%BB%B6%E4%B8%8D%E5%A4%A0%E6%B8%85%E6%A5%9A%E7%9A%84flickr-developer-documentation/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUwDDiP6tXiXeCalEFbCDyHws-o51nXfHedo_05V1O_lorhaZ9aG8zCFHavd89UZcSlYhLVNBWbugPWnKY-367BgHs4cesl-y_4-MxLP2THz5kE89Fz_PpybAYTLsT0FPpiz0QAaAotgc/s1600/197084726_44e5127d95_o.jpg"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/6270304994648693634/197084726_44e5127d95_o.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(JingMei Bridge.Taipei)&lt;/p&gt;
&lt;p&gt;試圖為抓下來的圖片加上一個tag，查了flickr api dev guide，對於這種request應該要使用post method才行。可是flickr上的api explorer還是用舊的token方式，而api說明頁又說得不清不楚，只說舊版的token要deprecated，要用新版的oAuth。卻沒說清楚oAuth的signature要怎麼生出來。&lt;/p&gt;</description></item><item><title>iOS Programming</title><link>https://plateaukao.github.io/blog/posts/ios-programming/</link><pubDate>Sun, 17 Feb 2013 17:53:00 +0000</pubDate><guid>https://plateaukao.github.io/blog/posts/ios-programming/</guid><description>&lt;p&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSImWX9Msl0eURcqtfuSm2aWgLmzZ6zr84k9TSY5-qkvbkqXE8DlR7YUF0XXJKAtZCQjFg3M9gP_07TNJcEDeC28E0mK-jX0IGUyeFVO8Pl0soXkbQDW_m7TC8jvnD7b7fOv9YP99IlP8/s1600/8407172630_18d28a2ed3_b.jpg"&gt;&lt;img loading="lazy" src="https://plateaukao.github.io/blog/images/blogger/285253268776997783/8407172630_18d28a2ed3_b.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(Chamonix.France)&lt;/p&gt;
&lt;p&gt;看了幾課教學後，總算是有點小進度了。&lt;br&gt;
不看還不曉得，原來xcode的開發環境這麼完整和方便，&lt;br&gt;
是我太久沒有接觸開發環境了嗎？&lt;br&gt;
感覺上eclipse的android開發環境還是那麼地原始呀。&lt;/p&gt;</description></item></channel></rss>