October 2008 Archives

October 28, 2008

Parrot 0.8.0, "Pareto principle" released!

本篇翻譯自 http://www.parrot.org/news/2008/Parrot-0.8.0 原作者為 particle

======
我很榮幸的代表 Parrot 團隊在這裡發佈 Parrot 0.8.0 "Pareto Principle"。Parrot 是一個執行所有動態語言的虛擬機(vm)。

Parrot 0.8.0 很快的就可以透過 CPAN 取得,或是從這裡也可以下載。如果您想要在 Parrot 上面做開發,或是想要開發 Parrot 本身,我們建議使用 Subversion 從我們的原始碼儲存庫取得最新最好的版本。

Parrot 0.8.0 的新功能

- 實做
  + 浮點數運算精度從 6 提升到 15 位數
  + 大整數自動進位,不再損失精度
  + 改善複數開平方的精度
  + 例外處理器現在可以登錄型別

- 語言
  + Cardinal (Ruby)
    - 實做 gather, take 和 yield 內建函式
    - Range, Time, Math, GC, Kernel 類別
    - 更多測試
    - 新增一位 committer
  + Markdown:新的輕量標記語言
    - 開始從 PCT/NQP 實做
  + partcl (TCL 8.5.4)
    - 程式碼移到它本身的儲存庫
  + Rakudo (Perl 6)
    - split() 現在可以分辨正規式
    - 實做了 Str.comb
    - ord() 和 chr() 內建函式
    - 改善字面數字的 parsing
    - 支援識別子 連字號(-) 和 底線(_)
    - next() 可以使用在 for 迴圈裡
    - 修正浮點數常數精度
    - 改善 namespace 處理,更加貼近 STD.pm 模型
    - 支援匯出符號 

- 編譯器
  + P6object
    - 現在用巢狀的命名空間而非 :: names 來產生類別
    - 支援在呼叫處的 HLL 命名空間中產生類別
  + PCT /PGE
    - 現在使用正確的巢狀命名空間而非 :: names
    - 清除 HLL 編譯器互動式提示符號和 readline 模式
    - 使用有型別的例外處理登錄
    - 新增 for 迴圈的例外處理
  + PIRC
    - 修正 heredoc 處理器
    - 清除巨集處理器
    - 清除修正許多程式碼
    - 更新 Makefile 讓編譯更容易
  + IMCC
    - 在 tailcall 內容中新增 .tailcall 語法取代 .return

- 範例
  + pirric (BASIC)
    - 舊的風格使用行編號的 Basic 直譯器可以使用 parrot 物件
    - 透過 nci 連結 mysql 的範例
    - 使用類別來寫內嵌式 Basic 程式的範例

- 文件
  + 書
    - 新增 PCT, PMCs 和 Opcodes/Runcores 的章節
    - 擴充和改善許多章節的編排
    - 章節重新編號




October 26, 2008

Passwords

The main motivation for using Chinese characters for my users names rather than their English nicknames was the fact lynx (and elinks) support CJK better in Fedora 9 than they did before.

I also didn't want to type in 200 English names (it was 50 before) and I had Excel files of their names from school.

I could have let them register themselves, but seeing they're doing it for a grade, I felt they should all be in the database from the start.

I used http://humanum.arts.cuhk.edu.hk/Lexis/Lindict, the Chinese-English dictionary I use most often, to transliterate the first character of their first names as a password, in an attempt to discourage students logging in and doing their classmates homework for them.

I didn't want to write the code that allowed them to change their passwords.

It was useful for me to learn how to read Chinese characters, too. I was confused by 旻 and 昱. And by 妤. I thought it was 好. 妤 isn't in the Lin Yutang dictionary.

The dictionary distinguishes between 露 and 濾, by writing them lu and lU. 'U' isn't a phoneme in English.

I also capitalized the first letter. But I think I need to make the password checking code case insensitive.

Because my students are still contacting me with problems logging in, 8 weeks into the semester.

October 24, 2008

Mosso CloudFiles

本文譯自 http://use.perl.org/~acme/journal/37717,原作者為 Léon Brocard

就在昨天 (譯註:2008/10/22) Rackspace 公佈了他們併購 Slicehost (最好的 VPS 主機服務商家之一)與 Jungle Disk (一個使用 Amazon S3 來儲存檔案的備份服務)的消息。但不止如此,看來他們想要進足成為雲端伺服器供應商家之一,並同時啟動了 Rackspace Cloud 的服務,其中包裝了 Cloud Files:「可擴展的動態式儲存系統,用多少付多少。」 Rackspace 以前曾經暗示過大家,其實他們已經研發在此一段時日了,詳見 How to Build a Storage System ,其中告訴我們那便是在妥善利用他們舊有的伺服器(看來 Could Files 的前身應為 Cloud FS)。

身為 Net::Amazon::S3 模組作者的我自然是樂不可支了。此刻我正在重新撰寫此模組以便能讓其更具彈性,同時也要完全利用到 S3 服務的優點。但既然是要備份到雲端,只有一片雲能夠選用的話那就太沒有道理了。因此,我買了一些巧克力跟可樂,hack 了一個小時之後,釋出了 Net::Mosso::CloudFiles 模組。

Cloud Files API 很明顯地與 S3 API 系出同源,但稍微簡化了一些:它使用純文字的回應(不是 XML),並且正確使用了 HTTP 回應的狀態代碼;相當清楚明白 REST 設計。截至目前我所發現的不同之處,也算是 Amazon S3 的一個重大特長。在列出 bucket (容器)內容時,S3 同時會傳回那些檔案的 ETag。而在 CloudFiles 中,目前必須另外送出 HEAD 要求以取得此資訊。除此之外都很好。

Continue reading Mosso CloudFiles.

Strawberry Perl October 2008 release

本篇翻譯自 http://use.perl.org/~Alias/journal/37708, 原文作者為 Alias

Strawberry Perl October 2008 可以在這裡下載

(其他版本的安裝程式在這裡)

我很榮幸的發佈 Strawberry Perl October 2008,這是下一代的
InnoSetup-based Strawberry Perl 版本。

這個版本最大的 feature 在於對預設的 CPAN.pm 安裝工具完整的支援
META.yml 組態要求而不用另外的調校。

昨天在命運的巧合下,我請一位朋友來修復他放在我這裡的白板,同時發現了在
YAPC::AU 2006 的腦力激盪之後,畫在白板上面的構思草圖。那是我和語意網路
(譯註:semantic web)與 PDF 駭客 Andrae Muys 一起想出來的最初想法。

而最後能做到現在這樣的規模讓我覺得非常高興。

第二主要的更新在於一些不再需要的函式庫相關設定已經確實的被移除了。

移除了這些設定之後,現在 Wx.pm 和 Tk.pm 都可以順利安裝了。(雖然一個另
一個問題仍然讓 Tk.pm 無法在 vista 上運作,但這個問題應該很快就會被解決)

現在許多使用這兩個函式庫的桌面應用程式都可以簡單的使用 CPAN 命令工具來
安裝了。第一次使用這個命令編譯這兩個函式庫要花點時間,但是它運作得很順
暢。這移除了 Chocolate Perl 的兩個主要的問題。

這個版本也新支援了兩個平台。

在企業環境下常遇到的一個問題是(就像我現在遇到的),C 槽是完全被標準作
業系統環境鎖定的,只有 D 槽才能自由的使用。

所以這個版本增加了另一個安裝程式讓您可以把 Perl 5.10.0 或是 Perl 5.8.8
安裝在 D:\strawberry 而非 C:\strawberry。這可以暫時的解決無法指定安裝路
徑的問題。一旦這個問題有了好的解決方法,這個安裝程式的分支就會終止發行。

另外一個新的安裝程式是第一個"官方"版本的行動版 Strawberry Perl,這是一
個我在最近環遊世界的時候開發出來的,把 Strawberry Perl 整合在一個隨身碟
裡面的方法。

釋出這個發行版象徵了我單打獨鬥的結束,但只是行動版 Perl 的開始。這個發
行版還有許多的臭蟲,尤其是在和 C 語言相關的工具上。

如果您想要試試它,可以在這裡下載它,並解壓縮任何目錄裡面,
可以是隨身碟,數位相機,或是 mp3 播放器或是任何可以掛載到 
windows 上面的的儲存媒介。

然後我要說個壞消息,因為所有的 Strawberry Perl 發行版都有這個缺點。

雖然 InnoSetup 和 .exe 安裝程式過去都工作得不錯,但是現在我們遇到它的限
制,這使得 October 2008 是個有點花俏 (譯註:lipstick on a pig,本意為在
豬上畫口紅,豬仍是豬) 的版本,它很有很多地方需要改進。

要改進現有主要的臭蟲和加入新的功能必須放棄 InnoSetup 和 .exe 格式的安裝
程式並改用 WiX (Windows Installer XML) 和 .msi 的格式。

幸運的是,最新版本的 WiX 包含了一個不錯的 MSI 反組譯器,讓我們可以拆解
他人的 MSI installer 來看看他們是如何構成的。

有了範例,我們現在有機會不必浪費太多時間來完成包裝成 .msi 的安裝程式。

所以我最近會把主要的心力放在第四代的自動包裝系統(暫時稱為 Perl::Dist::WiX)。

我希望可以再一到兩個釋出週期內完成這個工作。Strawberry 未來仍然會按季
釋出新版,但是我期待這些釋出可以大致保持原狀。

請盡情的使用新版本吧。我覺得它讓我更容易進行開發工作了,希望你們也這麼覺得。


October 20, 2008

Chupei Perl Monger Restarted

As I failed to fully recover the old chupei.pm wiki machine, I figured out that it might be easier to get everything restart from scratch. So I purchased a Slicehost machine, installed a MovableType instance on it, and now Chupei Perl Monger website is restarted as a blog website.

If you are also a Perl hacker live around Chupei, Taiwan and you're willing to contribute to this blog sometime. Raise your hand by leaving a comment here (you'll need to sign-in first, to protect this blog from being SPAM too much.)

I'm looking forward to see more Perl Mongers in the town. :)


Pages

OpenID accepted here Learn more about OpenID

About this Archive

This page is an archive of entries from October 2008 listed from newest to oldest.

November 2008 is the next archive.

Find recent content on the main index or look in the archives to find all content.