HNHacker News
TopNewBestAskShowJobs

JoeCortopassi

2,398 karma · joined October 1, 2010

Joe Cortopassi

Email: joe[at]{my username}[dot]com

http://joecortopassi.com

http://linkedin.com/in/joecortopassi

https://github.com/JoeCortopassi

https://twitter.com/JoeCortopassi

submissionscomments
JoeCortopassi··on Hydrogen production from the air
For anyone more curious about this: https://www.feynmanlectures.caltech.edu/II_09.html
JoeCortopassi··on Ask HN: How to develop React+Flask locally in a way that can easily be deployed?
It can be really simple on the cloud. Everything I'm describing might even fit on both platforms free tier

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

JoeCortopassi··on Ask HN: Favorite product that got shut down?
One of the more under-rated features, was that it could turn any site into an RSS feed. So if you had a niche site you enjoyed, but didn't have an rss feed, you could still plug it into Reader and get any new articles as if it had a built in rss feed
JoeCortopassi··on How JavaScript Works: deep dive into call, apply, and bind
`Array.prototype.slice.call(arguments)` is a good example. In fact, I'm struggling to think why you would replace anything other than bind with an arrow function

EDIT: My example is bad, you could just `[...arguments]`

JoeCortopassi··on How JavaScript Works: deep dive into call, apply, and bind
Every language has parts that are harder to understand because they unlock the deep magic.

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

JoeCortopassi··on JavaScript Is Weird
`!` is added to values in most languages as a shorthand for saying "give me the opposite boolean value of this. So `!true` would equal `false`

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

JoeCortopassi··on Van Buren is a victory against overbroad interpretations of the CFAA
In your example, the information you sell would still be illegal, it just wouldn't have the added crime of hacking aka "unauthorized access" attached to it.

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

JoeCortopassi··on Remote Code Execution in Slack desktop apps
So many comments to this saying it's possible to be broke as a software developer. No one is arguing that. There are tons of people in every career path that don't make much due to a variety of reasons.

But pretending software development isn't a well paying career path, in general, is a statistically incorrect statement

JoeCortopassi··on On eve of bankruptcy, US firms shower executives with bonuses
Of course they do.

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 around
JoeCortopassi··on Tell HN: Triplebyte reverses, emails apology
One of two things happened:

1. 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

JoeCortopassi··on Ask HN: Are there any remote companies that pays SF rates worldwide remote?
If you want a well paying remote job, you need to avoid companies that advertise remote work. 99% of the time they are trying to capture great talent for less money. Instead just apply to well paying places, and prove you are a worthwhile asset. Even companies that swear they are non-remote will usually make an exception

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

JoeCortopassi··on Remote Work Report
Great explanation of a bad practice. A company should pay for the value they get, which is independent of the location. These calculations never seem to take into effect all the cost savings of having a remote person (office building/parking/food/working space/etc). Instead, they almost always mark the employee as a second tier of worker
JoeCortopassi··on Ask HN: My company is forcing remote work. How to be effective?
Been remote 7 years, here's something I wrote about it recently: https://joecortopassi.com/articles/rules-for-remote-work/

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”

JoeCortopassi··on Fireflies (2017)
As cool as this is, and it is, this is probably the least interesting thing on the https://ncase.me website.

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/

JoeCortopassi··on Ask HN: What did you build in 2019?
In a similar vein, try this: https://news.ycombinator.com/edit?id=21918450
JoeCortopassi··on The FBI considers FaceApp to be a potential counterintelligence threat [pdf]
A picture, that has no good associated data about the user, is a real threat? Heaven forbid Russia figures out how to take pictures in public places
JoeCortopassi··on The FBI considers FaceApp to be a potential counterintelligence threat [pdf]
Just to be clear, you’re saying that FaceApp has a yet unfound component that lets them remotely jailbreak an otherwise un-jailbroken Phone via a published AppStore app? and that they’ve done this in the open on one of the most politically criticized apps short of Facebook?
JoeCortopassi··on The FBI considers FaceApp to be a potential counterintelligence threat [pdf]
Yes, I am sure that's all it can grab (on the iphone). Anyone telling you otherwise is fear-mongering

Edit: Obligatory “why are you booing me, I’m right?”

JoeCortopassi··on The FBI considers FaceApp to be a potential counterintelligence threat [pdf]
There is no threat model for an iPhone app to do nefarious things in an App Store distributed app on a non-jailbroken phone. At most, FaceApp grabs the picture you uploaded and some minor meta-data that every app using an analytics tool (read: all of them) collects.

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

JoeCortopassi··on Unpopular Opinions about Tech
So many reasons I don't like this, but you raise a fair point
JoeCortopassi··on Unpopular Opinions about Tech
The beauty of a truly unpopular opinion is when it strikes a chord with the audience. Well done
JoeCortopassi··on Unpopular Opinions about Tech
Redux is simple in concept, but surprisingly confusing for a lot of people. My strong belief is that the Facebook/React team came up with hooks as a more gentle approach to state management so that Redux wasn't the high barrier to entry for React apps
JoeCortopassi··on Unpopular Opinions about Tech
so, like, 99% of what people are using them for?
JoeCortopassi··on Unpopular Opinions about Tech
well yeah, that's why they are called "unpopular opinions" and not "unpopular facts"

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

JoeCortopassi··on Unpopular Opinions about Tech
Quite the contrary, I rarely if ever use redux now that hooks are out. I think I was more highlighting Facebook's intent when creating them. Abramov (creator of redux) definitely seems to be distancing himself from redux as React as an ecosystem moves forward with Context and Hooks.

I've seen it said that "redux is just money laundering for global variables". Can't say that I disagree

JoeCortopassi··on Unpopular Opinions about Tech
Kale as in the vegetable, but I love that we live in a time where this is a genuine question without a straight forward answer :-)
JoeCortopassi··on Unpopular Opinions about Tech
Author here. Curious to hear what your unpopular opinions are when it comes to tech
JoeCortopassi··on What do you dislike about React Native?
Companies and teams don’t usually pick non-native solutions because they're better tech. Non-native solutions are picked so that teams can be more efficient with their time/resources. For some teams, that means delivering an app cheaper. For other teams, that means being able to spread resources thinner and stretch budgets. This doesn't have to be a bad thing per se, it's just a business decision.

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

JoeCortopassi··on Understanding Engineering Roles
Sorry if it's vague, this was meant to be a high level overview on the importance of having well-defined engineering roles. I'm currently fleshing out the individual roles, but thought the discussion around the importance of an accurate definition would still be useful
JoeCortopassi··on How true hackers write JavaScript
Everything has a context. If your site has:

  - 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

← PreviousPage 2 of 12Next →