I was in SF because employers demanded it, because investors demanded it. Now my company is not only allowing Bay Area employees to leave the state, but hiring remotely. Hell yeah, I'm gone.
4,462 karma · joined February 20, 2007
I was in SF because employers demanded it, because investors demanded it. Now my company is not only allowing Bay Area employees to leave the state, but hiring remotely. Hell yeah, I'm gone.
The single biggest way that highly educated people who follow politics closely are different
from everyone else is that we have much more ideological coherence in our views.
If you decided to create a survey scorecard, where on every single issue — choice, guns, unions,
health care, etc. — you gave people one point for choosing the more liberal of two policy options...
He completely misses the fact that the liberal-conservative spectrum we see in American politics is pretty arbitrary and has more to do with tribalism then ideological coherence. For example, it would be "ideologically coherent" to be both pro-life and pro-gun-control. Or concerned about climate change and pro-nuclear-power. Or anti-racism and anti-immigration. So his conclusion is wrong. Highly educated people who follow politics are not more ideologically coherent, they're more ideologically conformist.Another example:
At some point, you have to be like, oh, actually, these people were motivated by racism. It’s just
an important fact of the world ...
Who's he talking about? Obama-Trump voters. He's looking at this sophisticated polling where they ask questions designed to probe for "racial resentment" and seeing no other way to interpret them. Ok... so why did they vote for Obama? Were they motivated by racism then? Did their motivation change between elections? These aren't rhetorical questions; I have no idea why Obama-Trump voters made those choices. But Shor is so deep in the numbers he can't see that his conclusion is nonsense.OTOH, yarn handles this just fine.
However, I'd also make the related claim that we should be much more ready to write formal parsers for other use cases. Far too often developers implement a "pile of regular expressions" where a parser—even a generated parser-would be a better choice.
How is this possible? Some of my planner colleagues will say it is density, but I've long rejected that simplistic
explanation. There is a lot more to it than a simple division problem.
He goes on to explain that the poorer areas tend to have smaller houses and narrower streets built on higher ground, all of which leads to lower maintenance costs. They were built with more frugality and risk aversion than the more affluent areas. This supports the thesis that Lafayette's predicament stems from extravagant infrastructure in affluent areas that wouldn't have been built without subsidies.[1] https://www.strongtowns.org/journal/2017/1/10/poor-neighborh...
On one hand, yes, having the method as the unit of code is great. You just avoid all sorts of editing and versioning of non-semantic textual changes like you have in other languages. And it was really easy to look over your list of changes to see who did what when, or group them together to form larger patches.
On the other hand, collaborating with bare change sets was difficult. With no dependency tracking it was just a manually-maintained bag of class-and-method definitions. You could write those out to a file and import them into another image, but it was hard to make sure you had all the necessary bits.
This led to several Smalltalk-specific VCSs. The early ones were powerful, but basically required you to be connected to the net to do any work, because they were constantly communicating with a central server as you worked. Later ones were more snapshot based. I think Monticello was the first real distributed VCS - it preceded git by a couple of years.
What's interesting about Pijul is it gives you that "maintaining a set of patches" workflow that made early Smalltalk change management so pleasant, but also tracks dependencies between the patches so that you can easily mix and match functionality without anything getting left out.
The ultimate tool would be something that combines Pijul's theory of patches with Smalltalks semantic versioning. That would be amazing.
But, on my no-longer-bleeding-edge iPhone, the turn-by-turn directions suck. It's constantly telling me to turn onto a street I just passed, or rerouting to find a way to get me back to the street that I'm already on. The worst part is that I can't trust it even when it's right. If it says "in 300 feet turn left," I have to desperately look at the street names because it's quite possible that I actually have to turn in 30 feet.
It was such a relief when I realized that it's not my GPS hardware, Apple Maps gives directions perfectly. And the map data is way better than it used to be. Not as good as Google Maps, but good enough.
I'll have to read it again more closely.
The fact is, parents and babies both need to sleep to be healthy and happy. Most parents are trying to achieve that, and have to try a bunch of things before they figure out what works for their situation. Try not to judge.
We might get the details wrong, but somebody is going to make a killing with this in the next few years.
https://example.com/messages?posted-2020-01-01/content~Bob
would compile to SQL like select *
from messages
where posted < '2020-01-01' or content like '%Bob%'
It's a little bit constrained by the the characters that can appear unescaped in the query component of a URL, which is why it uses '-' instead of '<' for less-than and '/' for 'or'. But there are enough characters to allow a range of operators, and parenthesis is allowed for grouping. Also it's a super set of the usual way that browsers encode forms, so that '=' and '&' work the way you'd expect.It works pretty well!
That's not where we are now, but we'll be a lot closer to it if and when we nail VR.
Because of the GIL, you can't make predictions at the same time you're processing network IO, which means that you need multiple processes to respond to clients quickly and keep the CPU busy. But models use a lot of memory and so you can't run all THAT many processes.
I actually did get the load-then-fork, copy-on-write thing to work, but Python's garbage collections cause things to get moved around in memory and triggers copying and makes the processes gradually consume more and more memory as the model becomes less and less shared. Ok, so then you can terminate and re-fork the processes periodically, and avoid OOM errors, but there's still a lot of memory overhead and CPU usage is pretty low even when there are lots of clients waiting and...
You know I hear Julia is pretty mature these days and hey didn't Google release this nifty C++ library for ML and notebooks aren't THAT much easier. Between the GIL and the complete insanity that is python packaging, I think it's actually the worst possible language to use for ML.
That is a security nightmare. Hard pass.