Live data from Hacker News

Widdler is a single binary that serves up TiddlyWikis

github.com

31–40 of 52 posts

Re: Widdler is a single binary that serves up TiddlyWikis

#31
post #18

Wow, that is just 357 lines of Go code. So much of my work life is using complex systems in AWS and GCP that are beyond my ability to understand “turtles all the way down.” It is refreshing to see something so simple and focused on one thing. In the early days of Ruby on Rails, I had the source code to Ruby and for Ruby on Rails on my laptop and it was all fairly readable. Those days are long gone.

Does that LOC count include dependencies?

Looks like the package in question only has packages from the Go project itself.

The only external dependency is OpenBSD specific and used on that operating system only.

Re: Widdler is a single binary that serves up TiddlyWikis

#34

Wow, that is just 357 lines of Go code. So much of my work life is using complex systems in AWS and GCP that are beyond my ability to understand “turtles all the way down.” It is refreshing to see something so simple and focused on one thing. In the early days of Ruby on Rails, I had the source code to Ruby and for Ruby on Rails on my laptop and it was all fairly readable. Those days are long gone.

The trick seems to be that all the complexity is in the html file and runs in the browser. The server is just a basic WebDAV server. It looks like the entire wiki implementation is copied to a new file when you create a new wiki page. It's a 2.3 MB file, which seems like a lot to download when you visit a new page.

I don't get it. Why is it making me compile a Go webserver then? There aren't even binaries provided.

Re: Widdler is a single binary that serves up TiddlyWikis

#36
post #34

Earlier quoted context omitted.

The trick seems to be that all the complexity is in the html file and runs in the browser. The server is just a basic WebDAV server. It looks like the entire wiki implementation is copied to a new file when you create a new wiki page. It's a 2.3 MB file, which seems like a lot to download when you visit a new page.

I don't get it. Why is it making me compile a Go webserver then? There aren't even binaries provided.

So you can save the modified file on the server.

Re: Widdler is a single binary that serves up TiddlyWikis

#37
A propos the single binary wiki server. Last time I was looking for something of this kind, I stumbled upon Fossil SCM, which also includes an implementation of Wiki [1].

Editing can be done in Markdown, all version-controlled, there's user support built-in, the whole thing basically resides in a repository, which is a kind of a SQLite db. The wikis can be imported from text files too.

It may be not fancy-looking, but for "note-taking" can be good enough. I guess it may be made to run in Tmux or the likes to have a Wiki served locally to the smartphone.

Wish the Fossil was more templatable, also there's no proper wiki category tagging, but it does work for the purpose.

[1]: https://fossil-scm.org/home/doc/trunk/www/wikitheory.wiki

Re: Widdler is a single binary that serves up TiddlyWikis

#38
I know this will be a dumb question but does one sit it up?

I am used to creating "web application" and running it on a web server of some sort: Apache / IIS /Lite.

In this perspective the web server or what not handles a lot of the complexity, thread pools, isolation, restarting, logging etc etc.

I frequently see applications like this that is "one binary" and you run it by starting it on the command line. That is easy , no worries.

But how to handle running it "in production", were I want to ensure that it is up and running all the time?

If I wanted to put this on my VPS and share it with the net, what steps do I need to take?

systemd? (k8s I really hope not)

Re: Widdler is a single binary that serves up TiddlyWikis

#39

Wow, that is just 357 lines of Go code. So much of my work life is using complex systems in AWS and GCP that are beyond my ability to understand “turtles all the way down.” It is refreshing to see something so simple and focused on one thing. In the early days of Ruby on Rails, I had the source code to Ruby and for Ruby on Rails on my laptop and it was all fairly readable. Those days are long gone.

That really seems like a lot of code just to do the job of cp.

Perhaps their time would be better spent thinking up some way to prevent a TiddlyWiki from becoming a wormable nightmare.

Re: Widdler is a single binary that serves up TiddlyWikis

#40

I know this will be a dumb question but does one sit it up? I am used to creating "web application" and running it on a web server of some sort: Apache / IIS /Lite. In this perspective the web server or what not handles a lot of the complexity, thread pools, isolation, restarting, logging etc etc. I frequently see applications like this that is "one binary" and you run it by starting it on the command line. That is e…

widdler is meant to be more of a private wiki. if you want to share a specific tiddlywiki with the world it's as easy as copying the html file to a webserver - it will then be static content (users can edit it locally, but the changes won't be sent back up to the server).

My current use case is: running on a vps and exposing a password protected space for me to jot down various things.

Post reply on HN