1,379 karma · joined April 8, 2014
1. Eye tracking for interaction vs hand tracking. If the UX works out, the amount of precision that can be reached is just far higher with less effort - just seems to be an easier technical problem.
2. Resolution and lensing. Most VR headsets have fairly low quality fresnel lenses which cause distortion near the edges (basically - if you want to see something in good detail, you have to tilt your whole head to look at it), and in general the resolution is not good enough to see things that are 'far away' (those who play games like DCS have to use the 'binoculars' feature with headsets to accurately see targets). With a device like an HP Reverb, the resolution is probably close to good enough, the lensing is not - the Meta Quest Pro has a good enough lens, but not resolution. I'd expect the lensing on the Apple device to be top of market, and we know the resolution is ~2.5x more dense than the Meta Quest Pro - which should be closer to going from SD to HD TV rather than HD to 4k. Essentially, if you try to code on a Meta Quest Pro, the text looks a bit blurry. With the Vision Pro, it won't.
3. Custom face cushion + prescription lenses. Comfort is everything with these devices and nothing is worse than a headset putting pressure in the wrong places. It'll cost much more, but be totally worth it.
4. People claim common nausea when using VR. I've felt it too, but only on certain headsets. My money is other companies know what causes folks to feel bad, but have had to make technical tradeoffs which mean that nausea remains a problem. I'd put money on Apple having done serious research into 'what causes nausea when using headsets' which causes this to minimised on their headsets.
5. Software stack and usability. VR stacks are typically fairly clunky, usually Android derived, usually behaving a bit like a dodgy phone. iOS/MacOS are usually not most feature-ful, but a core usually works very very well. Will likely push bar a lot higher, change the shape of industry (e.g. samsungs are so good because of the iPhone competition).
Basically, having used some of these devices - the complaints I have with these right now, are the same things that Apple has real, technical solutions for. And the price isn't even _that_ high compared to other players in the market. Pimax Crystal is $1600 for what right now is a fairly buggy user experience. Their vapourware Pimax 12k is listed as starting at $2400 for the most basic model, though it's been in that state for well over a year.
Essentially, you fix the bug, re-run your hol or whatever, and hope your theorem is still true.
Obviously this only applies to bugs in the implementation as opposed to an unsound logic.
Simple example is that i can buy a put option in some company. If the stock price falls below that point, I buy shares and sell them to the option writer and make a profit. My maximum loss is limited to the amount I spent on the option.
Likewise the put seller has not taken unlimited risk - their risk is limited to the cost of the shares they’ve offered to buy at.
At that point the reliability of the evidence may of course be called into question, as with any evidence or witness. The question mark would be whether it was convincing.
What this means is that in practice, pointer chasing is less of an issue than you’d expect. Even a linked list will end up with decent cache locality.
Obviously this won’t always work, but it generally works a lot better than the same structure in a systems language.
https://shipilev.net/jvm/anatomy-quarks/11-moving-gc-localit...
However, SQL is IMO the best of a bad bunch. Most non-SQL databases I've used have been extremely sharp cornered, whether this be via: unpredictable/unbounded worst case performance in pessimal storage cases (RocksDB, Cassandra), various parts of the code where unbounded memory/storage usage is required (Cassandra, Spark, Elasticsearch), extremely low level APIs making it easy to make unobservably (as in, you won't notice it and will eat the pain every read) slow APIs (RocksDB). I'm not saying there's nothing better, but it's probably not an all-rounder.
There are certainly things I don't like about most SQL databases. Few SQL databases are columnar, which is _the_ key to good performance in the 2010s, and native LZ4-style data compression is also not widely used. But for most engineers they solve a lot of problems for you without having to think about them.
I don't know or think it's the same for Stanford - after all, 16% of Stanford admissions are legacies - but it can be done with hard work! I'd certainly be interested in a similar article for Stanford, though.
https://www.theguardian.com/education/2012/jan/10/how-cambri...
Even LGPL is super challenging here due to requiring dynamic linking. This is fine in Java (unless you use Graal AOT compilation) and Python, impossible in Go, and at best discouraged in other compiled languages like Rust and C++.
I think there's likely a copyleft middle ground - something like the Mozilla public license seems about right, where it copylefts improvements without infecting users. I don't know why Google chose Apache 2.0 over MPL or the like - for something like Android it makes sense, for something like Guava it's not clearcut. But, when people talk copyleft, they're rarely, rarely talking MPL.
I think it's unlikely that Google opensourced Tensorflow with a view to getting some free dev hours, they're doing it to push their OSS agenda, to wield influence over how everyone else does work.
- Information imbalance: from people I've talked to in decently senior roles at even very large companies, it might be surprising to learn that information can be poor at every level, because generally the people who are responsible for hiring at even fairly senior levels are not directly also responsible for expenditure, especially when macro-economic conditions are responsible for those financial decision. Essentially, the person who is responsible for setting the hiring targets to enable 20% growth is likely not responsible for modelling what happens if the cost of short term debt goes from 2% to 10%. Probably this is most likely in the superscalers, and it's likely hardest in the companies from 2-5k people - with a tech org of about 1k, you're likely acutely aware of the impact hiring strong people can have on your product while lacking the numbers to approach the problem analytically and with a sophisticated finance org. Basically, the number of people who could reasonably be expected to consider 'if we hire too many people, we'll have to fire them' as a significant part of their brief is smaller than you might think.
- 'There's no physical machine the company is adding that allows the workers to do their job which they couldn't themselves easily acquire'. Ignoring the focus on the physical machine bit and focusing more on the creative part of 'what does the company add, what do the people add', your claim may be true in some parts of industry and if you're in that side of industry I lament your situation, but for large parts of industry it's unequivocally false. There's a huge amount of value add that the machinery of an engineering organisation adds. In the more creative spaces, anyone who's operated in a truly high performing culture will have observed that a lot of the culture of building comes from the grouping of people who've been very, very carefully hired for, who've been carefully placed on team together, where memetic techniques have been used to proliferate certain positive behaviours, raising people up. We succeed as a team and fail as a team. You can see this over and over in so many testimonials - the stories from those who worked at Xerox PARC, stories from the MIT LISP hackers, back 50 years, all the way through hearing about the work the M1 team was doing, seeing the companies that spawn hundreds of startups from their alumni. And that's not to talk about the companies who specifically use process and ritual to ensure that engineers are consistently at the bar across massive orgs, from Google's exacting bars for code quality all the way to the consulting arms of Oracle, CapGemini etc who can approach repeated problems and get the most out of their engineers in a space where it's arguably harder to hire talent. And this is totally forgetting the huge non-SWE parts of orgs required to enable success - sales, finance, marketing, etc etc.
- Tech workers are still underpaid - think there'll be a rude awakening coming for you I guess. People across the world get paid based on how much they can get in the market (and if you're already at the company, the switching cost). There's room for places that do it differently, but not much room. If a large number of qualified people join the labour pool, you can bet that the practical market comp goes down.
- Paper losses are not true losses and you can just wait for the price to go back up: Honestly, that's wrong on like every level. Firstly, at the company level, there's a very real risk for many of these companies that they go bankrupt. Spotify has something like $2.8B in cash equivalents, has revenue of $9B and expenditure of about $9B. If their revenue dips by 20% due to e.g. a global recession, that cash supply will last them about 18 months. Before they get there, they have to raise more money. If raising via equity, they're going to be raising at their new and lower valuation, so their investors take a huge haircut. If they raise via debt, they'll be getting charged a lot on interest (because their risk of default is nontrivial). My brief but non-zero insider knowledge of some of these debt deals make it very much sound like a sellers market. A smaller company might expect to see 15% interest demanded - if you need $150M, you're in trouble. The staff who Spotify are dropping today likely represent $300M over that same 18 month period. You can bet that they'll be making this cut after scraping the barrel everywhere else.
Now, for the actual investors - if you take a massive paper loss, you're basically not getting that money back on a reasonable timeframe. https://danluu.com/norstad/risk-time/ is a good article on this topic. The simple way to think about it is that if in the good years you get 4% a year ROI across your portfolio and then you take a 50% haircut once, it will take you 18 years to make that difference back. The people who invest in tech companies are in large part not rich billionaires looking to pay for their next yacht - they're institutional investors, mutuals, pension funds who are looking to maximise returns for their members.
If you bought high-end-ish laptops in 2021, 2016, 2011, 2006, you’d have gone through 3 different microarchitectures, and had a transformative experience change on each upgrade. If you upgrade every year, not so much.
I don’t like the XCode MacOS version requirements - I couldnt build the JVM a while back because my work hadnt yet approved Monterey but XCode required it. That was annoying.
SELECT AVG(col) FROM (SELECT MAX(col2) AS col FROM table GROUP BY col3) t;
type query? Essentially, materialized views which are very unstable? Flink has its retract streams where rows can be semantically removed from the output and downstream query plans can understand deletes, but my expectation has been that these have bad worst case performance.> The superscalar technique is traditionally associated with several identifying characteristics (within a given CPU): > Instructions are issued from a sequential instruction stream > The CPU dynamically checks for data dependencies between instructions at run time (versus software checking at compile time) > The CPU can execute multiple instructions per clock cycle