HNHacker News
TopNewBestAskShowJobs

iEchoic

540 karma · joined February 4, 2015

Founder at Guilded (YC S17). Previously at Facebook, Instagram, Xbox.

Contact: me at eli doot email

submissionscomments
iEchoic··on JWT Tokens are NOT safe
I don't think these arguments hold up:

> 1. If someone gets access to your token [after you're logged out] they can continue to access it until it expires.

The author goes on to say that "security is binary — either it’s secure or it’s not". So... Is the token secure, or is it not?

If we can't assume that we have the capability to transmit and securely clear a string from the client, the whole discussion becomes somewhat pointless because both methods of authentication are borked.

> 2. Blocking users doesn’t immediately block them.

If you want to block a user, why would you block the JWT? Block the userId, or some other identifier that isn't coupled to a transient authentication mechanism.

> 3. Could have stale data. Imagine the user is an admin and got demoted to a regular user with fewer permissions. . .

This example demonstrates that this would not be good information to store in a JWT and blindly trust. Store a user identifier (or another immutable and unique identifier) and look up their permissions with that.

> 4. JWT’s are often not encrypted so anyone able to perform a man-in-the-middle attack and sniff the JWT now has your authentication credentials.

Encrypting the token doesn't make it harder or easier to sniff a token or to re-use it. Assuming the author isn't suggesting that people are transmitting literal account credentials unencrypted, this is the same point as #1 above because encryption and signing are meant to prevent against other attacks.

iEchoic··on Y Combinator backed MMO metaverse game is a blatant scam
I remember regularly participating in real-time battles with over 200 people on Dark age of Camelot, 20 years ago. Did they do something special?

Some examples:

https://youtu.be/lkl_fAjmLmA?t=38

https://youtu.be/7_BNNteCtCU?t=48

iEchoic··on Ask HN: Employee Handbook for Startups?
Creating our handbook ended up being one of the most worthwhile things we did early on. You can check it out at the bottom of https://www.guilded.gg/jobs
iEchoic··on “Location-Based Pay” – Who are we to complain?
> I managed remote, multi-national teams before COVID.

> I suspect HN's opinion on location-based pay might change over time as Americans realize that US salaries are the outlier on an international scale

The world's most valuable tech companies still do the vast majority of development work in their home countries, and the trend to keep core development at home has only accelerated in recent years. A lot of things would have to change - including that - in order for this belief to age poorly.

Also fwiw, we built our team fully-remote pre-COVID as well, with location-agnostic pay. It only becomes clearer that this has been the right move with each passing year, and we're continuing to lean into this as a result.

I will say, though, that this can depend on what type of company you're building. If your company's core competency is something other than software (e.g. sales), building an extremely high-performing engineering culture may not be the most important thing to your company, and the tradeoffs you have to make in order to do so may not be worth it.

iEchoic··on “Location-Based Pay” – Who are we to complain?
> right now there is no good solution. Partially because there is no good way of understanding the value of an employee.

This is the perception among many startups, but I think this is more perception than it is reality.

Exceptional engineers are several times more valuable to most startups than an average engineer, but almost all will hire an average engineer for $115k before they hire an exceptional one for $175k. There's no rational basis for this, but it is the path of least resistance. You won't need to defend hiring an engineer for $115k to cofounders or investors.

This is counter-intuitive, but the solution is to actually pay more for remote engineering jobs. When you do this, you're widening your talent pool to the entire world - and then you're selecting from the very top of the pool. We've been doing this for years, and it's been one of our most significant competitive advantages.

iEchoic··on “Location-Based Pay” – Who are we to complain?
If you're running a remote company, there's another reason (besides fairness) that location-based pay is a bad idea: it makes it harder to create a compensation structure that incentivizes high performance.

If Person A is outperforming Person B, but is getting paid less because they happen to live somewhere else, you lose the ability to claim that you compensate people for performance without sounding like you're talking out of both sides of your mouth. Not only is Person A not going to be happy about that, Person A is not going to believe that compensation at your company is based on performance.

Companies that want to hire and incentivize the best people need to be congruent in their messaging around compensation and performance. Claiming that compensation is performance-based and then including a factor (location) that has no bearing on performance is incongruent and will not help to develop the right culture in this regard.

iEchoic··on Ask HN: What are you surprised isn’t being worked on more?
It looks pretty comparable to wasabi from what I can tell, yeah. We made some different design decisions than wasabi from what I can tell, but the core of it is similar.
iEchoic··on Ask HN: What are you surprised isn’t being worked on more?
Yup, we just ended up building ours from scratch. Glad we did, in retrospect.
iEchoic··on Ask HN: What are you surprised isn’t being worked on more?
Better software for growth engineering teams (experimentation, analysis, etc). Existing products in this space are limited, expensive, and still pale in comparison to in-house solutions at top tech companies.
iEchoic··on Tech elites leaving San Francisco threaten Silicon Valley's supremacy
> They will soon realize they don't need to pay SF wages . . . I predict a race for the bottom.

Remote companies that attempt to race for the bottom will be at a huge competitive disadvantage against remote companies that don't. Over time, they'll learn and adapt (or they'll die).

The biggest misconception about remote work is that remote work is good because don't have to pay bay area salaries. When you do that, you're broadening your talent pool, and you're then limiting yourself to the bottom half of it.

When you pay Silicon Valley salaries (or higher) for remote work, you broaden your talent pool to the entire world, and then you get to select from the very top tier. We've been doing this for years, now, and it still feels like an undiscovered gold mine hiding in plain sight.

iEchoic··on How Discord Won
> Also the lack of bot support made it a big downgrade for us. I'm sure it's improved in the few months since.

We haven't announced it yet, but we've just started rolling out an all new "bot creator" feature this week, which'll allow you to create bots for your server without writing any code (and if you do want to write code, we now have an early-access request form for our upcoming API). If you want to try it out and don't have access to it yet, feel free to shoot me an email (in my profile).

(we've improved voice significantly and have also added streaming channels for streaming gameplay, too, if you want to give those a shot!)

iEchoic··on How Discord Won
Thank you! :)
iEchoic··on How Discord Won
To add a competitive perspective: I'm the founder of Guilded, which is (afaik) the only VC-funded startup in direct competition with Discord.

Discord was (and still is) a great product. But those that used it in the very early days will remember - as users in this reddit thread[1] do - that the early days were pretty rough, and not quite the "10x better" described here. Yet still, it grew. Why?

In startup mythology there's a belief that you need to build a "10x better" product in order to get people to switch to it. This is generally good advice, because in most spaces it's hard to get people to try your product at all, and it's even harder to get people to actually switch to it.

Gaming is different, though. Gaming communities aren't generally using your product for business-critical functions, are generally extremely receptive to trying new things, and are often led by enthusiast early adopters. As a result, gaming communities have uncharacteristically low switching costs. This explains why Discord was able to move gaming communities far more quickly than could ever be done with (for instance) corporate customers.

My hypothesis: Discord built a compelling product, and succeeded at talking to their early users and improving the product far faster than competitors. Because they built it for gamers, they didn't need to be 10x better right away: they just needed to be faster (and to stay alive in the meantime).

If the above is true, the risk is that - especially as they move away from gaming and as they continue to move much more slowly than before - they can also lose that community to a better product very quickly, in exactly the same way.

Only time will tell if this is true or not, but since we launched our chat product in May we've been seeing support of it in the form of accelerating growth and in the form of entire large communities migrating from Discord to Guilded every day.

[1] https://www.reddit.com/r/discordapp/comments/j8siby/discord_...

iEchoic··on Signposts for “when to hire more QA testers”
Microsoft used to have separate roles for dev and test/QA (SDE and SDET), and is a good case study here. Sometime around 2013-ish, they merged the SDET role into the SDE role, and made SDEs responsible for automated testing and quality. This was widely recognized as an important decision that improved both product velocity and quality by time I had left a couple years later.

I don’t think this is an anomaly. Every engineering team I’ve been on since has given this responsibility to the developers writing the code, and every one has been stronger for it.

iEchoic··on AI slays top F-16 pilot in DARPA dogfight simulation
> A lot of it comes down to the same kind of thing. "Send your first overlord to scout their natural. If they haven't expanded to their natural, build one -- ONE -- spine crawler in your natural."

I think your general question is still a good one, but it's worth noting that from a human perspective, Starcraft matches only start off this way. Very quickly, the game state becomes complex enough that decision trees break down and intuition becomes the driving process for high-level human players.

The extent to which AI can begin to compete with this sort of intuitive human processing is most interesting to me. As it relates to this article, I think it matters a great deal if the experiment has constrained the system to the degree that it ceases to operate in that intuitive realm that high-level Starcraft matches operate in.

iEchoic··on ListenBrainz moves to TimescaleDB
Has anyone used Prometheus as well as TimescaleDB in production and have thoughts to share on those, comparatively?
iEchoic··on A lot of “idiotic” things have reasonable explanations (2011)
Another form of this that seems to have taken over online discussions in the last few years is “<person> did <thing> because they are evil” (or rich).

As an example, I’ve noticed that privacy-related discussion on HN is often thought-terminated by comments that reduce down to “<company> is doing <perceived privacy-destroying thing> because they want to destroy your privacy”. On reddit, a common form of this is “<politician> is doing <something implausibly comic book villain-y> because they are evil”.

When the motive isn’t clear, I often enter these discussions trying to learn more about why - but more often than not, I just leave feeling the same way as the author here.

iEchoic··on US video game sales have record quarter as consumers stay at home
The Final Fantasy VII remake has been huge, too.
iEchoic··on What the last few weeks have been like for the CEO of Slack
Yeah, that's an interesting point as well. Our product is for gamers, who are usually "remote" (if you can call it that), but Slack may trend towards over-fitting to highly-engaged, fully remote work if they were to do this.
iEchoic··on What the last few weeks have been like for the CEO of Slack
I'm also curious about this. As a data point: we're fully remote and are in a similar product space @ Guilded (http://www.guilded.gg). One of our best early decisions was to use our product exclusively for all of our work communication.

For us, this degree of dogfooding - which is really only possible at a fully-remote company - has been directly responsible for too many features and improvements to count. There's no better way to develop empathy for your users and a deep care for your products than to have your entire team rely on them for their most critical communications every single day.

Not all companies build products that facilitate remote collaboration, but I think that remote work presents some unique opportunities for those that do.

iEchoic··on How Much Worse the Coronavirus Could Get, in Charts
NY Times links are effectively just advertisements for NY Times subscriptions. I’d really like to see HN/reddit/etc ban links from these domains, because there’s no meaningful discussion that can be had when the vast majority of users can’t even read the content.
iEchoic··on Boeing 737 Max Aircraft: Preliminary Investigative Findings [pdf]
I've tried all the ways I've read on the internet to equalize ear pressure, but I'm not sure what "properly" is supposed to mean - should it always work? Should it be easy? Should it hurt?

The valsalva maneuver seems to work the best for me but it doesn't always work and is often painful.

iEchoic··on Boeing 737 Max Aircraft: Preliminary Investigative Findings [pdf]
I'm always tired after flights - even comfortable ones - and air pressure changes make my ears hurt and/or leave my hearing messed up for hours afterwards.
iEchoic··on James Lovelock: 'I Would Not Waste My Fortune on Colonizing Mars'
> I've had 10 cancers in the last few years and it hasn't been very bad. They just appear and grow. If you go to a good oncologist nearby, they'll take it out. It's just unfortunate for people who let it happen and it grows and grows until it's inoperable. I mean, nowadays, I think middle class and fairly wealthy people don't die of cancer.

Is this (roughly) true? I've never heard this before, and I want to believe.

iEchoic··on Ask HN: Who is hiring? (November 2019)
Guilded (YC S17) | Full Time | Full-stack software engineer | $150,000+ | REMOTE (U.S. only)

We're looking for senior full-stack software engineers to connect the world's esports teams. You'll be a very early engineer (first 7) at a quickly-growing, engineering-led startup, where you'll be using modern processes and tools to build features that teams need and love.

We're a fully-remote team. We know that many engineers are the happiest and do their best work when they're empowered to build on their own schedule. If that sounds like you, we'd love to hear from you.

Required experience: 5+ years software development, 2+ years directly building and shipping consumer products

Required expertise: JavaScript, React, SQL

More info + apply at https://www.guilded.gg/jobs

iEchoic··on Ask HN: Who is hiring? (October 2019)
Guilded (YC S17) | Full Time | Full-stack software engineer | $150,000+ | Remote (U.S. only)

We're looking for senior full-stack software engineers to connect the world's esports teams. You'll be a very early engineer (first 7) at a quickly-growing, engineering-led startup, where you'll be using modern processes and tools to build features that teams need and love.

We're a fully-remote team. We know that many engineers are the happiest and do their best work when they're empowered to build on their own schedule. If that sounds like you, we'd love to hear from you.

Required experience: 5+ years software development, 2+ years directly building and shipping consumer products

Required expertise: JavaScript, React, SQL

More info + apply at https://www.guilded.gg/jobs

iEchoic··on How to Build Good Software
> Reusing software lets you build good things quickly

It also introduces unknown amounts of debt and increases the likelihood that you'll end up with intractable performance/quality/velocity problems that can only be solved by re-writing large portions of your codebase.

This can be a dangerous cultural value when it's not presented with caution, which it isn't here. I think it's best to present it alongside Joel Spoelsky's classic advice: "If it’s a core business function — do it yourself, no matter what".

https://www.joelonsoftware.com/2001/10/14/in-defense-of-not-...

iEchoic··on Bose announces new flagship Noise Cancelling Headphones 700
I really hoping for better audio quality without bass distortion and/or improvements to the ergonomics. From this article it sounds like a lot of price difference is going to be justified by things that most people aren’t going to actually use, like an “Audio VR” system and Siri integration.
iEchoic··on Ask HN: Who is hiring? (May 2019)
Guilded (YC S17) | Full Time | Full-stack software engineer | $150,000+ | Remote (U.S. only)

Guilded connects esports teams. We're looking for senior full-stack software engineers. You'll be a very early engineer (first 7) at a quickly-growing, engineering-led startup, where you'll be using modern processes and tools to build features that teams need and love.

We're a fully-remote team. We know that many engineers are the happiest and do their best work when they're empowered to build on their own schedule. If that sounds like you, we'd love to hear from you - drop us a line at jobs@guilded.gg. No recruiters or agencies, please.

Required experience: 5+ years software development, 2+ years directly building and shipping consumer products

Required expertise: JavaScript, React, SQL

More info at https://www.guilded.gg/jobs

iEchoic··on Ask HN: How do you pay your remote team?
We've been very happy with Gusto for payroll + benefits for our salaried remote team.
← PreviousPage 2 of 7Next →