James Fisher writes about programming, security, and tech culture, including phishing methods, SSH certificate authorities, and cryptography history.
Commenters list him among blogs they check regularly and praise his 'I hate telephones' post and Gmail dots scam write-up.
I think treating flat earth theory as a rational argument to debunk is appealing, but ultimately unproductive.
There was an interesting article some time ago: https://jameshfisher.com/2019/01/20/my-parents-are-flat-earthers, which casted the human perspective on the problem: at the root, believing a conspiracy theory gives self-importance to the believer, and it's, in a way, "fun".
Considering this perspective, this phenomenon belongs to the class of problems whose easy angle of attack is the technical (rational, in this case), and the difficult one is the human.
I'd argue that if one thinks that a flat earther is metaphorically a brick wall, and consequently a fool, opposing technical arguments against it is equally as foolish. It's actually the other side of the coin: yelling arguments to a wall is the mirrored human problem, in my opinion.
In conclusion, I think it would be more productive to think more about why this belief is appealing to people (and why it's spreading), rather than proving it's false.
Everyday Data Science is the first course on TigYog [1], a platform I'm building. Most courses are video-based, but TigYog courses are more like books. The only addition is multiple-choice buttons with responses. This lets you simulate the tight feedback loop you’d have with a private tutor.
Andrew's writing shows off what you can make with this medium. It's a bit like blogging. Try it out and let me know how it goes! (Currently it’s a WYSIWYG editor, though I’m also working on a Markdown+git interface. Let me know if you’re interested.)
- Jim Fisher [2]
P.S.: Thanks to one user reporting an Apple Pay UI glitch. I'm on it! In the meantime, ordinary Stripe card payment should work.
[1]: https://tigyog.app/
[2]: https://jameshfisher.com/
It's a more and more popular opinion:
- Why not tell people to "simply" use pyenv, poetry or anaconda (https://bitecode.substack.com/p/why-not-tell-people-to-simply-use)
- Don’t use the word ‘simply’ (https://jameshfisher.com/2017/02/22/dont-use-simply/)
- Stop using ‘simply’ in tech instructions (https://www.parkersoftware.com/blog/stop-using-simply-in-tech-instructions/)
- Don’t say “simply” in your documentation (https://www.knowledgeowl.com/blog/posts/dont-say-simply-jim-fisher/)
And I agree strongly. It can be so discouraging to fail at something you should "simply" do.
But to be fair to the technical writer, it's easy to write it without noticing, even after proof reading. This should be automatized by writing tools.
>Maybe there should be?
How do you prevent a website from faking the address bar? The only reason that you can trust address bars right now is that the website can't draw outside the content frame. There's already attacks on mobile[1] involving fake address bars because the address bar can be hidden, allowing the site to draw a fake address bar in its place. The only secure way to do it would be to opening another window (like when you try to use sign in with google), but that still has the issue that lots of legacy sites won't use this security feature, so users will still happily enter in their credit card numbers.
[1] https://jameshfisher.com/2019/04/27/the-inception-bar-a-new-phishing-method/
I totally agree, made a while ago a snippet for Atom with syntax highlighting based on a similar article [1] that will make comments bright pink (meta-tweet with the code in effect):
https://twitter.com/FPresencia/status/1133733608785473536
For copy/paste (in Atom -> Stylesheet...):
.syntax--comment,
.syntax--punctuation.syntax--definition.syntax--comment,
.syntax--comment .syntax--markup.syntax--link {
color: rgba(255, 51, 255, 0.8);
}
.syntax--comment.syntax--block,
.syntax--comment.syntax--line {
background: rgba(255, 51, 255, 0.1);
}
[1] https://jameshfisher.com/2014/05/11/your-syntax-highlighter-is-wrong/
Of course it isn't really BASIC compatibility mode. In reality, it's an lesser-known array initialization syntax. It's explained here: https://jameshfisher.com/2016/12/25/c-array-literal-explicit-indexes/
In short, you can initialize an array like this, by specifying each element in order:
int foo[] = {10,20,30}; // initialize elements 0, 1, and 2 However, you can also initialize specific array elements:
int foo[] = {[50] 10, [51] 20, [52] 30}; // initialize elements 50, 51, 52 "BASIC compatibility" mode uses the above syntax.