HNHacker News
TopNewBestAskShowJobs

throw149102

342 karma · joined March 31, 2020

submissionscomments
throw149102··on Ask HN: What did you think about working at a FAANG?
FWIW I did not feel like everyone was super smart at my FAANG job. I didn't even feel that anyone was particularly curious. Obviously, YMMV depending on the company and the team.
throw149102··on Saudi Arabia reveals 170-km-long mirrored skyscraper to house 9M people
I cannot imagine a worse way to organize a city than to put it on a line in the middle of a desert with no economic activity whatsoever.

Here's a question - what does this city produce? What industries could possibly exist in a city where the only way in or out is on a single line? How do shipments of goods for the grocery stores and restaurants and everything else get into the city? If I want to buy a desk, or a mattress, or anything else does it go on the maglev(s)?

The city seems to ignore the fact that building up is exponentially more expensive compared to building flat. Simply getting the material to the height it needs to be now requires a crane, not to speak of the transportation, accessibility, and plumbing issues.

Has anyone considered what would happen if there was a fire in the middle of the city? Would people be cut off from their jobs? What if repairs take weeks or months?If the maglev breaks the whole city goes with it.

Final point - building a city in the middle of the desert rather than somewhere cold with access to clean drinking water seems stupid in the face of climate change (or in general).

throw149102··on VRchat bans mods, embraces EAC
I would contest that in this sense VRChat is just a VR version of Omegle in this sense. If a parent lets their young children onto a VR headset unsupervised, well they probably would also let them onto Omegle unsupervised. In both cases I'm inclined to think the parent is somewhat negligent in letting their kids talk to random strangers on the internet.

To go even further, it seems the same issues occur on Twitter, Instagram, and TikTok, and those sites don't have to install kernel level anti-cheat to ensure you don't look at illicit content. At the same time, I would argue that this shows that kid-unfriendliness is an internet-wide problem and maybe we should be doing more in general to build an internet that works for kids.

throw149102··on Why I Quit Google’s WebAssembly Team, and How It Made Me Sick
The other way to look at it is to see it as very intelligent filtering by the author. If I only want to work at places that are committed to my mental health, and I have the expertise to get hired at Google, then I might very well be comfortable with filtering out 99% of companies. If the average person sees me and goes "Well I think this person is very unbalanced" and chooses not to hire them, that saves a lot of time for the author.

You could say a very similar thing about coming out as gay. If a man figures out he's gay, he doesn't benefit from still including women in his dating pool. Maybe his dating pool shrinks by 95%, but who cares, he only wants the last 5% anyway. The hard part of dating isn't really finding a dateable person, but narrowing down the set of all people to a mostly optimal one. Likewise, the hard part of finding a job isn't finding a place that's hiring, but narrowing down the set of all jobs to a mostly optimal one.

throw149102··on A social analgesic? Acetaminophen (paracetamol) reduces positive empathy
It would be interesting to see a study on whether Tylenol reduces empathy in people who are sick/in chronic pain. My guess would be that Tylenol increases empathy in these situations, despite the general effect it has in reducing empathy. It's hard to empathize with others when you're in pain yourself.

Brings about a good question - if you have a headache, and you take Tylenol, do you become more or less empathetic? If the answer is you become more empathetic, that indicates that instead of Tylenol being the bad guy, we should try to reduce the prevalence of headaches (or pains that cause people to take Tylenol) in general.

throw149102··on Changing std:sort at Google’s scale and beyond
I like to use the metaphor of driving somewhere, and trying to estimate when you're going to get there. Maybe you have a hotel reservation, and you want to make sure you don't get there too early nor too late. Then (with some times filled in for example):

  +---------------------------------------+-------------------------------+--------------------------------+----------------------------------------+
  |                   .                   | Best Case (little/no traffic) | Average Case (average traffic) | Worst Case (car accident, snow-in etc) |
  +---------------------------------------+-------------------------------+--------------------------------+----------------------------------------+
  | Max time, upper bound (Big O)         | 30 minutes                    | 45 minutes                     | 1 hour 20 minutes                      |
  | Both min and max, tight bound (Theta) | 25 minutes                    | 35 minutes                     | 1 hour                                 |
  | Minimum time, lower bound (Omega)     | 15 minutes                    | 25 minutes                     | 50 minutes                             |
  +---------------------------------------+-------------------------------+--------------------------------+----------------------------------------+
So then you can start asking questions like - if I assume I'm in the average case, and I can show up earliest at 20 minutes from now, and show up latest at 50 minutes from now, can I guarantee that I will make it within that window? The answer in this case is yes, because our range is 25-45 minutes, so the earliest I can show up is in 25 minutes and the latest in 45 minutes.

This also helps explain why Big O is generally more useful - we can almost always be early to something, but we can almost never be late to something. So showing up 5 minutes early usually is not a problem.

It also shows why Theta is better than both - in this case, if we had this table we could completely ignore both the Big O row and Omega row, because Theta is a better bound for both min and max time.

Of course, in algorithmic complexity we replace the times with functions in terms of some variables, usually just n.

throw149102··on Ask HN: Can the same individual accomplish more with programming than proofs?
I think a critical point here lies on what exactly you're accomplishing when you're programming. A person could spend a lifetime on improving Google's ad network, make an incredible amount of money from it, and for all that have not accomplished very much in the sense that we care about accomplishment.

One question that comes to mind is "What would happen if everyone did this?". To me, it seems straightforward that we don't want everyone writing proofs to switch over entirely to programming, nor do we want everyone coding to switch over entirely to writing proofs. We would want a certain proportion of people doing proofs, and other proportion doing programming. Each person's own experiences and talents would determine which one is more useful, but on-balance we might have some proportion p doing proofs, and 1-p doing programming.

So, the question of "Can the same individual accomplish more with programming than proofs" turns into 2 questions - the situation that person is in, and also the global context of whether society is doing a good job at maintaining p provers and 1-p programmers for the overall benefit of society.

For my money, I think society has made p too small. There are way too many good reasons to go into software engineering as opposed to math and CS (namely $$$$) and as a result the social benefit of proofs is under-explored. I don't think however, that I would accept very bad odds for that bet like 1:100 or 1:1000. Proofs (and the societal structure, academia, that has been created to create proofs) have their own problems and as such it's very hard to even determine what p should be.

throw149102··on A capability-safe language would have minimized the Log4j vulnerability
A fun excerpt from "Capabilities: Effects for Free"

Capability-safe languages prohibit the ambient authority [18] that is present in noncapability-safe languages. An implementation of a logger in Java, for example, does not need to be initialised with a log file capability, as it can simply import the appropriate file-access library and open the log file for appending by itself. But critically, a malicious implementation could also delete the log, read from another file, or exfiltrate logging information over the network. Other mechanisms such as sandboxing can be used to limit the damage of such malicious components, but recent work has found that Java’s sandbox (for instance) is difficult to use and therefore often misused [2, 12].

Emphasis added my own.

[1] https://www.cs.cmu.edu/~aldrich/papers/effects-icfem2018.pdf

throw149102··on Math may have caught up with Google’s quantum-supremacy claims
Well that already exists, Grovers algorithm is provably faster than any classical algorithm.
throw149102··on The wealthiest Americans now own almost all of the stock market, 89% to be exact
If you're interested in the topic, you'd probably want to look at the source the article cites: https://www.federalreserve.gov/releases/z1/dataviz/dfa/distr...

The raw data isn't biased or opinionated, and is a better source when thinking about wealth/income inequality.

throw149102··on Disabling /all chat in matchmade queues
From my experience playing DotA 2, it does help, but it's not a magic bullet. You will have a lot less people griefing/throwing, but you'll still have a hyper-competitive atmosphere where people will shit on each other for fucking up. So trolling is rarer, griefing is rarer, but flaming is still pretty common.
throw149102··on Tesla must pay $137M to ex-worker over hostile work environment, racism
It's strange - considering what I've heard about lottery winners, that 137 million will probably ruin that guys life. Most people can't survive something like that.
throw149102··on Friendship ended with the garbage collector
I think what you esssentially want is a language with a powerful effect system and substructural typing, along with regions for memory management. This is like what Rust does with ownership semantics and the borrow checker, where normal types are linear/affine, that is, they can only be used (exactly,at most) once. What would be more powerful is having some effect of GC'd function, and some effect of non-GC'd function, and you can only pass the barrier from GC to non-GC if it's a linear/affine type. But when you're in a GC function you can use whatever types you want to. So instead of being stuck with the borrow checker, you can just decide at a drop of a hat to enter GC mode to write your linked list.
throw149102··on Twitter starts to require login to view tweets
Honestly, this seems like a plus for humanity. I don't think Twitter has really improved the world in any significant way, and maybe made it worse. Anything that prevents the twitter universe from seeping into mine is a good change.
throw149102··on Go 1.17 Release Notes
I hate to be "that guy", but you should try Rust. It also has amazing tooling, and is probably more comparable to C/C++, considering you don't have to use a garbage collector in Rust.
throw149102··on Computer simulation helps test land management techniques to help bumblebees
I spent a few minutes looking at this "BEE-Steward" and it's corresponding models, BEEHAVE and BEESCOUT, and the underlying NetLogo language that is used to model these things.

I guess I immediately have a few questions - How do we know that the model corresponds to reality at all? I mean, I know we have experiments to confirm what impacts the bees, but it seems like there could be a massive amount of variety depending on different factors. I'd love to see some research showing that BEE-Steward can work in real scenarios. Right now, they just have a simulation showing "hey, if we change x and y we can get 5x more bees", but does that actually correspond to reality?

Secondly, how do we make farmers actually want to use this? Do they get paid for taking care of bees on their land? I know this is just a policy question, but it's still important to answer. Do farmers need any training to use this? Can we collect data in an automated fashion to reduce the work the farmers have to do? This almost sounds like a deep learning problem - use a camera to map + classify areas of farmland, how many pollinators they have, the presence of bees, etc.

Finally, what is the fundamental problem of bee modeling? Is it fundamentally a computational problem (where we know the rules, but computing the model can be hard) or is it a data problem (where we know how to compute how the bees will behave, we can do it efficiently, but coming up with rules that bees actually follow is hard)? I've noted that the NetLogo environment by default will only take up 1GB of RAM, which is already not very much considering the JVM itself will take a pretty big chunk to run just about anything.

It would be interesting to start building some sort of "National bee model", rather than just working farmland by farmland. Is there any project like this in the works?

Either way, I'm sure all of my questions and more are already being asked/answered by people much more involved with the conservationist field. Just my 2 cents.

throw149102··on Ask HN: I feel trapped in my job and city
I'm definitely very confused about point 4. Perhaps it's a UK thing, but taking a 2/3 paycut should not ruin your chances of retiring early, if you're living in a city as expensive as London. If you consider the cost of rent, and cost of living in general, your 2/3 paycut should end up being like a 95/100 paycut after accounting for CoL. In other words, it should hardly impact your retirement plans.
throw149102··on Object-Oriented Entity-Component-System Design
What you're looking for is "Arrays of Structs of Arrays".

See: https://en.wikipedia.org/wiki/AoS_and_SoA

Jonathan Blow has a good talk about it here: https://www.youtube.com/watch?v=YGTZr6bmNmk

throw149102··on Actual impostors don't get impostor syndrome
Thanks! I appreciate that you read any part of that gigantic wall of a comment. I actually have a blog, but I don't have anything on it yet. Maybe I'll write something longform on that instead.

I think your criticism is good - I think there is something I want to express between the relationship of a society that takes responsibility for itself and a person who takes responsibility for themselves, but what I wrote is off from what I'm really trying to express.

throw149102··on Actual impostors don't get impostor syndrome
There are people who are impostors who don't get impostor syndrome, impostors who do get impostor syndrome, non-impostors who get impostor syndrome, and non-impostors who don't get impostor syndrome.

The first category is often full of narcissists, who think they know more despite evidence, or literal cons like described in the post.

The second category is people who are unfortunately correct about their situation, but perhaps they should be happy they've got the job they've got. If they detached their sense of worth from their work they might be a lot happier.

The third category is people who think they're in category 2 but are more competent than they know. They underestimate their own abilities, either because of a belief that their skills are misplaced and they won't transfer to what they're doing now, or they have some unresolved anxiety issue, or something traumatic happened in their past, or they're out of place in terms of culture and fit, or a dozen other reasons.

The final category is where we all want to be. Sometimes people in category 1, in service of helping category 3 and hurting category 1, try to make it seem like they actually don't know what they're doing. I don't think this is healthy though. If you know something, you should be proud of knowing it. Furthermore, if you have power, you should recognize it, if only because you should know before you hurt someone else.

IMHO this is why we've ended up in a society where no one takes responsibility for their own lives. Everyone wants someone else to take responsibility - usually either a company or a politician. Everyone wants to stop climate change but no one will stop eating meat or flying on planes. Everyone wants a more equitable situation but most people donate hardly any part of their salary at all, even if they could. People want privacy, and to use social media services for free, with an unending list of features. I could go on and on about what people will do to shift the blame onto someone else.

I don't want to say there's no such thing as structural issues, there are economic issues and political issues which legitimately need solutions that are global/social/political. Just because someone flies somewhere once a year doesn't mean that they should die from heat stroke. It also doesn't mean that a company should be allowed to pollute 1000x that single flight every minute of every single day. It's just that these are the logical consequences of a society where no one takes responsibility.

Deciding to not take responsibility because you think that you are not capable of being responsible sounds responsible/good/morally correct - but it isn't if you actually are capable of being responsible. And I guess that's my gripe with impostor syndrome, it feels a little like a dodge or like an excuse. I'm never sure how to evaluate that excuse, and compare it to other excuses, and which excuses are real and which ones are fake. I'd like to live in a culture where people with impostor syndrome were helped, but the condition wasn't glorified, so I could always presume the excuse was real. Maybe our culture should just be more clinical about these sorts of things.

The final question then would be, how to create a culture that is more clinical, or more objective about certain conditions. How do you talk about performance in an objective way? How do you talk about (mental) health in an objective way? We're really far off from being able to do that, but at least it puts everything into context. It also gives a fairly simple actionable plan to those with impostor syndrome - how can you objectively measure your results? How about other peoples results in a similar position? What metrics would even make up an objective evaluation? This is where you have to be very careful, after all, if you are in category 3 you are likely to design metrics that punish you at the benefit of others. You don't know as much about other people's mistakes as you do your own. You have to be very very careful not to do this. After doing this, you will know for sure if you are an impostor or not. Once you know, either way you won't be bothered by it anymore. You move into category 2 or category 4, and you can learn to accept what you are from there on.

Just don't sit in this in-between of pretending to be confident to other people but not actually being confident. That will eat you up inside. That will eat up the whole world, if we're not careful about it.

throw149102··on Ask HN: What is the HN of Cryptocurrency?
You might have more success looking for a HN of cryptography, rather than cryptocurrency. That is, if you want an understanding of the mathematics and solid discussions about the technology. If you look for discussions on the economics/finance, well it's no surprise you're only going to find pump-and-dump schemes and scams and shilling and BS.
throw149102··on Amazon postpones return to office until January 2022
As a new grad, onboarding during covid sucked so extremely hard. It started off with a lack of productivity, a lack of understanding, and an extreme amount of anxiety from being unable to tell what is expected of me and how to achieve that.

Going to office has been the best possible thing for me. I can see my coworkers, understand the expectations set for me, get instant help from coworkers (and often provide instant help). My anxiety is better and my health is better. I'm not distracted by the 10,000 things around my house that I either want to do or need to do.

That being said, that's only my experience. I think the research shows that remote work is just as productive, if not better. It's better for people who really need to take care of personal things during work hours. The opposition to remote work is far too forceful, especially when companies don't even intend to back up their threats (like in your case). Leadership in many companies seems against the idea for WFH for all the wrong reasons. They need to understand it's a real risk trying to force employees to come back to the office, and you can certainly lose some very important talent by doing that.

throw149102··on Woman sues L.A. after being struck by car on a street where tents block sidewalk
That's a good question, and I'm born and raised in the US!

Perhaps it's due to the difference between CoL and working wages in a given city. Even if someone who is homeless does start working, that doesn't mean they can afford rent in the city. That also doesn't mean they'll get healthcare or other necessary benefits for their continued survival. You also have close to no protections in the US, so you don't really have stable employment in the same way other countries do. So at the end of the day, they may think "whats the point?".

I've also seen a fair number of homeless people who are disabled, mentally or physically. Perhaps that bars them from some jobs. (The ADA disallows barring people from jobs if their disability does not impair them from doing essential work, but I'm unsure about what is considered essential and what isn't.)

These are just my 2 cents. I imagine there's at least some research on the topic.

throw149102··on Are dynamic languages going to replace static languages? (2003)
This is definitely the best argument for dynamically typed languages I've seen yet, but I think I have an answer. I've been reading a book on Idris called "Type-Driven Development", and I think that Idris has this exact issue figured out.

Instead of developing normally, writing code, then compiling, then testing, then raising a CR, you work with a REPL that helps you fill out parts of the code as you go. So what you can do is just type

`> :t what_is_this_type?`

where what_is_this_type is a hole for the thing you don't know how to type yet. So with this REPL based development you don't even have to try to figure out the type.

So IMHO, it fundamentally comes down to the power of the statically typed language. If you're working with Java, C++, C#, etc, type inference can help a lot but ultimately can't give you everything you want. Precisely because of that dynamic, runtime input. But if you have a functional language, like Haskell, Idris, or Clojure, you actually can precisely type that input and have something reasonable looking come out at the other end.

throw149102··on Information Geometry
This math is far above me, but I get a feeling like there's some relationship between the Fisher Information Metric and Kalman Filters. I think I'll take another look later tonight
throw149102··on Facebook and Google Are Not Public Utilities
That's exactly it, thanks. Once I opened in an incognito window it showed up fully.

I don't think Yost has any chance of successfully arguing that Google is a public utility, but it would be interesting if there was a public utility search engine. It seems obvious that search is something everyone needs, and perhaps if there was some legal right that the public utility had - for example, to index web pages without breaking copyright laws - then the public utility could actually reasonably compete with Google.

throw149102··on Facebook and Google Are Not Public Utilities
As an aside, I'm really beginning to dislike titles for articles that have that dismissive tone of "This is my fact and I'm going to tell it to you". I know the reason they have to do this is that having a reasonable title won't get any clicks, but perhaps that's a sign I should just be disregarding places that are only looking for clicks in the first place. I think I'm going to mostly focus on smaller creators, single people who have don't have the pressures that these large companies have.

Actually, looking at the article itself, I'm surprised how little there is here. It comes in just under 900 characters, it fits in 4 tweets.

throw149102··on Quantum computing hype is bad for science
They've factored 15 into 5 by 3. It's a real computer, even if it's too small to do anything useful. https://arxiv.org/abs/quant-ph/0112176
throw149102··on The P-versus-NP Page (2016)
One fun fact is that Sudoku (on a n by n grid) is NP-complete.

It's in NP because given a sudoku problem instance (a n by n grid with only some clues filled in) and a proposed solution (a n by n grid with all the squares filled in) you can check if the solution is correct in polynomial time. That is, you check that each square in the problem is equal to the square in the solution, and you check the rows/columns/larger-squares to see if they each contain the values (1..n).

So a problem X is in NP if given a polynomial-sized certificate C, you can run a polynomial-time algorithm C_Check() to see if it is actually a valid solution. In the sudoku problem:

X is Sudoku with instance x C is the proposed solved sudoku C_Check(x, C) is the algorithm where you check the rows/columns/larger-squares and you check that for every square in X[i][j] that is filled, C[i][j] == X[i][j]

In a normal breadth first search, where there are a polynomial # of vertices, you actually don't even need to use C until the very end. You're allowed to say

X is ShortestPathProblem with instance x C is the proposed shortest path C_Check(x, C) is just (BFS(x) == C)

So therefore any problem in P is automatically in NP.

throw149102··on Simpler code is generally faster code
Y'kno, I agree with the point, with Steven, with Casey, and with other people who are saying "We can have awesome performance without having horribly complicated code", but I find that people who espouse these kind of views are always so curmudgeonly? They just constantly have this view of "I"m right, everyone else is wrong, everyone else is making dumb excuses". If you just let people have their egos you'd probably be a lot more successful in making software more performant.
← PreviousPage 2 of 4Next →