nick-garfield

Joined 8 years ago

Karma
104
Submissions
33
Member since
Jun 22
https://twitter.com/nick_garfield

DMs are open :)

View on Hacker News

Recent submissions

Comment · 6 years ago
Nick here, one of the developers behind Feather.

When we set out to build an auth API, one of the first big challenges was just wrapping our heads around all the various acronyms and protocols. Despite the existence of standards like OAuth, OIDC, JWTs, SAML, etc., authentication is anything but standard. As hobbyist devs, we wanted the interface to be simple. RESTful. Leverage HTTP verbs. We wanted an auth API that we wouldn't have to think about and would save us time.

After a lot of consideration, we settled on creating an abstraction for /credentials. With this, we've been able to abstract away sign-in flows for email+password and passwordless auth. "Just create a credential!" As Josh Bloch once said, “Good names are the API talking back to you”. We're super glad with how credentials abstract turned out. In the future, we plan to extend it for supporting protocols like OAuth as well.

Feather has saved us a ton of time while building other projects these past couple months, and we're happy to share it with everyone today :)

Comment · 6 years ago
wow, just reading that term "line of business" makes me anxious. I used to work on a global payments platform that supported "multiple LOBs", and it was a nightmare of ifs and switch statements all the way down. The situation was made more difficult by the fact that our org couldn't standardize the LOBs into a common enum.
Comment · 6 years ago
If you're in the "talking with customers" phase, you should also check out "The Mom Test" by Rob Fitzpatrick.

http :// momtestbook .com (EDIT: I just noticed this is an http site... breaking up the link into pieces for now. Sill recommend Googling the book)

The tldr; is that as soon as you tell someone about your idea, it's going to bias their subsequent answers. They're going to lie to, try not to hurt your feelings, want to get rid of you, etc. So if you're trying to validate an idea, the most important rule is "Don't talk about your idea".

What "The Mom Test" recommends is to instead ask prospective users about their lives and specifically to recall individual moments when they had the problem your idea will supposedly solve. With this "unbiased" recollection, you (as the entrepreneur) have to put 2 and 2 together to figure out if people 1) really have a problem and 2) are open/looking for a solution.

Comment · 6 years ago
My friend and I got really frustrated with existing authentication providers like Auth0, so we decided to create API called Feather to make it easier to add authentication to our web/mobile apps.

https://feather.id

Still quite a work-in-progress.. but currently designing a stateful React library so that you can drop sign-in, sign-up, forgot-password, session-management, etc. into your app with ~10 lines of code. Plus it comes with a nice admin dashboard for user-management built in!

Comment · 6 years ago
Hmm that's a bit disappointing.. I feel like Ive and Cook could be wrong on this one. If desktop/mobile is an appropriate parallel, then it seems like they've decided to undercut their desktop machine to have the "ergonomics" of a mobile device while still not being mobile. If the VR headset is a stationary experience, then what's wrong with having a hub sitting around nearby?
Comment · 6 years ago
This was an amazing post!

100% spot on that the external distractors are easier to manage than the internal ones. A buzzing phone, tempting social media websites, and loud rooms all tend to be relatively easy problems to fix. As for internal distractors, I feel like telling a personal story after reading this.. There are two internal distractors I've recently noticed myself struggling with:

1) A busy mind.

I often find my brain meandering on ideas or conversations completely unrelated to the work I'm trying to do. Daydreaming, imaginary arguments, and unnecessary tangents all tend to creep in (esp in the afternoon for some reason). I'm glad this post touched on Zen Buddhism and the beginner's mind. At risk of proselytizing, I have to say the best way I've found to manage a busy mind is through meditation. Consciously setting aside 10-15 minutes everyday to practice letting go of thoughts has helped build a (tiny) mental muscle which I can sometimes use to bring my focus back on the things in front of me.

2) Alcohol.

This is a bit of an external distractor, but also an internal one. In college, I was able to stay up all night drinking and coding. No longer! I find it amazing how insanely less productive I am even after a single glass of beer. I now get tired shortly afterwards and have immense difficulty focusing. Perhaps as the article mentions, the alcohol is wrapping up my ego in the task at hand. I don't have a drinking problem, but I now solve this by consciously deciding how to spend my next couple hours. "Am I going to grab a drink and take an extended break (perhaps for the rest of the day)? Or am I going to grab a water/tea and continue working?" Gone are the days when I could reliably reach the Ballmer peak (https://xkcd.com/323/).

Comment · 6 years ago
This is interesting.. I've never heard of the term "tacit knowledge" before, but it makes a lot of sense to me. It particularly reminds me of my experience being on-call at my last company.

Our systems were pretty unstable, and the most stressful part of the job was getting paged at 4am when everything was falling apart, customers couldn't use the app, multiple analysts would be sending messages asking "what's going on?", and as the on-call engineer, I happened to be the last line of defense (the system wasn't managed by a devops team).

In that moment, there's a lot of stuff that has to be done quickly: - orient yourself and figurate out what's going on (even in a sleep-deprived state) - prioritize mitigation over root-cause analysis - communicate early and often with the stakeholders present

This isn't stuff one can pickup by reading a "runbook". It took years of working with the systems, absorbing knowledge from my senior co-workers, and learning from past mistakes to get to a point where these priorities became in-grained in the way I approach outages.

So from my own experience, I would disagree with the definition that tacit knowledge is purely muscle memory or that it can't be improved. One's mindset can certainly evolve and I would consider that as "gaining" tacit knowledge.

I would even say something like music theory can be tacit knowledge. If you talk with musicians that do a lot of improvisation, they can certainly talk to you about music theory, but they're rarely "thinking" about music theory when they play. Just intellectually telling someone how notes/chords relate to one another doesn't transmit that "feeling" one needs to create great music.

Comment · 6 years ago
What do you mean by DNS-based PKI? That sounds interesting, but I can't quite visualize what that is.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton