發表文章

目前顯示的是 2015的文章

拔智齒心得

過了一個禮拜終於可以寫寫拔了這顆智齒的心得感想。 首先,如果有任何人跟你說拔智齒不會痛,那他一定是騙你的! 在拔智齒之前,我看了好幾個醫生,因為他長出來一點點,所以牙齦會反覆的發炎,讓我不堪其擾,就決定乾脆把他拔掉算了,而一般牙科診所都叫我去大醫院拔。 於是我選擇台大醫院,拔的過程共歷時兩個多小時,因為我這顆智齒的牙根長得特別深,所以拔了特別久,也讓我的皮肉非常痛,外加醫生在我嘴巴內的傷口也開了大了一點... 過程不加贅述,反正就是歷經千辛萬苦,第一個醫生比較嫩,拔很久拔不乾淨,找了台大的另外一個主治醫生來拔才拔掉... 總之,我要說的是拔完以後的事。 前48小時要冰敷,這非常重要,會不會痛到你叫媽媽就看這前兩天了(麻藥剛退的時候是真的蠻痛的)。我是回家以後冰敷15分鐘,休息15分鐘如此反覆一整個晚上,直到睡著。冰敷的目的是止血和止痛。 隔天我照樣去上班,但是有空我就冰敷。 只要照著這樣做,就不會痛!(但是一樣會腫得跟豬頭三一樣)。 過了48小時以後就可以開始熱敷,熱敷的目的是消腫,反正一樣有空就敷一下。 藥一定要照著醫生的指示吃,醫生開給我抗生素是每8小時吃一次,我每吃完一次就調鬧鐘倒數8小時來提醒我要吃藥(夠認真了吧!)。 醫生跟我說不痛就不用吃止痛藥了,但是我沒有跟他挑戰,5天份的藥我吃光光。 前一兩天咬合不太順,而且會怕怕的,所以我大多吃很簡單的食物。但是肚子餓了也是什麼都照吃啦... 所以說好的不具名一直說我沒有達到減肥的功效 XD(還是要吃慢一點就是了)。 因為刷牙不方便,所以特別注重口腔清潔,我每吃完東西就去漱口,並且買了沒有酒精成分的漱口水來用。前幾天漱口非常的輕,水也不要用力吐出來,張開嘴讓他自然流出來是很好的方式。 這一整個禮拜最好都不要用吸管,避免傷口流血。 拔完以後其實基本上整體來說是不太會痛的,我覺得是因為前兩天冰敷跟吃止痛藥的效用,只要照著醫生指示做,麻藥退了以後也不會非常痛。

Windows上使用KillSerif Style來改進Firefox上的字型呈現

圖片
首先,先裝Google和Adobe一起推出的思源黑體。 Google Noto Fonts 看個人喜好,我也裝了華康中黑體這個中文的等寬字型: 華康中黑體 然後再加裝一些Firefox add-ons: Anti-Aliasing Tuner Stylish 接下來就是調整的部分了,首先加入Stylish的Style,目的是把網頁上常見的字型換成黑體,可以是微軟正黑體或是思源黑體,另外再加上陰影效果。 這是我的設定: KillSerif Style 然後是Firefox的字型設定: 再來是Anti-Aliasing Tuner的設定: 再接下來就是看成果囉: 首先,「美好的一天」: 然後是 Yahoo!台灣和日本 Yahoo!奇摩 Yahoo!Japan 看看Wiki的表現如何: Wiki正體中文 Wiki日本語 然後看看英語系的表現, Google New York Times 最後,同場加映套用了華康中黑體之後的BBSFox:

bye bye! DuckDuckGo

圖片
在堅持了將近4個月以後,我還是把瀏覽器上的預設搜尋引擎改回Google了。 Duckduckgo在英文搜尋上表現不俗,但是中文的搜尋就還是差了Google一段不小的距離。 話不多說,來看個例子吧。我想要找美國總統任內逝世的名單,同樣的關鍵字:「美國總統任內逝世」 這是DuckDuckGo的結果: 這是Google的結果: 這是用比較精確的關鍵字,Google其實只要輸入「美國總統任內」就可以找到我要的東西了... 只好暫時跟DuckDuckGo分手了... 對不起,我已經堅持了四個月啦 XD

我的書單

我喜歡的書,做一個整理。 不分類 Design Patterns: Elements of Reusable Object-Oriented Software Code Complete 2 Refactoring: Improving the Design of Existing Code Refactoring to Patterns The Art of Unit Testing Clean Code The Clean Coder Dreaming in Code The Art of Readable Code Software Architecutre in Practice Beautiful Code Coders at Work: Reflections on the craft of programming Java Effective Java Practical Java Java Performance: The Definitive Guide Java 8 Lamdbas Programming Clojure Spring in Practice C#/.NET C# in depth Adaptive Code via C# Effective C# More Effective C# C# Cookbook Concurrency in C# Cookbook Pro .NET Performance Writing High-Performance .NET code Microsoft .NET - Architecting Applications for Enterprise Learning .NET High-performance Programming Python Python Essential Reference Learning Python The Quick Python Book C++ C++ Primer Accelerated C++ Boost C++ Application Development Cookbook Effective C++ More Effective C++ Eff...

少用Facebook

這禮拜一(8/31),我早上醒來突然覺得我是不是不應該繼續躺在床上看Facebook?所以我刻意放下手機起床刷牙洗臉。然後我腦袋中突然跑出一句話「少用Facebook,他浪費你太多時間」,於是我東想西想,決定讓Facebook漸漸淡出我的生活。 XD 嗯,我不是不再使用,只是我不能再當一個重度使用者。我規定自己,只有在通勤的時候看。 過了兩天,今天是9/2,就好像我不用Google做我的主力搜尋引擎一樣,偶爾還是會用到,但是我不主動打開他。少用Facebook,你可以得到更多時間做真正更有意義的事。

回過頭來看C++

寫C#或Java也好幾年了,打從我研究所畢業以後就沒再碰過C,就這麼一腳踏入Java和.NET的世界。 幾年過去,重新燃起再學一次C++的想法,才發現Java這類的語言幫你把一堆事情都做完了,搞到最後其實自己已經不知道什麼事該做,或是有哪些小地方其實是程式設計師需要在意的。 重新再去思考C++的哲學,可以在很多很多方面重新把這段缺乏的知識補上。也許真實工作上沒有什麼太大的幫助,但是對自身的程式語言修養我相信一定會變好的。 喔,對了!其實對工作上還是有幫助的,起碼我發現當我在寫C#的時候變得好輕鬆,C#這麼簡單的程式語言可以讓我更關注在其他問題上。哈哈~

COSCUP 2015 小心得

如果參加每一個研討會都有一個目的,那這次的COSCUP就是讓我重拾對寫程式的熱情吧! 寫code本來是一件很有趣的事,但是變成工作以後這種熱情就會漸漸消失,當我發現世界上還有那麼多人抱持著熱情在寫程式,就讓我自己的熱情也跟著燃燒起來。 嗯,今天開啟久久沒動的Ubuntu了 XD

使用Mac的Preview來合併兩張圖片

圖片
很多人習慣用Windows的小畫家一定在Mac上有遇過這個問題:到底在不花錢的狀態下合併兩張圖片? 嗯,這需要一點點數學 XD 開啟兩張圖你要合併的圖,以下簡稱A, B 透過 Tools -> Adjust size 看到A和B的大小 我選的兩張圖大小都是1024x768,然後我打算把這兩張並排成一張圖 選A,按下command + a (⌘ - a) 全選,並且command + c (⌘ - c) 複製,並且更改寬度成1024+1024=2048,記得把鎖頭打開 這時候這A會被拉扯成這樣: 然後再把剛剛複製的那張原圖貼回去 然後再把B全選,貼到A,記得自己對齊好 存檔,結束 其實不難 XD

突然有感

每次遇到一個問題,我都會不自覺得問自己「can I do this?」,為了保持我的動力,我都會回答好幾次,「I can do it!」 每每都會讓我想起Steve Jobs那個驚人的演說,和最後的結語 -- Stay hungry, stay foolish. Stay hungry, stay foolish.

DuckDuckGo試用幾天後的心得

DuckDuckGo 是一個號稱不會log你的搜尋記錄的搜尋引擎,強調不會記錄你的搜尋內容。Google雖然強大,但是常常我在Google上搜尋過的東西會出現在Facebook的廣告中,讓我非常不開心。於是最近決定暫時和Google分開一段時間,看我能撐多久。 想不到結果出乎意料的好!基本上剛開始會有一種「找不到我要的東西,這東西可能不夠可靠」的感覺,這可能是心理問題,因為同樣的事發生在Google上的話,會讓人覺得「啊!東西真的找不到啊...」。 在DuckDuckGo身上,我找到第一次使用Google的感覺,頁面清爽、沒有廣告。而且不管是誰、在哪裡,下的關鍵字一樣,搜尋出來的結果就一樣。 但是有幾個地方還是美中不足,主要的地方是關鍵字必須下得比較精確,才可以找到相對應的東西。比方說:「mule sleep n seconds」,這幾個關鍵字,Google會知道我要的,大致會把這幾個關鍵字翻譯成:「mule esb delay n seconds」,但是DuckDuckGo就沒那麼聰明,我要確實的下「mule esb delay n seconds」才能在DuckDuckGo上找到我要的東西。 話說回來,Google應該真的看了我不少資料才知道我要找的是Mule ESB還是騾子吧 XD 這就是條件交換囉,隱私和便利之間總要有取捨。 此外,DuckDuckGo有提供非常貼心的功能,就是當你輸入 !g! 作為開頭,他就會自動幫你把這些關鍵字帶去Google搜尋,如果是 !yt! 開頭,就幫你帶去youtube搜尋影片,這樣多多少少保持一點彈性,還可以繼續使用Google的一些功能,比方說匯率換算 ex. !g! 200 JPY = ? NTD 這類的。 試試看吧,看我能撐多久不去用Google,我已經把iPhone, iPad和所有我用的到的PC、Mac預設搜尋引擎都改成DuckDuckGo了。

Git的強大,其他SVC怎麼辦?

這兩天花了很多時間研究這幾年來非常流行的Git。 總而言之,Git就是一個source version control的工具,一開始我真的不以為意。有什麼功能是其他家沒有的?大家都是source version control啊,有什麼特別了不起的?SVN流行很久,Perforce也是很多大企業在用,大家都可以check-out/check-in/branch/merge/revert ... Git不過就是另外一套而已啊~我錯了。 Git在兩點先天上就比全部市面上看得到的source control工具強大太多: 分散式架構 強大的branch管理機制 先講為什麼會吸引我,敝公司官方使用的是Perforce,他跟微軟很古老的那套Visual SourceSafe一樣,client必須跟server保持連線才有辦法做事,簡單說,沒連上線你連check-out都不行,所以只要網路一斷,基本上就是收工了。做任何事client必須跟server隨時保持互動,這非常麻煩討厭,基本上光是維持連線就會讓我的生產力下降。 而Git完全沒有這個限制,每個client本身也具備傳統source version control server可以做的事,平常工作只需要跟自己溝通,server的工作基本上講白了只需要保存你的code的內容和狀態(所以稱之為Repository比較正確),其他的操作都是在client上完成,當需要存放到repository保存時才需要push內容到Git repository。這樣client可以在任何環境任何狀態下工作,在家裡寫code,回到公司再push到Git repository;在咖啡廳寫code也一樣,甚至你要到擎天岡去寫code,沒有網路照樣讓你可以工作(某方面來說好像也不是好事 XD)。用了Git,從此你不再需要時時刻刻和SVC server保持連線。 再來,更屌的一點,完爆其他source version control工具的地方就是超級強大的branch-merge功能。我們在軟體開發上最痛苦的不外乎,一邊寫新功能,另外一邊改舊bug。當一個系統已經上線,並且開始著手開發新功能的同時,如果測出上線的系統有bug,大部分只有兩個方法: 比較土炮的是把新寫的功能全部comment掉,然後回去改舊bu...

我的天空是天花板

時常在公司需要點想法的時候,抬頭看到的天空是天花板,日光燈是我的陽光,偶爾想要接觸外面的世界,只能轉頭望向窗外。 還好大多數時候窗外的天氣不是很好 XD

慢工出細活

剛剛讀了一篇有一點點長的文章: 藏在趨勢科技的深厚內功 ,講的是敝公司的很多優點(雖然也潛藏許多..嗯...),總之文章中帶到一個點,快跟慢。 這個可以說一下,我第一份工作是在以做專案為導向的部門,部門要賺錢的主要方法就是要快,resource投入專案以後要很快的把專案做完,以最快的速度deliver給客戶跟驗收,然後再把resource投入其他專案,公司才有辦法在這上面獲利。所以養成了我的一個習慣,到處拉屎在其他公司裡面。 現在的工作不太一樣,趨勢是一間還蠻龐大的軟體公司,軟體設計這個問題就不是拉一陀屎然後還可以讓你跑掉。軟體開發的流程非常注重QA process,這是我在這邊學到最多的,從前期的design camp, 中期的design architecture review, spec review到中後期的code review, QA testing result review... 一堆review(也代表要開一堆會... =_=),讓你真的會很認真的思考,怎樣的架構跟規劃對軟體的品質是最有幫助的,已經不是我今天想到要用哪一個framework去做就用哪一個,必須考慮到怎麼release build、怎麼做CI、QA怎麼測試、怎麼maintain,很多東西在前期規劃也常被打槍,看到某個新技術覺得很炫很fancy,想用但往往常被打槍 XD (所以有時候覺得很沮喪)。 趨勢裡面每個人都三頭六臂,個個角落臥虎藏龍,所以其實表面說是認真工作認真玩,實際上是高度競爭,我相信在每個軟體公司都差不多,只是這邊很多東西的確是會讓人不自覺的成長,不管是硬實力或是軟實力。