2009年12月9日 星期三

[OS] DIY of Operating System

昨天晚上睡覺前一時興起翻了翻之前買的OS DIY的書
前兩章非常簡單, 都是在做介紹和環境配置
不過它書上是在Windows上跑
而我是用Mac OS X, 其間工具等等差異也就不用我贅述。

基本上我最後用到的工具目前只有作為Virtual Machine的VirtualBox, 和十六進位編輯器Hex Fiend還有assemblerNASM

第一個測試很簡單,只是去寫一個Boot Sector。

首先把單純的程式碼打一打。


org 07c00h
mov ax, cs
mov ds, ax
mov es, ax
call DispStr
jmp $
DispStr:
mov ax, BootMessage
mov bp, ax
mov cx, 16
mov ax, 01301h
mov bx, 000ch
mov dl, 0
int 10h
ret
BootMessage: db "Hello World"
times 510-($-$$) db 0

dw 0xaa55


然後assemble一下:> nasm boot.asm -o boot.bin
接者打開Hex Fiend把boot.bin打開,另存新檔成xxx.img

然後打開VirtualBox去新開一個Virtual Machine,接著再把剛剛的xxx.img給mount到Storage > Floppy Controller > Floppy Device 0上面去。最後再打開這台virtual machine就可以看到如下成果:

2009年11月17日 星期二

[Book]Computational Linguistics

昨天晚上睡前從自己書櫃裡面挖出了一本好幾年前在松崗出清書攤花了100NTD買的書:「計算語言學」。作者是陸致極。書中完全沒有任何部份有對該作者做介紹。就算去搜尋,也只找到一個貌似只是同名的紫薇斗數和八字命理的"老師"。不過倒是在一連串亂搜尋中意外找到台灣商務印書館有出一本書「在語詞的密林裡-應用社會語言學」,在這本書中有關自然語言的篇幅中有提到這本計算語言學的內容和他的相對地位(參考內容)。

在幾次廁所時間的閱讀累積下,這本書大體上分為三個部份:計量篇、結構篇、應用篇。計量篇完全在鋪成語言學的幾個基礎觀念。結構篇則是從形式語言開始一路講到擴充轉移網路(Augmented Transition Network),最後再花個三個章節講解Prolog。應用篇則是用最後一點的篇幅帶過幾個實際上的範例。

想當初會買這本書,單純是因為裡面有提到LISP和Prolog,而且我當時對於任何看起來和AI有關的東西也都有興致想要一探究竟。不過這本書買了以後倒是一直沒有時間好好去翻看翻看。一方面也是因為想做的事情太多了,另一方面也是後來很多時間都被醫院和學業多少絆住。後來則是完全拋棄這兩者而轉入了Haskell的懷抱。

[未完待續...] (竟然拖稿XD)

[XeLaTex]Problem in MacTex2009

話說,前幾天把MacTex更新到2009。(之前是2007)

結果沒想到我把之前用Xetex+Graphicx寫的報告的所有圖片竟然爆炸了!!一時之間真是讓我囧到極點了。google(v.)了一下發現好像xetex對graphicx不知道有啥鬼問題(我時再沒那耐心去看一堆看起來memory dump差不多的東西Orz),總之,圖片用/includegraphics{}讀進來以後會不能scaling。(也就是說不管怎麼調大小他就是會理你。)

搞了一個下午以後我終於放棄了,從硬碟的深淵裡把MacTex2007拖出來直接覆蓋掉2009。結果竟然還真的又可以了!?囧囧囧

結論,如果有用到XeLaTex和
includegraphics[width=0.8 \textwidth]{ooxx}
這樣的情況。還是老老實實的用MacTex2007吧。
(不過不知道2008情況如何?)

2009年11月13日 星期五

[XeTex] Using XeLaTex with TexShop

上一篇提及中文Beamer的使用
(PS:CJK的字體真是有夠醜的)
但是其實我平常單純的中文是用XeLaTex的說

因為是在Mac OS X(10.5)上面
所以就直接灌了TexShop和TexLive(MacTex)
灌好以後, 基本上就應有盡有了 XD
簡直是懶人包模式火力全開了

說到開始用中文Latex的經驗,其實是從CJK開始的。
不過那次弄了很久,最後還是投降放棄。
現在再回頭去看,可能是因為當時和整個latex都不熟,
所以幾乎什麼都是摸黑亂試,最後才會一直有問題。當時參考的文章

過了好一陣子(大概有一年吧),又因為某個非用不可的情況,
而又重新開始想辦法解決這個問題。最後發現這篇教學
而我本來就有灌好MacTex(2007)(好舊@@),所以直接就有Xetex可以用,一切都是那麼輕鬆簡單XD。不過話說回來,其實MacTex灌好以後直接用console去跑 >xelatex ooxx.tex 也是可以的。

附上一個簡單的樣板

\documentclass[12pt]{article}
\usepackage{geometry}
\geometry{a4paper}

\usepackage{fontspec,xltxtra,xunicode}
\defaultfontfeatures{Mapping=tex-text}
\setromanfont[Mapping=tex-text]{Hoefler Text}
\setsansfont[Scale=MatchLowercase,Mapping=tex-text]{Gill Sans}
\setmonofont[Scale=MatchLowercase]{Andale Mono}
\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt
\newfontfamily{\C}{LiHei Pro}
\newfontfamily{\A}{Geeza Pro}
\newfontfamily{\H}[Scale=0.9]{Lucida Grande}
\newfontfamily{\J}[Scale=0.85]{Osaka}

\title{Brief Article}
\author{The Author}
\date{}

\begin{document}
\maketitle
Here are some multilingual Unicode fonts: \\
this is Chinese text: {\C 今天}, \\
this is Arabic text: {\A السلام عليكم}, \\
this is Hebrew: {\H שלום}, \\
and here's some Japanese: {\J 今日は}
\end{document}


跑出來的東西就是這個德興:

2009年11月12日 星期四

[Beamer+CJK]Chinese Slides

因為學校需要,所以研究了一下如何在beamer中顯示中文問題。

本來是想用XeLatex+beamer去跑,不過它一直和我說某某東西找不到,google了一下, 發現要解決那個似乎是個大工程。所以後來就改看看CJK+beamer方不方便。結果出乎意料的,還算方便的順利生出中文投影片來了。

不過就是字體有點醜,不過因為太趕了,也就沒有去研究怎麼裝好看一點的字體。


貼上兩張圖片以茲證明:




最後,附上prototype一份:

\documentclass[CJKutf8]{beamer}
\usepackage{CJKutf8}
\usetheme{Warsaw}
%\usetheme{JuanLesPins}
%\usetheme{Malmoe}
%\usetheme{PaloAlto}
%\usetheme{Goettingen}
%\usetheme{CambridgeUS}
%\usetheme{AnnArbor}
\AtBeginDocument{%
\begin{CJK}{UTF8}{bsmi}}
\AtEndDocument{%
\end{CJK}}
\begin{document}
\title{中文逼門投影片via西街ㄎ}
\author{作者是我}
\date{\today}
\frame{\titlepage}
\section{標題總覽}
\frame{\tableofcontents}
\section{第一章}
\subsection{第一節}
\frame{
\frametitle{吃飽太閒}
好飽好飽}
\subsection{第二節}
\frame{
\frametitle{吃飽撐著}
好撐好撐}
\end{document}

2009年8月7日 星期五

[Java] Napkin

因應心情需要
找了一下Java Swing的幾個Look And Feel
其中發現了一個叫做Napkin
http://napkinlaf.sourceforge.net/
感覺雖說不是很莊重
但是蠻可愛的 :)

Step 1
此處下載新版的lib
(本文測試時是用1.2版)

Step 2
在main的第一行處加上

try{
UIManager.setLookAndFeel("net.sourceforge.napkinlaf.NapkinLookAndFeel");
}catch(Exception e){
System.out.println(e);
}

去改變Look And Feel

Step 3
然後開console去執行程式
> javac -cp .:napkinlaf-1.2.jar MyApp.java
> java -cp .:napkinlaf-1.2.jar MyApp
就會可以看到結果

P.S. 此圖出自sun的swing example套用Napkin之結果
並附上原始圖片以供比較