Programming as a career

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

Depends what it is… but I’d rather have good tests which catch any failures in most cases I would say.

Chewshabadoo, Monday, 24 August 2020 16:26 (three years ago) link

iirc Go tries to push defensive programming as a default

iirc the main point of defensive programming is handle all the error conditions *first* then the code does what it’s supposed to

it’s smart imo, because happy path programming is terrible

solo scampito (mh), Monday, 24 August 2020 17:32 (three years ago) link

worst mess up we've had here recently, one that made the papers, was component C relying on previous component B for validation only to then add component A as an input path and component A didn't bother.

koogs, Monday, 24 August 2020 18:51 (three years ago) link

in short: trustno1

koogs, Monday, 24 August 2020 18:57 (three years ago) link

Innocuous irrational anger: typos in method/var names that don't get fix and propagate throughout the system wherever the thing is called - check_intant_update_user_permission

neith moon (ledge), Tuesday, 25 August 2020 10:31 (three years ago) link

intant_update_user_permission = False
...
return intant_update_user_permission

how can you even c+p all that without noticing?

neith moon (ledge), Tuesday, 25 August 2020 10:33 (three years ago) link

intant_karma.Said(“Knock You Out”)

Isinglass Ponys (James Redd and the Blecchs), Tuesday, 25 August 2020 10:57 (three years ago) link

hey my display name is relevant

assert (MatthewK), Tuesday, 25 August 2020 11:14 (three years ago) link

> don't get fix

you never fix

koogs, Tuesday, 25 August 2020 11:38 (three years ago) link

who is screaming FIX at my code. i will never fix.

neith moon (ledge), Tuesday, 25 August 2020 12:45 (three years ago) link

OMG we have a column in our DB called loyality_discount.

Ruth Bae Ginsburg (Leee), Tuesday, 25 August 2020 16:33 (three years ago) link

that’s right

solo scampito (mh), Tuesday, 25 August 2020 16:42 (three years ago) link

I think about this Reddit thread a lot pic.twitter.com/w2QxYJ2kx6

— Sy Brand (@TartanLlama) August 20, 2020

koogs, Thursday, 27 August 2020 11:03 (three years ago) link

when that thread was making the rounds I did a lot of mumbling “oh no”

solo scampito (mh), Thursday, 27 August 2020 13:23 (three years ago) link

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 (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


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