GM2019第四日– Breathwork,bottle pickup,office hour,夜包漫威島

今天一早走入早餐區,就可以感受到一股躁動的氣氛 –– 因為,今晚我們會包場環球影城Islands of Adventure中的漫威島! 平常早餐時間大家多是互相寒暄一下GM目前過得怎樣啦,時差調好沒昨晚睡得好不好啊,做專案還是上課啊,今天則大多在討論晚上的行程,有些人興奮到眼睛都要瞪出血來了。

不過玩樂前該做的還是得做,我們貼心的GM籌組小組似乎為了避免大家被腎上腺素沖昏了頭,早上的Keynote安排了Breathwork體驗。

繼續閱讀 “GM2019第四日– Breathwork,bottle pickup,office hour,夜包漫威島"

GM2019第三日–主題演講佐馬拉松式討論

動真格的日子來了,GM的一切歡笑與崩潰,就在這一天開始。所幸亞洲區夥伴們–通稱Asiamatticians,自有妙方:以亞洲區點心交換會開啟一天。

滿了,都滿了…
印度、印尼、越南、泰國、日本、南韓、馬來西亞、巴基斯坦以及俺們台灣,來自亞洲各區的好貨一瞬間堆滿整張桌子。我今年帶的是義美小泡芙、義美煎餅、戲院口魷魚和俺太座大人手工製作鳳梨酥與珍珠奶茶酥;太座大人產品甫上桌就消失在人間,彷彿不曾存在過般,令人感到溫馨。三年前我們第一次辦這個早餐交換會時人只夠坐一桌,現在已經要擠三張桌了,看來明年四張甚至五張不是夢。

吃飽喝足,就是早上的主題演講時間了。

繼續閱讀 “GM2019第三日–主題演講佐馬拉松式討論"

GM2019第二日–開幕

昨日被漫漫長路折騰一天加上social個沒完的welcome party後,我一晚好眠到早上6點才起床。距離早餐時間還有2小時,該怎麼辦呢?心想先去健身房看看吧,動一動讓自己清醒清醒,準備面對接下來滿滿一天的行程。到門口一看,只見運動成性的同事們在時差襲擊下老早就攻佔整間健身房。走進房內,到處都是催谷肌肉的劈啪響聲,跑步機和飛輪旁濕漉漉地一大灘汗,都不曉得已經搞了幾K了。我呢?默默踩上滑步機調入門模式輕輕鬆鬆地踩,眼睛餘光瞄到有人進來的時候就誇張地喘一下,『哈、哈,我可以 … 我可以 …』好像已經滑了幾公里一樣,總算是有點融入感。

『演』完了之後匆匆去Pavillion大帳篷用早餐:

我也不知道為什麼這邊的優格是用馬丁尼杯來吃,但這椰奶優格還不錯。

再來就是今天的重頭戲了:Matt的開幕講演。

繼續閱讀 “GM2019第二日–開幕"

GM2019首日–登入

又到了一年一度的Automattic大拜拜–Grand meetup了,這是我第四度參與,也會是我第一次沒提專案也沒做專案。為什麼呢?主要是想換個方式參與看看。過去為了趕專案,課程沒得上,workshop沒得做;大家啤酒配趴踢玩通宵,我啤酒配摳頂佐文件獄。我本身其實不是個玩咖,但人生還這麼長,總是要嘗試點一天狂摳12小時之外的事。

繼續閱讀 “GM2019首日–登入"

肥軟工程師的腦補NTRP2.0 – 2.5攻略

View this post on Instagram

久違的網球

A post shared by James Tien (@southp0105) on

View this post on Instagram

太氣了,邊摳邊打

A post shared by James Tien (@southp0105) on

從學生時代起,網球就一直是我最喜歡的球類運動。小孩出生時中斷了4年多,現在小子長大上場打球了,我也藉機回到場上;重溫樂趣之餘,也想看看自己在比賽中能打到什麼程度。台灣的業餘賽事本來就少,舉辦在北部的少,能以個人名義出賽的少少,能給我這種菜鳥玩的更是少少少。因此在等待下次機會的同時,順便寫篇文章總結一下心得。因為還沒有機會驗證成效,這只能算是『腦補攻略』而已。

謎之音:沒搞錯吧?入門級的比賽還需要攻略喔?

快別這麼說 Q_O 如果能每天練個幾小時,當然是不需要啦。但像俺這種每天摳頂摳不停又要照顧小孩的軟體攻城獅,當然要做點計畫利用有限的資源,提升一點機會。

繼續閱讀 “肥軟工程師的腦補NTRP2.0 – 2.5攻略"

用nginx + docker配置多個WordPress站的基本設定

前幾天和幾位朋友聊到WordPress測試環境的配置。有時候為了測試更貼近實際使用狀況,單靠ChassisVVV的開發環境還遠遠不夠,還需要實際將功能上到有公開網域的WordPress站上才行。這時我比較常用的方法是直接靠nginx做reverse proxy將某個子網域對應到一個WordPress Docker容器,這樣既不用擔心測試中污染環境,從配置到銷毀都快速又乾淨。例如https://jptest.southp.dev/就是我拿來測試Jetpack用的(空空的,沒啥好看的啦)。

因為我只是自己測試用的,所以一直以來我都只用一些很基本的手法來做這件事,沒想聊一聊發現好幾個人都跟我一樣,不需要用到這麼多複雜的套件,只想要非常簡單的方法就好,所以寫這篇文章簡述一下。

繼續閱讀 “用nginx + docker配置多個WordPress站的基本設定"

我們與PHP的距離(二): 任性的大小寫

本系列專為從PHP之外的語言開啟碼農人生、卻因命運安排整天與PHP為伍的人撰寫,收集一些從其他語言的角度看來不可思議的設計。如果能讓在讀這篇文章的你在實務上踩到而懷疑人生前就釋懷,就是我莫大的榮幸。

前言

前篇gethostbyname(),本篇討論少見於PHP之外的設計:varying case sensitivity,也就是某些情況下大小寫相關,某些情況下大小寫無關。總之,就是任性。

可能因為我個人有經年累月的大小寫相關的程式編寫習慣,再加上linter層層把關,我大概兩年多才發現有這個特性,當下簡直是晴天霹靂、茅廁頓開,在這非黑即白的大小寫相關性世界,PHP竟仍能為我們開一扇窗;彷彿在提醒我們,看待世間萬物切勿抱持成見,才能看見真實。

常有人說PHP是如詩般的語言,這,何嘗不正是其獨有的詩意呢?

嘴夠了,進入正題

更精確來講,PHP的大小寫相關性是:

  • 函式名、命名空間名與類別名大小寫無關
  • 變數名、常數名大小寫相關

啊啊啊啊啊啊啊啊啊啊啊啊啊

大部分的時候這都只會造成一些小驚喜,像這樣:

class Foo {
    const ABC = 'I am a constant';
    static function bar() { ... }
}
$poetry = 'I am a variable';

Foo::bar();  // 可以
foo::Bar();  // 嗯,有何不可
print_r( $poEtry ); // 不行喔
print_r( Foo::aBC ); // 討厭,就說不行了,都欺負人家 ...

但一個沒站穩,玻璃心還是會摔碎的。

繼續閱讀 “我們與PHP的距離(二): 任性的大小寫"