I do appreciate the literal nature of “I want to do c++” and literally going to cplusplus.com though
― mh, Monday, 22 March 2021 04:30 (three years ago) link
i definitely sympathize. man pages and documentation have always been written for those who already have a general understanding of programming terminology and fundamentals.
that aside, just from a writing point of view, documentation has also always been kind of terrible, but that's because it's difficult to draw the line when you need to explain all the concepts referenced. it's easier to pass this job over to the reader, so the reader/learner ends up having to google all the parts of the explanation that don't make sense in order to fill in the knowledge gaps.
having said that, i will say it actually does get easier, thankfully.
the c programming language book is still a pretty terrible book to use in an intro to c course (one of my first introductions to programming, regrettably so)
― Punster McPunisher, Monday, 22 March 2021 05:21 (three years ago) link
the best documentation i've seen recently (like in the past year or two) is microsoft's typescript stuff https://www.typescriptlang.org/docs/ (i guess it's easy when you have a large FT staff writing docs), but honorable mention to https://fastapi.tiangolo.com/ which went off on tangents explaining background topics exactly when i personally had gaps in my knowledge (others may find it too discursive).
― 𝔠𝔞𝔢𝔨 (caek), Monday, 22 March 2021 06:08 (three years ago) link
typescript is doing js a lot of good, imo
― Punster McPunisher, Monday, 22 March 2021 21:27 (three years ago) link
I recently realized that whenever I’m learning to use a language, software, or package and the docs or tutorials say “use <feature X> with care”, what they really mean is “never under any circumstances use this feature. It stinks.”
― Dan I., Sunday, 4 April 2021 08:33 (two years ago) link
or “when you run into the edge case that really only works with <feature X> you’re not going to have a lot of fun”
― mh, Monday, 5 April 2021 14:16 (two years ago) link
Classic or dud, people who check for all kinds of edge cases except for the one that actually arises in practice
― It Is Dangerous to Meme Inside (James Redd and the Blecchs), Tuesday, 6 April 2021 17:11 (two years ago) link
breaking stuff is fun
― brimstead, Tuesday, 6 April 2021 18:51 (two years ago) link
I read that book and afterwards felt that I understood C, but had no idea how to program anything in it.
― Being cheap is expensive (snoball), Tuesday, 6 April 2021 19:22 (two years ago) link
what's the point in an expensive ticketing system if you're just going to ask poeple to do stuff or review stuff or give the nod for stuff on a slack channel? or, even worse, in zoom comments window (which disappears when the call ends)
also, json, all very well but if you're using it for config and one entry is a list of ip addresses with no context, that's not great. at least with xml you can add comments.
― koogs, Wednesday, 21 April 2021 12:37 (two years ago) link
I’ve failed to do the jerk thing lately and respond to any request with a link to the relevant ticketing/help desk site
it’s a good habit but unnnngh sometimes it’s easy to just do the thing
― mh, Wednesday, 21 April 2021 14:12 (two years ago) link
arguably shouldn't the associated property name give you context for what those IP addresses are?
― 80's hair metal , and good praise music ! (DJP), Wednesday, 21 April 2021 14:14 (two years ago) link
JSON for human-readable config files is bad and hated
― Canon in Deez (silby), Wednesday, 21 April 2021 14:23 (two years ago) link
I pasted two (2) direct emails this week into new tickets for people. Unfortunately I then immediately worked on one of them, like an idiot.
― Canon in Deez (silby), Wednesday, 21 April 2021 14:24 (two years ago) link
> arguably shouldn't the associated property name give you context for what those IP addresses are?
ipwhitelist01, ipwhitelist02...
― koogs, Wednesday, 21 April 2021 16:00 (two years ago) link
okay lol, I give up
― 80's hair metal , and good praise music ! (DJP), Wednesday, 21 April 2021 16:01 (two years ago) link
i complained about exactly that, and wrote the 5 lines of code that used a list of suffixes rather than a counter for the property names. but no...
― koogs, Wednesday, 21 April 2021 16:02 (two years ago) link
https://nigeltao.github.io/blog/2021/json-with-commas-comments.html is good
― 𝔠𝔞𝔢𝔨 (caek), Wednesday, 21 April 2021 19:54 (two years ago) link
what's the point of writing tickets if they contain 1 useful bit of information, and 5 bits of misinformation?
channel_05 to 08 is actually channel_01 to 04
"pTO value should be adjusted appropriately." yeah, thanks for that.
the example file i'm to base everything on is for some test system that bears no relation to the target (actually, either of the two different targets, which is a pain in itself)
oh, and it needs doing for the end of the week.
― koogs, Thursday, 13 May 2021 16:56 (two years ago) link
is that a knock on qa?
i had an uncomfortable interaction once with someone because they thought that if you "keep it simple, it will be simple"
i told them i had one simple request for them to do on their tickets. the information they provided wasn't completely wrong, but half of it was based on a misunderstanding of how the code worked on the backend
― Punster McPunisher, Thursday, 13 May 2021 17:22 (two years ago) link
was a task ticket. config needed generating and deploying so that things can flow through the system but, y'know, if the inputs i'm given are wrong AND the outputs i'm given are wrong then it's going to be all the harder.
(usually this configuration is 600 urls spread over 80 files. and there are ~30 sets of this. (i spent a bunch of time sorting out templates and scripts to generate this, which made helped) but these need a different (much smaller, thankfully) set of templates)
― koogs, Thursday, 13 May 2021 17:56 (two years ago) link
oh that sounds brutal. nothing like wasting time doing so much work for nothing
― Punster McPunisher, Thursday, 13 May 2021 17:58 (two years ago) link
you know you're in trouble when the reference documents look like this
https://dashif.org/docs/DASH-IF-IOP-v4.2-clean.htm
― koogs, Thursday, 13 May 2021 18:20 (two years ago) link
wow. good luck, man. a related gripe i have about doing things that take a while is that the next person/middle management comes in and says how simple the solution was, because they're hardly aware of all the work it took to get there. everything seems simpler in retrospect.
― Punster McPunisher, Thursday, 13 May 2021 23:58 (two years ago) link
tickets for system experts should be outcomes and not specific values imo
the problem is no one writing or (not in your case) reading tickets is an expert so it’s a shitshow
― mh, Friday, 14 May 2021 01:42 (two years ago) link
LOL! we had a vendor come back to us today saying "the file you generated has a lowercase 'y' but it should be uppercase" ..and i flashed back to the discussion i had with my developers a month ago about how bizarre it was that it would be 'y' and 'N' but the docs clearly show a lowercase 'y'...
― diamonddave85 (diamonddave85), Friday, 14 May 2021 04:29 (two years ago) link
and then you're here* until 9:15 making sure all your ducks are in a row and the next morning the ducks prior to your ducks are nowhere to be seen, not a quack.
until, about 6:30 tonight when they'll start squawking, probably.
(* here being just sat on the sofa so no real hardship. and i did take an hour out to eat something and watch grand designs australia)
> the next person/middle management comes in and says how simple the solution was,
yeah, this. sometimes a ticket is only a 3 word change, but working out what those 3 words were, ruling out all the other words, and where they need to go can take a week. i do wonder how we managed before the internet.
― koogs, Friday, 14 May 2021 12:27 (two years ago) link
career: team lead pushing to get us all promotions. but that entails writing 300 words each on things like "Flexibility" and "Influencing" and demonstrating same and that writing seems so far away from what i actually do, and i'm so terrible at it, that i really can't be bothered.
― koogs, Tuesday, 18 May 2021 11:47 (two years ago) link
Buckle up and do it, it’s not like you’ll be held accountable to it, or pay someone to do it
― Clara Lemlich stan account (silby), Tuesday, 18 May 2021 15:07 (two years ago) link
18 months we've been doing this project (originally scheduled for 6 months, but hey...). yesterday something happened which broke everything (in the TEST environment) and we've no idea what is was or how to fix it. things are arriving at the first component and instead of being saved to s3 and passed onto the second component they are just stopping. no logging of errors. nothing.
also quite poor that it took 24 hours for us to notice it had broken.
― koogs, Friday, 30 July 2021 12:54 (two years ago) link
^ someone updated the db to be Khaki with a capital K and our code is case sensitive. the input urls had khaki with a small k and didn't match.
― koogs, Friday, 30 July 2021 13:42 (two years ago) link
that is so classic <3
― davey, Friday, 30 July 2021 14:08 (two years ago) link
we'd still be looking for the problem if it was a trailing space, say
(which is why to this day every time i log something i put square brackets around it)
― koogs, Friday, 30 July 2021 14:11 (two years ago) link
one tiny button, 42 live aws instances redeployed... always a nervous time
― koogs, Wednesday, 18 August 2021 09:57 (two years ago) link
go on holiday for a week (i say holiday but it was the same sofa, different laptop) and they rewrite all your code...
worst is this. i think i saw it first in perl but this is ruby, moving the condition after the action... my eyes see the call to error, and don't see the condition because who puts the condition on the end?
// Object must not have a thingerror("Something is wrong with {object}") unless thing.nil?
(also in real life the message is longer so the condition is much further over to the right)
(it used to say
// Object must not have a thingif ! thing.nil? error("Something is wrong with {object}")end
rubocop prefers the former for conditions with single lines. i think rubocop is mostly bad and the way we do whatever it says even if it's patently worse annoys me.
happy programmers' day btw, 256th day of the year...
― koogs, Monday, 13 September 2021 11:55 (two years ago) link
(Gah! code mangled because bbcode complained like 6 times in a row. doesn't seem to like hashes or single quotes or something)
ha. that is weird. but i've never used ruby.
since it's programmer's day, i guess it's only good and proper that i make publicly aware my biggest pet peeve: not just lack of documentation but wrong documentation!
i'm going over this c# codebase and it's lightly sprinkled with comments here and there and some of it references outdated or blocks of code found elsewhere, lol
happy programmers' day!
― Punster McPunisher, Monday, 13 September 2021 16:03 (two years ago) link
I've been doing Ruby for 5-6 years now and the modifier syntax is actually pretty easy for me to read at this point.
Also, Rubocop hates this syntax:
if !...
― Carte Blanchett (Leee), Monday, 13 September 2021 17:58 (two years ago) link
tbh, i kinda hate that syntax, it's very easy to overlook the ! especially if there's no space following
post-conditions make more sense if the action is the default rather than the exception
do_something() unless it_is_the_weekend
i might have mentioned this before but in a previous job someone wrapped virtually every line of code in a method called log_error()
log_error(perfectly_good_call());log_error(no_problems_here());log_error(this_works_fine());
it would only log if the call returned an error but it confused the hell out of me.
― koogs, Monday, 13 September 2021 19:35 (two years ago) link
this is one of the things i like about (python) decorators. they make that kind of wrapping more easily ignored by everyone else.
― 𝔠𝔞𝔢𝔨 (caek), Monday, 13 September 2021 19:57 (two years ago) link
it's a weird thing to have baked into your linter, but i guess whatever is making ruby simpler must butt heads with testing for false, as it can be counterintuitive?
― Punster McPunisher, Monday, 13 September 2021 22:05 (two years ago) link
Well I think that there are two reasons:
1. Sometimes people will write this:
if !...elseend
2. Ruby has unless (which I personally hate), and the out-of-the-box linter favors using it to
if !
― Carte Blanchett (Leee), Monday, 13 September 2021 22:31 (two years ago) link
https://www.youtube.com/watch?v=rge17TciHfU
― Exploding Plastic Bertrand (James Redd and the Blecchs), Tuesday, 16 November 2021 02:55 (two years ago) link
my friend sent me a screenshot of some code he had to pick up for maintenance at work and the first line was String number;off to a good start
― mh, Tuesday, 16 November 2021 14:32 (two years ago) link
I actually spend a lot of my time working on a system that was built from the ground up in Java by someone who must've been entirely self-taught, because the formatting and code style she used was unlike anything I've seen. She did wind up making her own int, String, and boolean objects and I feel like I have to answer once a week "what is an EsInt?"
― frogbs, Tuesday, 16 November 2021 14:40 (two years ago) link
xp
haha, at least it wasn't String n;
― Chicks and Ducks and Geese better scurry (Ste), Tuesday, 16 November 2021 15:17 (two years ago) link
oh cos it's a string. this is why i'm not a programmer too.
― Chicks and Ducks and Geese better scurry (Ste), Tuesday, 16 November 2021 15:18 (two years ago) link
there are a million reasons why you’d put something numeric in a string but don’t name it number ffs
― mh, Tuesday, 16 November 2021 15:31 (two years ago) link
I enjoyed this
https://www.youtube.com/watch?v=baY3SaIhfl0
― talkin' about his flat tire (DJP), Tuesday, 16 November 2021 21:18 (two years ago) link
The QA tester is doing a great job of QA testing there!
― more difficult than I look (Aimless), Tuesday, 16 November 2021 21:22 (two years ago) link