I'm sure if I took the time to read them all, they'd all be very different as everyone has their own opinions on "things every programmer should know".
IMO what every programmer should know is how to do their job :)
> Storing passwords unhashed may 'get the job done', but every programmer should know better.
Not every programmer has to deal with passwords, though, so the generality is it is limited.
A programmer who has spent his whole career writing computational fluid dynamics simulations doesn’t need to know anything about storing passwords, but probably would have an equally idiosyncratic idea of what all programmers should know.
I would argue that storing passwords insecurely is not "getting the job done". Following minimum industry standards can be considered a requirement of knowing how to do your job.
I reckon there must be a few universal truths in programming. Things like "Write testable code" and "Document why your code works." spring to mind immediately but I bet there's more.
> Things like "Write testable code" and "Document why your code works."
There are many successful companies that didn't do either of those things in their codebase.
Whether or not you consider the people who wrote it good programmers is I suppose up for debate, but objectively, they created code that achieved the stated business purpose.
My point being, I don't think there are any universal truths.
> IMO what every programmer should know is how to do their job :)
In truth, though, we don't. And not "oh, a few good ones do, but the masses we pity and mock don't". All of us. The only difference is if we acknowledge it. We're trying (and that's why articles like this are so common!), and arguably we as an industry are making progress, but we don't yet have it figured out.
I'd like to know what I should know but unfortunately Cloudflare thinks they have to task me with a captcha I can't even fill out on every HTTP resource this page loads.
Edit I know it's frowned upon to ask but why the downvotes? I'm not making this up and I don't see what's wrong with my statement.
Unfortunately, while Privacy Pass on paper may be privacy protecting (though there is very little research into the topic due to it's relative lack of use), just by installing and using it with Tor you have reduced your effective privacy (because it's not installed in the Tor Browser by default).
And the Tor folks aren't willing to include it by default for a variety of reasons (disagreeing with CloudFlare restricting visitor's ability to read pages in the first place, lack of conclusive research into how it will impact the fingerprinting of Tor users, and just general bad blood between the Tor and CloudFlare folks).
Obviously, folks can do whatever they want but I wouldn't recommend using Privacy Pass over Tor for the above reasons.
The main thing that breaks the web is js blocking, or cookie blocking. For those who are downvoting this poster, I snipped this from the documentation:
> Out of the box, uMatrix works in relax block-all/allow-exceptionally mode, meaning web sites which require 3rd-party scripts are likely to be "broken".
Whitelist *-dsn.algolia.net, whitelist Cloudfront, blacklist telemetry.algolia.com, then you're all set. Nothing else is needed for the site's functionality, despite it wanting to load resources from like seven different subdomains, CDNs, and (I think) four different telemetry domains and subdomains.
40 comments
[ 3.1 ms ] story [ 112 ms ] threadIMO what every programmer should know is how to do their job :)
That's either a non-answer, or it's setting the bar awfully low.
Storing passwords unhashed may 'get the job done', but every programmer should know better.
Not every programmer has to deal with passwords, though, so the generality is it is limited.
A programmer who has spent his whole career writing computational fluid dynamics simulations doesn’t need to know anything about storing passwords, but probably would have an equally idiosyncratic idea of what all programmers should know.
There are many successful companies that didn't do either of those things in their codebase.
Whether or not you consider the people who wrote it good programmers is I suppose up for debate, but objectively, they created code that achieved the stated business purpose.
My point being, I don't think there are any universal truths.
Commercial success is a very poor measure of code quality.
In truth, though, we don't. And not "oh, a few good ones do, but the masses we pity and mock don't". All of us. The only difference is if we acknowledge it. We're trying (and that's why articles like this are so common!), and arguably we as an industry are making progress, but we don't yet have it figured out.
https://xkcd.com/2030/
Edit I know it's frowned upon to ask but why the downvotes? I'm not making this up and I don't see what's wrong with my statement.
And the Tor folks aren't willing to include it by default for a variety of reasons (disagreeing with CloudFlare restricting visitor's ability to read pages in the first place, lack of conclusive research into how it will impact the fingerprinting of Tor users, and just general bad blood between the Tor and CloudFlare folks).
Obviously, folks can do whatever they want but I wouldn't recommend using Privacy Pass over Tor for the above reasons.
It does work after I turn cookies on for the page but that's not something I wanna do for every website I visit (that sits behind Cloudflare).
I understand that there's a limit as to where websites can reasonably be expected to work and I'm not sure if my case is crossing it.
> Out of the box, uMatrix works in relax block-all/allow-exceptionally mode, meaning web sites which require 3rd-party scripts are likely to be "broken".
1. GOTO
2. jQuery fade effects
3. graph theory
get those three and you're GTG
Meh, the cool kids prefer COMEFROM[1].
[1]: https://en.wikipedia.org/wiki/COMEFROM
https://en.wikipedia.org/wiki/Call-with-current-continuation
2- This is a career where you will always learning something new.
3-Impostor syndrome is a real thing.
2. After a couple of months, get a good book on it and read it cover to cover. Make a list of useful things
3. Keep using the stuff, apply the list
4. After another few months, go through all the reference docs, make a new list of useful things
5. In rare cases, continue this process by reading all of the source code
Repeat for all other stuffs until end of career.