HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
sagemathinc
cocalc
TypeScript2015–2024
sagemathinc / cocalc · Archived

cocalc

(moved to https://github.com/sagemathinc/cocalc-ai) CoCalc: Collaborative Calculation in the Cloud

3Distinct people
30Mentions
1Explicit recommenders
1.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

(moved to https://github.com/sagemathinc/cocalc-ai) CoCalc: Collaborative Calculation in the Cloud

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

SageMathCloud (https://cloud.sagemath.com) is a completely open source (https://github.com/sagemathinc/smc/tree/rethinkdb) collaborative code editing environment built on…

williamstein used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year30 dated mentions

Observed mentions: 2015-08-04 14:58:07 UTC to 2024-12-26 15:52:33 UTC.

02468102015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC404
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC606
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC10010
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC303
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC110
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC303

What Hacker News says

30 sources
Coincidentally, I'm in the middle [1] of building something for https://CoCalc.com that is exactly what you're describing. For collaborative document editing (e.g., google drive and overleaf) it's a common feature, but for code editors it isn't. CoCalc is both. Anyway, nothing to see yet, but you might want to check with us in a month. After thinking about this problem a lot recently, I think it’s critical to store the comment locations with all versions of the file, so you don’t lose comment locations, or at least maximize the information you have available to locate comments when they get lost. [1] https://github.com/sagemathinc/cocalc/pull/8071
In Ask HN: How do you maintain personal annotations for code you don't control?
- CoCalc (which I wrote) can be self-hosted but is NOT FOSS, though you can browse the code here: https://github.com/sagemathinc/cocalc -- do a quick "self hosted" test if you want by typing "docker run --name=cocalc-trial -d -p 4043:443 sagemathinc/cocalc-trial" - Google Colab is fully closed source and I think there is no self hosted option. - Deepnote is fully closed source and I think has no self hosted option. - Saturn Cloud enterprise is a self hosted option for Saturn Cloud. Saturn Cloud is I think a nice management layer around open source JupyterLab. - I think Apache Zeppelin is self-hostable FOSS.
In Jupyter Notebook Alternatives and Competitors in 2024
1. I'm integrating ChatGPT extensively into https://CoCalc.com. This integration makes a lot of sense, because cocalc is a platform in which relatively inexperienced students use Jupyter notebooks, linux terminals and Latex. So far, the most popular feature by far is a "Help me fix this" button that appears above stacktraces in Jupyter notebooks. 2. One software engineering challenges is that ChatGPT often outputs code in markdown blocks. I've had to emphasize in prompts that it should explicitly mark the language. I then got inspired to make it possible to evaluate in place the code that appears in these blocks using a Jupyter kernel, and spent a week making that work (so, e.g., if you type a question into the chatgpt box on the landing page at https://cocalc.com, and code appears in the output, often you can just evaluate it right th
Read the rest
ere). There seem to be endless surprises and challenges though. For example, a few minutes ago I realized that sometimes the giant tracebacks one gets when using Python in Jupyter notebooks are so big (even doing simple things with matplotlib) that they end up resulting in too much truncation: https://github.com/sagemathinc/cocalc/issues/6634 3. I'm mostly using GPT-3.5-turbo rather than GPT4, even though I have a GPT4 api key. Aside from costs, GPT4 takes about 4x as long, which often just feels too long for my use case. The average time for a complete response from GPT-3.5 for my application is about 8 seconds, versus over 30s for GPT4.
In Ask HN: Who has deployed commercial features using GPT4?
There are many approaches to this problem. E.g., Jupyter notebooks implement one that has matured in the wild over a decade. There's this very flexible markdown-it plugin that implements anther https://github.com/goessner/markdown-it-texmath, and my version of it here https://github.com/sagemathinc/cocalc/blob/master/src/packag... which I rewrote in typescript with a focus on the same semantics as Jupyter has, but for CoCalc. I've also been working on using unifiedjs to provide more general latex for Markdown (not just formulas) here https://github.com/sagemathinc/cocalc/pull/5982 Parsing math in markdown is easier if you use a plugin to an existing markdown parser, rather than trying to do some hack outside of that (which is what Github probably does, and also what Jupyter does).
In Math on GitHub: Following Up
RETHINKDB: - There is a recent discussion about whether or not RethinkDB is dead here: https://github.com/rethinkdb/rethinkdb/issues/6747 - Judging by new PR's and commits, Rethinkdb development slowed down substantially in Jan 2016. SAGEMATH: - SageMath development is still very active; maybe more so, due probably to strong Europe grant support (OpenDreamKit): https://github.com/sagemath/sage/graphs/contributors SAGEMATHCLOUD: What this blog post is "really" about. - We renamed it "CoCalc" -- https://cocalc.com - I rewrote everything that depended on RethinkDB using PostgreSQL. Though it was months of work, this was obviously a VERY good decision in retrospect! - I rewrote all the realtime sync functionality to not depend on the database at all (just use a custom protocol over websockets), which is obviously a much more scalable approac
Read the rest
h to this problem. RethinkDB (and anything like it) is totally the wrong tool for implementing realtime sync for file editing. - Development on CoCalc is very active: https://github.com/sagemathinc/cocalc/graphs/contributors Disclaimer: I wrote this blog post and started Sage and CoCalc. I didn't repost this here, and just happened to notice it while scanning HN.
In RethinkDB, SageMath, Andreessen-Horowitz, Basecamp and Open Source (2016)
We use KaTeX for https://cocalc.com (source here https://github.com/sagemathinc/cocalc) because it is dramatically faster than MathJax. When KaTeX fails due to an error (e.g., something missing) our code falls back to MathJax, so we still get full MathJax support when needed, but with all the benefits of KaTeX. The code that John Jeng and I wrote to do this is tangled up with the rest of cocalc's code; I hope somebody else writes a standalone library that accomplishes that same thing. It wasn't too difficult to write this, though a couple of subtle issues arose in production, which we had to sort out.
In KaTeX – Fast math typesetting library for the web
This bug [1] in recent versions of Firefox broke websockets for some sites (I don't know how many, but it included [2]). It was a major bug in their implementation of TLS 1.3 in Firefox, but its symptoms were subtle. You could connect the first time, but reconnecting would then be completely broken until you restarted Firefox (due to some sort of caching). For years, the Firefox flex css layout implementation was unbelievably slow [3], which basically broke usability of some sites. For the web application I work on, we've had to contend with over 10 Firefox-specific bugs [4]. I think everything works fine today though. [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1453204 [2] https://cocalc.com [3] https://bugzilla.mozilla.org/show_bug.cgi?id=1209697 [4] https://github.com/sagemathinc/cocalc/issues?utf8=%E2%9C%93&...
In Mozilla is deeply concerned about Microsoft killing EdgeHTML
I recently built a complete node.js Jupyter server on top off https://github.com/nteract/spawnteract (also used by nteract). There is no Python involved at all unless you connect to a Python kernel. Some of the code of what I wrote: https://github.com/sagemathinc/cocalc/tree/master/src/smc-pr... I'm not suggesting you use what I wrote. I'm just pointing out that there exist alternatives to the Python-based Jupyter server that accomplish the same goal. And I strongly agree with you -- it would be great to have even more implementations of the server part of the Jupyter stack!
In Jupyter C Kernel
I’m also a software dev who has been painfully dogfooding an iPad Pro 10.5 fulltime for development of CoCalc/SageMath for the last few weeks. I even opened (and fixed) a bunch of bugs in our site as a result: https://github.com/sagemathinc/cocalc/issues?utf8=&q=label%3... I’ve been using iOS 11 beta3. Surprisingly, there actually exist some clear advantages over most laptops: Physical Hardware Advantages over laptops (not over surface pro): - More cameras (e.g., an extra 12MP camera on back); you can easily snap a picture or shoot video. - The iPad 10.5 weighs 1 pound, which is way less than most notebooks; it is EXTREMELY portable. - Portrait mode (i.e., rotate screen) with no keyboard, which is useful, e.g., for reading pages of technical documentation. - No trackpad, so the keyboard/bottom takes up much less space, meaning you can
Read the rest
fit easily in more places (e.g., cramped airplanes). - The keyboard doesn’t get dust/crumbs under the keys, since they are sealed. There are also some advantages over my other laptop, which is a 2.2 pound Macbook 12: - The iPad has LTE, which works very well to provide internet without wifi. - Surprisingly, the iPad 10.5 “SmartKeyboard” from Apple has a vastly better mechanical feel than the Macbook 12 (2016). Of course, the real annoyance of the iPad is the software, because the hardware itself is very good, whereas the software is intentionally crippled for reasons of control/security/arrogance/vision. This is a much bigger can of worms...
In iPad Pro 10.5 for Software Development
This is a very valuable article about what it would take to do such a migration. I also work on a large CoffeeScript + React codebase (https://github.com/sagemathinc/smc), write a lot of new CoffeeScript every day, and I have no plans to do a rewrite. I just don't see the value of doing a rewrite, given how hard it would be. I like CoffeeScript, find it expressive, and I think it would be easier to fix or maintain the relevant CoffeeScript tooling than to do a rewrite (just because a rewrite would be so damned difficult). Also, CoffeeScript really is sufficiently close to Javascript, and it interoperates effectively enough for now. CoffeeScript is not totally dead. There's pretty regular activity this month (see https://github.com/jashkenas/coffeescript/commits/master). That said, personally, I find the stability of CoffeeScript to b
Read the rest
e kind of nice, considering how much churn there is in the rest of the Javascript world. The language barely changes at all, and that's kind of nice.
In Converting a large React Codebase from Coffeescript to ES6

Showing the 15 most recent of 30 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.