Skip to content

Instantly share code, notes, and snippets.

@audreyt
audreyt / allison-osdctw-2012.md
Created April 15, 2012 12:55
IRC transcript of Allison's OSDC.tw talk

Good collaboration in open source projects

Video recording: https://www.youtube.com/watch?v=E5_tL62mUbc

Over the years, I've started thinking that participating in the open source community is like traveling on a path, toward becoming not only better programmers, but also becoming better people by working together.

You might think of it as a path toward enlightenment, growing ourselves as human beings. So what follows is really my personal philosophy which I'd like to share with you.

The first thing is this: The most important part of every open source project is the people. While code is important, the center is always the people.

開源之道

Original transcript: http://allisonrandal.com/2012/04/15/open-source-enlightenment/

這幾年來,我慢慢覺得,我們參與開源社群,就像是在一條道路上並肩而行:這不僅讓我們成為更好的程式設計者,也讓我們通過與人合作,而成為更好的人。

您可以將它想成一條修行之道,讓身而為人的我們能夠不斷成長。接下來,我想談談我對開源世界的個人觀點,希望能與您分享。

首先,人是一切開源專案的核心。程式碼是很重要,但最核心的永遠是人。

SocialCalc.Formula.FunctionList.FOO = [(
(fname, operand, foperand, sheet) ->
scf = SocialCalc.Formula
value = scf.OperandValueAndType(sheet, foperand)
resulttype = "t"
result = value.value + "test"
scf.PushOperand(operand, resulttype, result)
), 1]
@audreyt
audreyt / test.coffee
Created April 21, 2012 07:06
OperandAsCoord for =FOO($E1)
SocialCalc.Formula.FunctionList.FOO = [(
(fname, operand, foperand, sheet) ->
scf = SocialCalc.Formula
value = scf.OperandAsCoord(sheet, foperand)
console.log value
resulttype = "t"
result = value.value + "test"
scf.PushOperand(operand, resulttype, result)
), 1]
@audreyt
audreyt / blink.ino
Created May 8, 2012 06:10
Using c++0x in Arduino (Ubuntu Precise)
App::Notes++
@audreyt
audreyt / gist:3421577
Created August 22, 2012 02:22
LiveScript multiple backcalls
do
<- $
backcall 1
do
<- $
backcall 2
@audreyt
audreyt / README
Created September 14, 2012 12:45
Test
Simply run:
npm i
./main.js
@audreyt
audreyt / posa.mkdn
Last active October 12, 2021 01:06
EtherCalc Chapter for the upcoming book "The Performance of Open Source Applications" - Draft - comments welcome!

From SocialCalc to EtherCalc

Previously, in The Architecture of Open Source Applications, I described SocialCalc, an in-browser spreadsheet system that replaced the server-centric WikiCalc architecture. SocialCalc performs all of its computations in the browser; it uses the server only for loading and saving spreadsheets.

For the Socialtext team, performance was the primary goal behind SocialCalc's design in 2006. The key observation was this: Client-side computation in JavaScript, while an order of magnitude slower than server-side computation in Perl, was still much faster than the network latency incurred during AJAX roundtrips:


WikiCalc and SocialCalc's performance model

******
@audreyt
audreyt / posa.mkdn
Last active November 28, 2022 21:24
EtherCalc.tw

從 SocialCalc 到 EtherCalc

先前在《開源應用程式架構》 一書中,我介紹了 SocialCalc 這個在瀏覽器中運行的試算表編輯器,以取代伺服器為中心的 WikiCalc 架構。SocialCalc 在瀏覽器中執行所有的運算,只有在載入和儲存試算表時才會使用伺服器。

追求效能是 Socialtext 團隊在 2006 年時設計 SocialCalc 的主要目的。重點在於:在 JavaScript 環境下執行客戶端運算,儘管在當年的速度僅有伺服器端 Perl 運算的十分之一,但仍然勝過 AJAX 來回傳輸資料造成的網路延遲:


WikiCalc 與 SocialCalc 架構比較

******