聚會時間公告: 因應COSCUP 2011, Kalug 8月份休會一次

五月 22, 2016
» Plasma 5.6.4、Applications 16.04.1、Frameworks 5.22.0 已經可用 (Chakra GNU/Linux)

KDE Plasma、Applications、Frameworks 的最新更新現在都已提供給所有的 Chakra 使用者,同時也包含了其他的套件更新。

Plasma 5.6.4 包含了新翻譯與錯誤修復,其變動主要是關於 plasma 桌面與工作空間、kwin、kscreen 與 networkmanager 和其他東西。

Applications 16.04.1 包含了超過 25 個已知的錯誤修復,以及對 kdepim、ark、kate、dolphin、kdenlive、lokalize、spectacle 以及其他東西的改進。

Frameworks 5.22.0 包含了錯誤修復以及對 breeze 圖示、plasma 框架、kio、ktexteditor 與 kactivities 以及其他東西的改進。

其他值得注意的套件更新:

  • wine 1.9.10

請在 Pacman 詢問您是否要取代套件時一律回答 yes。若您有任何的疑問或是遇到關於此更新的任何問題,請在對應的論壇貼文詢問或回報。

我們大多數的鏡像可能需要12至24小時同步,同步完後,更新應該是相當安全的。我們也提供了一個簡單的鏡像狀態頁面來檢查您的鏡像在什麼時候與主伺服器同步。

新聞來源:Plasma 5.6.4, Applications 16.04.1 and Frameworks 5.22.0 available in Chakra


小惡魔AppleBOY
AppleBOY
小惡魔 – 電腦技術 – 工作筆記 – AppleBOY is about »

tag cloud

» ScaleDrone Websocket 平台從 Node.js 轉換到 Golang

Go-brown-side.sh 又看到一間網路平台公司從 Node.js 跳到 Golang 了。ScaleDrone 是一間提供了 websocket 服務的公司,讓 web 可以透過 ScaleDrone 即時將訊息傳播到各種瀏覽器,但是今天看到 ScaleDrone 即將把後端平台使用的語言從 Node.js 轉換到 Golang,為什麼要轉語言呢,官方提到大量的 Websocket 連線,讓伺服器記憶體快吃不消了,然而 ScaleDrone 用 Go 語言來實際測試,發現記憶體不但沒有增加,反而還降低了 response 及 connections 時間。底下是針對 Node.js vs Go 語言轉換比較。

Performance 效能

Node.js 使用了 event-driven, non-blocking I/O 模型,一種說法是程式設計師不需要考慮 concurrency,另一種說法是 JavaScript 及 Node.js 在 concurrency 是有效能限制的。ScaleDrone 實際拿了 Websocket 來做實驗,發現 Golang 在 Websocket 表現上足足快了 Node.js 三倍,當然這不代表 Node.js 是不好的語言,只是為了證明,如果針對 websocket 長期考量來說,Golang 會是一個比較好的選擇。

Ease of use 使用上

相信寫 JavaScript 再來寫 Node.js 會是非常簡單,學一套語言前後端都可以適用,Node.js 語言讓程式設計師可以快速進入開發,所以也不用考慮 concurrency 狀況,然而在 Golang 則是提供另外一種 elegant patterns,讓你在寫 concurrency 語法時,需要考慮實際情境。

Ecosystem 生態

不得不說在語言生態上 Node.js 還是贏過 Golang 許多,一個套件可能在 Node.js 上找到好多個不同的作者寫的,但是在 Golang 上可能連一個都沒有。在文件上 Node.js 靠的是 Readme,而 golang 則是靠 godoc,在沒有大量的 example 的狀態下,其實從 Readme 來看都是不好上手的,另外如果第一次接觸 golang,其實 godoc 看起來不是很友善。

Conclusion 結論

每種語言都各有優缺點,並非說 Node.js 就是不好的語言,該 Blog 有說到,如果您還沒有處理過數千或數百萬的 concurrent connections 的話,會推薦使用 Node.js,反之則就是推薦 Golang。最後 Golang 有兩個套件專門主理 WebSocket,一個是 x/net/websocket 另一個是 gorilla/websocket,前者是 Golang 內建的套件,但是並非有很多功能,後者是 third party package 提供了更多 WebSocket 功能,如果要用在 Production 上,請使用後者,最後寫 Golang 可以使用 pprof tool 來追蹤記憶體變化。本篇翻譯自原文出處

五月 20, 2016
» calibre 2.57 釋出

自由的跨平臺電子書管理軟體,calibre 2.57 正式版釋出,此版本新增了幾個功能以及修正了 7 個 bug。
calibre 2.X 版本支援 Windows Vista~ 10 (皆含 32 位元及 64 位元版本)、Mac OS X 10.7 或更新、各種 Linux 發行版。若您的作業系統是 Windows XP 或是 Mac OS X 10.5、10.6,請繼續使用 1.48 版。

來源:http://calibre-ebook.com/whats-new


小惡魔AppleBOY
AppleBOY
小惡魔 – 電腦技術 – 工作筆記 – AppleBOY is about »

tag cloud

» 基礎 JavaScript ES6 和 CSS cheat sheet PDF 下載

es6-logoToptal Blog 看到 JavaScript Cheat Sheet: ES6 And Beyond 及另外一篇 A Practical CSS Cheat Sheet by Toptal Developers,這兩篇提供了一些 JavaScript ES6 及 CSS 的基礎寫法及教學,蠻適合前端工程師將 PDF 印出來貼在座位前面,cheat sheet 內提供的語法幾乎都是天天在用,像是在 ES2015 內 let vs var 語法差別,什麼時候要用 constlet,或 Template String,預設參數 .. 等功能,其實非常不賴。CSS 則是介紹基本的 Box Model、Selectors、Pseudo-selectors .. 等。

PDF 下載

在 Toptal 文章內有提供 PDF 下載連結,我也在 Google Drive 備份一次,連結如下

五月 13, 2016
» 3GPP Public Warning System (PWS) in ofono

The Taiwan government has launched the new Public Warning System to warn cell phone subscribers the happening emergency. There are a few integration need to be done to support PWS on Ubuntu phone.

  1. rild from Android.
  2. ofono to dbus.
  3. User interface to handle the dbus event.

ofono supports the CBS/PWS[1] long time ago. There are a few TODOs to support the PWS

  • Make sure the rild can receive and pass the Cell Broadcast Service (CBS) to ofono
  • Need a userspace program to handle the Emergency Broadcast from dbus.

References:

[1] 國家通訊傳播委員會_災防告警系統(PWS)介紹 – http://www.ncc.gov.tw/chinese/gradation.aspx?site_content_sn=3744
[2] ofono/ofono.git – Open Source Telephony – http://git.kernel.org/cgit/network/ofono/ofono.git/tree/src/cbs.c#n100
[3] PWS specs

  • PWS – Public Warning System – https://tools.ietf.org/agenda/79/slides/atoca-0.ppt
  • 3GPP specification: 22.268 – Public Warning System (PWS) requirements – http://www.3gpp.org/DynaReport/22268.htm
  • 3GPP specification: 23.041 – Technical realization of Cell Broadcast Service (CBS) – http://www.3gpp.org/DynaReport/23041.htm
  • LTE for Public Safety – Rainer Liebhart, Devaki Chandramouli, Curt Wong, Jürgen Merkel – Google 圖書 – https://books.google.com.tw/books/about/LTE_for_Public_Safety.html?hl=zh-TW&id=oVy3BgAAQBAJ

The post is based on engineering note.

» LibreOffice 5.1.3 釋出

LibreOffice 5.1.3 已經釋出,這是 5.1 系列的的第三個錯誤修正版本。
對於企業使用者,文件基金會建議在有認證專家做為後盾的情形下部署 5.0 系列到大型企業及組織,以提供額外的加值服務。

新聞來源:LibreOffice 5.1.3 available for download

五月 8, 2016

小惡魔AppleBOY
AppleBOY
小惡魔 – 電腦技術 – 工作筆記 – AppleBOY is about »

tag cloud

» 在 Github 專案內搜尋 Golang 函式,Golang 開發者必裝 Chrome Extension

Go-brown-side.sh 在 IDE 編輯器我們可以用內建的 go to definition 直接跳到該函式,但是身為工程師,每天接觸最多的就是觀看 Github 程式碼,有沒有什麼方式可以透過 Web 介面直接搜尋專案內 Golang 所有函式,讓 Golang 開發者快速跳到該函式,這時就要來安裝 Sourcegraph Chrome extension for GitHub 啦。

Sourcegraph Chrome extension

可以接看官方的介紹影片 安裝完成後,只要你到 golang 的專案目錄內,就可以看到搜尋的功能 Screen Shot 2016-05-08 at 6.21.53 PM 瀏覽程式碼也會直接顯示該函式描述,或者可以直接跳到該函式,檢視該函式如何實作 Screen Shot 2016-05-08 at 6.25.06 PM 此 Chrome Extension 最主要兩大功能
  • Jump-to-definition
  • Better code search
讓開發者可以透過瀏覽器快速檢視程式碼,大大縮短開發時間。重點是這 Extension 是 Free 的,大家快點下載安裝吧。

五月 6, 2016
» LibreOffice 5.0.6 釋出

LibreOffice 5.0.6 已經釋出,這是 5.0 系列的的第六個錯誤修正版本。
對於企業使用者,文件基金會建議在有認證專家做為後盾的情形下部署 5.0 系列到大型企業及組織,以提供額外的加值服務。

新聞來源:LibreOffice 5.0.6 available for download

五月 5, 2016

小惡魔AppleBOY
AppleBOY
小惡魔 – 電腦技術 – 工作筆記 – AppleBOY is about »

tag cloud

» Golang 套件管理工具 Glide

Go-brown-side.sh 套件版本管理已經是各大語言不可或缺的工具,像是 Node.jsnpmPHPComposerRubyRVM 等…,都已經發展很成熟了,但是在 Golang 語言呢,在 Go 1.5 以後的版本,可以透過 GO15VENDOREXPERIMENTGlide 來管理套件版本,在 Go 官方網站也有整理一份 Wiki,開發者可以選一套適合自己的來使用,而今天要介紹這套 Glide,在開始之前,大家先來了解 Go 提出的 vendor experiment

vendor experiment

Golang 1.5 版本提出 vendor experiment 功能,讓每個 Package 都可以擁有自己的 vendor 目錄,當 compiler 要找尋 import package 時,會預設先從 vendor 目錄找起,如果沒有的話就會繼續找 $GOPATH 最後找 $GOROOT。底下來看一個 Project 範例。

example

- $GOPATH/src/github.com/example/foo
  |
  -- main.go
  |
  -- vendor/
       |
       -- github.com/example/bar
在這範例可以看到有主程式 main.go,在 main.go 內 import github.com/example/bar,系統就會把相關 import package 都下載到 vendor 目錄,取代原本會下載到 $GOPATH 目錄,這邊要注意的是,開發中的專案目錄(在這範例是 github.com/example/foo),務必要放在 $GOPATH 目錄內。如果你還在用 go 1.5 版本,請記得加上環境變數 GO15VENDOREXPERIMENT=1,1.6 版本已經預設將 GO15VENDOREXPERIMENT 設定為 1 了,不知道環境變數可以透過 go env 看看目前 go 變數狀態。

Glide 套件管理

Glide 是 golang 套件管理工具,用來管理專案的 vendor 目錄,開發者可以透過 Glide 建議各專案的 glide.yaml 設定檔,並且定義相關套件版本資訊,Glide 會負責將套件下載到 vendor 目錄內。底下是 Glide 安裝方式。

安裝 Glide

安裝 Glide 非常簡單,可以直接到 Github 下載 Binary 執行檔,或者是透過 go 來安裝
$ go get github.com/Masterminds/glide
$ cd $GOPATH/src/github.com/Masterminds/glide && make install

使用 Glide

在專案內直接執行底下指令來建立 glide.yaml 設定檔
$ glide init
# 或
$ glide create
產生出來的 glide.yaml 格式如下
package: github.com/appleboy/gorush
import:
- package: gopkg.in/yaml.v2
- package: gopkg.in/redis.v3
- package: github.com/Sirupsen/logrus
  version: v0.10.0
- package: github.com/appleboy/gin-status-api
- package: github.com/fvbock/endless
- package: github.com/gin-gonic/gin
- package: github.com/google/go-gcm
- package: github.com/sideshow/apns2
  subpackages:
  - certificate
  - payload
- package: github.com/stretchr/testify
- package: github.com/asdine/storm
- package: github.com/appleboy/gofight
- package: github.com/buger/jsonparser
如果原本專案內就有使用 Godep, GPM, or GB 等套件管理,Glide 會自動把該套件無痛整合進來。完成後可以透過 glide upglide install 來安裝相關套件。兩個指令差別在哪?如果專案內沒有 glide.lock 檔案,當您執行 glide install 後,其實系統會先執行 glide up 產生 glide.lock 檔案,glide.lock 內記錄了所以套件版本資訊。你可以把 glide.lock 想像成 PHP 的 composer.lock
hash: 4e05c4dd1a8106a87fee3b589dd32aecc7ffeb1246bed8f8516b32fe745034d6
updated: 2016-05-04T14:26:47.161898051+08:00
imports:
- name: github.com/alecthomas/kingpin
  version: e1543c77ba157565dbf7b3e8e4e15087a120397f
- name: github.com/alecthomas/template
  version: a0175ee3bccc567396460bf5acd36800cb10c49c
  subpackages:
  - parse
也就是專案內使用了 A 套件,A 又使用了 B,這樣 Glide 會把套件 hash 值記錄在 glide.lock 檔案內,其他開發者下載您的專案後,只需要下 glide install 就可以開始 build binary 了。如果要安裝單一套件呢,可以使用 glide get 指令,該指令會將新的套件寫入 glide.yaml 設定檔。
$ glide get --all-dependencies -s -v github.com/gin-gonic/gin
  • --all-dependencies: 下載相依套件全部的 dependencies
  • -s: 下載後刪除 .git 目錄
  • -v: 移除 Godeps/_workspace 等相關目錄
當然你也可以指定套件版號
$ glide get --all-dependencies -s -v github.com/gin-gonic/gin#v1.0rc1
如果是想更新全部 dependencies 寫到 glide.lock,可以直接下底下指令,Glide 會把套件 dependencies 全部下載到 vender 內,就好比執行 go get -d -t ./... 指令一樣。
$ glide update --all-dependencies --resolve-current

結論

使用套件管理後,務必將 glide.lock 加入版本控制,更新時請務必看看各套件的 Changelog,並且將測試寫完整。如果是 API 測試,可以參考之前寫的一篇測試工具 用 gofight 來測試 golang web API handler

四月 30, 2016
» Shinyei PPD42NS support in upm

Shinyei PPD42NS[1] 做的粉塵感應器 (Dust sensor)[0] 是透過計算一定時間的脈衝次數,紀錄大於 1um 小於 2.5um 的微粒,測量結果單位是 pcs/0.01cf,必須要經過轉換,才能符合常見的細懸浮微粒 (PM2.5) 的 ug/m3 單位,然後透過 ug/m3 才能再算出 AQI[2]。
參考這篇論文 – Preliminary Screening System for Ambient Air Quality in Southeast Philadelphia[3],文中提供了一些公式可用來轉換。
 
為了方便用 node.js 兜起來用,順手改了一版 upm[4][5] 出來。不過由於濕度會影響微粒計算[6],必須配合溼度計,套用雨天或晴天不等的濕度矯正參數公式才會比較準確。
 
[0] Grove – Dust Sensor – Wiki – http://www.seeedstudio.com/wiki/index.php?title=Grove_-_Dust_Sensor&uselang=en
[1] Data sheet of PPD42NS http://www.seeedstudio.com/wiki/images/4/4c/Grove_-_Dust_sensor.pdf
[2] Air Quality Index (AQI) Basics – https://airnow.gov/index.cfm?action=aqibasics.aqi
[3] Preliminary Screening System for Ambient Air Quality in Southeast Philadelphia – http://www.cleanair.org/sites/default/files/Drexel%20Air%20Monitoring_-_Final_Report_-_Team_19_0.pdf
[4] ppd42ns: convert pcs/0.01cf to μg/m3 to aqi by chihchun · Pull Request #409 · intel-iot-devkit/upm – https://github.com/intel-iot-devkit/upm/pull/409/commits/ad31559281bb5522511b26309a1ee73cd1fe208a
[5] upm_0.3.2.bb – https://gist.github.com/chihchun/438625062886f8a53c0c532d22281baf
[6] Seasonal variation of particle size distributions of PAHs at Seoul, Korea | SpringerLink – http://link.springer.com/article/10.1007/s11869-008-0002-2

四月 29, 2016
» calibre 2.56 釋出

自由的跨平臺電子書管理軟體,calibre 2.56 正式版釋出,此版本新增了幾個功能以及修正了 7 個 bug。
calibre 2.X 版本支援 Windows Vista~ 10 (皆含 32 位元及 64 位元版本)、Mac OS X 10.7 或更新、各種 Linux 發行版。若您的作業系統是 Windows XP 或是 Mac OS X 10.5、10.6,請繼續使用 1.48 版。

來源:http://calibre-ebook.com/whats-new

» Plasma 5.6.3、Applications 16.04.0 已經可用 (Chakra GNU/Linux)

KDE Plasma 與 Applications 的最新更新已提供給所有 Chakra 的使用者,也包含了其他套件的更新。這次更新需要手動干預,因為有一個先前存在的檔案被丟棄後又移動到其他套件中。要正確地執行本次更新請見下列說明:
$ sudo pacman -Syu → 這裡應該會有錯誤
$ sudo pacman -S kde-runtime --force → 這可以繞過這個問題
$ sudo pacman -Syu → 像平常一樣繼續更新

Plasma 5.6.3 包含了新翻譯與錯誤修復,其變動主要是關於 plasma 桌面與工作空間、kwin 與 addons。

Applications 16.04 包含了移植到 Frameworks 5 的 kcolorchooserkfloppykmahjonggkrdc。新的音樂應用程式也被引入,其稱為 minuet許多臭蟲已被修正,同時也加入了許多新功能到套件中,像是 kontact 套裝軟體、kdenlivearkokularkhelpcenter 以及 kleopatra

其他較重要的套件更新:
  • exiv2 0.25 與 libgit2 0.24 都收到了會破壞相容性的更新。如果您有依賴於它們的本機套件或是從 CCR 安裝的套件,請重建它們。
  • digikam 5.0.0-beta6
  • openjdk 8.u92
  • hugin 2016.0.0
  • kdevelop 4.90.91-1
  • zanshin 0.4.0-1
請在 Pacman 詢問您是否要取代套件時一律回答 yes。若您有任何的疑問或是遇到關於此更新的任何問題,請在對應的論壇貼文詢問或回報。

我們大多數的鏡像可能需要12至24小時同步,同步完後,更新應該是相當安全的。我們也提供了一個簡單的鏡像狀態頁面來檢查您的鏡像在什麼時候與主伺服器同步。

新聞來源:Plasma 5.6.3 and Applications 16.04.0 by KDE now available

四月 28, 2016

小惡魔AppleBOY
AppleBOY
小惡魔 – 電腦技術 – 工作筆記 – AppleBOY is about »

tag cloud

» Git Flow 與團隊合作

branching-illustration@2x 本月最後一篇投影片來介紹 Git Flow 流程該如何導入團隊,之前寫過一篇 Git branch model 文章,裡面提到該如何正確使用 branch,但是現在回想起來要導入團隊內真的是有點麻煩,也遇到蠻多問題的,後來最後只採用 Github Flow,簡單又容易理解,如果開發者很常在 Github 活動,相信對於此方法並不會很陌生。

投影片大綱

Git flow 與團隊合作 from Bo-Yi Wu

四月 26, 2016

小惡魔AppleBOY
AppleBOY
小惡魔 – 電腦技術 – 工作筆記 – AppleBOY is about »

tag cloud

» 來聊聊 PHP & JavaScript & CSS 的 Coding Style

Screen Shot 2016-04-20 at 11.47.45 PM 專案開始前,要決定好前端或後端各用什麼語言及制定符合團隊的 Coding Style,統一團隊 Style 是非常重要的,尤其是專案需要經過 Code Review 步驟,不要造成 Reviewer 困擾。底下寫了一份投影片介紹 PHP & JavaScriptCSS 的基本 Coding Style 及該如何透過工具來改善 Coding Style。

大綱

  • 為什麼要制定團隊 Coding Style
  • PHP 語言的 Coding Style 及工具
  • PostCSS 簡介
  • JavaScript ES5 Style Rule
  • 開始寫 JavaScript 2015
PHP & JavaScript & CSS Coding style from Bo-Yi Wu

四月 24, 2016

小惡魔AppleBOY
AppleBOY
小惡魔 – 電腦技術 – 工作筆記 – AppleBOY is about »

tag cloud

» 在 linkit smart 7688 寫 golang

7688_7688duo 很高興 Mediatek 在去年推出 linkit smart 7688 開發版,你可以把 7688 想成是一台迷你型 Router,如果不來拿開發,也可以當家用 Router 也是不錯的。7688 讓開發者可以在上面寫 Node.js, Python 及 Native C,光是聽到 Node.js 就很興奮,用 JavaScript 控制硬體。但是本篇要介紹如何在 7688 執行 Golang 程式,其實不難,只要把 OpenWrt 支援 gccgolibgo 即可。底下步驟同步於我的 Github Repo

用 Docker 安裝 7688 環境

我建立了一個 Dockerfile,讓開發者可以透過 Docker 快速在任何作業系統產生開發環境,安裝步驟如下:
$ git clone https://github.com/appleboy/linkit-smart-7688-golang.git 
$ cd linkit-smart-7688-golang && docker build -t mt7688 .
開啟 7688 terminal 環境
$ docker run -ti --name 7688 mt7688 /bin/bash

啟動 gccgo 和 libgo

底下步驟教您如何打開 gccgo 及 libgo 選單。打開 package/libs/toolchain/Makefile 找到
define Package/ldd
在前面插入
define Package/libgo
$(call Package/gcc/Default)
  TITLE:=Go support library
  DEPENDS+=@INSTALL_GCCGO
  DEPENDS+=@USE_EGLIBC
endef

define Package/libgo/config
       menu "Configuration"
               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgo

       config LIBGO_ROOT_DIR
               string
               prompt "libgo shared library base directory"
               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgo
               default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
               default "/"  if NATIVE_TOOLCHAIN

       config LIBGO_FILE_SPEC
               string
               prompt "libgo shared library files (use wildcards)"
               depends EXTERNAL_TOOLCHAIN && PACKAGE_libgo
               default "./usr/lib/libgo.so.*"

       endmenu
endef
找到
define Package/libssp/install
在前面插入
define Package/libgo/install
    $(INSTALL_DIR) $(1)/usr/lib
    $(if $(CONFIG_TARGET_avr32)$(CONFIG_TARGET_coldfire),,$(CP) $(TOOLCHAIN_DIR)/lib/libgo.so.* $(1)/usr/lib/)
endef
找到
$(eval $(call BuildPackage,ldd))
在前面插入
$(eval $(call BuildPackage,libgo))
打開 toolchain/gcc/Config.in 最後面插入
config INSTALL_GCCGO
    bool
    prompt "Build/install gccgo compiler?" if TOOLCHAINOPTS && !(GCC_VERSION_4_6 || GCC_VERSION_4_6_LINARO)
    default n
    help
        Build/install GNU gccgo compiler ?
打開 toolchain/gcc/common.mk 找到
TARGET_LANGUAGES:="c,c++$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)$(if $(CONFIG_INSTALL_GFORTRAN),$(SEP)fortran)"
取代成
TARGET_LANGUAGES:="c,c++$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)$(if $(CONFIG_INSTALL_GFORTRAN),$(SEP)fortran)$(if $(CONFIG_INSTALL_GCCGO),$(SEP)go)"
打開 Kernel Configuration
$ make menuconfig
  • Target System: Ralink RT288x/RT3xxx
  • Subtarget: MT7688 based boards
  • Target Profile: LinkIt7688
啟動 gccgo
-> Advanced configuration options
-> Toolchain options
-> Select Build/Install gccgo
-> C library implementation
-> Use eglibc

撰寫 golang hello world

Go-brown-side.shalias 設定 mips gccgo 路徑
alias mips_gccgo='/root/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_glibc-2.19/bin/mipsel-openwrt-linux-gccgo -Wl,-R,/root/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_glibc-2.19/lib/gcc/mipsel-openwrt-linux-gnu/4.8.3 -L /root/openwrt/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_glibc-2.19/lib'
hello world 程式
package main

import "fmt"

func main() {
  fmt.Println("hello world")
}
編譯執行檔
$ mips_gccgo -Wall -o helloworld_static_libgo helloworld.go -static-libgo
在 7688 裝置內執行 helloworld_static_libgo
root@mylinkit:/tmp/7688# ./helloworld_static_libgo 
hello world
以上步驟就可以完成 hello world 程式,詳細步驟都記錄在 linkit-smart-7688-golang

四月 22, 2016
» Linux 核心與顯示卡驅動程式更新進入穩定套件庫 (Chakra GNU/Linux)

本次更新包含了我們的核心套件庫的許多更新,包含了 Linux 核心、顯示卡驅動程式,以及其他許多套件。

為了避免複雜化更新過程,讓潛在的故障排除變得不易,Plasma 5.6.3Applications 16.04 將會在接下來的幾天內才進到穩定套件庫。這些都已經提供給我們的測試員了,他們協助我們在把套件移動至穩定套件庫前抓出大部份可能的臭蟲。改善了所有 Chakra 使用者的體驗。

核心:

  • linux 4.5.1
  • linux-lts 3.14.66
顯示卡驅動程式:
  • mesa 11.2.1
  • xf86-video-amdgpu 1.1.0
  • xf86-video-ati 7.7.0
  • xf86-video-intel 2.99.917+544+g8b8c9a3
  • nvidia 364.16
  • nvidia-340xx 340.96
  • nvidia-304xx 304.131
其他套件:
  • primus 20151110
  • phonon 4.9.0
  • btrfs-progs 4.5.1-2
  • intltool 0.51.0
  • rust 1.8.0
  • samba 4.3.8
  • sqlite3 3.12.1
  • wine 1.9.8

請在 Pacman 詢問您是否要取代套件時一律回答 yes。若您有任何的疑問或是遇到關於此更新的任何問題,請在對應的論壇貼文詢問或回報。

我們大多數的鏡像可能需要12至24小時同步,同步完後,更新應該是相當安全的。我們也提供了一個簡單的鏡像狀態頁面來檢查您的鏡像在什麼時候與主伺服器同步。

新聞來源:Updated linux kernel and graphics packages available


小惡魔AppleBOY
AppleBOY
小惡魔 – 電腦技術 – 工作筆記 – AppleBOY is about »

tag cloud

» Docker 基礎介紹與實戰

docker 在個人開發環境或者是部署上,Docker 已經是不可或缺的工具,尤其是團隊開發上,如何用 Docker 統一團隊開發環境,減少團隊成員浪費在環境建置及開發上互不影響,底下來看看投影片大綱:

投影片大綱

Docker 基礎介紹與實戰 from Bo-Yi Wu
強烈推薦大家將 Docker Best Practices Cheat Sheet 圖表 印出來貼在座位前面

四月 15, 2016
» calibre 2.55 釋出

自由的跨平臺電子書管理軟體,calibre 2.55 正式版釋出,此版本新增了幾個功能以及修正了 13 個 bug。
calibre 2.X 版本支援 Windows Vista~ 10 (皆含 32 位元及 64 位元版本)、Mac OS X 10.7 或更新、各種 Linux 發行版。若您的作業系統是 Windows XP 或是 Mac OS X 10.5、10.6,請繼續使用 1.48 版。

來源:http://calibre-ebook.com/whats-new

四月 9, 2016

小惡魔AppleBOY
AppleBOY
小惡魔 – 電腦技術 – 工作筆記 – AppleBOY is about »

tag cloud

» 在 WordPress 內寫 Markdown 語法

Markdown-mark.svg

Markdown 還沒出來之前,要寫一篇部落格教學真的非常麻煩,尤其是要學習 html 語法及如何引用程式碼在文章內,Markdwon 的出現,改變了整個工程師寫 Blog 的習慣,現在不管使用任何網站,沒有支援 Markdwon 語法,真的就不太想留言或發文了。最早以前自己的部落格是用 WP-Markdwon 這套 Plugin,但是這套 Plugin 在整合 SyntaxHighlighter Evolved 的時候根本無法使用,需要特定的語法才可以使用。WP-Markdwon 有個好用的工具那就是 editor tool bar,幫你省下製作 hyperlink 的時間,會自動幫忙編號,如果沒有 SyntaxHighlighter 需求,我個人是推薦用 WP-Markdwon。

golang 範例

package main 

import ( "fmt" ) 

func main() { 
  fmt.Println("Welcome Golang World") 
}

為了解決 SyntaxHighlighter 問題,後來換到 jetpack plugin,這套 Plugin 蠻強大的,內建一堆好用的工具,像是會自動分析每天來造訪你的 Blog 有哪些人。所以推薦大家用 jetpack。最後要學習 Markdown 語法,可以直接參考這網站教學

四月 7, 2016
» LibreOffice 5.1.2 釋出

LibreOffice 5.1.2 已經釋出,這是 5.1 系列的的第二個錯誤修正版本。
對於企業使用者,文件基金會建議在有認證專家做為後盾的情形下部署 5.0 系列到大型企業及組織,以提供額外的加值服務。

新聞來源:LibreOffice 5.1.2 available for download

support:

sub.tw

A Django site.