textlog
profilefollowI carved wooden spoons and my favourite herb is lemon thyme.wrote some time ago:
flat
Why do so many tools have JSON config files‽ Commenting why options have been set the way they have is just such a basic thing to want to do… Why do tech people have such an aversion to writing things down⁇

share with friends

@lemonthymeshortbread wrote on textlog https://textlog.cc/post/895
500 chars / 15 lines max · use #hashtags, @mentions and more
😀😃😄😁😆😅😂🤣😊😇🙂🙃😉😌😍🥰😘😋😛😜🤪🤨🧐🤓😎🤩🥳😏😒😞😔😟😕🙁☹️😣😖😫😩🥺😢😭😤😠😡🤬🤯😳🥵🥶😱😨😰😥😓🤗🤔🫣🤭🫢🤫🤥😶😐😑😬🙄😯😦😧😮😲🥱😴🤤😪😵🤐🥴🤢🤮🤧😷🤒🤕🤑🤠😈👿👻💀☠️👽🤖🎃😺😸😹😻😼😽🙀😿😾❤️🧡💛💚💙💜🖤🤍🤎💔❣️💕💞💓💗💖💘💝💟👍👎👌🤌✌️🤞🤟🤘🤙👈👉👆👇☝️🤚🖐️🖖👋🤝👏🙌🫶👐🤲🙏✍️💪👀👁️🧠🫀🫁🌱🌿☘️🍀🌸🌺🌻🌞🌙🔥🌈☀️☁️❄️🍕🍎🎉🎊🎈🎁🎵🎶🎨📚💡⚠️🚀🌍💻📱🔒🔑
example.com or
https://example.com
Regular links
[title](example.com) or
[title](https://example.com)
Markdown links
~text~ or ~~text~~
Strikethrough
*text* or **text**
Bold
_text_ or __text__
Underline
/text/
Italics
> text
Quote
1. first
2. second
3. third
Numbered lists
- first
- second
- third
Bulleted lists
Name  | Status | Count
----- | :----- | ----:
notes | ready  |     3
Tables
|redacted|
Redacted
`code`
Inline code
``````
Code fences
$inline$
Inline LaTeX
$$block$$
Block LaTeX
Which one? #poll
First option
Second option
PollsUse 2–8 unique options.
Which one? #quiz
Wrong answer
> Correct answer

Explanation revealed after answering
QuizzesMark exactly one of 2–8 unique answers with >. Text after a blank line is revealed after answering.
Visible text #spoiler
Hidden text
SpoilersText after #spoiler is hidden until revealed. Aliases: #tldr, #sensitive, #contentwarning, #cw, and #triggerwarning.
Going hiking #map
Kallikratis, Crete
MapsShows a map preview for the first location line. Alias: #location.
Today #todo
[ ] First task
[x] Finished task
TodosOnly [ ] and [x] lines become items. Click your items to toggle them.
Run this #exec
```js
console.log(6 * 7)
```
Executable codeRuns the next language-tagged code fence and shows its output beneath the note.
Keep this visible #pin
Pinned notesYour latest #pin is shown first on your profile, independently for notes and replies.
No more replies #lock
Locked conversationsPrevents new replies to this note and every reply beneath it.
About textlog #meta
Meta conversationsKeeps this note and its replies out of public discovery feeds. Aliases: #tlog and #textlog.
Continue quietly #whisper
Whisper conversationsKeeps the branch out of all and hot. Participants, mentions, and tag followers can receive it in my feed. It remains public elsewhere.
Answer before reading #HiddenReplies
Hidden repliesHides all replies until you reply.
🦥profilefollowreplied toprofilefollowI carved wooden spoons and my favourite herb is lemon thyme.:
This is like the third time in my life I've seen an interrobang in the wild. And I don't know, but I'd prefer JSON over having configuration as constants in a PHP script like at $DAYJOB sob
profilefollow#Automationnotesfollow specialist for #CreditUnionsnotesfollow; 20+ year #SharePointnotesfollow veteran; #developernotesfollow; #writernotesfollow. I don't idle well.replied toprofilefollowI carved wooden spoons and my favourite herb is lemon thyme.:
A lot of tech folks resist documentation because they think it provides them with job security. In reality they are either locking themselves into a project and/or prohibiting upward mobility. I don't want to work with folks who don't document.
profilefollowSoftware • maker projects • music • DIY Mostly figuring things out as I go.replied toprofilefollowI carved wooden spoons and my favourite herb is lemon thyme.:
i like to use JSON for metadata and configs for robots and YAML for humans. if there is a need for a human to read the file there needs to be support for annotations
profilefollowI am just a grain of sand on your beach.replied toprofilefollowI carved wooden spoons and my favourite herb is lemon thyme.:
Is the tool in question written in a language or framework that includes a JSON parser for free? If so, you have your answer already.
😎profilefollowreplied toprofilefollowI carved wooden spoons and my favourite herb is lemon thyme.:
TOML is a better format for configuration files IMO, if not for many reasons, primarily because TOML accepts comments. However, one annoying thing for TOML was the lack of schema, and the reliance on JSON Schema for that. Which I decided to tackle years ago when I started the TOML Schema project. In the past few months I leveraged code agents to take to the finish line and got something compelling: tomlschema.org
profilefollowI carved wooden spoons and my favourite herb is lemon thyme.replied to😎profilefollow:
That’s really cool. I suppose it would allow people to verify their config file is valid without having to pass it to in the intended program, which might be running in production or infeasible to run locally — very interesting
😎profilefollowreplied toprofilefollowI carved wooden spoons and my favourite herb is lemon thyme.:
Exactly! The schema also enables tools to have rich editors to config files without having to know about the config file format upfront. There is an editor for TOML Schema as an example, on the website.
join the communityorbrowse more notes