This week, I'm learning more WebGPU, since I'm hop...
# devlog-together
i
This week, I'm learning more WebGPU, since I'm hoping to use it for a handful of visual programming projects down the road. I'm also still looking at options for moving away from slack. Would love to find something that feels more like a forum than a chat, but not toooo much like a phpbb, and doesn't have a per-user cost, and doesn't impose a maintenance burden, and is accessible to search engines (and accessible to all people, natch), and isn't likely to "incredible journey" or "we AI'd every text field for you" etc. So we're currently whatever the opposite of "spoiled for choice" is :)
❀️ 1
k
choiced for spoil
πŸ˜† 2
j
I’m curious about this empty part of the design space πŸ€”
❀️ 1
i
I wonder if my ideal would be a collaborative, public-facing CMS. Or maybe it's just Tumblr, but small. Possibly wiki-esq, but wikis don't organize around time.
k
They could..
j
It would be nice if chronological convos were more easily wikified
i
What do you guys want?
j
It would be nice if the path from chat to easily retrieved knowledge were a bit better paved.
πŸ’― 3
k
Today I'm thinking about the Campfire idea in the other thread even though it requires self-hosting. Considering paying $299 just to play with it for myself(!) It feels like it might fit all of my (espoused) ideals, and if so I want to make sure? Maybe my desired future is already here, and all it requires is company- and culture-building skills I have no prayer at. I can live with that. Basically the plan in my head is to self-host and then pave the way from chat to knowledge. No idea how realistic that is.
i
Personally, I'm not giving dhh any more of my money.
βž• 1
k
Ah. I've never given him money before. Why, was it not a good time?
j
πŸ‘πŸΌ 1
i
Yeah, thats some of it. In general I just find him to be a very mean-spirited person and don't want to do business with him.
b
path from chat to easily retrievable knowledge
You mean better than "Searchable Log of All Conversation and Knowledge" which we use now? πŸ˜† One big achievement in "prioritize knowledge over in-the-moment-chatter" space was StackOverflow. But I suspect you didnt mean Q&A. Can you elaborate how it could be paved?
k
Here's an idea that looks easily implementable (an important condition for being able to explore it): once a thread loses activity, have it automatically copied to something like a Wiki page and send an invitation to all participants, asking them to clean it up, summarize lengthy parts, add keywords, etc. Implementation: a forum plus a Wiki plus a bot that links the two.
i
In general, I love the idea of "we build the thing we want". I just don't know that anyone here with the skills to do that has the time and interest in doing it for free.
I'd feel great about picking some existing thing that's close to what we want, that's OSS and minimalist, and then extending / modifying it to suit our exact desires. But I know of no such thing.
k
We could start by adopting some chat/forum that we consider open and stable enough that it's worth building on its API. And then slowly, and ideally collectively, build the Wiki and bot parts. Maybe explore different directions in parallel. One reason I believe it's worth an effort, and a reason why I'd be happy to join such a project, is that it's not just us. I participate in two other communities that are wondering about the same questions. But those communities are not about software, so there's little in-house competence to draw on. If we can't scratch our own itches, then who can?
βž• 1
πŸ‘ 2
I guess I wouldn't have written this before my Smalltalk experience over the last five years. The main lesson I learned from other Smalltalkers is the value of growing software rather than designing it, if it is for your own use (no contracts, no marketing people, ...). You start with the simplest thing that can possibly work (a phrase due to Ward Cunningham), and then you start using it to find out where you really want to go.
βž• 2
f
One thing I loved about phpbb etc. was the possibility to organize by topics but also the ability to view a chronological feed of new posts across all topics. Replying to a topic would bring it to the top of a forum and also surface in list of latest posts. We have channels in Slack, but in Slack, threads get burried quickly. > Forums are the sections where topics are stored. Without forums, your users would have nowhere to post! Creating forums is very easy. https://www.phpbb.com/support/docs/en/3.3/ug/quickstart/forums/
πŸ’― 1
k
Multiple views are always worth having. Better yet, custom views. Views for a specific search, for example.
j
If we're just wishing for things, I would love to have zulips threading and reparenting built into something as snappy and easy to host as https://fossil-scm.org/forum/forum.
The fossil forum can be stood up as a regular webapp, but you can also just clone the repo and browse/edit locally.
Copy code
[11:54:24] jamie@vessel /home/jamie/zulip
> scc
───────────────────────────────────────────────────────────────────────────────
Language                 Files     Lines   Blanks  Comments     Code Complexity
───────────────────────────────────────────────────────────────────────────────
JSON                      2798    459966      648         0   459318          0
Python                    1732    331071    23857     15120   292094      10516
Markdown                   770     68375    17286         0    51089          0
Handlebars                 353     10249      274        61     9914        115
TypeScript                 311     73273     8532      7474    57267       9339
SVG                        303     22399       43        24    22332          7
JavaScript                 251     88383    12027      6627    69729       3068
HTML                       192     15006     1140        42    13824          0
Puppet                      93      4293      299       361     3633        142
Plain Text                  90      7470      228         0     7242          0
BASH                        85      4676      705       556     3415        459
CSS                         61     34622     5270      2300    27052          0
Ruby HTML                   52      4418      718         0     3700        201
YAML                        17     39868     5372       154    34342          0
Shell                       11       365       64        29      272         53
XML                         11       210        0         0      210          0
gitignore                    9       121       14        43       64          0
Ruby                         8       146       14         2      130          8
TypeScript Typings           8       257       21        21      215         18
Autoconf                     6       330       83       112      135          0
Flow9                        5       144       33        20       91          0
Patch                        3        52        4         0       48          0
Dockerfile                   2       115       14        29       72         21
License                      2       221       36         0      185          0
Perl                         2       345       33        46      266         57
SQL                          2        24        1         0       23          0
Emacs Lisp                   1         3        0         1        2          0
Makefile                     1        19        4         6        9          0
Properties File              1         1        0         0        1          0
TOML                         1       201       15        11      175          0
───────────────────────────────────────────────────────────────────────────────
Total                     7181   1166623    76735     33039  1056849      24004
That is... more code than I would have expected πŸ˜„ Also depends on postgres, memcached, rabbitmq and redis. Maybe I should amend my wishlist to just 'zulip threading but not 400kloc'.
πŸ˜„ 1
🍰 1
k
@jamii There is a lot to like about Fossil! I am running a Fossil site as a Kowledgebase / Wiki / Forum for an association (11 active members). Some members, myself included, keep a local copy on their machines, both as a backup and for offline consultation. Has anyone else here used Fossil? Any comments on what might be missing in Fossil for our needs?
k
I've been kicking the wheels on it, and the SCM been hard going for my specific use cases. But I like Fossil forum (where I've been reporting questions and bugs) a lot! https://merveilles.town/@akkartik/112345647854131689 https://merveilles.town/@akkartik/112673207906318231
To respond to @Ivan Reese's comment above: > In general, I love the idea of "we build the thing we want". I just don't know that anyone here with the skills to do that has the time and interest in doing it for free. I've spent some time introspecting, and I think I do have the time and interest to do this for free, at least to see where it leads. But I definitely don't have all the skills. But maybe a few of us could put our heads together? One big thing missing is design/aesthetics. I don't know and worse have no idea what it takes to get to a level of polish that would retain Ivan or @Stefan. Seeing others bring up the problem of dependencies makes me feel like I'd be building for the right people. I'd probably run out of steam pretty quickly working on Zulip or even Slack if it was open source. On the other hand, building something that is both polished and parsimonious in its dependencies feels like breaking new ground rather than following well-understood steps. Might be hard to build something usable quickly. I'm curious what others think.
i
I find the minimalism of the Merveilles forum quite appealing, visually and conceptually. I feel like building something like that is within our means.
❀️ 1
k
@Ivan Reese your comment radically upends my view of the cosmos (for the better). That level of polish definitely feels more attainable. Now I'm curious what Stefan thinks of it. Here's the codebase used for Merveilles forum. Here's a recent thread of Merveilles forum trying to decide what they want. Not directly applicable but might give y'all a sense for its strengths and weaknesses. It's a very different context here, so we could decide very differently on each feature. But perhaps it's premature to start thinking in terms of features..
i
Most of these design points I find quite appealing, in particular:
β€’ Markdown input
β€’ Make threads independent of category => enable trivial moving of posts
β€’ As little bespoke HTML as possible, minimize use of custom classes
β€’ No mandatory client-side javascript, and no javascript at allβ€”as far as possible
β€’ Move slow
β€’ Minimize maintenance requirements through minimizing external infra and dependencies; eschew email
We've seen with the projects you (Kartik) and Mariano have done that there's interest in producing other frontends for the "database" of posts made by the community. I feel like, with the right technical choices, that could be made a lot easier and more fun. Like, the "no mandatory client-side javascript" is a very client-centric view. If someone wanted a SPA / PWA client, or realtime updates, or notifications, or whatever… that shouldn't be a hard thing to do. By building something that offered a great "bring your own client" experience, we could encourage people to test out / share their novel FoC tools by building a client (or some other piece).
πŸ’― 2
One excellent comment from that utilization thread:
I do think it’s structure of long-form posts with fixed URLs gives it a unique place in the hierarchy of permanence:
1. Your own website
2. The forum
3. Mastodon
4. IRC
For us on slack, it's more like…
1. Your own website
2. Mastodon
3. FoC slack archives (underdeveloped)
4. Slack Posts
5. Slack Replies
6. Slack DMs
Where 4-6 are all arguably more ephemeral than IRC
Another excellent comment:
It’s not sustainable that anyone can add features, but one person is saddled with their maintenance. But to me that feels more like a constraint we need to have a conversation about, not a reason to close the door entirely on new features. For example, I’m open to contributing shifts for moderation or maintenance. Whatever the open source, anti-capitalist equivalent is of carrying a pager and being on call.
Kudos to whoever said that ;)
πŸ˜… 1
Cerca is 4100 LoC, including rate limiting, i18n, db migrations, moderation, etc. That's not bad. We could probably get something like that, with a few more modern amenities, in 5 or 6k.
j
maybe fewer lines if it isn’t written in Go πŸ˜†
🍰 1