342 karma · joined March 31, 2020
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).
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.
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.
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.
+---------------------------------------+-------------------------------+--------------------------------+----------------------------------------+
| . | 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.
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.
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
The raw data isn't biased or opinionated, and is a better source when thinking about wealth/income inequality.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.