HNHacker News
TopNewBestAskShowJobs

john-shaffer

595 karma · joined October 22, 2019

https://github.com/john-shaffer

hn.scorn217@passmail.net

submissionscomments
john-shaffer··on Dear Staging: We’re Done
This is a big reason why I like Datomic so much. I get the benefits of a schema, but the schema is basically append-only, so it's very easy to reason about. Updating the schema is instant.

The last time I tried a project with a no-schema DB, it was a huge PITA. It sucks having a function fail on one single document because it had a number instead of a string. I love flexibility, but it is very valuable to have the right constraints in the right places. I quickly learned that a schema is just that.

john-shaffer··on IAM is hard – Thoughts on $80M fine from the Capital One Breach
Those problems seem to come from the separation of the IAM admin from the developer. I'm coding a server now. My IAM roles are defined in a template, and I just add new permissions to the template as I need them. My code has the bare minimum permissions that it needs, and it doesn't seem at all onerous for the benefit it provides. So I think the problem is less "IAM is hard", and more "coordination is hard".

The one big exception I've run into is that to launch a CloudFormation template, the role practically needs admin access. I'm considering offloading the launch to a minimal Lambda function with the requisite (very broad) permissions. Does anyone have a better approach?

john-shaffer··on Classic Google Sites shutting down by September 2021
> The reputational damage of solidifying the narrative that Google drops projects without a good reason from the users' point of view.

That ship has sailed. Google's reputation for instability can't get any worse. At this point, it would take a complete 180° and a good 5-10 years of angelic behavior from Google for me to even consider relying on them in any capacity.

john-shaffer··on Abolish the Police? Survivors of the Chaos in Seattle Aren’t So Sure
Just FYI, you're likely to get downvoted for posting an AMP link. It's generally best to link directly to the source.
john-shaffer··on Abolish the Police? Survivors of the Chaos in Seattle Aren’t So Sure
> "Abolish the police" is a scale where there is an extreme end where they may call for completely removing police from across the USA. From what I've seen, that isn't what the majority who are calling for abolishment are aiming for. Maybe "abolish" was a poor choice of a word.

It's not "Abolish the police" by itself. The same people also say "All Cops Are Bastards" and "Policing is a racist institution". It would be unreasonable to take these words as supporting anything other than doing away with police entirely.

john-shaffer··on In spite of an increase in Internet speed, webpage speeds have not improved
> Your first point may be true, but it completely ignores the reality of a vast number of WordPress sites that don't use a plugin to generate a separate, static, site.

For the record, I would never run WordPress as non-static unless I had no other option. I'm not defending WordPress in any way. I just didn't see the need to mention its flaws because the parent comment already had.

I would personally prefer not to use WordPress at all, but it is the de facto standard for marketing websites, and marketers don't know or care about the performance and security nightmare that is standard WordPress. Since that is the reality, I felt that it was helpful to let people know how to deal with it constructively instead of just deploying insecure, slow websites.

> As to your second point, what do you imagine that "well-designed theme[s]" have to do with sites taking well over a second to start returning HTML?

That was stated in the context of static websites. If you're running non-static WP, you're just fucked.

john-shaffer··on Bayes Theorem: A Framework for Critical Thinking
The book "Probability Theory" by E.T. Jaynes is absolutely amazing at explaining how to actually think about Bayesian probabilities, how to assign priors, and the implications of different priors and posteriors. He explains it far better than I can, but one of the major points is that the prior becomes increasingly irrelevant with less data. If we have a lot of data, then we can assign just about any reasonable prior and still get accurate results. If we don't have much data, then the prior has a large influence. In this case we can't be as confident in the accuracy of our posterior probability, but we can calculate just how much confidence we can have in it.

Your example is hard to get into because it just doesn't make sense. The probability of Trump being the 45th President is 1. Garbage in, garbage out applies here.

If instead we step back to 2016 and say that we know the next president will be blue or red, then it's reasonable to assign the maximally uninformative prior of 0.5 to each outcome. Each additional piece of information modifies the probability. If we learn that the red candidate has been caught on tape speaking about groping women, we would calculate a new, lower posterior probability. How much lower depends on what we can determine about how much this hurts his election chances. We will get better results if we can estimate this factor accurately. This won't be much of an issue if we have many other pieces of data so that this one piece doesn't have a huge influence, but if this is our only piece of data then its accuracy will have a huge effect on the accuracy of our conclusion. For the sake of example, let's say that we our best information provides us with a posterior probability of 0.25. This posterior will be our prior when the next piece of information comes in (i.e., it's no longer an uninformative prior because it now contains past information).

Now suppose we see on TV that Trump has won the election. We don't have any money riding on the exact percentage, so let's just estimate the probability of the TV report being correct at 0.99. If we plug this in to Bayes' Theorem with our prior of 0.25, we get a new posterior of 0.97. We're not very confident in this posterior because we used an uninformative prior with 2 very weak updates, but if we really care about accuracy then we can seek out more and better data and get a far more accurate posterior. Moreover, we can calculate the confidence we have in the posterior based on the prior and the data.

Now in 2020 when the election can no longer be challenged, we update our posterior again, but it's not very interesting. Bayes' Theorem still applies, but since we know for a certainty who POTUS 45 is, the prior (0.97) factors out. We get a posterior probability of 1. Yet even though we've only used 3 pieces of data, we can calculate our confidence in our posterior as being extremely high since one our data points was so strong.

I don't know how much it can help you decide what to do next week, but if part of that decision involves calculating or reasoning about probabilities, than you absolutely should understand Bayes' Theorem. It's helpful to know how to think about it even if you can't assign exact numbers in the same way that understanding geometric or logarithmic curves is useful.

john-shaffer··on More than 1/3 of all access to Google is now over IPv6
AWS support seems fine to me. You have to do a little setup, but nothing difficult.
john-shaffer··on In spite of an increase in Internet speed, webpage speeds have not improved
I agree if you know, e.g., that the list is going to contain thousands of items or is going to be iterated over in your inner loop. That's not premature optimization, that's just common sense. Hence the qualifier "premature".
john-shaffer··on In spite of an increase in Internet speed, webpage speeds have not improved
> Look, this is what I was able to get with a mix of clientside and serverside... does it load fast?

6.60s for me, on desktop.

john-shaffer··on In spite of an increase in Internet speed, webpage speeds have not improved
If you use a plugin like WP2Static to render actual static pages, you get far better performance. If you have a well-designed theme that, e.g., doesn't have render-blocking JS, you should have seemingly instant load times.
john-shaffer··on In spite of an increase in Internet speed, webpage speeds have not improved
> I'll just use a list for everything: the users will eat the slowdown

"Premature optimization is the root of all evil." You often should use a list until you've identified a specific performance issue. The list isn't the problem. Not actually optimizing is.

john-shaffer··on Blizzard workers share salaries in revolt over wage disparities
> Isn't it going to be hard to stay away from both blizzard and Activision? They made/make really good stuff.

Not really. The last good game that Blizzard made was StarCraft 2, 10 years ago. It's free anyways, so you can cost the company a few cents in server charges without supporting them. I don't play console games, so Activision is completely irrelevant to me.

> The concept that if anything about x pisses you off

I was talking about Blizzard specifically, not x. Ditching Blizzard will save you years of disappointment and frustration. It's quicker & easier to forget them for moral reasons than to be gradually disillusioned by their releases.

john-shaffer··on Blizzard workers share salaries in revolt over wage disparities
The decline started when Vivendi (the owners) drove off the Blizzard North (ex-Condor) devs. The Blizzard North leaders were ignored to the point that they submitted their resignations in protest. Rather than actually give the team a voice, Vivendi decided to accept the resignations. They shut down the studio entirely a year or two later because it couldn't perform. They would have made a lot more money if they had listened to their proven leaders.

[1] https://web.archive.org/web/20080702062733/http://www.netwar...

john-shaffer··on Blizzard workers share salaries in revolt over wage disparities
I boycotted Blizzard after their censorship regarding Hong Kong. It was a great decision since it saved me from the dumpster fire to end all dumpster fires that was Warcraft III Reforged [1]. I would strongly suggest that if anything about Blizzard pisses you off, just be done with them entirely. The people who created the great games of the past don't work there. Blizzard is no longer capable of producing good products, and has no purpose other than to suck every last penny out of the existing IP.

[1] https://www.metacritic.com/game/pc/warcraft-iii-reforged

john-shaffer··on Thomas Sowell interview
Not a joke. I got heated over (what seems to me) whitewashing of liberal racism. It is a very real problem that liberals can spout blatantly racist garbage ("You ain't black") but never actually get classified as racist. Yet merely thinking capitalism is a good system is enough to get one classified as a racist and a fascist.

I apologize for getting triggered on the second part of your post and forgetting the first, but I think it's very important to call racism racism. Calling racism "colored perceptions" is so misleading as to be false.

john-shaffer··on Thomas Sowell interview
Your perception of Sowell is colored because he's a black intellectual? That sounds pretty damn racist.

How about not judging black people when they don't fit in the box you want to put them in?

john-shaffer··on The Global Implications of “Re-education” Technologies in Northwest China
Thank you for the references and the analysis! That's very helpful.
john-shaffer··on The Global Implications of “Re-education” Technologies in Northwest China
That reasoning is absurd. Obama talked about being "on the right side of history." Does that make him a Stalinist, just because Stalinists used that phrase 75 years earlier? I don't think so.

"Globalism" is a legitimate term used by proponents, critics, and neutral parties. It is not a dog whistle.

john-shaffer··on The Global Implications of “Re-education” Technologies in Northwest China
I don't think the alternative would be extermination, as the CCP has been very consistent at using the politically incorrect for slave labor.

The reasoning is given at [1]:

> Mao Zedong's order given in 1957 in one of his speeches, in which Mao explained why political prisoners must not be executed:

> 1st: If one was executed, then more would have to be executed for the same crime later on for equality, and it would difficult to spare the lives of future prisoners who committed the same crime, because justice system would be criticized as unequal, giving preferential treatments

> 2nd: Wrong people and even innocent people might be executed by mistake

> 3rd: Executing prisoners could mean the vanishing of evidence

> 4th: When prisoners were executed, it could not increase production output, could not improve scientific research, could not strengthen national defense, and could not liberate Taiwan

> 5th: You (the Communist regime) would be accused of excessive killings

[1] https://en.wikipedia.org/wiki/Qincheng_Prison#Labour

Tracking down the source hit a dead end because I can't justify spending $44 for a speech from 1957. So this quote may not be accurate, but it is pretty consistent with the CCP's behavior.

john-shaffer··on The Case Against OOP Is Wildly Overstated
Clojure isn't supposed to be everything for everyone. Did Hickey really dismiss the value that 2x faster had for the professor, or was he just not interested in that particular use case for himself?
john-shaffer··on Local-First Software (2019)
I think Mochi[1] does this. It's pretty slick. Browser, desktop, and mobile clients all sync up accurately. It's always very responsive.

[1] https://mochi.cards/

john-shaffer··on Historical programming-language groups disappearing from Google
Some randomly selected people can transfer everything to YouTube Music. I can't, and it may be months before Google would allow me to. It's exactly that kind of treatment that makes me feel like Google has zero respect for its customers.

Spotify is generally better than Play Music though, so it was for the best in the end.

john-shaffer··on Statement by Jeff Bezos to the U.S. House Committee on the Judiciary
What victim narrative? He didn't say anything about being a victim or try to make anyone feel sorry for him.
john-shaffer··on Historical programming-language groups disappearing from Google
Thank you!
john-shaffer··on Historical programming-language groups disappearing from Google
I had two personal accounts that I registered before GMail had a phone requirement. I don't remember setting up the work account, but I probably just used my normal phone number.
john-shaffer··on Historical programming-language groups disappearing from Google
No, there is no pattern. The last one happened when I got a new Android phone. I logged in on my work account and my personal account, and the work account got suspended. It said "suspicious app", but the only app I used it with was Google Meet. The personal account was used for much more, but didn't get suspended. I half suspect that they deliberately have false alarms so they can act like they're more secure, but it's more likely just a horrible, unaccountable AI.

I treat all Google accounts as throwaways now and don't use the work email at all because I want to know that I can actually receive emails that are sent to me. That's a huge problem even without randomly losing access, because their spam filter has a ton of false positives and those emails don't get forwarded to my real address.

john-shaffer··on Historical programming-language groups disappearing from Google
I've had two Google accounts shut down in the last six months with no explanation. There is no appeal. The consumer services I've used (Feed Reader, Play Music) have been shut down, and the cloud service I was most interested in was luckily shut down before I was able to use it. (They used to have a service to resize & manipulate images in Blob Storage. I found a good AWS alternative[1] instead). I cannot rely on Google for anything at all, and definitely not for something as important as cloud services.

[1] https://github.com/awslabs/serverless-image-handler

john-shaffer··on Not an Amazon Problem
Although I think UBI might be a good idea, I feel like this talk about "lifting above the poverty line" is meaningless in practice. The poverty line is constantly moving. If everyone got a $10,000 check, the poverty line would be quickly redefined, and not many people "lifted above it" would actually stay above it.
john-shaffer··on Google’s top search result is Google
Many government websites use reCAPTCHA. I do not have any choice in using it. If I were to block Google to avoid tracking, I could not function in society.
← PreviousPage 5 of 7Next →