Skip to content

Instantly share code, notes, and snippets.

View JohnMcLear's full-sized avatar
🌴
On vacation

John McLear JohnMcLear

🌴
On vacation
View GitHub Profile
@JohnMcLear
JohnMcLear / paxton-covert.html
Created March 13, 2024 14:30 — forked from natmchugh/paxton-covert.html
Convert Paxton Fob Data to ids and vice versa
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Paxton Fob converter</title>
<style>
table, th, td, div {
border: 1px solid black;
}
@JohnMcLear
JohnMcLear / posa.mkdn
Created December 5, 2012 16:42 — forked from audreyt/posa.mkdn
EtherCalc Chapter for POSA

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:

...diagram on SocialCalc's scalability model... (Since that time, advances in JavaScript runtimes have mostly closed the gap; note that in the diagram.)

Toward the end of the AOSA chapter, we introduced simultaneous collaboration on spreadsheets, using a simple, chatroom-like architecture: