It's the same story with Express as a web server framework for Node.
I've always felt that the biggest problem with the Javascript ecosystem is that it's entirely too preoccupied with syntax. Remember CoffeeScript!? Some of the most influential forces in the community can waste entire years bikeshedding some syntactic thing that is mostly a matter of personal aesthetics. And this trickles down to the grunts trying to ship a product.
It's a fundamental drawback to Javascripts other strengths. And that's the reason it's so easy to find Express apps that are hot garbage. It's one of the most enduring myths that If you know Javascript, you can write a Node app.
It only works because software has been such an economically productive force, that having thousands of professionals spending weeks deciding whether semicolons are good or bad, or fighting their webpack configs, or migrating for loops to array methods... whatever... it still makes money at the end of the day.
For a very informal tour, The Three Body Problem by Cixin Liu is a science fiction novel where the history of mathematics, physics, and computation play a large role. So much so that I think it puts many people off the book and its entire trilogy.
I work on a similar team, with a mix of people who want to use functional styles and those who want something more imperative.
I lean toward the pro-functional style, but I also put a few strong constraints on when to use reduce. Namely, I would almost never use it in cases where I either want to (a) mutate something other than the accumulator or (b) include more than two branches of control flow in the reducer function.
This kind of goes for all the functional array methods. Many people are tempted to use them simply as alternate syntax for iterating through the array (i.e., a simple loop), where the loop body could contain several statements -- i.e., data mutation side effects, taking different execution paths based on certain conditions, etc. The functional style is way less clear in this sort of code.
The benefit of the functional style in the context of javascript array methods is when you can see at a glance what the shape of the resulting value is with respect to that of the source array. This is usually best done when the body of the reducer/mapper/filterer is a single expression.
Thanks. Ok, so is he creating strawmen everywhere, then? I know people working in government, biotech, climate research, and none of them seem to think that the normal distribution is the only model out there, or that the mean is a very meaningful (no pun intended) statistic.
Can somebody please ELI5 his whole phenomenon? I don't really understand who are the targets (other than Nate Silver) of all his polemic. From my limited exposure, he's basically making age-old conservative points, arguing that the Enlightenment ideal of human knowledge has strong (but unidentified) limits.
Why is he so popular? And how did he get so rich on Wall Street if he just thinks randomness blows all the statistical experts out of the water? I know I'm missing something.
I have had to push for leveraging postgres for data validation (including typing columns with enums where applicable), and sometimes it's hard to convince people, but all you have to do is (a) poke around your existing data and find cases where you have junk because of some out-of-band process that created data without using your main app's validation, and (b) do a couple out-of-band things like an ETL or two and see how it saves you from creating junk.
I don't know where I picked this adage up, but it's also something I constantly think about:
Your data will outlive your application code.
IME, if you value the data's integrity, it's not really a question whether you should be pushing validations down to the db layer.
Totally fine, so long as you know that makes you an "advanced user".
I can't imagine you'll find a sane place to work where senior people are only capable of learning something after consuming a tutorial or a manual. The nature of the work is to drill down one layer below what you're working on. Do you need to know how to smelt steel in order to be a good car mechanic? No, of course not, but it sure helps to have taken an engine apart. And if you're trying to build the next, better engine, it's really great to see the internals (and the commented motivations!) of previous implementations.
I'm always surprised that reading source code is such a rare occurrence or suggestion in this world. If you consider yourself even in the vicinity of "advanced", I think you're capable of learning great stuff by looking at anything on github. Something big, but well organized. Lo-dash, Node, Mocha, etc.
Of course you won't understand everything on first read. But you will learn really good things if you know how to look at something confusing and identify what it is you don't understand; then you can go find didactic materials to fill in the gaps.
This is an amazing way to learn. You get to see how some of the most used, or cutting-edge tools are implemented (for free!). You learn about the tools themselves and thus gain expertise in them. And, you gain the meta-skill of working in unfamiliar territory, which I think is a fundamental key to being considered "advanced".
Very similar story here. We got married a month ago. We did everything ourselves (plus friends & family), and we started too late.
We started using Asana so that we could stop having nervous breakdowns every week. It worked. Now we use it for stuff like coordinating anything that doesn't fit on a notecard. Shopping lists generally are just on a kitchen whiteboard and you take a pic before you leave.
Any chance your school makes its exercises available? I've been trying to go through CS:APP myself, but the exercises aren't included and I believe I'd need a .edu email address to get them.
Hey there — AT is a well-known brand (surprised to hear you support it well with such a small team!) so I imagine HR will get a lot of applications. Would you be open to me sending you a couple questions directly via email?
Hey there — the careers page doesn't have any indications which (or any) positions are remote friendly. Do you know which of the engineering positions could be filled by US-based remote people?
I've always felt that the biggest problem with the Javascript ecosystem is that it's entirely too preoccupied with syntax. Remember CoffeeScript!? Some of the most influential forces in the community can waste entire years bikeshedding some syntactic thing that is mostly a matter of personal aesthetics. And this trickles down to the grunts trying to ship a product.
It's a fundamental drawback to Javascripts other strengths. And that's the reason it's so easy to find Express apps that are hot garbage. It's one of the most enduring myths that If you know Javascript, you can write a Node app.
It only works because software has been such an economically productive force, that having thousands of professionals spending weeks deciding whether semicolons are good or bad, or fighting their webpack configs, or migrating for loops to array methods... whatever... it still makes money at the end of the day.