2,398 karma · joined October 1, 2010
Email: joe[at]{my username}[dot]com
http://joecortopassi.com
http://linkedin.com/in/joecortopassi
https://github.com/JoeCortopassi
https://twitter.com/JoeCortopassi
For Flask, follow this tutorial. It's the absolute simplest I've come across: https://cloud.google.com/run/docs/quickstarts/build-and-depl...
For React, follow this tutorial: https://docs.aws.amazon.com/AmazonS3/latest/userguide/Hostin...
But instead of the files it tells you to create, just use create-react-app, and run "npm run build". Then take the directory it creates (hint: it's named "build"), and drop all it's contents in your s3 bucket
EDIT: My example is bad, you could just `[...arguments]`
If you really haven't found a use case for call/apply/bind, or are confused by `this`, it's more likely that your focus has been on thin-client user facing applications for most of your career. These language features are invaluable for tool building, and are foundational to most of the tools you probably leverage to make thin-client user facing apps
NOTE: most developers work in thin-client user facing applications, that's not a dig or anything, it's just where 99% of the work exists
Some people add two exclamation points as a shorthand to cast a value to a boolean. So if you wanted to see if something was 'truthy', you could say `!!truthyValue` and it would return ` true` instead of the value itself. Literally what your asking the language is "give me the opposite boolean value of the opposite boolean value of `truthyValue`"
Now you can probably see why three exclamation points is silly, it's not giving you anything that a single exclamation point wouldn't give you. Both `!truthyValue` and `!!!truthyValue` evaluate to false, you are literally saying "give me the opposite boolean value of the opposite boolean value of the opposite boolean value of `truthyValue`"
The example in Go is intentionally misleading because Go lets you reassign the values for `true` and `false`. It's going through all the same steps I described above, but it's starting with a value opposite of what you think it is
People are calling this a win because the CFAA, as it used to be interpreted, would have had you potentially charged for changing the url of this post from 'https://news.ycombinator.com/item?id=27389500' to this 'https://news.ycombinator.com/item?id=waffles'. This allowed cops/feds to charge you with crazy high penalties if they really wanted to make you sweat, see Aaron Schwartz
Some of the most memorable SCOTUS cases had less than noble test cases (ever hear of Miranda rights? https://en.wikipedia.org/wiki/Miranda_v._Arizona). SCOTUS isn't deciding if the defendant is a dirt bag or not, just if the very specific law is valid/applied correctly
But pretending software development isn't a well paying career path, in general, is a statistically incorrect statement
How else do you get people to stick around on a sinking ship? You and I wouldn't stay out of some sense of altruism, why would they? Heck, tech companies have to vest stock options over 4 years because most people would take the money and run.
What does everyone think happens when everybody quits because there's no reason to work there? The money is just returned to investors? Even if that's all you did, you still need people who...
- know where the money is
- how to distribute it
- how to stay compliant with the law
- how to make sure oversight is in place so that people don't straight up embezzle
- keep outside players away that would try and take equity
Why on earth would someone stick around for such a sucky job, if the reward for doing well is getting laid off because the company tanked. Of course you need to pay people to stick around1. Triplebyte attempted a big move against LinkedIn, tried to ease the blow to users by dumping on a Friday before memorial day weekend
2. Triplebyte, the company built around helping people find jobs, truthfully didn't understand that people might have concerns about their current companies knowing they are job-hunting
It's pretty obvious it's #1, and that opt-out rather than opt-in was the only way it would gain the critical mass needed. The outcry hit critical mass and now they need to walk it back, until they have a different strategy for re-segmenting LinkedIn's market
Caveats: This usually only works if you're in the same country as the company (legal/tax complications). Also, while you might get SF salary you will almost never get SF stock comp, which is almost always worth as much as the salary
1. Communicate early and often.
You are so easily forgotten when remote, whether it’s on purpose or accident. Send lots of emails and slack messages throughout the day, even if they totally aren’t necessary. Most people’s thought of remote is “when I’m sick or lazy, I just say I’m working from home and take a day off”, by over-communicating you make them realize your situation is different
2. Set clear start and stop times.
When it’s your start time, sit down and open your laptop. When it’s your stop time, close your laptop and walk away. Every time. It’s too easy for work time to slowly bleed into life time, then you end up working 12 hour days with only 4 hours of output to show for it
3. Have a place to ‘focus’.
Everyone has different boundaries when it comes to normal work, but make sure you have an area that everyone understands you aren’t to be bothered unless the house is burning down. Doesn’t mean you don’t work where ever is comfy, just have a place you instinctually go that tells yourself and others “stuff just got real, I have to be heads down for a bit”
It's well worth spending an afternoon just going through some of the stuff presented there
My two favorites: https://ncase.me/crowds/ https://ncase.me/trust/
Edit: Obligatory “why are you booing me, I’m right?”
This is political grand-standing at best, and would be a non-issue if you replaced the geographic location of the dev team with any other countries
I get it, Russia is the Big-Bad-Boogeyman right now. But if you think for a second that a real attempt at counterintelligence would publicly come from such an obvious point of interest, than I have a bridge to sell you
If all that stops you from trying a new tool is some crazy guy's ramblings on the internet, you probably weren't going to be effective with that tool anyway
I've seen it said that "redux is just money laundering for global variables". Can't say that I disagree
As a former iOS engineer, I for one really enjoy React Native. But I feel like it's focus is trying to maintain/supersede native development, where it's time and attention would be better served focusing on the efficiency of average developers on average tasks
- minimal functionality
- rarely if ever changes
- is maintained by a very small group (Hacker News)
...then something like the example linked is perfect. Most web app developers don't live in this world. The more common situation is: - large and/or transient teams
- large quantity of inter-dependent features
- constant changes
...which means that the thing you need to optimize for isn't pretty/fast code. It's clarity and resiliency in the code. Can a junior and senior dev both work on the same code base? Can someone new to the project be effective with minimal ramp up time? Can you work on a feature without accidentally stepping on another persons current task?Modern web apps are less about being performant and minimal, and more about dealing with the complexities of large software teams