2015年1月15日 星期四

[Life] 利用calibre建立一個每日閱讀清單

原文網址: http://opensource.com/life/15/1/calibre-ebook-management

很多人抱怨他們無法及時掌握所有他們需要的資訊——或是說他們覺得他們需要的資訊。然而對我來說,資訊過多是不可能的,我了解對其他人而言要擺脫他們面前一大團混亂的資訊是很困難的。
最好的方式就是減少你生活中資料來源的數量和個數,在這篇文章中,我不會去探討你要如何擺脫些資訊的理論以及實行辦法,但我會告訴你們一個你們可以用來創立一個集中的每日閱讀清單的技巧,你們可以在每天上班通勤的時候或是一天中比較沒事的時候,利用平板或是智慧型手機閱讀清單裡的內容。
calibre電子書管理軟體是一個很棒的工具可以拿來建立每日閱讀清單,讓我們來看看該如何用calibre來建立每日閱讀清單吧:

在開始之前

這就是我剛才為什麼會用集中的這個形容詞,選二到三個你最重要的資訊來源,可以是每日新聞、科技網誌,或是你最喜歡的雜誌的快訊。
專注在你需要知道什麼,而非你想要知道或你覺得你需要知道,要完成這件事,你需要認真審視你的所涉獵的資訊,將你的清單切割到最基本的格式。
當你完成後,為這些資訊來源複製RSS feeds的連結到一個文字編輯器裡,你將會需要用到它們,而你其實是可以不用自己去把這些東西打出來的,好,現在讓我們回到calibre。

設定你的清單

我們先假設你已經在電腦裡裝好calibre了,如果沒有,去將它下載下來,完成後,將它打開然後點選工具欄上在Fetch News按鈕旁的向下的箭頭,接著,按下Add a Custom News Source。

這裡你會得到一個食譜,這純粹只是用一個比較好聽的說法去稱呼一堆來源資料而已,在Add custom news source視窗中,在Recipe title欄位鍵入你要為你的食譜取的名稱,我是用非常原始的名字每日閱讀清單,你可以想一個更好聽的名字。

Oldest article設為一天,然後將Max. number of article per feed設為一個比較合理的數字,我通常是設為10,在Feed title欄位中輸入你要為你的來源取的名字,舉例來說,名字可以是你的資料來源的發布者或是部落格,接著,將其中一個你剛才複製的RSS feeds的連結貼在Feed URL欄位,點一下Add feed,然後為你每個資料來源重複以上步驟。

完成後,點選Add/Update recipe然後按下Close。


建立你的清單
接著,產生你的閱讀清單,你可以選擇用calibre自動幫你產生清單,或是自己手動完成。我會解釋如何手動建立清單。在主視窗中,點選Fetch News,開啟Schedule news download視窗。

在視窗左邊的清單中,點選Custom然後點選你的閱讀清單名字,確定Schedule for download選項沒有被選取,點選 Download now,當你這樣做的時候,calibre會抓取你食譜中資料來源的最新東西並將之存到你的calibre資料庫裡。


將閱讀清單移到行動裝置中

有兩種方法可以做到,如果你的行動裝置與calibre相容,將它連結到你的電腦。接著,點選calibre資料庫中的你的閱讀清單,並選取Send to device > Send to main memory。你也可以將它傳送到你的裝置的SD card(如果有的話)。
I haven't been able to get that to work with my Nexus 7 tablet (which I use for reading). If you don't have device the calibre supports, you'll be in the same boat. You'll need to take a different approach.
到目前為止我還沒辦法用我的Nexus 7平板去執行(我平時都是用Nexus 7來閱讀),如果你們沒有calibre支援的裝置,你跟我就是遇到同樣的情況,這時你就需要另外一種方法。
一樣的,點選你的閱讀清單,接著選取 Save to disk > Save only EPUB format to disk in a single directory,然後選擇你要儲存檔案的資料夾,如果你用的是像ownCloud Dropbox或是Google Drive這類的工具,將它存在電腦中的同步資料夾中,然後同步你的裝置。完成後,你可以在EPUB閱讀器上打開你的閱讀清單——我通常是用FBReader
建立一個每日閱讀清單有些步驟需要手動操作。只要幾分鐘,你就擁有了你一天所需的資訊,而且你可以用你的行動裝置做收信及社交以外的事,除此之外,你還可以削減你資訊獲取來源的數目,因而擁有更多空閒時間去做其他事。

[Life] 陌生人的幫助和open source的意義

原文網址: http://opensource.com/life/14/12/the-meaning-of-open-source

至今我當軟體工程師已經快15年了,雖然一開始我並沒有特別的感覺,然而事實上我從最一開始就已經在open source的環境下工作了,從基本的GNU命令列(command line)到C編譯器,open source從一開始就存在了。
雖然我的專業重心隨著時間一直在改變,但在某種形式上而言,我一直都生活在一個open source的生態系裡──無論是我使用的作業系統、工作所用的資料庫、甚至是我每天在用的整合開發環境(IDE, integrated development environment)。儘管如此,我從來沒想過要對開放原始碼做出貢獻,直到三年前我加入了紅帽(Red Hat)並開始在oVirt,oVirt是一個將開源資料中心虛擬化的專案。
我花了段時間才融入開發的過程,因為這與我之前經歷過的一切都太不一樣了──將專題頁面提交給他人評論、上傳部分程式給別人檢查、與來自其他國家或其他公司的貢獻者一起合作,這對我而言是全新而不同的環境,不過最後我發現這一切是合理的,一個開放的合作模式確實是一個較佳的產生高品質軟體方法。
然而,雖然貢獻了一些不錯的特色和很多的程式碼修改,在最近之前我一直不是很肯定我真的了解開放原始原始碼是怎麼一回事。我那時正如平時我去上班途中都會做的一樣正在瀏覽StackOverflow,然後我看到有人問了個關於如何在java-libpst裡關檔的問題,雖然我不曾用過java-libpst,但我覺得我還是可以試試,我快去地看了一下javadoc發現真的沒有辦法可以關檔,除非將那個物件釋放掉然後等垃圾回收(garbage collector)去清除它,我將其寫下並準備要按下送出鈕,突然我對開放原始碼的第一段覺醒提醒了我──我們都知道文件不一定是完美的,開發者很容易就會忘記(其實只是"忽略"的比較好聽的說法)去將他的程式碼記在文件中,就算開發者並沒有錯,線上文件也常常過時或沒有跟程式碼同步,但願有方法可以去確認我的答案...
噢等等,有了!在快速地用完git clone後,我檢查了一下程式碼,然後我可以確定真的沒有辦法直接的關掉開啟檔案,我把這些標註在我的答案裡,按下送出,繼續我的一天。
早上我看電子郵件到一半時,我又有了第二階段的開放原始碼覺醒。這是"開放的資源",我剛複製了一段原始程式碼並檢查它,如果將它修正其實不是什麼難事,為何不乾脆身體力行去做呢?幾分鐘後我送出加入請求,而幾天後我被接受了並被專案維護者Richard Johnson併入。
對我而言,這就是開放原始碼的真諦:當你發現軟體有不足之處時,不用等根本不清楚是誰的發佈者去看你的問題報告或審核你的修正請求,你可以直接自己來,而且常常會有不認識的人來幫你一把,那些陌生人不為什麼,就只是希望可以讓這個世界變得更好,藉由一行一行的程式碼。

[Business]同儕檢查在開源環境中究竟有多強大

原文網址: http://opensource.com/business/14/12/importance-peer-review-code

程式碼檢查在專利軟體開發公司是非常常見的,而開源軟體則因為它的本身的特性使得將程式碼評估標準化變成一件很難以達到的事。因此,在開源社群中成功的產業領導者或專案經理常常使用同儕檢查的方法作為標準,藉以在開發循環中做到品質控管。
一個標準的開源同儕檢查過程從軟體作者將其程式碼和文件提交至他們的專案郵件列開始,接著其他貢獻者和專案管理者會開始檢查;在修改被接受或捨棄之前,潛在的問題和可以改進的地方會在社群中被提出來與作者討論。GitHub使用版本控制軟體Git來提供一個有效率的系統讓專案管理者可以監督原始碼同時依舊可以進行程式碼檢查。因為容易使用,GitHub已經變成了大家常用來進行版本控制和程式碼檢查的龍頭,2011年超過2,000,000儲存庫被上傳至該網站。
雖然有工具可以幫助開發者進行品管控制,但針對較小的專案的程式碼檢查技術則常常被忽略,導致混亂且未經檢查的修補程式被釋出,比較成熟開源專案比較不會有這種困擾,因為他們會提供開發者明確的準則。即使比較小的開發小組確實實施了軟體同儕檢查,其結果也很難統一,就像Peter Rigby在他的論文裡講到的,「開源軟體的同儕檢查: 參數、數據模型和理論」「我們發現開源軟體的同儕檢查是非同步進行的,那些被授權的專家只專注在那些在他們擅長領域中所發生的改變,檢查者針對那些小改變提供、定期的回饋,這些描述性的數據清楚地顯示出開源軟體的同儕檢查與傳統的檢查有著極大不同。」
證據顯示出,同儕檢查可能是最有效的找出軟體中缺陷的方式。在"Code Complete"這本書中,作者Steve McConnell說道,程式碼檢查在找出軟體缺陷的效率比起標準單位測試有效30%~35%,開源軟體開發提供給新加入專案的人們最大的好處就在於,對於還不太熟悉的開發者來說,程式碼檢查是一個可以讓開發者變得很有產力,同時也可以很快的讓自己融入這個社群的文化的簡單方法。這也讓一整組的工程師都可以很了解整個專案,但也不會讓社群的優先權減弱。
開源開發小組需要專注在增進他們同儕程式碼檢查的方法上或是開始將軟體評定程式公式化。幸運的是,我們可以取得很多文件來做這件事。內容跟軟體同儕檢查的重要性及改良有關的文章就是很好的資源,SmartBear Softwar寫的11 Best Practices for Peer Code Review就是一例,裡面簡單地介紹了軟體同儕檢查的基本原則,雖然裡面並沒有特別深入地去探討一些關於程式碼鑑定準則的細節,他確實列出了一些經驗法則,教導開發者如何朝向更簡潔而有用的程式碼檢查技巧邁進。
隨著開源軟體變得越來越可以成為專利軟體外的另一種選擇,我們更要去改良產品的開發熟練度,如此才能增加社群的可靠度。由採取更充足和標準化的同儕程式碼檢查技巧的團隊所做出來的軟體,可以得到對使用者更友善並且可靠的程式,花在確立一個標準化品管計畫的時間是值得的,因為它可以為我們帶來更精煉優美的產品。


[business]五項你可以在2015年參加的開放原始碼專案

五項你可以在2015年參加的開放原始碼專案
原文:http://opensource.com/business/15/1/join-five-open-source-projects


我們在生活中或多或少都有用到開源軟體,也許你會想回饋一下這些社群,卻不知道要參與哪項專案。現在網路上有無數的開源軟體專案正進行著,就算我們之前的文章已經給過一些建議,要在其中挑選出最適合你參與的,可能並不是那麼容易的事。

為了幫助大家找到最適合自己的專案,這裡將會列出五項不同領域的開源專案,你可以考慮在2015年加入其中之一看看!也許這些專案並不是最有名或最厲害的,但他們都提供了相當有趣的挑戰,參與它們同時也是你回饋社群的一個好辦法!

準備好了嗎?那我們就開始吧!

BRL-CAD

如果3D建模對你而言是個有吸引力的主題,那麼你大概也會對BRL-CAD有興趣,它是一個功能強大且富有彈性的系統,不論你是程序員或是設計者應該都可以在其中找到獨特的挑戰。

在BRL-CAD的專案裡,有許多問題正等著人們來解決,就像開發團隊說的「從非常艱深的數學到最簡單的雜務」都有。你可以挑選一些上選門檻較低,甚至數小時內就可以完成的工作;或者你有更高的目標,願意花時間探所專案的核心部分;如果你是一位程序員,你也可以幫助他們使程式碼更加完善。

如果你有心想參與,可以到<BRL-CAD的參與指南>(英文)網站來獲得更多資訊。

Speed Dreams

你喜歡競速的感覺嗎?你熱愛遊戲嗎?如果是,Speed Dreams可能就是適合你參與的專案。它是一個3D的賽車模擬與競速遊戲,同時擁有Windows和Linux版本,而Mac版本也已經有大約95%的完成度。

你可能會問:該怎麼參與?這項專案目前正在尋找更多開發人員、設計者以及文件撰寫者的幫助,如果你是個遊戲玩家,參與這項專案還可以把你對遊戲與開源軟體的熱情結合在一起,可以說是一舉兩得!


OpenMRS

能夠直接服務到社會大眾的軟體也許不太常見,但OpenMRS正是其中之一。它是一個幫助醫生與護理人員管理病人資訊的開源平台。

這項專案正在尋求各種人的協助:從程序員、測試員、IT人員、UI設計者到翻譯人員都有它的需求。想對這項專案有所貢獻的話,你可以加入它們的社群,藉由提出你的構想、新功能的建議或是幫助他們找出錯誤,來讓這項專案更加完善!

Audacity

Audacity是一個非常有名的錄音與混音軟體,從2000年開始,它一直不斷的在更新、進化,也有越來越多的使用者開始嘗試Audacity帶來的服務。

就像大部分的開源軟體,Audacity也需要各式參與者的協助。不僅是程序員或測試員,更需要撰寫文件的人和翻譯人員讓更多國家的人接觸Audacity。你也可以透過回報錯誤與提出建議的方式來對Audacity做出貢獻。

FLOSS Manuals

你也許不是一名程序員、測試員或設計者,但不論如何,我們都有基本的寫作能力。在這種情況下,你也許可以看看FLOSS Manuals的資訊。這項計畫不僅匯集了眾多自由開源軟體的資訊,它本身也是一個相當活躍的社群。

要加入FLOSS Manuals,你不需要從頭開始撰寫一本手冊,你可以幫忙改進現有的文件,或是挑出錯字。你也可以嘗試校閱、編輯文件,甚至對整個專案提出改善的建議。

上他們的網站來獲得更多資訊吧!

如果以上的專案對你而言都沒什麼吸引力的話,不要難過,在OpenHatchOpen Hub上有更多開源專案的資訊,選擇一個你喜愛的加入吧!

2015年1月12日 星期一

開放原始碼的口頭禪:"我們試著避免禁止改作"。(An open source mantra: Avoid "no derivatives")

原文:http://opensource.com/education/15/1/interview-bill-fitzgerald-funny-monkey


Bill Fitzgerald 創辦了FunnyMonkey讓學生和教師能更方便的取得教材。他是一位教育家、開放原始碼開發者、以及一位創業家,而我最近得以與他討論他的計畫、其意義、以及最重要的,開放原始碼的作法如何使一切不同。

Bill在美國康乃狄克州長大,在波士頓讀完大學,接著在舊金山大學完成寫作的碩士學位。他接著在公私立學校中教授英文與歷史,並先後做過學校管理者與技術總監。跟他談話可以發現他對教育充滿熱情。

在90年代,他在高中運用科技教學時,學生們鼓勵他試著上網。那是Mosaic與Gopher的時代,與今日有很大不同。但那是一個開始,Bill從此開始尋找能幫助教師與行政,使學校更加進步的科技解方。他建立資料庫,以管理500個學生的出席、表現與成績。在建立FunnyMonkey之前,他和一個商業夥伴曾建立了一套私有的軟體。在研究如何幫助使用者時,他發現了開放原始碼的內容管理系統。在詳細研究幾套系統之後,他了解私有的道路完全錯誤,他們真正想做的事是幫助老師們。從此,他們開始轉換至開訪原始碼的方式。

FunnyMonkey就是他們這趟轉換之旅的結果。現在,他們主要專注在兩件事上:開放原始碼軟體開發與開放內容的創造。

不僅僅是開發開放原始碼軟體,他們的團隊在整個計畫中都融合了開放的精神。他們與學校、推廣教育的組織、教育相關公司、支持社會正義的非營利組織等團體合作。他們的服務幫助客戶們找出流程上的問題,並研究是否為訓練或人事的問題。他們也幫助客戶從私有軟體轉換至開放原始碼、並分享資料的方案。
"我們秉持開放精神,並專注在開放原始碼與內容上" -Bill Fitzgerald
Bill認為開放原始碼雖然不是萬靈丹,但至少是解決問題的更好方法。開放原始碼能提供更多機會與自由,並隨之而來的是作者與內容貢獻者的責任。這不一定是壞事。若一個人對教育懷有熱情,他一定會感受到這個空間、這個科技與系統進化時代的魅力。

對於想參與開放原始碼的人有何建議?"讀很多書"他說。他認為增進對他人及世界的觀點的觀察是很重要的。察覺"我們如何看待世界"這件事是很重要的技能,想成為社群的貢獻者就必須強調此事。開發者與潛在的開發者要更有彈性。要提升對世界的觀點,他建議讀Model View Culture的線上刊物。除了程式開發之外,開放原始碼還包含許多面向,而這些技能是需要時時強調的。

那麼大學呢?大學教育對你成為開發者而言重要嗎?他說:"接觸各種理念與可能性是重要的"。雖然有可能的替代方案,但大學的經驗仍然重要且難以複製。對於開放原始碼的參與者來說,他們的工作是極具優勢且有彈性的。至於此領域最缺乏何種人才,"開發者!"他說。我們已經看到許多年輕人快速的學習寫程式,我問他最重要的技能是甚麼,他說:"先學邏輯,各種語言都是它的應用,邏輯優先"。

另外,教育領域正在快速變動,他不覺得在這種懷境下會找不到工作。

最後,我們討論內容。FunnyMonkey使用的授權是Creative Commons Attribution 3.0CC Share-Alike 2.5 Generic。我們試著避免"禁止改作",他說。真是一句適合開放原始碼的口頭禪啊:"我們試著避免禁止改作"。

感謝Bill Fitzgerald的時間與見解。

2015年1月8日 星期四

開源工具幫助孩童開發數位創造力

原網址:https://opensource.com/education/14/9/teaching-digital-creativity
  Youth Digital搬進藏在北卡羅萊納州教堂山的新家了,這對他們來說可是一大步。最初他們的克難辦公室只比衣櫥大一點點,而創始人兼經理Justin Richards只是個拿著筆電、四處教網頁及圖像設計的家教。如今,他們的豪華辦公室內配備有齊全的會議室、錄音室,甚至還有專屬3D印表機。
  不用開源軟體教孩子圖像設計和程設Michael Harrison可是非常昂貴的,然而這並不是李察斯和他的團隊使用開源工具的唯一理由,重要的是,他們可以為學生客製化軟體封包、或是有機會改善軟體。而且,無論你是坐在教堂山的教室裡,或是在世界的另一端參與Youth Digital的線上課程,每個人都可以使用這些資源。
  我和 Michael Harrison



李察斯聊了課程裡的開源方式、他們團隊的艱辛開始,以及他們如何幫助全世界的孩子學習技術、使他們將來更有競爭力。

Q&A: Interview
(以下為訪談內容)

:讓我們從頭說起吧。是什麼讓你投入技術與設計的?
  大概就是《玩具總動員》吧。當我還是個孩子的時候,《玩具總動員》剛推出,那簡直棒呆了。我爸是個電腦工程師,因此除了藝術之外我也熱愛電腦。我看見用3D動畫玩具說故事,背後的潛力是多麼驚人。我想學怎麼做,然而當時唯一能找到的就只有Youtube上的Flash動畫教學影片。於是我試著學了一些ActionScript,但是完全不喜歡。那根本就不像皮克斯動畫嘛。
  我又研究了遊戲設計,依然找不到什麼東西。最後我著手進行網頁設計,這才發現了充滿CSSHTML的新大陸。我狂掃YouTube和討論會,然後花了好幾個小時從無到有架設網頁,雖然一路上跌跌撞撞,但那是很棒的學習經驗。
  之後我在大學修了文化倫理。起善心、行善本是樁美事,但往往因為所謂的「善」,使得被幫助的一方反而受到負面影響,尤其是在跨文化的狀況下。要怎麼幫助人而不會誤傷他們?其實有很多方法可以做得更好。
Youth Digital founder Justin Richards
  就學時我兼差做圖像與網頁設計。除此之外還有一份工作,教內城區的孩子科技,那是由聖路易斯社區發起的計畫,希望藉此讓處境為難的孩童上高中前能對科技產生興趣。(譯註:美國的內城區是較舊、人口多且通常較貧窮的市中心,也就是貧民區)這項工作讓我對救助貧童及科技教育的兩項熱忱得以同時實現。

:那你又是為什麼會投入開源呢?
  我爸在羅馬尼亞的孤兒院幫忙架設電腦。從我九歲開始的十四個夏天,我們都會把別人捐贈的、好幾年的舊電腦搬到羅馬尼亞,所以那時候我們就使用很多種開源的玩意了,比如說LinuxOpenOffice。這些小孩一滿十八歲就會被踢出孤兒院,為了讓他們有謀生能力,我們想出的辦法就是提供課程讓那些孩子們學習使用電腦。
:是什麼促成你當老師?
  老實說我從來沒有特別期望當老師,不過我熱愛教導網頁設計。在聖路易斯的時候,我們拿到一大疊闕漏的手寫文本,然後要根據這堆紙去教一套三十八年前的網頁設計,這簡直莫名其妙。所以我很快地寫了一個網站,然後用自己編的課綱取代。於是在課程的第一天,孩子們就可以建出自己的網頁首頁,並且在最後一天發布網站。之後這個概念也成為我們所有課程的核心:第一節課便實際操作,最後一節課發表成果。這也能讓他們體會現實中的專案是如何完成。

:在你的課程中,孩子們會用到哪些工具?
  在不造成經濟負擔的前提下,我們希望能給予孩子們專業可靠的就業能力,依專業規格打造的開源工具因此受到我們的青睞,比如GimpInkscapeEclipseBlender等等。就拿Blender來說吧,像這樣的產品一般都要約3500美元。雖然有些會提供教材折扣,但是我們這裡的孩子絕大多數都沒有憑證能換取免費的Autodesk。所以我們愛用Blender,不僅是因為我們可以自訂適合孩子的界面,更重要的是它能反映其他業界使用的軟體。比方說,如果你學了Inkscape的畫筆工具,你就等於學會了Illustrator或其他任何一個向量繪圖軟體的畫筆工具。
  總而言之,與其教孩子們怎麼使用特定幾種軟體,我們寧願把重心放在設計與發展的基礎上。你之後可能會在不同的地方、為不同的人設計軟體或遊戲,使用的工具和語言也可能會因此有所差異,甚至可能每年都不一樣,唯有製作過程是不會改變的。因此我們課程的出發點就是告訴你:「你在做什麼?」和「為什麼要這麼做?」
  開源工具的另一個優點就是可以自己建立安裝精靈。如果我們用的是Adobe,那就免不了一堆麻煩的步驟:申請一個帳戶、核對這個、執行那個……。相對地,開源工具就簡單快速地多了,馬上就可以開始工作。

:如果開源工具對你來說不合用,你可以加以改善。這也在你的工作範疇內嗎?
  事實上,我昨天晚上才在調整Inkscape,它處理圖形的方式和我們的課程期望有落差,所以我們正加一些東西進去。不過嘛,我們也改了很多使用者介面(UI)就是了。雖然我們自己的版本做了很多擴充,但是使用上就和原版一樣易如反掌。比如說Blender,在我們的動畫教程中提供一些位置來存正確解答,這些位置也可以用來下載一些額外的模組,孩子們只要下載這些位置封包,按一按滑鼠,就能把模組裝進Blender。我們做的大部分延伸都像這樣,用意在於提供孩子像樣又友善的函數庫。我們不希望課程一開始時,他們面對的是兩個單調的立方體。
如果你能有超棒的角色和一大堆酷炫的背景元素,使用者就能立刻做出一些漂亮的作品,並從中獲得樂趣。這就是我們鍾愛開源軟體的理由──我們可以走出自己的路,甚至將它回饋給原計畫。有些功能是只為了特定對象才做出來的,它們就不會接受,但是絕大多數的想法都會被採納。

:你的教育核心主義是?
  分解設計與研發的流程。以應用程式設計來說,你要先處理UI,接著架設後台,經過beta測試(產品上市前的試用)及用戶測試之後才能發表。我曾經跟孩子們開玩笑說:「或許在一百年內,人類就能做出會寫程式的機器人,但我們還是要概念化、除錯、設計、研發這些機器人。這是亙古不變的事實。」

:Youth Digital是一個營利企業。是否有什麼理由讓你決定不把它設為非營利組織?
  起初我只打算教書教到足夠讓我在杜克讀研究所。最一開始我們也掙扎過,到底該不該以非營利組織的形式經營下去。那時我已經在聖路易當志工教書兩年了。總的來說,我的想法是:藉由我們的課程,來鞏固現存非營利組織的社會關係,因此一直到我搬去達拉謨之前,我就先趕到這裡來和非營利機構、學校和家長會晤了。
  基於種種理由,雖然學校和非營利機構都表示有興趣,但之後卻一直沒有聯絡我;相對地,家長們卻早在我搬來這裡之前,就在我們的各個據點報名了,都是託了他們的福,我們才能有今天,真的非常感謝他們。尋求外部教育資源的家長越來越多,但是學校卻沒能回應這股趨勢,也沒有提供真正能激發孩童學習熱忱的教材,所以家長轉而選擇我們。現在我們也和一些當地的非營利機構合作,讓他們的學生來上我們的課。
  總之,選擇營利可以說是歷史因素吧,我猜。不過除此之外還有一個理念因素:作為營利組織,我們必須要有優質的產品,否則不會有人買,而這個壓力也使我們更專注於改良產品。因此我們認為,在營利模式下運作,能促使我們為學生做到更好。我希望參與我們課程的任何一個學生都能有最棒的收穫,不論社經背景──就像我在教聖路易斯的孩子們時,希望能給他們最好的一樣。
  我們的經費大多用在兩部分:新課程研發和支援。我們的營運模式讓我們得以研發世界級的課程,以及很快地創造出符合尖端科技的新課程(比如說3D列印)。另一方面,可靠的技術支援對學生與家長而言更是重要。這些學生的年齡層大概在八歲左右,學習新科技時卡在技術問題對他們來說可是嚴重挫折,而在大量網頁、視頻、部落格中查資料不僅費時,更讓他們有可能被網路的潛在問題所影響。我們的支援團隊能確保孩子在安全的學習環境下,讓他們可以放心的專注於眼前的課程。

:Youth Digital的未來展望是?

  最讓我期待的就是我們的Enterprise計畫──橫跨學校、營隊或是課後輔導都,每個領域都能提供我們的課程。這個計畫已經經過測點,正在做最終確定。不過一旦要做,我想它很適合做為一個非營利計畫。這將會讓我們的學生有機會透過Minecraft學習Java、設計他們自己的應用程式、創造他們自己的3D動畫,甚至更多。

2015年1月4日 星期日

Moodle將永遠是開放原始碼軟體

原文:http://opensource.com/education/14/10/open-access-learning-moodle

自2001年推出以來, Moodle一直是教育者手中有力的工具,使他們能自由的在自己的網站上,接觸學生,並增進他們的學習。直至今日,作為一個開放原始碼,並擁有清楚使命的教育平台,Moodle持續地朝自己的目標前進,並被全世界的近500萬使用者所採用。

誰擁有Moodle?

Moodle由Moodle Pty Ltd(Moodle HQ),一家位於澳洲西部的公司100%私人擁有。該公司有一組專門的開發團隊,他們與社群相互合作,以處理Moodle的各項事務。社群參與讓Moodle提升開發效率,並推出更新。
Moodle HQ並不完全依賴社群,但有一個良好的商業模式,讓社群的力量可以幫助核心團隊。有60個受Moodle認證的夥伴組織,從架站到後續的訓練,他們提供各式各樣的支援。如何成為夥伴組織的辦法已在Moodle網站上公布。


Blackboard 與 Moodle

與一些新聞所報導的不同,Blackboard並沒有收購Moodle。2012年,Blackboard收購了兩家Moodle的夥伴公司(如上述,共有60家),以擴展他們在教育科技上的多元化發展。這兩家公司是Moodlerooms Inc (美國)與Netspot Pty Ltd (澳洲),作為Moodle夥伴的一員,他們會繼續對Moodle本身做出貢獻。

Moodle的未來

教育界是一個快速變遷的領域,許多潮流各自成長發展。
Moodle會繼續維持開放原始碼的模式(以GPLv3授權),並且相信任何一個教育性的環境(如軟體開發本身),都可以在參與者的良好回饋下受惠。最終目標是不論地點與裝置,皆能即時回饋。Moodle會繼續聆聽社群的建議,實現需要的功能,並持續進步。


若想參與Moodle計畫的開發,可以參考moodle.org

2015年1月3日 星期六

在地社群使Firefox行動版登陸印度

 http://opensource.com/life/14/11/firefox-mobile-fennec-hindi-india-language

 Firefox for mobile, 開發代號Fennec,是Firefox建構於行動裝置(平板電腦,智慧型手機)上的網頁瀏覽器。Fennec內建了多種語系,而就在數月 前,Fennec新增了 Assamese, Bengali (India), Gujarati, Kannada, Maithili, Malayalam, Marathi, Oriya, Punjabi, Tamil, and Telugu 十二種印地文。

在 最新釋出的版本中,這12種印地語占了新植入語言的大多數,為此,印度社群舉辦了一個小型的聚會,慶祝與宣傳這引盼已久的成就。約莫30名志工與自由軟體 的愛好者參與了Moilzia在浦那的活動。Mahesh Kulkarni,是語言技術的權威,同時也身為C-DAC GIST group的首長與 W3C India駐印經理,由他負責切下Fennec蛋糕的第一刀,為這起盛事揭開序幕。

Mahesh Kulkarni在會席上分享了他的經驗,他認為社群中端與端間的在地化經驗是必要的,而不僅只於裝飾性質。於在地化的領域,只有第一等的工作仍持續至今,而現在這是著手於第二等工作的時刻。與會的社群有些來自Mozilla Hindi Team,涉及Mozilla的在地化工程,有些則是Pune Linux User Group (PLUG)的成員,還有不少活躍於Mozilla各領域的社群,他們一同研討了當前翻譯上的討戰,以及籌畫實質策略以改善現狀。

這些來自世界各地的志願團體,都是被一份初衷所吸引:可以為講者提供配有當地語言的軟體,並幫助他們用自己的語言瞭解網路與瀏覽器。這份在地化的熱情及同行評審制往往產了比付費業者還優質的翻譯軟體。這些在地化的細節都紀錄在 the Mozilla Wiki上。

有許多用戶只理解當地語言,所以不論是網站的內容或是界面都須在地化,以讓更多用戶受益,Mozilla將持續促進網頁上的語言革新,以迎合這些使用者們

Mozilla的在地化工程首重民主的原則 ── 民 有、民治、民享,搭配上熱情與優良的作業流程。舉例來說,Mozilla的德國化起於一個簡單而微小的點 ── 一個大學生打算完成Firefox的德國版本做為給他父親的禮物,由於Firefo的原碼開放,他有能力完成這份願望。同樣的,在十幾年前我加入Red Hat印度語團隊,並開始投身在各個開源專案,現在我以相當熟悉Mozilla的在地化工作,並參與了Mozilla印度語翻譯團隊。

時至今日,大多Mozilla的產品都完成了翻譯,在地化工程於Pootle platform上平穩的進行著。Fennec的印度版也藉由協做完成了翻譯及測試,儘管如此,我們仍歡迎更多的志工朋友們加入。


[Business] 你需要有程式背景才能學習Linux嗎?

Source:http://opensource.com/business/14/12/what-happens-when-non-coder-learns-linux

A few months ago I took the Introduction to Linux course offered through edX. It's an 18 chapter course with lots of reading, some videos, and a casual level of testing your knowledge. I wrote about the first six chapters and how the course works in, What happens when a non-coder tries to learn Linux. In this article, I cover the first 6 chapters of the course, where we begin to dive into the day to day usage of Linux.

幾個月前我藉由edX主講一個Linux課程,這是課程分為18章,伴隨著大量的閱讀資料、觀看課程影片、和隨機難度的考試來測驗學習成效。我寫了關於前六章的內容和如何進行課程,還有當一個沒學過的人嘗試學習Linux時會發生什麼事?我講解前6章的課程,這段期間我們開始栽入Linux並解說它的日常使用方式。

What was covered

The course provides a practical guide to "getting around" in Linux, covering some of the most commonly used commands. Although these topics are not particularly difficult to understand, and may be old hat for some users, newcomers will quickly become lost without a good understanding of their purpose and usage.

包含了什麼?

這課程提供一個實用的指南去探索Linux,包含一些常用的Linux指令。雖然這些主題並不難理解,而且有些部分難以習慣,但是對於新手而言,很快地感到混亂因為不了解使用目的、使用時機與用法。

In this section, I found myself relying heavily on Google, and I wondered if some of the concepts would come more naturally if I had already encountered them in programming courses.

這部分,我發現自己太倚賴Google,而且我想知道是否一些概念可以理解地自然些假如我主講程式設計的課程。

Some of the topics we covered included:

這些主題被納入課程:

Linux documentation
file operations and systems
read (r), write (w), and execute (x)
What are 'executable binaries'?
user environment su and sudo
!! bang-bang
text editors: with very detailed info on vi and emacs
local security and passwords
network operations
ping
the command line: often allows users to perform tasks more efficiently than the GUI
wget
Don't worry if some of the items on this this list look foreign to you, as they will be covered in the course.

Installing Linux on my Chromebook

My main goal in taking the course was to get a better, high level understanding of Linux. I didn't have to install Linux but wanted to, so before I started chapter 7, I did. I wanted to test out some of the things I was learning, and 'learning is doing' to a large extent.

我的目標是更完善地了解Linux。我還沒安裝Linux但是我想要安裝Linux,所以在章節7時我安裝好了Linux,我想要測驗一些學到的東西,而且更重要的是,學習就是付諸行動。

I found a Lifehacker article that looked quick and easy to follow. It instructed me on how to install Ubuntu using Crouton.

我發現一篇 Lifehacker文章,內容簡潔而易於照著步驟來實作。他介紹如何用Crouton安裝Ubuntu。

This was fairly easy, with a few hiccups along the way, which for me was just part of getting used to entering commands into the terminal and learning how to work with and utilize Linux. NetSurf was the default web browser, so I tried to install Firefox. After a few failures to launch, I realized I needed sudo!

這相當容易,這能幫助我習慣在終端機輸入指令和如何使用Linux,NetSurf是預設的網路瀏覽器,所以我嘗試安裝Firefox。在一些錯誤發生後,我理解到我需要sudo!

Then I started chapter 7. The material stated: "Whether you are an inexperienced user or a veteran, you won’t always know how to use various Linux programs and utilities, or what to type at the command line." I was comforted by that as I went along, switching back and forth between the material and my Chromebook. At one point I got sucked into tweaking and customizing my new Linux setup for an hour before getting back to the material. This article helped me adjust the font and install programs like Leafpad and Audacious.

然後我開始上第7章的課。教材說道:"無論你是老手或菜鳥,你總是不知道如何去使用多樣的Linux程式和工具,或是要在命令行上輸入什麼指指令。"我被他的這席話感到安慰,我跟著教材的腳步,聆聽重點,實際演練操作指令,不斷在教材和我的Chromebook之間來來回回地操作。我不斷地做調整和操作我自己的Linux系統約1小時之後,再重新回到教材的內容。這篇文章幫我調整字型和安裝像Leafpad和Audacious的程式。

Is this a good course for non-coders?

對於不寫程式的使用者而言是一個好的課程嗎?

In general this was not a course for a non-coder looking to get a better, high level understanding of Linux.

一般來說,這對不寫程式的使用者而言不是一個能夠完善了解Linux的課程。

This was a course for perhaps a beginner programmer, or a seasoned programmer less familiar with Linux. Several chapters were quite detailed and specific. Overall, an underlying base knowledge of programming would have been extremely helpful. More than a basic understanding, a base understanding—like that you would get from taking at least one, full programming course in your life.

這是一們課程對於不熟悉Linux程式初學者比較有幫助。一些章節內容是相當的詳細而且專業的,總而言之,學習低階層的程式是有很大的幫助的。比起那些只有基本了解的人而言。

So, I think I'll revise my statement. This could be a course for a non-coder, because coding might not be your day job or your hobby, but it's a course best taken after an introduction to computer science and programming. Which I plan to take next. So, I'll take one slight step back to catch up a bit. Then, I want to launch forward again with this Linux Academy course on how to install and customize Linux as your desktop.

所以,我認為我會修正我剛才所說。這可以是一門為不寫程式的使用者而設立的課,因為寫程式可能不是你的日常工作或是嗜好,但是這是一門這適當的課程在學完電腦科學和程式設計的課程後。我計畫繼續這一門課程,所以,我將會停下等其他人跟上腳步,然後我會再次設立這樣的一門課程如何安裝與客製化Linux於電腦。

If you're a non-coder interested in taking this course, do it. Why not? It's free, professionally done (by the Linux Foundation), and sometimes when you jump in the deep end you learn to swim faster. I sort of went at it like I knew what was going on and what the material was talking about even when I only half understood. That helped me in two ways. For one, to some extent you need to just get through new material. You can go back, reread, and retake quizzes, but when momentum really needs to be on your side, you've got to find a way to just keep going and reach the end. Because I kept moving, too, I was able to glean some gems from the vast landscape of mostly unfamiliar information. For the things I did recognize and the few things I had done before, they made that much more sense.

如果你還不會寫程式,但是對這門課程很有興趣,那就來吧!這門課程是免費、專業性的,鑽研的越深,學得就越快。有時候我已經知道核心內容在講些什麼,甚至當我只有了解一半的內容時。這幫助我兩方面,一是可以藉由課程延伸你的知識。你可以重新閱讀一遍,或是重新做題目,當你發現你學習的動機後,你會順利的找到你的方法完成這一門課程。因為不斷地學習,你可以在不熟悉的浩瀚知識中找到很多寶貴的資訊。過去我就體認到這一件是,這會是有意義的。

Finally, whomever you are, whatever skill level, put on music that faciliates the creative mind. Ping me if you want some recommendations.

最後,無論你是誰、無論程度如何,歡迎加入這一門課程。如果你想要一些建議就連絡我。

2015年1月2日 星期五

[Life]2014年度最佳開源硬體


開源硬體是開源運動在物理性質上的基礎。透過理解、設計、製造、商業化,並且採用開源硬體,我們建立了健康且自力更生的開放社群之基礎。而在2014年中,開源硬體的陣線上更有著各式各樣的活動。

Opensource.com在開源硬體議題上發布了一新的資源,包括可取得的定義。在3月,我們以一整周不同主題的文章來表揚開源硬體。編輯群們在開源硬體日上以3D印表機、Arduino和四軸飛行器大做文章。之後開源硬體的新聞在各領域中仍持續延燒了整年。

這裡是一些重點:

教育

Limor Fried以分享Adafruit 持續性活動來教導新世代的自造者和駭客,開啟了這一年。她讓大型活動注意到了,例如 Maker Faire、開源硬體高峰會、以及這些Adafruit的經常性會議: Ask an Engineer  Show and Tell

Russell Dickenson 採訪 Jezra Johnson Lickter關於失落的修補藝術,和由於廣泛可用的廉價電子組件和資訊而如何在當今使其振奮的。Jezra還表揚了修補、專注於好奇心、解放創造力、以及製作物品使其有更多特色的無常生態。

Jen Wike Huger 針對ChickTech的主動精神,帶領更多女生們走進科技與工程的世界,對ChickTechJennifer Davidson 進行了採訪。特別是她還點出了給女高中生們的先行大學體驗,使他們著手開源和開源硬體的教育計畫,像是在OSCON舉行的Open HeARTware工坊

自造者

Ruth Suehle以一篇Mark Hatch著的自造者運動宣言之評論開啟這一年,他寫了來自世界各地的自造者們的經驗,這些自造者改變了新產品被構思、設計、原型化的方式。最重要的是,這份宣言呼籲我們參與製作的民主體驗。

這篇文章轉而啟發了對自造者:新工業革命這本書的評論,書中 Chris Anderson述說第二次工業革命正是自造者運動的出現。Chris還分享他創建一個蓬勃發展的商機之經驗正與DIY社群的價值一致。

自造者運動的民主化也被描繪在一篇關於公共圖書館內自造者空間之創作的文章中,在這裡,3D印表機和掃瞄機是公開使用的,並且有當地的志願者來訓練同儕鄰居。

在自造者空間,今年最重大的活動,依這篇e-Nable社群中的Jen Owen 成員Jen Wike Huger社群的評論描述,無庸置疑的,正是e-NABLE社群的誕生。全世界e-Nable社群的志願者在線上互相設計、製造,並分發3D列印的義手給小孩們。社群的另一個成員,和科技的使用者 Peregrine Hawthorn,在這篇文章中分享他是如何讓有著4600名工程師的Intel記者會全體站起為他掌聲。這是對於盡忠志願者的科技授權社群如何以前所未有的速度去驅動社會改變的最棒的描繪。

3D列印

快速的革新在3D列印領域不斷的持續著。我們以一篇Printrbot簡易3D印表機的評論開始這一年,這印表機低成本,只要經過幾小時的裝配,就能將每位蘊含靈感的自造者們的想法,以高品質的3D列印發揮出來。我們還了解到將 Arduino引進3D列印市場的入口,這是一個在2015年令人興奮並值得緊密追蹤的開發。

堅守免費且開源的原則需要付出很大的貢獻與努力。這就是 Aleph Objects的好人在他們 LulzBot印表機的開發中所達成的。他們的旅程在這篇Jeff Moe的評論中被 Ginny Skalski詳述。他們拒絕專利的使用,反而擁抱快速革新來建立現有技術。他們也不間斷地發布他們的設計,在開發的同時分享之,並且以這方式也能歡迎社群的貢獻。在接下來的連續兩年,這公司還提供一台Lulzbot Taz 4 3D印表機Opensource.com節慶大放送的贏家。

電子組件

在一般電子組件陣線上,我們看到Bryn Reeves所做的一個開源 DIY示波器的開發。他結合一個 OLPC筆電 軟體經過GPL驗證的示波盒。這讓Bryn 可以用他所慣用的Vim編輯器使其在經過幾個連線階段後能順利運作。

Lauren Egts採訪了TinyCircuits的創立者 Ken Burns。這是一個初期以Kickstarter募資創立的公司。TinyCircuits生產相容於 Arduino平台的小型模組化元件,例如TinyDuinoLauren後來Dave Egts (她的父親)Gunnar Hellekson科技播客秀中被採訪

我們也知道了 LittleBits,這是一套模組化元件,使我們可以輕易的組合,建立出電子組件。 LittleBits使他們的設計公開可取得,並培育出熱忱分享計畫的貢獻者社群。

JR 分享他的 pedalSHIELD設計,這是一個為了吉他家、駭客和程式設計師所做,可編碼的開源軟硬體之吉他踏板。他是使用開源工具KiCad和開源硬體Arduino 平台來設計的。

Arduino

Michael Harrison評論了 給新手的Arduino這本書,此書是寫來教導新手們如何運用Arduino微控制器做出有趣的小儀器。

我們回顧了 Adafruit的書Arduino新手包,並分享我們操作高度完成之Arduino 範例中的基本工程。這很強烈推薦做為開啟Arduino世界的簡單方式。

Jonathan Muckell分享他是怎麼準備和教授大學理計算課程去使用開源硬體和開源軟體。這堂課結合了 Arduinos、樹莓派和3D列印,重燃學生的興趣來應用編程和計算去應對影響物理世界的情況。

Jon Davis跟我們談論到他的中課程,在課堂上學生要使用Arduino板來做出科學儀器。學生因Arduino社群已發展且公開的支援資源之豐富而受惠。Jon明智地指出:教導是開源的。

Hugo Silva教我們使用BITalino 感測器在幾個酷炫的計畫上。BITalino是一個低成本的軟硬體套件,被設計來讀取生理訊號。藉由這套件,計畫可以讀取肌肉、心臟和精神訊號,並處理這些訊號來控制對人類互動有反應的裝置,或是簡單地監控身體機能。Hugo分享了各種有趣的應用,從無人機控制器到盧‧賈里格症ALS)病患的協助裝置皆有。

樹莓派

對樹莓派團隊來說這是很棒的一年。我們慶祝樹莓派B+板的發布,並評論,之後又評論了樹莓派A+型號。這板子大大改進了功耗和連接,同時還能把價錢壓在B+等級並使A+型號減少了5美元。這些新型號拓展了工匠們的選擇來找到可以勝任任何計劃的板子。

Ruth Suehle分享了他最喜愛的樹莓派計畫,包括各種東西如R2D2駭取、家庭自動化、天空攝影、FM收音機和家庭釀酒等。

Lauren Egts無懼地嘗試開源硬體,結合了樹莓派至雜耍者表演的燈光控制器。她運用她的軟硬體駭取技術來結合一個樹莓派、 ArchLinux Pibrella,控制雜耍俱樂部的一組LED。它們的實際運作非常值得去看,就在影片340處。

結論

2014年因為開源硬體活動而充滿活力,並讓開源社群以及每個著手有趣計畫的人和涉及從教育到醫療的學員們,彼此更緊密。未來將因我們互相融合的社群而更美好。