starboard-notebook
TiddlyWiki
Our great sponsors
starboard-notebook | TiddlyWiki | |
---|---|---|
10 | 273 | |
1,163 | 7,687 | |
- | - | |
3.8 | 9.7 | |
20 days ago | about 23 hours ago | |
TypeScript | JavaScript | |
Mozilla Public License 2.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
starboard-notebook
-
JupyterLite is a JupyterLab distribution that runs in the browser
The format is only partially invented, it follows Jupytext [0], but adds support for cell metadata. There is no obvious way to get that in fenced codeblocks, especially with the ability to spread it over multiple lines so it plays well with version control.
One more consideration is that it's not "Markdown with code blocks interspersed", one might as well use plaintext or AsciiDoc.
Of course there are tradeoffs.. I wish I had more time to work on it.
[0]: https://github.com/gzuidhof/starboard-notebook/blob/master/d...
Yes. Last commit was 5 months ago [1]. Seems like a great idea though.
What I don't like it is that they invented yet another markdown syntax for code cells - it is the opening bracket # %[python] with no closing bracket.
There already is a popular markdown code cell syntax of [2]
```python
```
-
A fast SQLite PWA notebook for CSV files
This is really wonderful! The discussion about lay people's knowledge of sql reminded me that the Pandas API is often useful for non-sql folk. Likewise there are some projects similar to dirtylittlesql to bring Python data manipulation to the browser.
-
Turns Jupyter notebooks into standalone web applications and dashboards
You could consider an in browser notebook to get your cost down to near nothing - it depends a bit on what kind of tasks your students do whether they fit in the browser (one wouldn't train a large neural network in one for instance)
There's Starboard (which I'm building, it's built specifically for the browser and can integrate into a larger app deeply) and JupyterLite (the closest you will get to JupyterLab in the browser), either can be a good choice depending on your requirements. Both use Pyodide for the Python runtime.
[1]: https://github.com/gzuidhof/starboard-notebook, demo: https://starboard.gg
-
Enabling COOP/COEP without touching the server
A few examples of web-applications that have this problem are in-browser video converters using ffmpeg.wasm, a web-based notebook that supports Python and multithreaded Emscripten applications.
-
I want to learn D3. I don’t want to learn Observable. Is that ok? (2019-2021)
As someone building an in-browser notebook I have a lot of opinions on notebook environments. Notebooks serve different purposes, sometimes the notebook itself is the end-goal because the author is creating an interactive tutorial or explaining a complex concept with a bunch of visualizations. Observable is a fantastic tool for that, and the kind-of-Javascript reactive programming system it is built on is a great fit for that.
Outside of that use-case, I think notebooks are great for the first 20% of the effort that gets 80% of the work done. If it turns out one also needs to do the other 80% of the effort to get the last 20%, it is time to "graduate" away from a notebook. For instance if I am participating in a Kaggle machine learning competition I may train my first models in a Jupyter notebook for quick iteration on ideas, but when I settle onto a more rigid pipeline and infra, I will move to plain Python files that I can test and collaborate on.
This "graduation" from notebook to the "production/serious" environment should be straightforward, which means there shouldn't be too much magic in the notebook without me opting into it. Documentation in my eyes is not so different, I should be able to copy the examples easily into my JS project without knowing specifics of Observable and adapt it to my problem. Saying "don't be lazy and just learn Observable", or "you must learn D3 itself properly to be able to use it anyway" is not helpful. Observable being a closed, walled garden doesn't help: not being able to author notebooks without using their closed source editor is a liability that I can totally understand makes it a non-starter for some companies and individuals.
I think it's ok to plug my own project: It's called Starboard [1] and is truly open source [2]. It's built on different principles: it's hackable, extendable, embeddable, shareable, and easy to check into git (i.e. I try to take what makes the web so great and put that in a notebook environment). You write vanilla JS/ES/Python/HTML/CSS, but you can also import your own more advanced cell types. Here's an example which actually introduces an Observable cell type [3] which is built upon the Observable runtime (which is open source) and an unofficial compiler package [4]. I would be happy for the D3 examples to be expressed in these really-close-to-vanilla JS notebooks, but I can convince the maintainers to do so.
[1]: https://starboard.gg
[2]: https://github.com/gzuidhof/starboard-notebook
[3]: https://starboard.gg/gz/open-source-observablehq-nfwK2VA
[4]: https://github.com/asg017/unofficial-observablehq-compiler
- Show HN: A simple JavaScript notebook in one file
-
Pyodide: Python for the Browser
If you want to play with Pyodide in a web notebook you can try Starboard [1][2].
A sibling comment introduces JupyterLite and Brython, which are Jupyer-but-in-the-browser, whereas with Starboard I'm trying to create what Jupyter would have been if it were designed for the browser first.
As it's all static and in-browser, you can embed a notebook (or multiple) in a blog post for instance to power interactive examples. The bundle size is a lot smaller than JupyerLite for the initial load - it's more geared towards fitting into existing websites than being a complete IDE like JupyerLab.
- Ask HN: What personal tools are you the most proud of making?
TiddlyWiki
-
It's 29 Delphi, I mean
> What does ownership mean here?
It means owning the code and the data. With webapps, the code and data are hosted and owned, the users do not own the code, cannot run it independently. This is a clear dileneation between owner and user, and the owners can use that clear line to create artificial scarcity of various kinds. (The most popular being the subscription SaaS model). It's also easier to defend your IP since end users never see your binaries.
I like to make my software single html files whenever possible. People can just save them and run them locally. Havent met anyone who cares yet though.
I like that idea a lot, and I care. I think others care, but yes, it's a niche interest. Take a look at https://tiddlywiki.com/ for an example of a fairly successful project that uses the single html format running locally. However it suffers from limitations on File|Save which often requires a separate runtime of some kind to support.
Another project that approaches this ideal is https://redbean.dev/, @jart's tiny, performant, featureful single-file webserver. In this case the "single file" is a server executable + zip whose state must be updated on the command-line, but I think hits a sweet spot in terms of practicality, and a global minima when it comes to minimizing dependencies. (Redbean bundles SQLite and Lua so it's also possible to do through-the-web state updates as in a traditional webapp.)
My own project, Simpatico, aspires to be something along these lines. Eventually your browser tab is both a client and server process, connecting via websockets to other connected browsers, storing all state locally. I call this pattern "monomorphism", a play on the "isomorphic" javascript SPA. The server[2] is currently written in ~1 node file, but eventually I would like to port to redbean (and greenbean, the websocket version of redbean, but it isn't quite ready yet). The server grew several features to support a fast, practical BTD loop using markdown[1], and safe, performant execution on the public internet[2], but ultimately I'd like to pare it down to serving a single html file and allow the connected clients to provide all diversity of experience. I've used it to explore all kinds of browser apis, from crypto[3] to svg[4] to writing my own libraries (combine[4] and stree[5]). And it's all running locally, and easily hosted on a $5 VPS, and its all open source.
1 - https://simpatico.io/lit.md
2 - https://simpatico.io/reflector
3 - https://simpatico.io/crypto
- Ask HN: Looking for lightweight personal blogging platform
-
TiddlyPWA: putting TiddlyWiki on modern web app steroids
TiddlyWiki still works as intended: https://tiddlywiki.com/#GettingStarted but there are so many different clients to run on. Mobile or Desktop ? What OS? What Browser?
This effort https://val.packett.cool/blog/tiddlypwa/ is remarkable as the mobile side of saving is not as robust as on the desktop side of things and there is a scaling limit on performance as the number of tiddlers grows. Also the syncing between tw documents between different desktop/mobile clients can be a challenge with diffing.
Since then I've moved back to plain vanilla vim for a wiki (map gf :tabe ) but tw.html is still good for data other than plain text and TiddlyPWA https://tiddly.packett.cool/ is a great effort to revisit TiddlyWiki again.
-
Effect of Perceptual Load on Performance Within IDE in People with ADHD Symptoms
You should check out TiddlyWiki as it’s designed around the concept that small linkable notes are the best way to organize.
- Be brutally honest: What are the chances of a motivated 50-year-old person in US who have never studied computers to be able not only to teach herself how to code but also to make a bare minimum living?
-
Why is Trilium so unknown?
Wow...this is nice. I use https://tiddlywiki.com/ and it's great, but there's way more functionality in Trilium.
-
Ask HN: What's a good, privacy focused bookmark manager?
I would also offer to use a single file wiki such as tiddly wiki. It’s more than a bookmark manager, but it can be edited on the web and even stored in a git forge (like GitHub page).
-
Upcoming Reddit API Changes and the Future of r/leagueoflinux - Looking for Feedback
I think the biggest issue I have with with the alternatives I've looked at so far have been the lack of built-in wiki tools. I currently heavily rely upon the built-in reddit wiki for collecting and documenting everything here, which further complicates the situation. To be fully transparent, my plan was already for the next major iteration of the wiki to be off-site, something akin to a TiddlyWiki or DokuWiki; I've had this in mind for a long time now, including while rewriting the current iteration of the wiki. However, I am nowhere near beginning that project, and certainly wouldn't have anything cobbled together before July 1st. Effectively, wiki tooling is a must-have.
-
Notebook in html format
TiddlyWiki is along that same idea but with a wiki setup. You just download a template html and then its yours to do with as you wish. I used it for note taking in school, worked reasonably well.
-
Is the Zettelkasten method right for me?
And although I have used OneNote at work, I actually prefer using TiddlyWiki, which is a great tool for adopting the Zettelkasten method (and see an associated video).
What are some alternatives?
logseq - A local-first, non-linear, outliner notebook for organizing and sharing your personal knowledge base. Use it to organize your todo list, to write your journals, or to record your unique life.
Dokuwiki - The DokuWiki Open Source Wiki Engine
obsidian-releases - Community plugins list, theme list, and releases of Obsidian.
Wiki.js - Wiki.js | A modern and powerful wiki app built on Node.js
BookStack - A platform to create documentation/wiki content built with PHP & Laravel
Mediawiki - 🌻 The collaborative editing software that runs Wikipedia. Mirror from https://gerrit.wikimedia.org/g/mediawiki/core. See https://mediawiki.org/wiki/Developer_access for contributing.
Gollum - A simple, Git-powered wiki with a sweet API and local frontend.
vimwiki - Personal Wiki for Vim
Olelo - Wiki with git backend
Joplin - Joplin - the secure note taking and to-do app with synchronisation capabilities for Windows, macOS, Linux, Android and iOS.
org-roam-server - A Web Application to Visualize the Org-Roam Database
Outline - The fastest knowledge base for growing teams. Beautiful, realtime collaborative, feature packed, and markdown compatible.