Hacker Newsnew | past | comments | ask | show | jobs | submit | jaredcnance's commentslogin

If you’re wanting something super simple check out UserBase https://userbase.com . You haven’t given a lot of requirements here so there’s not much to go on.


I don’t know that you can overstate the importance of being on GitHub. The vast majority of developers are familiar with GitHub and can quickly contribute to something that is well written and documented. I’m not familiar with Fossil, but the way you described contributions is not at all community friendly. You need to allow users to fork your repo and PR their changes back in openly. The platform must facilitate inline discussion around code changes. No, you should not allow direct write access but they should be able to propose a diff and you should be able to have a threaded conversation about each line of code if necessary. If they can’t do that, then you will never grow a community.


OK, it is a valid point.

I will allow others to propose a diff, and others can also fork the repository if they want to; nothing is stopping that. (Although, those who wish to fork it must store their own copy (or use chiselapp); I will not host it for them.) If other people want to use GitHub, that is also OK.

Threaded discussions are possible with NNTP. Making a threaded conversation about each line of code (or a group of contiguous lines of code) is also possible; if the message body is formatted in a certain way to find the code in there, then a header could be added to reference the individual line of code (or range) being commented on. (The relevant line(s) of code should also be quoted in the follow-up message.)

However, code patches are not the only kinds of contributions that can be made; there are also documentation, bug reports, feature requests, FAQ, artwork, discussion about how something should be implemented, etc.


I want to ask this question here because I feel like many of the viewers will be proponents of C and I want to hear your perspective. Why would someone choose C as a language of choice for a new project over Rust (or some other comparable language with memory safety guarantees)? Will/can C ever address the memory safety issues?

(I’m looking for honest dialogue and not trying to be combative)


For embedded, system software, drivers and kernel work C is probably still king. Also, C is simple and popular enough for one to understand entirely, some people simply prefer it.


Read. Read a lot. Look for successful documents and emulate their patterns. First, understand what the author was trying to accomplish with the doc, then study the structure of the doc, then dig into the language choices. But, if I had to pick one thing to study, it would be structure. I frequently read tech docs that come off as a stream of consciousness. You have to understand your audience and put the effort in to give them context (the problem, the requirements, the methodology) before giving them the solution.

Also write. Write a lot. And ask for help. If you work with/know someone who is considered a good tech writer, I bet they will help you.


Also learn how to diagram and do quick mock-ups. Visuals can help bridge the gap between what you can articulate and what the reader needs to develop a good mental model of the proposal.

[this comment is coming from someone who writes mostly technical design documents needing to communicate a technical solution to a problem while also considering multiple alternatives]


Agree. I don’t want to waste a second of my time thinking about whether I mis aligned something or my lines or too long or I didn’t follow some syntax preference. Automate it or don’t stress about it.


It depends on the amount of work that your customers need to do to migrate, the size of your user base, and your ability to communicate (and incentivize) the changes with them. The best option is to provide enough value that it is worth it to your users to pay the cost of migration. That’s not necessarily an easy thing to do.


> pay the cost of migration

In terms of their time?


Depends on the nature of the change. Some migrations require additional infrastructure to migrate safely. But I imagine most changes you’re talking about are the cost in terms of time spent.


In general, learning to learn and be patient with the process. Based on your specific context, I’d also recommend reading code, a lot of it. There’s definitely a difference between designing and writing software in isolation and jumping into a new code base. Learn about what it is supposed to do and why, then spend a lot of time reading the code to learn the how. Also, beware of being overly critical without the history and context behind things—but, learn from the mistakes made previously and raise the quality bar by example.


You can’t answer this question without both a technical design and projected user behavior/access patterns. And I don’t think you’re going to get data on this from these platforms themselves. Unfortunately, this question is impossible to answer in this format. If you want to build a “clone”, first design it and then estimate the costs of that design.


Just going to put this here: http://jsonapi.org/


Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: