Ask HN: Which open source tools are best for code-heavy technical writing?
I'm curious about what open source tools people might recommend for writing with a focus on technical writing that includes a mixture of text and code snippets.
It's something I got into a few years ago and has been a real eye-opener into the world of perfumery and our wonderful olfactory senses. Strangely, though I suspect is the case with many other hobbies, there is crossover with programming albeit somewhat abstractly.
Often it's about building abstractions and reusable components. For example let's say you wish to create an apple note (typically referred to as an accord). You're not tasked with creating the scent of an actual apple but rather the illusion of apple. This is done by mixing ingredients (usually referred to as raw materials) which are generally split into two categories, synthetic and natural, where a synthetic material if often just an isolated molecule and a natural material may be an oil extracted from nature or a tincture, among other kinds. Once you have mixed the raw materials and are happy with the result, you've essentially created a formula which is a reusable component that can then be used in one or many of your creations.
Aside from the creative process of making the actual perfume, you've then got a ton of applications in which to use it such as a fine fragrance, a candle, room spray, shower gel, shampoo, laundry detergent to name just a few.
With new raw materials becoming available all the time there are just endless possibilities as to what you can create and it, for me, has been a lot of fun both learning the craft and creating actual perfumes that I myself now wear.
I'm curious about what open source tools people might recommend for writing with a focus on technical writing that includes a mixture of text and code snippets.
Squares = [X*X || X <- [1,2,3,4]].
(This can be read as, Squares equals a list of X*Xs such that each X is a member of [1,2,3,4])Going from that to then realizing that you can use list comprehensions to implement quicksort in basically 2 lines of code:
qsort([]) ->
[];
qsort([H | T]) ->
qsort([ X || X <- T, X < H ]) ++ [H] ++ qsort([ X || X <- T, X >= H ]).
These examples are written in Erlang though list comprehensions are found in many other languages, Python and Haskell to name a couple.[1]: https://github.com/llaisdy/beam_languages?tab=readme-ov-file...
> But my current project requires me to learn erlang
As the title states, just interested in finding some examples people think would be particularly good reads, especially for people approaching the language for the first time.Ideally examples that show what a "complete" Rust project might look like in terms of the way it is laid out and what associated tooling / scripts that are commonly used or included in Rust code bases.
I'm trying to source some programs and libraries written in Prolog to gain a better understanding of how a complete application is put together. Lots of Hello, World-esque examples out there, but looking for things that are a little less trivial.I did come across terminusdb: https://github.com/terminusdb/terminusdb which looks interesting.Any other codebases people would recommend that are...
https://www.youtube.com/watch?v=OyfBQmvr2Hc
It's one of my favorite programs to play around with. I wrote about an Erlang implementation of this a short while back:
https://thingstoreadabout.substack.com/p/lisp-in-seven-parts
Designing a language is more about defining a specification. Then 10 different compiler engineers may pick that spec up and implement 10 different implementations of the same language, for example.
Their answer to this might simply be "no". There are people who just wont touch devices that are shipped with code / programs that don't respect the privacy of the user, unless installing free software to override the stock proprietary system is an option.