2019年4月24日 星期三

在 Anki 匯入網路資料,製作自己的單字表

Anki 是好用的用科學方式讓你背單字的初音軟體
網路上可以看到打包好的大量 Anki package 直接匯入來使用
但是更多的時候網路上面雖然有單字表,卻不是 Anki 格式
這時我們就要一些手段來把他匯入 Anki
這篇文章使用了一個例子,說明了如何把網路上的單字表匯入成 Anki

2019年1月25日 星期五

gdb 顯示 polymorphic type (derived type) 的方法

C++ 中有 polymorphism 的功能
可以讓我們用同一個型別的 pointer 產生不同的功能
然而在 debug 這樣的 code 因為 pointer 是同一種
會產生理解上的困難

2018年12月20日 星期四

隨筆兩篇 - Clang++ vs g++ 速度;Verilator 使用簡易心得

最近在使用 Verilator 這個 tool
這是一個可以把可合成 RTL 轉換成 C++ 然後跑 RTL-sim 的開源工具
verilator 產生出來的 code 動輒數十萬行 C++,compile time 數分鐘
中型的 RTL-sim 也是在秒~分鐘上下
於是就想說以此為 benchmark
比較用不同的 C++ compiler 的本身性能以及產出的 code 的速度

2018年8月7日 星期二

C++11 rvalue 使用筆記

C++11 中多了一個叫 rvalue 的東西表示「可以破壞的暫時變數」
當這些東西跟 STL, return value optimization (RVO) 等等的東西融合時
就讓事情變得很複雜了,讓我現在都不敢跟別人說我會 C++ 了
因此本文紀錄了一些我遇到的 case,希望未來也會繼續更新

2018年7月6日 星期五

在 Arch 安裝 CIC EDA tool 紀錄

由於 EDA 公司跟數位 IC 領域比較封閉的關係
很多的 EDA tool 還是會「建議」用 CentOS 5 之類的環境
甚至有公司在 2018 的現在,電腦的系統還是 gcc 3 或是 Python 2.4 的
雖然有很多 tool 其實就算放到最新的 Archlinux 可以跑
但是有很多情形會缺少一些老舊的 library
有時候是會有一坨智障 script 檢查的時候會不讓你執行

2018年4月23日 星期一

git submodule 複製現有的副本

Git 有提供一個 submodule 的功能
可以把另外的 Git repo 引入現在的 project 使用
然而,有時候我們會需要複製包含 submodule 的 repo 給別人
如果是遇到超大型 project 或是 project 裡面放超大 test data
這時候 clone ~100MB 的時間就會超級久
(有時候 Github 的連線 < 100KBps)

2018年2月19日 星期一

在 WSL (Windows subsystem linux) 模擬 xdg-open

WSL 是 Windows 10 提供的執行原生 Linux 程式的方法
但是如果不能跟 Windows 做某些互動的話很不方便
例如 Linux 中,有時會用 nautilus . 或是 dolphin . 把目前終端機的資料夾打開