News for hackers. Stuff that matters.
Re:Will Bun JavaScript Take Node's Crown by jeroenhd on Sunday August 14, 2022 @07:13AM (#32458313)
There are some real obvious downsides to using this tool right now. Most importantly, the article lists there:

* Documentation is limited, but Bun’s Discord is very active and a great source of knowledge.

I'm not interested in becoming part of a community, I want to use the tool. Without official docs, I'll pass until the project has matured.

* Bun is not 100% compatible with Node yet. Not every npm package works. Express, for instance, is not yet functional.

I don't expect full bug-for-bug Node compatibility but if extremely popular packages such as Express don't work, I'm not sure if any of my projects will even run with this runtime.

Hopefully, this project will turn into a proper Node replacement because the Javascript ecosystem can use a big performance boost. It'll be a while before it'll become part of any pipeline I have a say in, though.

Re:Will Bun JavaScript Take Node's Crown by r_hoods_ghost on Sunday August 14, 2022 @09:54AM (#32459266)
Yep, doing documentation and support through a chat service designed for gamers with terrible search that means the same question is going to be asked over and over again and where most users behave as if they were 15 year olds because that is the prevailing social norm means I'm going to pass.
Re:Will Bun JavaScript Take Node's Crown by andybak on Sunday August 14, 2022 @10:24AM (#32459495)
I'm stuck with an open source project on Discord for a mix of developers, artists and casual users across a wide range of age groups. I'd love to migrate off but I honestly can't think of the right platform.

1. Lots of people like realtime chat. It's worth having something that fills that niche (the old "mailing list + IRC" combo used to work well)

2. Forum software is usually fairly awful. I don't want to install some 15 year old pile of PHP with bad UX.

3. A "Stack Overflow" style site requires a lot of moderation and either annoys users for being too messy or annoys users for being too strict

4. I actually still have some fondness for Google Groups but Google's brand is too tainted for most people.

5. Nobody under 30 seems to use email any more so mailing lists are out but something that syncs with email is a must (reply notifications etc)

I am also hoping for something free but very easy to install. (SaaS with a free tier, one-click docker or similar). And easy on resources ideally (I guess $10/month for hosting is about our limit at the moment)

Yeah. I'm asking for a lot.

Re:Will Bun JavaScript Take Node's Crown by e12e on Sunday August 14, 2022 @11:10AM (#32459897)
Did you look at zulip? https://zulip.com/

I'm not convinced it's better than irc+proper mailing lists - but given that real users are stuck in awful mail clients (like web/Gmail or outlook) - mailing lists isn't a great option any more.

Main thing I miss from zulip is a proper weechat plug-in (like wee-slack) - although the official cli client isn't terrible - it's just not irc-like.

Re:Will Bun JavaScript Take Node's Crown by BbzzbB on Sunday August 14, 2022 @12:23PM (#32460494)
Why is something like Gmail an awful client and what does a great client have (or has not) that it doesn't (or does)?
Re:Will Bun JavaScript Take Node's Crown by e12e on Sunday August 14, 2022 @01:30PM (#32461115)
Mutt/pine (or newer clients like sup/notmuch) are faster, handles quoting/threading better, allows decent keyboard operation and is workable with high-volume of email.

My biggest issue with Gmail (as someone who interacts with users of Gmail) - is that it generally breaks quoting and hides this from Gmail users with its magic conversation view.

Outlook(web) does atrocious top-quoting rendering it useless for mailing lists.

In general the web interfaces doesn't work well with hundreds/thousands of mails IMNHO.

They also tend to needlessly lean on html formatting rather than plain text - with things like "my replies in blue" - rather than just proper quoting.

Ed: in general I've just given up the idea that the average user has any hope of interacting well with email lists - which means such lists aren't useful for general discussion (but can still work for specialist groups like Linux kernel etc).

The conclusion being that one will need "something else" for a general audience.

Zulip might be a reasonable compromise.

Re:Will Bun JavaScript Take Node's Crown by na85 on Sunday August 14, 2022 @02:49PM (#32461791)
>Outlook(web) does atrocious top-quoting rendering it useless for mailing lists.

The weirdly aggressive way people talk about top vs bottom quoting is probably one of the things turning new users away from mailing lists.

Re:Will Bun JavaScript Take Node's Crown by e12e on Sunday August 14, 2022 @07:10PM (#32464022)
Maybe. I think the bigger problem is that there's no easy fix/recommendation to give new users; "stop using your propiatary group-ware that your company/organization pays for" isn't a great recommendation.
Re:Will Bun JavaScript Take Node's Crown by megous on Sunday August 14, 2022 @01:32PM (#32461133)
Gmail can't do basics properly like replying in the middle of a quoted text, etc. It shows you something relatively sensible, but sends completely garbled mess to the recipient.
Re:Will Bun JavaScript Take Node's Crown by kevinmgranger on Sunday August 14, 2022 @01:52PM (#32461315)
Yeah, I don't quite get it. The problem with mailing lists is their fundamental design, not the clients for them.
Re:Will Bun JavaScript Take Node's Crown by e12e on Sunday August 14, 2022 @07:07PM (#32463997)
Mailing lists aren't great, and neither is nntp. But mailing lists (and nntp) work fine with proper clients and some discipline/netiquette.

Sadly I don't think there is a reasonable way to introduce new users at this point - I'm not aware of any great gui clients that do the right thing; and AFAIK neither Gmail or o365/exchange work in a reasonable way with open standards (allow checking for when others are free; accepting/changing appointments etc) - so users are herded towards the semi-proprietary clients. (and interop across silos doesn't really work in a sensible way).

There are things like the d-lang forums that mix a decent web front-end and nntp (and mailman makes an effort for web+smtp) - but I'm not aware of anything that really works great, with a low barrier of entry and reasonably lets users participate across more than a handful of threads.

Re:Will Bun JavaScript Take Node's Crown by dom96 on Sunday August 14, 2022 @10:42AM (#32459640)
> 2. Forum software is usually fairly awful. I don't want to install some 15 year old pile of PHP with bad UX.

Isn't Discourse an answer to that?

Re:Will Bun JavaScript Take Node's Crown by rapnie on Sunday August 14, 2022 @12:01PM (#32460321)
Yes, can use Discourse for async, long-term communication. Or Flarum if you want something more modern feeling (but with a lot less features).

And then Matrix for real-time chat. Bridge it to IRC if you want. Search is not great in Matrix but sufficient for simple keyword searches.

Re:Will Bun JavaScript Take Node's Crown by synergy20 on Sunday August 14, 2022 @02:26PM (#32461602)
I just checked out Flarum the other day, why is it more modern? I actually found Discourse is still much better. Flarum does not even have nested reply threads as far as I can tell, it's all flat and hard to read for any thread of replies.
Re:Will Bun JavaScript Take Node's Crown by rapnie on Sunday August 14, 2022 @03:45PM (#32462284)
I far prefer Discourse myself, and it is superior in useful features. "More modern" is mostly what I heard others saying in response to me recommending Discourse. Suppose it is a look&feel thing mostly, and personal preference. That said, you can customize Discourse quite extensibly.
Re:Will Bun JavaScript Take Node's Crown by mderazon on Sunday August 14, 2022 @11:13AM (#32459916)
What about GitHub Discussions ? (https://github.com/features/discussions)

I am not seeing a lot of projects adopting it and I wonder why because it seems quite good to me

Re:Will Bun JavaScript Take Node's Crown by toastal on Sunday August 14, 2022 @12:33PM (#32460591)
It's locked behind a proprietary service/account owned by a publicly-traded corporation, Microsoft, with shareholder value obligations. The other options listed in siblings can be self-hosted, are all open source, and some don't require a an account or at least support a form of decentralized identity.
Re:Will Bun JavaScript Take Node's Crown by silvi9 on Sunday August 14, 2022 @02:10PM (#32461477)
Have you tried Outverse?[1] It's a new startup aiming to solve this problem, with support for forum spaces, threads and more. I've been using it for some time now and would definitely recommend it! Makes it easier to save threads, common questions, etc and has a super intuitive interface overall. I'm looking forward to using it for my open source project, and it solves a lot of the problems I've had with current platforms.

[1] https://www.outverse.com/

Re:Will Bun JavaScript Take Node's Crown by cmeacham98 on Sunday August 14, 2022 @02:39PM (#32461713)
Matrix? Assuming you don't want to host your own homeserver you can make a room/space on matrix.org
Re:Will Bun JavaScript Take Node's Crown by zzo38computer on Sunday August 14, 2022 @12:49PM (#32460719)
I think NNTP+IRC is good, and you can have bridging to other services if desired (which is probably a good idea too). You should also make logs of the IRC; the IRC channel for my project has public logs.

Discourse and Flarum are even worse, in my experience.

However, having chat services does not substitute for having documentation; you should also have good documentation, too; you should not expect someone to only ask questions.

Re:Will Bun JavaScript Take Node's Crown by djbusby on Sunday August 14, 2022 @01:22PM (#32461049)
Mattermost? And all your chats are in Postgres so you can build all kinds of fun magic on top.
Re:Will Bun JavaScript Take Node's Crown by dimal on Sunday August 14, 2022 @01:34PM (#32461146)
How about GitHub discussions? One open source library I depend on uses it to good effect. You could keep the Discord for realtime chat for stuff that should be realtime. Of course, you’d probably have to make effort to push support questions to GitHub. People would probably still ask questions there.
Re:Will Bun JavaScript Take Node's Crown by qmmmur on Friday August 26, 2022 @12:51PM (#32609877)
Discourse
Re:Will Bun JavaScript Take Node's Crown by bashonly on Sunday August 14, 2022 @10:42AM (#32459645)
i think element (matrix) could work for you. it can't do email notifications, but if you have the mobile client on your phone you can get push notifications.
Re:Will Bun JavaScript Take Node's Crown by citizenkeen on Sunday August 14, 2022 @05:36PM (#32463178)
Nobody’s saying don’t use Discord. But that shouldn’t be the home of the documentation.
Re:Will Bun JavaScript Take Node's Crown by andybak on Sunday August 14, 2022 @06:01PM (#32463397)
Well - I am kinda saying "don't use Discord" - at least except for specific cases where it's ephemeral nature isn't a liability. I personally wish I wasn't so tied to it.
Re:Will Bun JavaScript Take Node's Crown by mizzao on Sunday August 14, 2022 @04:18PM (#32462558)
Would Reddit fit your bill?
Re:Will Bun JavaScript Take Node's Crown by andybak on Monday August 15, 2022 @06:17AM (#32467865)
In terms of functionality - in many ways: yes - but it's weird to throw users who don't use Reddit into that crazy jungle just to get support.
Re:Will Bun JavaScript Take Node's Crown by acedTrex on Sunday August 14, 2022 @10:07AM (#32459358)
Discords text search is incredible though, It's still not a good platform for support but not because search is bad
Re:Will Bun JavaScript Take Node's Crown by andybak on Sunday August 14, 2022 @10:16AM (#32459429)
> Discord's text search is incredible

Really? There's no way to do verbatim searches and it's "very" generous in deciding what it thinks you meant to search for. It's almost useless for searching technical posts (or anything when you need to disambiguate similar words)

Re:Will Bun JavaScript Take Node's Crown by TechBro8615 on Sunday August 14, 2022 @10:46AM (#32459679)
It’s far better than Slack’s search, which limits you to the last 10,000 messages unless you pay them a fee per member in your community.
Re:Will Bun JavaScript Take Node's Crown by cercatrova on Sunday August 14, 2022 @11:55AM (#32460270)
This might change in the future as Discord tries to recoup their VCs' investment. See GitLab for a recent example.
Re:Will Bun JavaScript Take Node's Crown by TechBro8615 on Sunday August 14, 2022 @04:59PM (#32462880)
GitLab is charging for metered compute minutes, which is hardly an unreasonable bargain for users who have been them for free for two years. Slack's feature-gating is disconnected from any unit economics - indeed, they actually do _store_ the messages prior to the most recent 10,000, but they just refuse to index them. The cost of that indexing is relatively minimal and does not scale linearly with number of users.
Re:Will Bun JavaScript Take Node's Crown by cercatrova on Sunday August 14, 2022 @07:56PM (#32464334)
Doesn't matter what the technical justification is, it's a business move, not a tech move. It's about the customer's willingness to pay, and it looks like for Slack, companies are very willing to pay.
Re:Will Bun JavaScript Take Node's Crown by mulmen on Sunday August 14, 2022 @04:19PM (#32462566)
> But according to Butterfield, Slack is actually an acronym. It stands for: "Searchable Log of All Conversation and Knowledge."

https://www.businessinsider.com/where-did-slack-get-its-name...

Re:Will Bun JavaScript Take Node's Crown by 9935c101ab17a66 on Monday August 15, 2022 @01:52AM (#32466294)
Being better than Slack’s search doesn’t make it good.
Re:Will Bun JavaScript Take Node's Crown by MatthiasPortzel on Sunday August 14, 2022 @10:39AM (#32459612)
The primary use case that we’re talking about is that someone has a common error, in which case they can put that error message into Discord search and read conversation about previous errors. Discord search is perfectly adequate for that use case.
Re:Will Bun JavaScript Take Node's Crown by andybak on Sunday August 14, 2022 @01:50PM (#32461299)
That's fairly close to my use case for which Discord fails miserably.

But let's not get stuck on this point. There's a dozen other reasons why Discord shouldn't be used for technical forums

Re:Will Bun JavaScript Take Node's Crown by 9935c101ab17a66 on Monday August 15, 2022 @02:04AM (#32466356)
I don’t love that projects use discord now, but I don’t hate it either. Beyond the crappy search, what other reasons make discord a bad fit for technical forums? What’s your preferred solution?
Re:Will Bun JavaScript Take Node's Crown by andybak on Monday August 15, 2022 @06:20AM (#32467877)
My question was driven by the fact I don't have a preferred solution that would suit both technical and non-technical users.

But as for why Discord is a bad fit - it's completely opaque to search engines, it requires an invite, it has a fairly complex UI and it's basically "unstructured chat". Threads are an afterthought and don't come close to giving any proper structure.

I want chat for people that, you know, want to chat - but structured posts with topics and categories are needed for any sane, long term knowledge-base.

People on chat (this goes for IRC as well) will continually ask the same questions and you will continually have to answer them again because there's no structure.

Re:Will Bun JavaScript Take Node's Crown by antifa on Sunday August 14, 2022 @12:05PM (#32460354)
The primary use case is actually googling the error, in which discord falls flat on it's face.

Every external chat room logs service I've seen has also had bad SEO, buggy, bad UI/UX, etc..

Re:Will Bun JavaScript Take Node's Crown by 9935c101ab17a66 on Monday August 15, 2022 @02:02AM (#32466348)
I actually don’t mind projects that use discord as their primary online community, but goddamn, discord’s text search is NOT amazing. Yes, it searches text and is likely fine for gaming / casual online communities. But man, it provides none of the utility I would expect a modern chat app’s search feature to have. Boolean operators, date ranges, wildcard matches, fuzzy matching, scoped searches (beyond just being able to specify a channel, like searching for a string in a user’s posts in a specific channel), etc. The subpar search functionally is a huge weakness, especially for communities like OSS where being able to meaningfully surface past comments / threads / solutions provides enormous value.
Re:Will Bun JavaScript Take Node's Crown by hn_throwaway_99 on Sunday August 14, 2022 @12:42PM (#32460658)
In one sense, I completely agree with your central point: Bun isn't yet stable enough or mature enough for production, "Node drop in" usage.

But on the other hand, when I look at Bun I think it has heaps more going for it than Deno. The fundamental value prop of offering better performance (both runtime and developer experience) is huge, and something that would get me to want to use it. Contrarily, while I see a number of improvements in Deno, the vast majority of them seem to be "niceties" that solve some initial "setup" issues that can be painful in Node - but since I already have taken care of a lot of those Node issues in my own projects, there is not a ton that I see compelling in Deno.

Point being, if I were a betting man, I'd easily put all my chips on Bun vs. Deno. It's a "plan where the puck is headed" vs. a "plan where the puck is now" approach, and from that perspective I see a lot more value in Bun.

Re:Will Bun JavaScript Take Node's Crown by modernerd on Sunday August 14, 2022 @03:29PM (#32462160)
> …I already have taken care of a lot of those Node issues in my own projects, there is not a ton that I see compelling in Deno.

I felt this way too before using Deno for a while. So far I enjoy:

- Breaking from npm/node modules support on purpose turns out to be a real plus for me. It's refreshing to have dependencies referenced by URL, and it's good to have them cached centrally by default (in $HOME/Library/Caches/deno on macOS and $XDG_CACHE_HOME/deno or $HOME/.cache/deno on Linux, for example).

- Use of web platform APIs (https://deno.land/manual/runtime/web_platform_apis ) and the work to standardise those across platforms (https://wintercg.org/ ) is encouraging.

- `deno lint` and `deno fmt` make adopting and using JS/TS feel more like Rust/Go/other languages with good built-in ceremony-free tooling.

- Fresh is turning into a very nice Next.js/Astro alternative (https://fresh.deno.dev/ ) that I found very easy to learn and deploy, with great performance and developer experience out of the box.

Bun is interesting, but I wish it didn't embrace node modules: perpetuating its use instead of attempting to move the community on by recognising it for the mistake it was feels sad to me. (See Ryan Dahl's “Design Mistakes in Node” PDF or talk for more: https://tinyclouds.org/jsconf2018.pdf and https://www.youtube.com/watch?v=M3BM9TB-8yA )

Re:Will Bun JavaScript Take Node's Crown by chiefalchemist on Sunday August 14, 2022 @07:34AM (#32458407)
To your point, it would be refreshing - and appropriate - if more projects baked "documentation-first" into their purpose. For all intents and purposes it's "marketing materials". When it's lacking, as you noted, it creates doubt. "Join us?" Huh. Join what?!?

This is one of engineering things that happens year over year. We all understand the value of good docs. Yet it keeps happening. Why?

Re:Will Bun JavaScript Take Node's Crown by lewisl9029 on Sunday August 14, 2022 @08:44AM (#32458801)
These days now that I'm fully in charge of building my own product, I often wonder if we place too much emphasis on centralized documentation sites that users have to deliberately seek out and visit vs in-context documentation snippets that show up as closely as possible to where users might actually need them, deeply integrated into the product and user journeys.

Users don't search for documentation for the sake of finding documentation. They search for documentation because they want to know how or if our product can solve a particular problem they have. My hypothesis is that the documentation discoverability problem is really just a symptom of the product discoverability problem, and that centralizing docs in 1 searchable website to make docs "discoverable" is only addressing the symptom, when that effort can be much better spent addressing the root cause by making the product itself more discoverable and deeply integrating useful documentation into it.

Re:Will Bun JavaScript Take Node's Crown by replygirl on Sunday August 14, 2022 @10:02AM (#32459318)
> centralizing docs in 1 searchable website to make docs "discoverable" is only addressing the symptom

a searchable docs website is the most important thing for me. having to "discover" an api by stepping through code and comments is a waste of time--only useful when you already know the basics, which requires documentation

Re:Will Bun JavaScript Take Node's Crown by vlovich123 on Sunday August 14, 2022 @12:21PM (#32460469)
Centralized documentation is valuable for several pieces:

* Easily get an overview of the entire API. I may just be scouting the library, so I want to understand what the API looks like.

* Examples as a starting point. How do I use your API?

* Makes your product more discoverable / approachable to potential users.

Think of your users like a funnel - how are they using the library? What are the common reasons you’re losing potential users? What are the common reasons you’re losing existing users? Users are also different so you have to analyze by cohort.

Now can something better be done? Maybe It takes a lot of work and would have to address the above issues and I don’t know if it would necessarily change the need for something centralized.

Re:Will Bun JavaScript Take Node's Crown by skybrian on Sunday August 14, 2022 @12:16PM (#32460433)
I read the documentation before downloading anything, to find out if the software will work for my problem. I’m not sure that “in context” helps with that?
Re:Will Bun JavaScript Take Node's Crown by spacephysics on Sunday August 14, 2022 @08:55AM (#32458862)
That’s what kaseya is doing with their software, basically having contextual assistance for each feature as an “AI Buddy”, where users can choose to listen/learn or just continue using the product, all integrated as one
Re:Will Bun JavaScript Take Node's Crown by lioeters on Sunday August 14, 2022 @08:09AM (#32458581)
I think it's because documentation (and design) requires different skills than writing code. A great programmer is not necessarily a good writer or designer. There are rare gems, people who have a balance of such skills, but most of us struggle to write useful documentation, even the bare minimum necessary for others to get started - or any at all. The code, or the lead dev's brain, is the documentation.

A perfect example of this is documentation generated from docblock comments. Some projects only have such docs, and expect users to go from there. It's as if programmers envision their audience as another machine to program.

I feel similarly about business/marketing aspects of software projects. Many programmers seem to assume, "If you write it (the program), they will come."

Successful software is so much more than just the code, it usually involves a communal effort of various skills, especially human communication, including writing good documentation.

Re:Will Bun JavaScript Take Node's Crown by gervwyk on Sunday August 14, 2022 @07:45AM (#32458466)
Because being a small project with limited resources requires devs be as resource efficient as possible. Docs, demos, tuts are all super important but it creates an additional maintenance overhead - if they are not maintained up to date, they become worthless.

So for the early stages of a project it makes sense to keep the overhead low and work with a small group of focussed early adopters.

As projects grow, mature and become more stable, more investment into learning material becomes important. Doing it too early burns valuable resources.

Re:Will Bun JavaScript Take Node's Crown by simonw on Sunday August 14, 2022 @08:13AM (#32458604)
I've learned over time that it's much easier to incrementally update existing docs than it is to add them to a large project from scratch - so every single one of my projects, no matter how small, now has documentation from day one.

As I add new features I update the docs to reflect the changes, trying to keep those documentation updates in the same commit as the tests and implementation.

Since I started doing this the quality of documentation I produce has gone up a ton, because I'm constantly exercising those muscles.

It's been a huge win for my coding quality and productivity too - I don't have to remember as much stuff because I can refer back to the docs, and documenting as I go along causes me to make much better design decisions.

Worth noting: I'm a native English speaker writing documentation in English, and I've been blogging frequently and writing online for over twenty years so I've accumulated a LOT of writing experience. So what's easy for me may not be easy for other people!

Re:Will Bun JavaScript Take Node's Crown by beebeepka on Sunday August 14, 2022 @09:14AM (#32458986)
Good point but writing and maintaining README.md files for your solo projects is nothing like writing proper docs for big projects with multiple contributors and users. That's a full time job, isn't it?

Writing non-code is easy and fun to me - I used to do it for a living - but when I am pressed to deliver features, documentation takes a backseat. Also, I've never felt like documenting other people's code

Re:Will Bun JavaScript Take Node's Crown by simonw on Tuesday August 16, 2022 @04:35PM (#32488538)
The two largest projects that I write documentation for are https://docs.datasette.io/ and https://sqlite-utils.datasette.io/ - they're both big projects with multiple contributors, though most of the commits are still from me.

I find the same approach I take to READMEs for smaller projects scales up pretty well: any time I make a change to one of my larger projects I ensure that the documentation is updated as part of that change.

If I accept a PR from someone without documentation I'll follow up by adding the docs for it myself in the next commit. I think that's more reasonable than demanding people add documentation if it's not necessarily their core skill set.

Honestly, I'd love to experience working with a professional technical writer on this kind of thing, but that's not something that's happened at any point in my career to date!

Re:Will Bun JavaScript Take Node's Crown by gervwyk on Sunday August 14, 2022 @08:17AM (#32458629)
This is good advice, thanks. Really want to practice my writing more as well.
Re:Will Bun JavaScript Take Node's Crown by chiefalchemist on Sunday August 14, 2022 @07:58AM (#32458520)
> As projects grow...

I'd argue if should replace as. The point being docs are all but essential for growth (and added participation). To neglect them is self-defeating.

Put another way: Docs are an investment. They have a known return.

Again, we've seen this. We know this. Yet again and again there's case after case of docs denial.

Re:Will Bun JavaScript Take Node's Crown by rikroots on Sunday August 14, 2022 @01:54PM (#32461339)
I've been working on my OS library for 9 years now, almost entirely by myself. For the majority of that time I kept documentation separate from code. Now I do enjoy documenting stuff - I have diplomas in both Computing, and Creative Writing - but my various approaches to documenting the project would start off with the best intentions but soon enough degenerate into an irrelevant mess as I tweaked code, forgot to update related webpages and demos, etc.

In 2017 I stopped working on the project entirely: I'd coded up a new major version of the library but never released it because knowing I had to overhaul and re-document so many different pages, demos, etc ... like a dementor, it sucked all joy from me.

Then in 2019 I recoded the entire project from scratch. This time I thought about the documentation first, before I wrote a line of code. I decided the best approach was to generate the main documentation from inline comments. I did this for both core code, and for demo examples - the demos stopped being standalone afterthoughts and became instead my end-to-end testing suite. To present the documentation to any developers who might show an interest in the library, I coded up the library's website in a way so that the core documentation[1] and the demos[2], with easily accessible code, could be very easily copied over to the website whenever I rebuilt the library (which regenerates all the documentation). I also added a set of lessons to the website, and a set of "How do I" articles - both of which are an ongoing project.

The library's website doesn't have any functionality where users can ask questions - but that's what the GitHub issues and discussions pages[3] are for.

The system isn't anywhere near perfect (I still need to automate the demo testing, for example, and there's no CI for copying stuff from the repo over to the website, etc) - but, given the depressing messes I've managed to fall into in the past ... it's working really well for me!

[1] - https://scrawl-v8.rikweb.org.uk/documentation/

[2] - https://scrawl-v8.rikweb.org.uk/demonstrations/

[3] - https://github.com/KaliedaRik/Scrawl-canvas

Re:Will Bun JavaScript Take Node's Crown by thinkharderdev on Sunday August 14, 2022 @08:13AM (#32458605)
The boring (and probably mostly correct) answer is that engineers don't like writing documentation so it is the last thing to get done, if it gets done at all. This is especially true of FOSS projects. You may be motivated to spend your free time hacking on something cool and interesting, but spending your free time writing documentation is another matter.
Re:Will Bun JavaScript Take Node's Crown by steveklabnik on Sunday August 14, 2022 @08:11AM (#32458592)
Many engineers do not value good docs, even if they say they do.

Many people won’t read them at all, no matter the quality, and so it can feel like work wasted.

Plus writing docs is a different skill set than writing code that many simply don’t like to do.

Re:Will Bun JavaScript Take Node's Crown by yen223 on Sunday August 14, 2022 @09:23AM (#32459037)
Because a poorly-documented product that does something, is much better than a well-documented product that does nothing.

Engineers have to decide where to spend their time, and taking time away from feature development when your early-stage product doesn't have many features is not a winning move.

Re:Will Bun JavaScript Take Node's Crown by replygirl on Sunday August 14, 2022 @10:04AM (#32459339)
> a poorly-documented product that does something, is much better than a well-documented product that does nothing

not necessarily. with the latter, you know the constraints of a solution and can make an accurate judgment on whether it's worth using

Re:Will Bun JavaScript Take Node's Crown by wruza on Sunday August 14, 2022 @10:28AM (#32459524)
True, but if it’s too early for a good documentation then talking about taking someone’s crown is too early as well.
Re:Will Bun JavaScript Take Node's Crown by whynotminot on Sunday August 14, 2022 @07:41AM (#32458445)
It’s not fun to write documentation, and for documentation to be good, it has to be persistently updated.

It takes a lot discipline to do things right.

Re:Will Bun JavaScript Take Node's Crown by jamesgpearce on Sunday August 14, 2022 @07:57AM (#32458516)
Agree. But it’s not either/or. I invested easily hundreds of hours in docs before launching TinyBase.org - but I don’t think it made the subsequent community building challenge any easier.
Re:Will Bun JavaScript Take Node's Crown by chiefalchemist on Sunday August 14, 2022 @11:22AM (#32459979)
Yes, fair enough. And I'd like to add

Docs !== community

Docs === Odds of gaining traction

To your point, achieving community is a whole other beast to battle.

Re:Will Bun JavaScript Take Node's Crown by rswail on Sunday August 14, 2022 @09:18AM (#32459006)
Because people are "scratching an itch", not creating a product. Most engineers are terrible at writing documentation.
Re:Will Bun JavaScript Take Node's Crown by chiefalchemist on Sunday August 14, 2022 @11:25AM (#32460011)
True. Adding tho' that the original topic isn't a side project. It's a team bringing something to market and looking for participants.

And to your point, writing docs *is* something to consider when building the team. As is making sure the culture has a reward system if such behavior is important.

Re:Will Bun JavaScript Take Node's Crown by lelanthran on Sunday August 14, 2022 @09:09AM (#32458945)
> This is one of engineering things that happens year over year. We all understand the value of good docs. Yet it keeps happening. Why?

Because doing anything is is irrational?

Time is finite, only a rounding error number of projects (especially open-source ones) are going to be successful, with or without docs.

Only an irrational developer would think that they are going to hit the 1-in-a-thousand jackpot with their project.

Any time spent producing documentation is time not spent on adding features and fixing bugs.

Spending time on documentation over and above the bare necessity needed to get out a working product "just in case we win the jackpot" is simply irrational.

This is probably why you don't find many projects spending significant startup time on good, clear and comprehensive docs (as opposed to a README and an FAQ and nothing more): the ones that do as you suggest mostly die before even getting users.

TLDR; don't treat your startup project as if you already have 5m users who depend on you. The odds are that you are never going to get to that point without a good product, and the better the product, the fewer the docs needed.

Re:Will Bun JavaScript Take Node's Crown by BaculumMeumEst on Sunday August 14, 2022 @07:50AM (#32458494)
because time is finite

if you spend your time making sure your product works but don’t write thorough documentation, it can become a breakout hit even though some hacker news commenters may complain about a lack of good documentation

if you spend your time writing great documentation, the product will suffer and nobody will use it

Re:Will Bun JavaScript Take Node's Crown by jcpst on Sunday August 14, 2022 @08:25AM (#32458668)
> if you spend your time writing great documentation, the product will suffer and nobody will use it

This is an unfortunate perspective. And I could say the opposite is true. If you don’t spend time writing great documentation, your product will suffer and nobody will use it.

Documentation gets neglected because developers don’t feel like doing it. If you are building a product for developers, documentation is critical.

Re:Will Bun JavaScript Take Node's Crown by Waterluvian on Sunday August 14, 2022 @07:38AM (#32458429)
Docs aren’t the fun part of dev.
Re:Will Bun JavaScript Take Node's Crown by beebeepka on Sunday August 14, 2022 @09:20AM (#32459022)
They are more fun to me than writing tests
Re:Will Bun JavaScript Take Node's Crown by agumonkey on Sunday August 14, 2022 @09:05AM (#32458919)
Unless you make it programmable
Re:Will Bun JavaScript Take Node's Crown by Bolkan on Sunday August 14, 2022 @10:27AM (#32459516)
And it doesn't address the semver malware injection bug demonstrated by colors author. Funny isn't it, any one of the thousands of npm package authors can inject a malware into our computers and nobody gives a shit.

https://snyk.io/blog/open-source-npm-packages-colors-faker/

Re:Will Bun JavaScript Take Node's Crown by Supermancho on Sunday August 14, 2022 @12:59PM (#32460825)
> And it doesn't address the semver malware injection bug demonstrated by colors author

[Not a fan of Bun] In Bun, you can pin versions with package.json just like in node.js

What would address the malware injection when someone chooses to auto-update packages as part of a build?

Re:Will Bun JavaScript Take Node's Crown by Bolkan on Sunday August 14, 2022 @03:09PM (#32461986)
You can only pin your direct deps.
Re:Will Bun JavaScript Take Node's Crown by leodriesch on Sunday August 14, 2022 @05:09PM (#32462955)
A lockfile is a way to lock your indirect dependencies. If you only install based on the lockfile every dependency is pinned.
Re:Will Bun JavaScript Take Node's Crown by Bolkan on Sunday August 14, 2022 @06:02PM (#32463404)
You cannot audit and pin all your transitive dependencies. The amount of churn tge lockfile goes through is insane.
Re:Will Bun JavaScript Take Node's Crown by WorldMaker on Monday August 15, 2022 @01:10PM (#32472389)
Dependabot watches all the transitive dependencies in your lock files. For better and worse. For worse in that it's not a great developer experience to get a PR on a low level transitive dependencies, which is also one of the largest complaints about Dependabot that it often feels too low level and not working at the dependency level you are working at. But Dependabot (and npm audit) still exist to audit all your low level transitive dependencies in your lock files.
Re:Will Bun JavaScript Take Node's Crown by yashap on Sunday August 14, 2022 @01:13PM (#32460954)
It’s a work in progress, it’s definitely not meant to be ready for production workloads yet. It’s in beta, I’m assuming if they do get to a full stable release, node compatibility will be far better, Express will work, official docs will be improved, etc.
Re:Will Bun JavaScript Take Node's Crown by thayne on Sunday August 14, 2022 @01:30PM (#32461111)
Another concern I have is that cool as zig is, it is still pretty unstable, with breaking changes almost every release. So, I'm not sure i would want to trust this with production code.
Re:Will Bun JavaScript Take Node's Crown by sbmthakur on Sunday August 14, 2022 @11:54AM (#32460260)
> Documentation is limited, but Bun’s Discord is very active and a great source of knowledge.

What sort of knowledge are we talking about?

Re:Will Bun JavaScript Take Node's Crown by toastal on Sunday August 14, 2022 @12:25PM (#32460506)
The kind that requires another proprietary account behind a nonfree service to get access to.
Re:Will Bun JavaScript Take Node's Crown by highwaylights on Sunday August 14, 2022 @01:58PM (#32461367)
True story: “But our Discord is very active“ is the new “hard pass”. Tell your friends. We’re gonna make fetch happen.
Re:Will Bun JavaScript Take Node's Crown by smrtinsert on Sunday August 14, 2022 @04:56PM (#32462861)
Thr just reinforces the power of the java community to me. Servlet container is completely a choice built around standards unlike the js community where it still seems to be node or bust. It makes java look light years ahead of js.
Re:Will Bun JavaScript Take Node's Crown by mulmen on Sunday August 14, 2022 @04:07PM (#32462470)
Discord scares the crap out of me. I just don’t trust the app. I couldn’t figure out how to stop it from opening on boot. And it has access to my camera and mic for some reason? Managing identities across different communities seems leaky at best because I think I have to change my name after joining. I’m sure a lot of this is my own ignorance of the tool but I have no interest in learning a modern gamer chat service. None of it is going to stay the same in 10 years, or even 10 weeks. That’s all a hard pass.

This says nothing of what a terrible choice it is for a knowledge base, especially long term. The only way you choose Discord is if you aren’t thinking beyond the “next release”. That’s a huge red flag in a fundamental framework project like this.

Re:Will Bun JavaScript Take Node's Crown by kayodelycaon on Sunday August 14, 2022 @04:16PM (#32462540)
Changing your nickname on a server doesn’t hide the name used on your account from anyone. This is why I’m not on my work’s discord server.
Re:Will Bun JavaScript Take Node's Crown by kaetemi on Sunday August 14, 2022 @04:21PM (#32462582)
You can have multiple accounts in the Discord client now.
Re:Will Bun JavaScript Take Node's Crown by mulmen on Monday August 15, 2022 @02:55AM (#32466632)
Sure. For now. But I have to carefully police the features of every release before I start the application.

It’s a minefield. People will get hurt. Those of us who have been around will be entitled to say we told you so. But I hope users move away before they get hurt, which will happen.

This is a proprietary application and protocol. It will come back and hurt you. Get out while you can.

Re:Will Bun JavaScript Take Node's Crown by userbinator on Sunday August 14, 2022 @04:45PM (#32462785)
And it has access to my camera and mic for some reason?

That's not unexpected given that it has voice and video chat functionality.

if you aren’t thinking beyond the “next release”.

I think that lack of long-term thinking is endemic to the JS community in general, unfortunately.

Re:Will Bun JavaScript Take Node's Crown by mulmen on Monday August 15, 2022 @01:38AM (#32466218)
It’s not unexpected but it is undesired.