Programming as a career

Message Bookmarked
Bookmark Removed
Not all messages are displayed: show all messages (806 of them)

i've only seen that one comment but a) wow at the inventiveness of people and b) fuck the inventiveness of people

you can use unicode letters (not punctuation) in java for variable names and i can see delta being useful for all the animations i write but fuck learning how to type it.

also, i think java 9 stopped the use of a single _ as a variable name, but two or more is fine.

koogs, Thursday, 27 August 2020 13:41 (three years ago) link

two months pass...

the comments thing has come to a head again after they refused to approve a pull request because of comments and *whitespace* in a component test! apparently the blank lines made him think it was a new Scenario even given the indentation.

so now we have a team meeting about it, but it'll be the usual steam-rollering, the alpha programmer forcing his views on everybody by dint of talking the most.

koogs, Tuesday, 10 November 2020 12:58 (three years ago) link

*sigh*

An Andalusian Do-rag (James Redd and the Blecchs), Tuesday, 10 November 2020 13:56 (three years ago) link

hopefully sanity prevailed. at least pretty much everybody thought that not approving changes because of comments was unreasonable.

koogs, Tuesday, 10 November 2020 15:16 (three years ago) link

That's a good sign!

DJP, Tuesday, 10 November 2020 15:18 (three years ago) link

I hope I never again have to work anywhere that doesn’t have strict autoformatting procedures in place.

Chewshabadoo, Tuesday, 10 November 2020 15:54 (three years ago) link

even though i have very strong formatting preferences, i've found the best way to deal with the issue is to use an opinionated, non-configurable formatter as part of the build process. that way, everyone dislikes the formatting equally

diamonddave85​​ (diamonddave85), Tuesday, 10 November 2020 17:19 (three years ago) link

We have flake8 for our Python stuff but not black, autoformatting would make me cwazy

The Bosom Manor Michaelmas Special (silby), Tuesday, 10 November 2020 17:25 (three years ago) link

my preferences > autoformatters > everyone else's preferences

𝔠𝔞𝔢𝔨 (caek), Tuesday, 10 November 2020 17:25 (three years ago) link

i absolutely loathe black, but it's still better than the alternative on a shared repo, so i've learned to live with it.

𝔠𝔞𝔢𝔨 (caek), Tuesday, 10 November 2020 17:26 (three years ago) link

is there a thread for just like general CS news and stuff? this seems pretty cool:

https://www.quantamagazine.org/computer-scientists-achieve-crown-jewel-of-cryptography-20201110/

brimstead, Tuesday, 10 November 2020 19:41 (three years ago) link

my preferences > autoformatters > everyone else's preferences

^truth bomb

An Andalusian Do-rag (James Redd and the Blecchs), Tuesday, 10 November 2020 20:51 (three years ago) link

cool link, brimstead!

DJI, Tuesday, 10 November 2020 21:08 (three years ago) link

Haha, yep, in our front-end JavaScript codebase Prettier is a godsend for being almost totally unconfigurable.

Chewshabadoo, Wednesday, 11 November 2020 11:53 (three years ago) link

four months pass...

generate 84 files
commit to github
upload to server

repeat 40 times, changing one word each time.

(i have replaced step one with a sed script rather than manually editing the files but still...)

koogs, Thursday, 11 March 2021 20:22 (three years ago) link

Why is programming language documentation so terrible? I mean, look at this shit:

https://www.cplusplus.com/reference/functional/function/

std::function

Class that can wrap any kind of callable element (such as functions and function objects) into a copyable object, and whose type depends solely on its call signature (and not on the callable element type itself). An object of a function class instantiation can wrap any of the following kinds of callable objects: a function, a function pointer, a pointer to member, or any kind of function object (i.e., an object whose class defines operator(), including closures). A decay copy of the wrapped callable object is stored internally by the object, which becomes the function's target. The specific type of this target callable object is not needed in order to instantiate the function wrapper class; only its call signature. The function object can be copied and moved around, and can be used to directly invoke the callable object with the specified call signature (see member operator()). function objects can also be in a state with no target callable object. In this case they are known as empty functions, and calling them throws a bad_function_call exception.

Not only is this incredibly complex for the novice reader to understand, but you will notice at no point in the entire article does it mention why you would ever want to use this or what problem does it solve.

Mr. Snrub, Sunday, 21 March 2021 21:49 (three years ago) link

I’m not going to defend that as a model of clear technical writing but that’s an api reference not a tutorial document.

𝔠𝔞𝔢𝔨 (caek), Sunday, 21 March 2021 21:56 (three years ago) link

not that this is in any way more clear, but cppreference.com is the site you want for non-spammy c++ documentation: https://en.cppreference.com/w/cpp/utility/functional/function

diamonddave85​​ (diamonddave85), Sunday, 21 March 2021 23:03 (three years ago) link

I do like the “Run this code” functionality so you can try it out yourself.

Mr. Snrub, Sunday, 21 March 2021 23:35 (three years ago) link

Novices should probably not be learning C++

o. nate, Sunday, 21 March 2021 23:40 (three years ago) link

I think c++ is probably not the reference point for this moment in programming education but as caek said, it’s the reference guide and not a learning one

pretty sure there are a few learning documents, books, guides, etc for this language but who can be sure

mh, Monday, 22 March 2021 04:29 (three years ago) link

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 (three 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 (three 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 (three years ago) link

breaking stuff is fun

brimstead, Tuesday, 6 April 2021 18:51 (three years ago) link

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)

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 (three years ago) link

two weeks pass...

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 (three 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 (three 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 (three years ago) link

JSON for human-readable config files is bad and hated

Canon in Deez (silby), Wednesday, 21 April 2021 14:23 (three 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 (three 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 (three years ago) link

okay lol, I give up

80's hair metal , and good praise music ! (DJP), Wednesday, 21 April 2021 16:01 (three 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 (three years ago) link

https://nigeltao.github.io/blog/2021/json-with-commas-comments.html is good

𝔠𝔞𝔢𝔨 (caek), Wednesday, 21 April 2021 19:54 (three years ago) link

three weeks pass...

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

https://dashif.org/docs/DASH-IF-IOP-v4.2-clean.htm

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


You must be logged in to post. Please either login here, or if you are not registered, you may register here.