[Hugo] Customized hugo for jekyll import

Issue

hugo import jekyll is very easy to import your blog post from jekyll to hugo.

However it has some issue, original you have change you permallink ex like:

  • permallink: /:title/
  • permallink: /:categories/:title/

I just file a issue#1887 on Hugo project, detail as follow:

I try to use it to convert my blog from jekyll which run over decade and contain over 1000+ posts. I found it will force to add “url” in every post which is /year/month/dat/postname.

for ex:

---
date: 2016-02-18T00:00:00Z
description: ""
tags: []
title: '[Visual Studio] Using Visual Studio 2015 to remote debugging C++ on linux'
url: /2016/02/18/vs-debug-linux-exe/
---

However it will conflict with my configuration of “permallink”, I found it force to store the same “url” no matter your jekyll “permallink”.

Here should be two approach of “url” generation rule:

  • Load config from jekyll and parse “permallink” configuration to apply it.
  • Just not use “url”, let user to configuration whatever they want. (It might be some issue because the “title” in jekyll permalink, mean the “postname” in hugo but no permalink config with it.) Any idea of this issue?

Temprary Fix:

Because my jekyll config use permallink: /:title/, I directory modify source code to use postName to do correctly import.

How to use it

go get github.com/kkdai/hugo  //if you don't install it before.
//build or run hugo on github.com/kkdai/hugo

TODO:

I will try to survey how to import correctly jekyll configuration. However I still wait any comment on issue #1887.

I also found hugo import jekyll will occur categories lost randomlly, keep tracking on this.

[Jekyll] 取決於要不要跳到Hugo,後來決定修改樣板

本來是想要換到Hugo的

其實早就想換到Hugo了,新版的Hugo中的Hugo Import Jekyll 也算是順利.但是卡在permalink一直設定不成功. 先來改改Jekyll的theme,不然現在的已經醜到我有點受不了.

記錄下jekyll整合到hugo過程

  • 記得要更新到Hugo 1.5之後,才有Hugo Import Jekyll
  • 跑過之後,發現會有一堆error Parse filename error: .DS_Store
    • 解法: 使用最新的source code,需要有這個fixed

Hugo轉換目前遇到問題

我希望能把整個permalink跟原先的jeky來對應.成為permalink: \:title\ 會一直無法修改permalink. 這邊卡了一下,決定把他弄好再轉到Hugo,先來換Jekyll的theme

後來問題發現是在hugo jekyll import裡面有預設的url:.也就是會跑成/2016/02/02/title/這樣,還是要找個方法來改改.

[更新 2016/02/22] 透過改code,現在可以透過import跑完所有jekyll文章也有正確的url. Refer issue #1887. 但是又卡在原先部落格的設定有問題,我使用了多個category (照理說category 只能有一個,複數個應該要用tag),這邊就有點難改了…..

剩下的問題:

  • hugo import jekyll: Categories在轉換的時候會掉(應該是issue 要修)
  • 需要另外準備Archive跟Category 的頁面,就像接著我要在jekyll裡面準備的一樣.
  • 找個一漂亮一點,實用一點的樣板.(就像女人的衣服,可能永遠少一個?)

來換 Jekyll 的 Theme

把theme 換成dbyll,簡潔我又喜愛. 不過由於本來有使用到JB (Jekyll Bootstrap),所以要做一些修改.快速紀錄一下:

  • 把JB的相關設定移掉(Remove specfic string in all file)
sed -i.bak '/include JB/d' *
rm *.bak
  • 移除layout: post (Remove layout post)
sed -i.bak '/layout: post/d' *
rm *.bak
  • 糟糕,錯誤移除.在用到gsed把他加回去(Oops, Use gsed to insert it back)
sed -i "2i layout: post" *
  • dbyll只有類別的分類,但是沒有(Add archive without plugin by month and year refer here) 程式碼列在後面.
  • 發現試著要連categories.htmlarchive.html會跳出404,原來要改成/categories//archive/就好了.

  • 發現到了 jekyll 3.0 原先的 categories.html會有問題,於是得把原先裡面的categories.html語法改一下.

  • 相同的東西也改了 tags.html

這樣改…應該可以撐一下. 等我把Hugo問題修好.. 馬上換到Hugo…

讀書心得: 簡單思考

(圖片來自 博客來網路書局)

TL;DR

  • 適合閱讀的人:
    • 新創產業的老闆與員工: 看看Line的老闆怎麼思考,身為新創產業的你們更應該這樣思考.
    • 大企業員工或老闆:
      • 老闆們都是這樣苦過來,來看看他們真正在意的事情與他們其實沒那麼在意的事情.

前言與心得

很久沒有買書來看了,結果老婆在網路上看到這本書就順便幫我買?(但是其實我並沒說我要買啊) .

這本書其實很不錯的. 一直以來我喜歡看傳記式書籍勝過指導性質的書籍.而這本書有清楚的敘述出森川亮的領導風格.Line目前已經算是相當龐大的網路公司的但是整個分工與方向就像是新創產業一樣的直覺而不落入形式.

同時,森川亮也分享了他的中心思想(雖然他說公司是沒有中心思想的).就是”持續做出使用者想要使用的產品”. 透過這個中心思想,就可以擴張出所有團隊合作與公司走向.

同時,也看得出來作者是相當的苛刻與嚴格的.詳細的部分可以從我等等摘錄出來的一些內容來察覺.

最後這麼說吧… 作者以執行長的角度提出不少公司的經營大方向與小方法.很適合新創產業可以看看這本書. 如果你不是新創產業的員工,也該看看這本書.因為老闆們想法就是這麼直覺,就是要員工們要自我學習不斷成長.

書本內容

整本書我摘出幾個內容我覺得值得分享的,還是推薦大家去翻翻整本書.

關於工作環境: 良好環境/公司不是”動物園”

現場工作者極力滿足使用者需求,經營者則努力維持良好環境,讓第一線工作者全心投入工作.

主要是講解,作者認為身為一個CEO不要去過度妨礙現場工作者(只在第一線的工作人員) .管理階層應該是要打造良好的環境,讓第一線工作人員能夠全力衝刺.而不該過度的變化方向讓第一線工作人員無法認真工作者作.

此外,製造要製造一個舒適的工作環境並不代表每天員工們都處於休閒的狀態.作者也鼓勵要讓公司打造具有競爭力的公司,並且鼓勵員工不斷地創造績效.透過績效來發放薪資,而不是透過年資來發放員工們的獎金.

關於人才招募與培訓: 高手找來高手/人才不需要提高士氣/培養員工的飢渴動機

針對於人才招募的部份,就如同許多書上有提到的.作者相信過尋找高手,給予適當的福利與空間.就會吸引更多的高手加入這家公司.

另一方便,就像是許多苛刻的老闆一樣.森川亮也認為公司不需要給同仁們教育訓練. 也不需要打氣與提高士氣. 因為好的人才只要提供好的環境與好的機會.好的員工應該要能不斷的學習成長,進而不斷向前.

此外,在員工自我評量部分應該力求簡潔.不應該讓員工浪費太多時間在無謂的公司政策.

關於工作: 從資源缺乏中重新思考/工作是爭取來的

關於在公司內的工作與資源部分,作者認為工作絕對不是輕鬆的事情.他也分享了他自己在幾間公司間轉換的經驗談. 透過挑戰新的工作,帶來的相對就是更多的機運與升遷機會.

並且作者也鼓勵許多員工們要從資源缺乏中來思考,由於資源缺乏你更會去思考如何在有限的預算(有時候連時間都相當少)的狀況下.要達到最佳的效益.

透過這兩種方式,來刺激員工對於產品不斷努力並且盡力思考出最佳狀態.

程式設計週記[2016/02/19]: 新年新氣象,Go也要換成1.6

這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

  • 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢

網路文章心得:

  • 會寫些心得,強迫自己閱讀.

“程式週記”並且定期週期性更新.

大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下.

本週摘要

過年後開工的第一天,花了點時間思考要怎麼繼續我的Project 52.一開始的幾天也都在玩Docker 1.1 跟其他的部分. 接下來應該會努力地學NSQ的Diskqueue,來練習徒手打造NSQ.

此外,本週也玩了一下蕃茄鐘工作法,覺得相當有意思.詳細的新的應該會另外寫成一篇文章.

Go

sarama: Sarama is a Go library for Apache Kafka 0.8

  • 建立與Kafka溝通的Log client for Go
  • 這篇文章有提到Kafka與相關應用.

TritonHo/meow: It is a demonstration of writing a powerful but simple framework for RESTful service

  • 類似Java Spring一樣的完整framework。
  • 目前已經整合的功能:
    • 身份驗證的middleware(jwt)
    • 阻擋重覆請求的intercepter
    • database session manager
    • validator
    • http binding(支援partial update)
    • ORM(垂直整合binder,能完整支持partial update)

meshbird/meshbird: Distributed private networking http://meshbird.com

  • 可以在server間,VM間,甚至是container之間建立私有網路.讓所有的單獨節點可以串在一起.就像有一個私有網路一樣.

doug-martin/goqu: SQL builder and query library for golang http://godoc.org/github.com/doug-martin/goqu

  • Golang 的SQL Builder,支援Postgre, MySQL跟SQLite3.不錯使用.整個很容易上手.不過MySQL 要求sql_mode=ANSI_QUOTES先去問問看原作者吧.

Go Mobile: next generation mobile apps

  • 裡面很有趣的點子是透過Go mobile 作為跟Go Server溝通的底層或是傳送給Server前的資料處理.

Python

dbcli/pgcli: Postgres CLI with autocompletion and syntax highlighting

  • 可以console下面做到postgres autocompletion, syntax highlight.. 很酷的工具.

Android/JAVA/NODE.JS

ParsePlatform/parse-server: Parse-compatible API server module for Node/Express

  • Parse 官方的Server code.這個要搭配一下這篇文章Parse 2.0

Docker

Docker 1.10 Highlights and Demo

  • 不少Docekr 1.10的功能介紹跟一段demo 影片.

iOS/Swift

Running Swift within Docker

  • 建立一個可以baked-in Swift的docker image

alanfeng99/firebase-image-uploader

  • 範例 (in Swfit):透過 Firebase 儲存以及讀取圖片

網站文章

HOW TO SURVIVE AN ACQUISITION: 被收購後如何生存

  • 由Parse的PM寫來的血淚史,轉述著被Facebook收購後的想法.
  • 首先收購都是具有破壞性的,不論是任何一種.試著調整心態來適應新的文化與環境.
  • 你的產品再也不是你的產品,而是“strategic alignment”(找不到很好的中文來翻譯).
  • 你的客戶也不是你的客戶,公司會調整你的資源來支援你的客戶.

How We Release So Frequently: 如何快速部署

  • 對於WebApp的開發,這篇文章點出了一些漸進式開發的方法.幾個守則如下:
    • 對於欄位改名: (ex: A->A')
      • 新增一個欄位A',然後讀舊READ A的.但是兩個都寫WRITE A, A'
      • 增加另外一個batch task把舊的資料A複製到新的欄位A'去(避免lock)
      • 把讀取舊的關閉READ A,同時只寫入新的欄位WRITE A' ONLY
      • 最後把舊的欄位砍掉drop A
    • 對於新的功能(Feature):
      • 使用者不應該感受到立即的顯示先的東西,新功能應該要預設是隱藏的,直到完整測試後才去顯示出來.
      • 不輕易的rollback 整個release,即便其中一個功能有問題.
      • 透過亂數的(1~100)session來控制多少功能被使用者看到,1~10 是有危險的,11~100是安全的.所以只會有10%使用者看到並且使用到有危險的.不過透過測試與修復後應該所有功能都是安全並且被控制的.
      • 不要有過長的新功能開發週期,需要開發一部份就進入避免發布焦慮(release anxiety)

htop - an interactive process viewer for Unix

  • 一個更好的,可以互動式的Unix process viewer(類似top),這裡有source code

韩剧《幽灵》中的黑客工具都有哪些?

  • 算是近年來對於電腦技術有提到的影集中算是詳細的.不少駭客技巧都是在裡面都有提到.

一個人的DevOps

  • 『我覺得最好的改進是讓人感覺不到與過去有什麼不同』,但實際上已經改變了,正開始過著新的美好生活。
  • 這句名言相當重要,也代表著好的DevOps應該要努力朝向這部分.

臉書: Yung-Lin Alan Ho 關於Kafa應用

  • 雖然作者說把Kafka拿來做基本的應用,但是其實有不少的架構也是很特別的.
    • Kafka -> samza -> azkaban
    • MySQL Op Log -> Kafka -> Apache Lucene
  • 作者提到的Google 技術也值得一看:

強震即時警報 APP「KNY台灣天氣」開發經驗談

  • 02/06 台南跟高雄強度六的地震後,地震預報變成大家最擔心的事情.這篇是作者的開發經驗談.作者Kny Chen 目前是現任中華民國 App 跨界交流協會理事長、台灣開放資料聯盟副會長.
  • 這樣的App開發絕對不能是個人的工作,政府一定要帶頭下去做讓資訊傳播與Message Notify 能夠更即時.
  • 個人有下載過這個App算是資訊相當的快速.

Top 50 Programmer Phone Interview Questions with Answers

  • 五十個程式設計師常被詢問的面試題目,其實都是觀念題雖然不難但是還是需要時常複習避免那個霎那想不起來.

Hunting Down Phantom Write Spikes in RDS Postgres

  • 遇到幻影般的大量寫入發生,這篇文章提供不少可以開始尋找原因的方向與經驗談.
  • 最後問題可能是出在Postgres的GIN Index

Stack Overflow: The Architecture - 2016 Edition

  • Joel Spolsky被大家廣為熟知的就是他在微軟的時候眾多知名的專案管理文章,他在2008創立的Stack Overflow 現在應該已經是每個工程師的預設網頁.這邊揭露出來原來stackoverflow 的伺服器架構.裡面大部分都是透過微軟的生態圈,不論是IIS或是SQL Server.
  • 也建議讀這一篇gslin大大的介紹文

番茄工作法學習

這個禮拜花了點時間把番茄工作法看了一下,並且學習.以下簡單記錄一 下:

相關文章與工具

李開復: 【幫助增加注意力的番茄時鐘法】

  • 一些簡單的摘要,建議從這裡開始.

多工傷腦 藥命效應與番茄時鐘法

  • 也是摘要整理文章,挺不錯的可以看看.

電腦玩物: 番茄土豆: 番茄鐘 + GTD 夢寐以求的時間管理利器

  • 這個App看來不錯,正在練習測試看看.

電腦玩物: 幫 Evernote Trello 奇妙清單加上番茄鐘的 PomoDone

  • 這會是下一個測試的部分,整合進我目前有的Trello清單.

網站收集

有聲書/影片心得

本週專案

這邊會寫一些我的Project 52的成果.

本週開始會有連續幾週都開始寫Diskqueue的相關project,主要是要好好的研究NSQ的Diskqueue.

說回Diskqueue,裡面這段的Loop程式碼真的相當的棒.整個處理方式是相當的漂亮.

這一段小小的select卻是所有 message queue處理的核心.還有整個diskqueue的檔案處理真的相當的棒.

本週專案 Diskqueue,從頭開始練習寫Diskqueue.不過第一週的部分只有一個檔案一個message,細節的檔案seek與處理就是接下來幾週慢慢學習的部分.

https://github.com/kkdai/diskqueue

[Visual Studio] Using Visual Studio 2015 to remote debugging C++ on linux

##Toturials

Announcing the VS GDB Debugger extension or Chinese version Refer here to understand whole process.

Note and Gotcha

How to add ssh key from Windows to Linux server?

  • Use ssh-keygen.exe to generate SSH (SSH-2 RSA)
  • Upload ssh public key to server:
    • login to server
    • vi ~/.ssh/authorized_keys
    • Add public key content to this file with start ssh-rsa
      • Note: Don’t forget the line break in windows, remove them all.
    • Done
  • Use private key locale to double confirm it.

My VS debugger cannot stop on breakpoint ?

Visual Studio will call gdb remotely and use gdb related command to communication. ex: add bookmark.

So, your local file name must identical with the remote source file name.
(ex: local: main.cpp, remote: main.cpp)

If file name not identical, the debugger will not stop on your breakpoint.

Where is pscp.exe and plink.exe

Download them from putty page

程式設計週記[2016/02/05]: 聽說今年過年天氣是歷年最好,所以今天別commit了

這是什麼?

程式週記主要內容如下:

Gihub project 介紹:

  • 主要會貼一些github,但是會盡量寫上一些有用的評語(或是我容易想到的關鍵詞)幫助以後查詢

網路文章心得:

  • 會寫些心得,強迫自己閱讀.

“程式週記”並且定期週期性更新.

大部分內容在我的twitter都會有,這邊只是將一些簡單的心得與感想註解一下.

本週摘要

比較少花時間在看一些教學影片,不過花了點時間把vagrant教學看完跟學了一下Go Vendoring

接下來要準備過年,要怎麼在國年能保持繼續寫一個專案就有點困擾我了.

Go

9 Things You Should Know About Go

  • 其實算是蠻基本的介紹,看完之後很推薦輔佐Golang FAQ來一併服用.

gophergala2016/goad: Goad is an AWS Lambda powered, highly distributed, load testing tool https://goad.io

  • 一個很方便可以透過AWS Lambda的方式來做網站的Load testing.
  • 啟動這個程式的時候,他會去透過AWS Lambda來跑起來你指定的幾個點來做Load testing,並且將最後結果傳回來做總結.

google/seesaw: Seesaw v2 is a Linux Virtual Server (LVS) based load balancing platform.

thewhitetulip/Tasks: A simplistic todo list manager written in #golang.

  • 這個包含前端的task web app都弄好有點酷

zquestz/s: “Open a web search in your terminal.”

  • 對於console熱愛玩家,應該很愛這個..

Docker 1.10 發布

  • 除了當初的content-addressable storage for images and layers,有個新功能docker update等等可以玩玩看. 這裡有官方部落格介紹可以看.

Python

pyjokes/pyjokes: One line jokes for programmers (jokes as a service) http://pyjok.es

  • 一打pyjokes馬上跳出一個關於程式設計師的笑話,不過用台語念好像還蠻酷的(拍joke).

pkmital/tensorflow_tutorials: “From the basics to slightly more interesting applications of Tensorflow”

  • tensorflow的教學與應用

Android/JAVA/NODE.JS

Introducing jQuery

  • 蠻基本的簡介,很適合補充基本常識用.

Docker

“How To Centralize Your Docker Logs with Fluentd and ElasticSearch on Ubuntu 14.04”

  • step by step 教導你怎麼透過Fluentd 跟 ElasticSearch 來整理所有的log.相當有價值得一篇文章.

Linux 容器技术史话:从 chroot 到未来-观点 ◆ 热议|Linux.中国-开源社区

  • 詳細記錄從chroot一直到windows container對於container技術的演進.進而展望未來.

iOS/Swift

CatchChat/Yep: Meet with Genius

  • 開源的Yep,Swift的上一個技術導向討論群組的App.整個UX很棒..

“Weekly Swift Language Gems, Tips and Tricks”

  • 一個C++/ASM的高手swift學習筆記,小訣竅跟一些好的Gems.很值得定期追蹤.

iOS Cookies: A hand curated collection of iOS libraries written in Swift

  • iOS開發者必收藏, 裡面分類好的Library都是用 swift 語言開發的 涵蓋有Image , Database, Permissions XML/JSON , UI/UX ….

網站文章

講義:Distributed Computing: Principles, Algorithms, and Systems

  • 大部分都是PDF的講義,如果要整本電子書還是需要購買.但是還不錯用.

从技术细节看美团的架构

  • 從一家電商公司的創始到熱門看他們的技術架構的演變.並且透過新的業務的產生對於整個技術架構的演變.

Various Linux performance material

  • 整理好了各種關於Linux Performance的一些材料整理.
谷歌如何测试软件
  • James Whittaker, 前微软架构师,是“How to Break Software”系列图书中好几部书的作者,现任Google测试工程主管,最近他写了一系列的关于谷歌如何测试软件的文章,本文为其系列的第二部分。
  • 裡面把軟體相關的工程人員切為三類: 軟體工程師,軟體測試工程師與測試工程師.其中軟體工程師與測試工程師就是我們一般熟知的,但是軟體測試工程師相當有趣,他負責寫程式碼,但是不架構新的東西只有重構與撰寫測試項目,極力讓測試的覆蓋度達到最高.

“HTTP 2.0的那些事”

  • 除了把HTTP寫得清楚之外.相關問題與演變出的來解決方式都有寫得很清楚.

手把手教你构建 C 语言编译器

  • 紀錄一下,有機會該看看.上次寫compiler跟loader已經是五專的事情.

关于 AlphaGo 论文的阅读笔记

  • 作者曾任Google 是一個數學的PhD,由他的角度來講解AlphaGo論文的角度與他方法論的.算是淺顯易懂,推薦大家有興趣可以看看.. 或是可以直接看論文
  • 這篇TechNews整理也不錯,不過就簡單了點.

如何自行架設 Parse API Server

  • 最近這種專題不少,挺值得推薦一看.

網站收集

caesar0301/awesome-public-datasets: An awesome list of high-quality open datasets in public domains (on-going). https://goo.gl/WZ8XAJ

  • 收集各式各樣的dataset,要做資料分析的學習很需要.

有聲書/影片心得

葉大教學課程: 研發者的虛擬機寶盒

  • 對於Vagrant一知半解的人,沒有想過VM能像Docker一樣操作的人.很推薦來看看葉大的影片教學.會蠻快有一些上手的範例跟基礎.

葉大教學課程: Ansible 實戰講堂

  • 同場加映,這些資料也很適合初始者看.

本週專案

這邊會寫一些我的Project 52的成果.

這一週主要把上週的寫的oxford-face的套件加上一個簡單(有套用viper的console app) oxford-dace-client