Recent submissions

Comment · 4 years ago
Comment · 5 years ago
I've worked in JS for around 12 years now and welcome this change of keeping JS as a scripting language but incrementally retiring it for performance-intensive general-purpose applications.

To my eye, JavaScript has three applications:

* A GUI-building language: A language and ecosystem we use to build UIs, where code runs on the end user's machine, served over the Web or as desktop applications using a compatible API (e.g. Electron).

* A scripting language: An approachable high-level C-like language.

* A general purpose programming language: A server-side or developer machine-side programming language for computational tasks like linking dependencies, transpiling code, type checking, orchestrating tasks.

At the first it's unbeatable, and the ergonomics and ecosystem are phenomenal. This is why it "won" as a language to write even desktop apps like VSCode and Discord.

At the second, performance doesn't matter anyway, so making JS capable of this just makes it approachable for folks who learned the language for the GUI-building purpose.

It's at the third application that the fundamental limitations of JavaScript---the programming language---really show. These are things like the lack of true multithreading (technically possible with significant limitations around shared memory and messaging and high overhead with Web Workers), lack of low-level primitives to fine-tune performance, and the ease with which authors can accidentally write extremely slow code. So much of this (TypeScript compilation, NPM package resolution/linking, Webpack bundling) in the modern Web ecosystem is regrettably still done in mostly JS.

I hope the JS community rallies around one general-purpose language to offload these tasks to as well as a uniform shim layer like Ruby's C extensions so we don't end up with a chaotic mishmash of different technologies. If nothing else, it would be nice to have a good excuse to write not-JS every once in a while!

Comment · 5 years ago
I worked on the vendor (not auditor) side of accessibility audits, which have similar structural issues as security reports. The amount of latitude individual vendors have in shaping the scope of testing, setting cadence/private review phases, and picking auditors in the first place is stunning, and even though there are public standards (VPAT/WCAG/Section 508/EN 301 549), these degrees of freedom made reports completely incomparable across even vendors with the same commodity software products. Downstream from us, 90% of customers didn't closely scrutinize the contents or quality of the report and just needed it to exist.

The problem is the ultimate consumer[1] of these reports, legal and procurement agents at buying companies, themselves don't care about the actual quality of the report except insofar as it satisfies their own transitive legal/sales requirements, and it's turtles all the way down. This harms users/customers at the end of the day because they don't have time to scrutinize the details of each individual report or have any real power. If we care about the end goal (secure, accessible software), we need for the auditing firms to collaborate we the government, judiciary, and ancillary vendors to tighten standards to include random[2], uniform checks (same auditor, same methodology, multiple vendors at once).

In the US, OSHA designates NRTLs like UL to perform safety testing, which are required everywhere from workplace standards to insurance requirements. In comparison, at least for accessibility, merely having your vendor have any assessment report is likely enough CYA to withstand a legal challenge. I acknowledge the power of recent website lawsuits to use the broader ADA to raise the bar here, but ADA's "enforcement through private lawsuits" enforcement mechanism is spotty and I think won't result in enough structural improvement.

[1] - These reports also serve as PR/marketing, which is probably moreso the case with Mozilla VPN, but in most enterprise software where these assessments are taking place, the marketing side is very much a secondary goal compared to the individual legal/sales relationship that hinges on the report.

[2] - I think removing the opportunity for vendors to fine-tune scope or prepare or respond to concerns (at least until the next review cycle) is a big step in the right direction, but unfortunately, the legal climate is very much all-or-nothing and not good at nuance. Section 508 (I'm not personally familiar with PCI/SOX/etc. but suspect those are similar) is formally speaking "all or nothing" check all the boxes things, and in that climate, good random audits will basically be always-failing, and if you make too hard a standard that even reasonable vendors can't meet with an earnest effort, you'll end up constricting the market into a meta-game of who can hack the auditing process. See federal government procurement.

Comment · 5 years ago
Even if content license holders don't require Netflix to go above and beyond, building sophisticated DRM is a moat against other streaming services. If Netflix can build a sophisticated VPN-detection service, copyright holders will be much less willing to license their content to upstarts who can't match its capabilities.

In the same vein, it can be rational behavior for a market leader who deals in private information (most online advertising companies) to advocate for consumer privacy protections. It "hurts" them, but if the resulting regulations are so onerous that only incumbent(s) can comply, it can restrict the competitive landscape and paradoxically be advantageous to the existing leaders.

Comment · 5 years ago
Comment · 5 years ago
I worked on the infra team for a TypeScript-based product downstream of the author. His and his team's approach and writings influenced at a lot of my thinking about core development, and I'll always be grateful for having had the opportunity to learn from them by osmosis.

The success or failure with which any companies hires and retains folks like these is a mystery to me. As the evidence shows, Google (and I suspect almost any >100-person company) is far too much an amorphous glob/slime mold to even have a single coherent approach to this problem. But what are the successful strategies here? How important is it even to retain this kind of talent? How do we know how a company is even doing in this regard?

In my meager-in-comparison 6.5 years at Google, while I certainly saw many amazing SWEs come and many go, I'm far from knowing what the real trajectory was. But I can imagine that for many folks, the perceived trajectory would be a major motivating or demotivating factor to stay or to leave themselves.

Comment · 5 years ago
Winners: The investors who bought Airbnb shares at $68 whose shares are now worth $140.

Losers: Existing Airbnb shareholders who have shares in a company that could have raised $7B in cash but instead raised $3.5B. In theory, the mispricing "cost" Airbnb around 4% of its market cap, so existing common shares are worth 4% less than they should be.

But there's a caveat[1].

Companies like Airbnb (no stable profit) are almost entirely valued on sentiment and expectation. Assuming perfect information and rational actors, in an alternate universe, a direct listing would have resulted in around a $146[2] share price, on top of which the company can raise a secondary listing for $3.5B without affecting the share price. They'd have the same assets and liabilities as they have today, except pocketing the difference (by limiting dilution) instead of handing it to investors.

However, there's no certainty that the valuation would be $146 today had they gone this route. Humans, especially hype-powered retail investors who like to jump on flashy IPOs, are very susceptible to things like IPO bumps when making their buy or sell decisions. An entire field[3] of investing with significant buying power essentially relies on predicting sentiment.

If I'm a common shareholder, sure I'm sad that my shares are worth maybe 4% less than they "should" and that the financial world pocketed the difference, but I'm probably pretty happy my shares are worth what they are and aren't too interested in, for example, rehashing the deal or picking a offering strategy that could have swayed investor sentiment in a way that made my shares worth much more than 4% less.

[1] - The impact of "more perfectly" priced IPOs on market sentiment and thus public valuation is the most significant factor, but a secondary one is the practical aspect that the IPO process consists of a lot of risk, both on the part of the underwriting investment bank who gives the company the money raised in the IPO and the small number of powerful investors get access to (often) preferential pricing from the investment bank in exchange for an advanced commitment to buy the shares and hold for some agreed upon time. This illiquid market is dominated by relatively few actors. An IPOing company who doesn't "play ball" may find itself unable to find someone willing to underwrite their funding round or buy into it at all. [2] - This theoretical loss per share is computable two ways. The easy way is that they "left $3.5B on the table" which divided into Airbnb's current market cap of $84B is ~4%. The other way is the counterfactual way. Airbnb currently has 600M shares outstanding, having issued 50M shares in the IPO in exchange for $3.5B. So if not for the issuance, Airbnb is worth $80.5B with 550M shares outstanding, or $146 per share. [3] - https://en.wikipedia.org/wiki/Technical_analysis

Comment · 9 years ago
Comment · 9 years ago
H-1B applications often exclude expected value of bonus and RSUs (mine does) and can understate comp at bigtech by ~60k (entry level) to ~150k (mid level) to ~300k+ (senior+).
Comment · 10 years ago
Comment · 10 years ago
Thank you for the reply again :). I saw your comment previously and I think you make a great point. As much as I criticize the chart for being unfairly pessimistic about equity returns, there is far too much literature suggesting you can get 7-8% real returns by parking your money in X, especially in the <20 year time frame for stocks. In comparison this chart is a good factual dose.

My concern is, that while this comparison is useful for people further along in their research trying to understand the volatility of the stock market, this chart has a number of misleading (IMO) traits that can dangerously/unfairly steer people who are newer to managing their own money away from index funds altogether.

I would hope that people see this chart, my comment, yours, and FabHK's excellent comparison to bond yields. But if you have limited attention and are getting started, I would hate for the original link to be the only thing you see.

Speaking for experience with family and friends, too many good people scared by charts like this bought gold in 2011 or trusted mutual fund managers to buy into funds with 4% front-end loads and 2% AUM fees.

Comment · 10 years ago
Comment · 10 years ago
I feel this graphic, while informative and delightful, is insidious in its choice of scale and its lack of comparisons.

On scale, it makes it seem like +3% to +7% real returns is "neutral". This makes it seem like the stock market is sometimes good sometimes bad but overall it may as well be just okay.

On comparisons, it does a huge disservice by not adding a tab showing bond yields and a tab showing cash/treasury yields (which would be dark red across the board except light red around 1930).

I feel these slights make the graphic present stock investing in an unfairly unfavorable light and makes the suboptimal strategy of keeping your money out of the market seem much more favorable than it is.

Comment · 10 years ago
I work at Google on the main website as an SWE (non-lead). I have about 1.5 to 3 hours of scheduled meetings a week.
Comment · 10 years ago
From reading your post, I feel the biggest issue you are facing is that there is nothing differentiating you from the common "wacko" inventor who thinks they have the next great thing. We'd get nowhere if we followed each perpetual motion machine, infinitely scalable database, and alternative theory of quantum physics. So the system is good at identifying those patterns and churning through them.

Your idea is good. Let's just say that.

What you have to do next is to differentiate yourself from the crazies. That means some of the following:

* Tech demo you can show someone in 30 seconds * A "shiny" frontend that the layperson can understand * A concrete value proposition, other than that it can be acquired

You don't want to be stuck in the following pattern, which makes you no different from the rest:

* Secrecy * Promises * Vagueness

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton