This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-12-09
Channels
- # adventofcode (95)
- # announcements (22)
- # aws (2)
- # babashka (14)
- # beginners (133)
- # bristol-clojurians (2)
- # calva (43)
- # cider (11)
- # clj-kondo (82)
- # cljsrn (20)
- # clojure (100)
- # clojure-europe (12)
- # clojure-italy (9)
- # clojure-nl (7)
- # clojure-poland (1)
- # clojure-spec (4)
- # clojure-uk (105)
- # clojurescript (42)
- # cryogen (1)
- # cursive (6)
- # data-science (1)
- # datomic (5)
- # euroclojure (2)
- # figwheel (4)
- # fulcro (4)
- # garden (1)
- # graphql (3)
- # hoplon (4)
- # jobs (1)
- # joker (3)
- # luminus (4)
- # malli (15)
- # off-topic (129)
- # pathom (10)
- # re-frame (43)
- # reagent (7)
- # reitit (3)
- # shadow-cljs (31)
- # vim (6)
- # yada (39)
How many people find writing documentation to be exhausting? I've written about 3,500 words over the last couple of days (for expectations/clojure-test
) and it just feels like an uphill battle... Any hints/tips for making it easier?
haha, coincidentally, I'm also currently writing docs at work. I personally find it just boring and tedious, although, the biggest motivator for me is the fact that if the systems I design/write are not documented (clearly), chances are, when I leave the company, the systems will have to be either reverse engineered or thrown out. I think it would suck a bit to have a system you worked hard for, to just be thrown out.
At one of my first jobs (mostly writing IBM 8100 assembler at an insurance company) I had to write a bunch of documentation for a project I'd created... and I learned later that they thought my docs were so bad that they hired a technical writer to completely redo them after I left!
Hey, at least they kept the your code!
True. It was a full-screen TTY-based editor. For drafting insurance letters using templates. All in assembler. Probably the first application I was really proud of!
whats an insurance letter?
I worked for an insurance company, in their car insurance division, so we were always sending letters to policyholders about their insurance. They wanted a full-screen editor -- a sort of mini-word-processor -- that could easily bring in standard paragraphs of text to form letters to customers, that they could then edit/customize before printing. It was the very early 80's so it was common to write that sort of stuff in assembler.
The templates had placeholder text in that was automatically replaced by details from the policyholder's database record. It was a fun project. Long before "the web" ๐
FWIW Sean, I really enjoyed the docs you wrote for next.jdbc (or jdbc.next ;). Also the stuff youโre writing on expectations make sense if you want to see adoption.
Thanks, @U04V5VAUN -- having http://cljdoc.org available (for next.jdbc
) is really what's inspired me to work on docs for Expectations now. And, yes, I do want adoption -- so it's about time I started to push Expectations more. Especially if clojure.test
gets spun out of Clojure 1.11 as a standalone Contrib library and I take over as maintainer of that, because I can use Expectations as a proving ground for improvements to core clojure.test
functionality.
I find the most difficult part is maintaining the documentation to keep it in sync with the code. We currently have a process where we first do the documentation of a new service, before starting to work on it. With a library it's different cause you need more documentation on how to use it. But my only library so far only had a couple of functions.
I usually follow this framework https://www.divio.com/blog/documentation/
Writing good docs is hard for me and I continue to learn. I go through many edits. Working from a position of empathy helps to motivate me and reminds me the work I am doing is important, at least in its own little way.
regarding code examples in docs, I find what really helps is to have those examples be references to real applications
so instead of the docs saying "here's some plaintext that should work" it says "here is a reference to some source code region that I am testing"
this requires tooling to extract regions of source code
but then when your examples break, you know your docs might break too
and it's kept in sync
outside of code examples I think @UE21H2HHDโs "position of empathy" approach is helpful... but I find it exhausting to always try to keep up that mental model of a hypothetical novice and how they'd react to the current docs draft
thinking of https://elm-lang.org/news/the-syntax-cliff makes it easier for me to keep it in perspective
a lot of users really will not get beyond the "documentation cliff"
@U053XQP4S that's a very useful resource, thanks! Any ideas on how that relates to code comments and how to deal with challenge of outdated docs?
the challenge of outdated docs is mostly a social one, like technical debt, the hardest part is to explain to your pointy-haired boss that it's time worth investing
If it's a huge problem, you can try and bind your documentation to functionality, so docs have to change with functionality.
Doctests, or outright deferring to tests for example usage & expected behaviour. IMO well-written tests are better documentation than documentation a lot of the time.
@U053XQP4S Hmm, interesting. I still not sure how to relate this to code comments. Using the terminology of the "framework" I tend to write "explanations", especially in top-level ns docstrings as well as reference docs and perhaps sometimes even the other types of docs. I'm wondering if that can make it harder to produce/consume.
@UPSUXBK17 Tests usually don't tell you why
@U06BE1L6T As I understand the terminology of the framework, docstrings should be used exclusively for reference documentation (which may include basic examples).
with respect to keeping docs and examples tested and in sync, @U07FP7QJ0 has done some interesting work on this for kaocha. He has some of his docs generated from his tests. For example, https://github.com/lambdaisland/kaocha/blob/master/test/features/filtering/focusing.feature generates https://github.com/lambdaisland/kaocha/blob/master/doc/filtering/focusing.md
Elixir also has something really cool in this space called "doctests". Basically you can embed little REPL session snippets in a docstring, and they will be run and checked like unit tests https://elixir-lang.org/getting-started/mix-otp/docs-tests-and-with.html
If I ever apply for another grant for Kaocha this might be one of the features I would add
what are these .feature
files?
it did look familiar
kaocha looks pretty nice, I wonder if I can make it work in shadow-cljs
there's an issue I can follow https://github.com/lambdaisland/kaocha-cljs/issues/2
that would be awesome! https://github.com/lambdaisland/kaocha-cljs/issues/2
yeah sorry ๐
I have a very simple pre-push git hook to prevent pushing if there's DBTODO in my code, here it is:
exec 1>&2
ag DBTODO
return_code=$?
exit $return_code
it seems to work, but it doesn't write the output of ag DBTODO
to the output, I can't figure out why
it is just me or is this response not in line with the clojure etiquette? https://www.reddit.com/r/Clojure/comments/e7zbit/small_configuration_management_tool_for_clojure/fa92k3v/ > Keep it short, Stick to the facts, Use logic, Avoid rhetorical devices, Superfluous or opinion-laden adjectives (cc @yogthos)
Flag it and message the mods (I am not a mod there)
I assume it's one of those lost in translation things, because 'daddy' is a pretty weird name for a config management tool
It reminds me of the implied wording example where "Daddy I've been bad" and "Father I have sinned" mean roughly the same thing but have very different connotations.
What is the implied wording example you mean? I didn't see anything in the README that reminded me of either of those phrases, but could have missed it.
Oh no the README is totally innocent. I meant the example I was about to state ("Daddy I've been bad" and "Father I have sinned" mean roughly the same thing but have very different connotations), which I had seen somewhere else before. But I've been told this is a bit on the edge of the Code of Conduct, so I'll veer off the topic for a long while ๐
Maybe this will prompt a new trend of slightly (yet somewhat inexplicably) uncomfortable library names.
such as Git
๐?
The first line of the README is "My father is a greate chef :)". Sounds like a library name from a person who they admire.
you mean this one right? https://www.chef.io/
The README I was referring to was for the library named 'daddy' that some people find cringe-worthy, which seems more likely to be based upon their mental associations of the word, rather than anything the library author intended.
i think @conor.p.farrell got it -- "lost in translation" -- the author of the tool is from a country where many english words are imported and it's not unusual for the connotations to end up different or not entirely maintained
The comment now deleted from reddit, that is
I didnโt see the comment on reddit. Iโm glad it was removed if it was rude or inflammatory
I don't recall it being any more rude than saying that the library name is a yikes -- I think borkdude thought it was irrelevant to the content of the library
i think it mentioned being "repulsed" and would not consider using such a thing because of the name
The person said that they find libraries named after food icky in one way or another. I get it, it sounds like a flavor of synaesthesia to me. I donโt know why it would be it would evoke negative feelings when used as a library name, and not for the actual food itself. Though Iโm sure itโs not a logical thing.
Is there some popular usage of the word "daddy" that I have perhaps missed in the last 10 years or so?
thereโs a heavy sexual connotation in english internet culture with the word โdaddyโ used out of context
Sounds like a sub-culture usage thingy. It wasn't the first perfectly innocent word to be so tarnished, and certainly not the last.
for reference, i grew up with both english and what i presume to be the tool author's native language
itโs a reference to a specific kink. I would definitely consider reference to and jokes about it a part of the modern American culture, but maybe thatโs just the twitter bubble I live in. Itโs pretty much a meme at this point
Such adding of connotations to names has been orchestrated by popular figures before, too (I do not suspect that happened to the word 'daddy'): https://en.wikipedia.org/wiki/Campaign_for_the_neologism_%22santorum%22
Eh, sorry, probably not a good thing to link to too early on a Monday morning. Sorry. Need more coffee.
geek, I hope ๐
connotations to words change over time, and we should try and be sensitive to the current meaning when choosing the names of our public projects
I donโt think the author of โdaddyโ is a bad person for choosing it, or should receive any ill will at all. I do think they should probably change the name if they want people to use it ๐
But yeah I guess the odd connotations not being known in other places is a fairly common thing. Even the same word meaning completely different things is surprisingly common. One of my favorite examples comes from Australia..
It seems appropriate to privately point out to the library author the current connotation of that name, and suggest they might want to change it.
i didn't suggest a change, but mentioned this discussion and passed on a link from english stackexchange
@U0CMVHBL2 @UG1C3AD5Z Thanks for your pointing! I didn't know that. Is there a term that mean "father" that can be shorted to about 3 letters and more appropriate?
may be it is good to ask outside this thread too. one idea is to look at a synonym site for some initial ideas and then ask for feedback. as an example of a synonym site, there is this: https://www.thesaurus.com/browse/father?s=t
@UG1C3AD5Z thanks!
like @UBCSS6NGK i also thought "papa" might work, but i don't trust my sense of what is appropriate (i didn't know about the situation with "daddy"). which is the main reason i suggest asking outside this thread :)
@liquidz.uo why not just "dad"?
I originally wrote something like that as well sogaiu, I keep trying to say it to figure out if it sounds weird and I can't tell ahahah
@U4YGF4NGM I am wrong in thinking that "dad" doesn't have this weird connotation?
I've been in this slack for five minutes and the bubble some people live in is disheartening and I hope not indicative of the clojure community. Every father of young children in the english speaking world hears daddy 100 times a day without getting the vapours. If porn culture is driving your english comprehension you might need to broaden your horizons a bit.
That must have been a strange introduction to the Clojure slack. I promise it's not like this every day (at least not based on what I'm used to) ๐.
Embrace the weird! Have a good laugh with languages because by the time you get used to it they've changed again ๐
on that note, always enjoy this guy's talks / writings: https://en.wikipedia.org/wiki/John_McWhorter
I really have no idea, but judging by the definitions of "dad" and "daddy" in the Urban Dictionary, "daddy" is the one with the heavy connotations. Compare these: https://www.urbandictionary.com/define.php?term=Dad https://www.urbandictionary.com/define.php?term=Daddy
Dad has a family connotation, Father has a priest/formal connotation, Daddy has a childish connotation but also the sexual one. At least as far as I know. I'm an American English speaker and spend too much time on the internet.
(perhaps a reminder that despite being "off-topic" this channel is still covered by the Clojurians Code of Conduct and this thread seems to be veering close to inappropriate...)
(the Australian ice cream image was certainly in violation so that has been removed)
@seancorfield Maybe you misunderstand, but I don't think so. We were sincerely discussing a cultural misunderstanding by someone who accidentally named his library after some word that in some cultures have a sexual connotation.
I understand very clearly. Just cautioning that these sorts of discussions have a tendency to go off the rails if folks get a bit "excited" about the topic... And I would have mentioned it hours ago if I hadn't been busy working...