caterpillar 積分 1

DRY 的方向不見得就是抽象咩 … XD

caterpillar 積分 4

有些跟我的想法很像 ... 自由工作者之自由1 … XD

考量自身熟悉度接案之外,也要避免同時承接多個案件,避免造成糟糕的時程安排,或者讓案件過度填滿時間,最後無法兼顧每個成果的品質,或者不斷推延交件期限;為了爭取案件而報價過低也應避免,單位時間收入降低的結果是,必須爭取更多的案件,最後落入時間上更不自由的狀態。〈Bad Habits: 8 Ways Freelancers Disrespect Their Own Time〉文中談到了自由工作者不尊重自己時間的八種壞習慣,就我看來,其中幾項都是急於穩定住收入來源而產生,然而最後會迫使自己在工作與時間上更加無從選擇。

從事熟悉的案件,規劃適當工時,確保每個案件成果品質,就是從既有客戶出發,醞釀更多合作機會,將來才能在案件熟悉度與單位時間報酬上有更多選擇。自由工作者最應穩定的並非收入上的數字,而是將來面對案件或事物時可以擁有的選項數量。在過去沒有案件的日子,我就是努力充實與經營自己,現在我也會在案件間保持適當空檔,並努力地把東西提前完成,我常戲稱「把東西早點做完,早點偷懶。」實際上是好讓自己能有更多時間醞釀未來更多選擇。

caterpillar 積分 2

這篇創了一個記錄,來自 G+ 的 +1 最多的記錄 … XD

caterpillar 積分 7

我最近接觸了一陣子 arduino … 有著各式各樣的雜感 … 又看到這類話題 … 來拉理拉雜分享一下不成熟的想法 … 我重新回到電子電機領域的門口還不久,也因此,其中會夾雜一些軟體領域的經驗 … 請鞭小力一些 …

我是一個離開學校後,就決定離開電子電機領域的人,以〈爪哇學校的危害〉的觀點來看,我就是屬於那群從電子電機課程中被「淘汰」的人 … 後來的十幾年,在軟體界還算活的下去 …

我一向是個會動手作些小東西的人,也許是因為這樣,近來因為接觸 Raspberry Pi 與 Arduino 的關係,卻讓我有機會開始去重新撿拾一些基本的電子電路知識,並改造一些東西,像是女兒的聲光玩具,這是個很神奇的體驗,離開了這領域這麼久,我以為我這輩子不會再去碰麵包板這鬼東西 …

近來我試著去瞭解,怎麼自己用 atmega328 拉出個基本的 arduino,也試著去翻一些 8051 的書 … 順便一提,《圖解電子實驗專題製作》這本書對現在的我,算是還不錯的重新入門書 … XD

這是很神奇的體驗 … 真的 …

我有沒有被 arduino 框住呢?天曉得,我只知道現在的想法是,把電子電機當作我業餘的興趣,玩個十幾年再說 … 我離開電子電機進入軟體領域,也差不多是十幾年 …

對我來說,學一件事東西,向來就有兩個方向,一個向上而下,一個向下而上,不同人適用不同方向,我 … 是屬於前者 … 我喜歡從如何應用開始著手,接著,再逐步深入瞭解這是怎麼作到的 …

我在軟體界從事教學時,是兩個方式都會用,有時間的話,我會自下而上,從基礎好好教學生們,沒時間的話,我會自上而下,在行有餘力之時,告訴學生,那些表面的魔術是什麼…

如果面對實戰式的課程,我還會從中間開始,比方說,我會教他們從無到有,從需求開始,逐步將既有程式重構,逐漸使得一個框架成形 … 我會教學生一個 IoC 框架怎麼出現的,一個測試框架怎麼出現的,一個 Web 框架怎麼出現的,近來,我是分享了,一個能使用 Java 8 Lambda 的程式是怎麼出現的 …

http://www.slideshare.net/JustinSDK/java-8-retrolambda

我不會覺得框架是毒藥,那是產能工具,只是一個產能工具,要怎麼發揮它的產能,那是在使用者的身上,你瞭解它,你就能操控它,你就能改造它 …

這種想法,在我接觸 arduino 的這些日子,也是這麼作的 …

arduino 一開始是教育工具,不過,近來確實也有些大公司瞄準了它,像是 Facebook 的 Parse for IoT,第一個支援的板子就是 Arduino Yun ...

我知道 Arduino Yun、Arduino Dun 等,是另一個層次的東西,不能與 Arduino Uno 等相提並論,不過我想講的是,從程式人的角度來看,Arduino 是「軟體」…

它明明就是硬體啊!不過,我在研究 arduino 時,除了將那些電路模組是如何組成,當成業餘興趣之外,我最常作的就是,閱讀那些程式庫的原始碼 … 這是我很擅長的事,瞭解這些程式庫原始碼,我就能知道原理,也能修改它 … 而不是直接修改電路(這目前的我還作不來,十年之後再看看 … XD)

我想講的是,想認真玩 arduino,最好是基於它往上建立更好的應用,或是從它作更深入的電子電路鑽研,前者我比較擅長,後者是我的業餘興趣 … 而不是停在 arduino 本身 …

我想,如果在從事教學時,該怎麼引導學生往上基於它建立更好的應用,或是從它作更深入的電子電路鑽研,你想教學生什麼?也許是我們該思考的 …

最怕的是,兩個都作不到 …

我雖然會從事教學,不過多是在業界,但知道,學校的教學其實有許多難處 … 這我不便置喙 … 不過,有機會到學校接觸學生,這會是我想傳達的事 … 讓學生們知道,往上基於 xx 建立更好的應用,或是從它作更深入的 oo 鑽研 ..

你想教學生什麼?... 決定了框架是不是毒藥 … 決定了 Arduino 是不是毒藥 …決定了 ooxx 是不是毒藥 …

也許 Arduino 真的是毒藥 … 因為吃了它,我神智不清地,開始重學電阻、電容、電感、電晶體、IC … 開始重讀微積分 … 開始重看工程數學 … bla...bla ...

其實 … 只要我們站在技術的時間軸上夠久,之後再回顧時,總是會看到毒藥,這時差不多真的就表示我們老了 … 然後,如果你再站久一點,就會發現,有人用這毒藥,建立了當初想都沒想過的應用 … 這時就不太能分清楚,這是不是毒藥了 …

Java 當初是毒藥 … 也有人說它是教育工具 …過了不久 … 有人開始說,那些框架是毒藥,但有人用得很爽,Rails 是徹頭徹尾的框架,連我都不是很愛用它,因為覺得它限制多,不過,我不愛用它,不表示我反對它,很多人基於 Rails 建立了很多極為有用的東西 …

教育從來就不是只有一個方向,如果一定得從基礎作起,那麼,現在一堆倡導人人學程式,從小學程式的,是怎麼一回事?帶一堆人用一些簡單的工具吃毒藥,然後,後來再來淘汰他們嗎?

最近一篇談傅里葉轉換的文章… http://blog.xuite.net/lapuda.chen/PaulBlog/221866406

我目前沒辦法分辨裡頭是不是完全對,不過,裏頭有句話我很認同 ...

「缺少了目標的教育是徹底失敗」

你想教學生什麼?你的目標是什麼,你學生的目標在你的教導下又是什麼?你想往上,或是往下,還是停留在 xxxx 本身?無論 xxxx 本身是 arduino、Java、C#、VB 或者是任何其他的東西 …

順便想知道一下,電子電路這領域,有沒有類似「重構」這種概念?

caterpillar 積分 1

號稱是要當 Raspberry Pi 的對手,來玩玩看 … XD

caterpillar 積分 7 編輯於

就好像感覺好像軟體業界裏也有人感嘆,一堆新人只會用 XXX 框架,脫離了 XXX 框架就什麼也不會 … XD

在軟體界大概就數 Java 最常被 OX 吧!… 像是 爪哇學校的危害1 ... XD

引述 … 「我真正要說的是,整體來看Java這種語言並不夠困難,無法區分偉大的程式員跟平庸的程式員。在工作上或許是個好語言,但這不是今天的重點。我甚至會進一步說,Java不夠難這件事是個特色而非缺陷,可是它畢竟還是有這個問題。」

現在呢? ... XD

caterpillar 積分 4 編輯於

約略比較過他的 API Doc,除了一些 default method 的 API 改用其他風格實現之外(像是 Collectionstream 改用 StreamSupport上的 static方法),基本上 Stream API 都有實現了 …

streamsupport1

  • Java 8 Streams library backport
  • Java 8 CompletableFuture backport
  • Java 8 Parallel array operations backport
  • Java 8 Functional interfaces backport
  • Further java.util.concurrent enhancements from Java 7/8 backported to Java 6
  • Includes miscellaneous Java 8 goodies (Optional, StringJoiner, ...)
  • Supports Android
caterpillar 積分 3

就《重構》第二章的範例,再繼續使用 Lambda 重構而已 … XD

caterpillar 積分 0

是有在考慮這陣子 Arduino 的研究到一個程度後,來搞搞 RxJava … XD

caterpillar 積分 1 編輯於

這篇把 RxJava 的需求來源交代的不錯,而且以重構為推進力,完全不扯 Functional 與 Reactive Programming!

caterpillar 積分 2

這種搞笑的評比看久了,還蠻膩的…XD

caterpillar 積分 2

程式設計的能力之外,更重要的是音效的相關知識啊!…XD

caterpillar 積分 2

所以判斷重複的功能還沒加上去 … XD

caterpillar 積分 2

Type inference 本來就不能只是為了少打字而用,在一些需要型態資訊的場合,該寫的還是要寫,那是一種選項,不是一種一定要用的技巧 … 可讀性不佳下,就不該使用 Type inference ...