HN user

bluepnume

792 karma

daniel@onetext.com

Posts51
Comments181
View on HN
bluepnume.medium.com 1mo ago

TypeScript's number type is a lie

bluepnume
4pts6
bluepnume.medium.com 1y ago

A slighly better useState

bluepnume
1pts0
bluepnume.medium.com 1y ago

The shortest, strangest engineering interview I've ever done

bluepnume
22pts9
bluepnume.medium.com 3y ago

Nine terrible ways to use TypeScript enums, and one good way

bluepnume
2pts0
bluepnume.medium.com 3y ago

The only kind of test I write

bluepnume
2pts0
bluepnume.medium.com 3y ago

I’m interviewing a little differently this time round

bluepnume
3pts0
bluepnume.medium.com 3y ago

It’s not actually supposed to be difficult.

bluepnume
3pts0
bluepnume.medium.com 3y ago

DTC brands have a blind spot: vaulting

bluepnume
3pts0
news.ycombinator.com 3y ago

Ask HN: Is it just a terrible time to raise?

bluepnume
2pts0
bluepnume.medium.com 3y ago

Subscriptions are out, refills are in

bluepnume
152pts237
bluepnume.medium.com 3y ago

You don't know jack about SMS

bluepnume
28pts6
news.ycombinator.com 4y ago

Ask HN: Fundraise for a side-project, or go full-time first?

bluepnume
3pts4
bluepnume.medium.com 4y ago

The Magic of Serializing Functions

bluepnume
1pts0
bluepnume.medium.com 5y ago

Functional-Ish JavaScript

bluepnume
1pts0
bluepnume.medium.com 5y ago

Learning about Bitcoin by building it in JavaScript

bluepnume
6pts0
bluepnume.medium.com 5y ago

Fooled by Certainty: A short counter of Taleb's Bitcoin analysis

bluepnume
5pts1
bluepnume.medium.com 5y ago

You don’t need S2F to value Bitcoin

bluepnume
1pts0
bluepnume.medium.com 5y ago

Bitcoin: Cutting Through the Bullshit

bluepnume
4pts3
bluepnume.medium.com 5y ago

Building Bitcoin in JavaScript

bluepnume
2pts0
bluepnume.medium.com 5y ago

Why Bitcoin?

bluepnume
1pts0
medium.com 5y ago

Writing Regex in JSX, without releasing Zalgo

bluepnume
2pts0
medium.com 6y ago

JavaScript tree shaking, like a pro

bluepnume
1pts0
medium.com 6y ago

Iframes are just terrible. Here’s how they could be better

bluepnume
6pts0
medium.com 7y ago

Functional-ish JavaScript

bluepnume
2pts0
medium.com 7y ago

Google Chrome’s Portals: like iframes, but better, and worse

bluepnume
6pts0
medium.com 7y ago

Building a React-esque component using vanilla JavaScript

bluepnume
1pts0
medium.com 8y ago

Intentionally unleashing Zalgo in the browser, with synchronous Promises

bluepnume
2pts0
medium.com 8y ago

Hacking Chrome’s Payment Request Api into PayPal’s Iframe Buttons

bluepnume
1pts0
medium.com 8y ago

Introducing PayPal’s open-source cross-domain JavaScript suite

bluepnume
133pts18
medium.com 8y ago

Reinventing cross-origin requests, without CORS

bluepnume
1pts0

In most languages you could probably solve this problem with a class. But wrapping all your numbers in a class with runtime consequences, just for a bit of extra type safety, feels quite extreme.

It's hardly odd.

"Even" just means "divisible by 2"

"2 is the only prime that is divisible by 2" "3 is the only prime that is divisible by 3" "5 is the only prime that is divisible by 5"

...

"N is the only prime that is divisible by N"

Runtime validate at the database boundary? Isn't it better to just do runtime validation at the api boundary instead? Then any of the types that make it into the database should be mostly guaranteed by TS (and of course, whatever types are enforced by the database schema itself).

The funny thing is, it was pretty clear to me he meant that as a bit of a joke.

The question on our application is "are you a fit for the JD"

For the most part, the answer is "obviously yes, that's why I'm applying", but we do get some really insightful answers here where people talk about their weaknesses too and we learn something.

But even in the call he seemed to acknowledge that was a bit of a joke, and I legit don't mind jokey bravado for the most part.

Would absolutely love to know how other engineers on HN approach interviews and assessing technical competence. I didn't _think_ I had any mis-steps here but would love to know if anyone thinks there's something I could have fixed about this whole interviewing process.

Probably the guy was just having a bad week, but all the same. Really bemused (and more than a little confused)

OneText | https://onetext.com | Bay Area, CA | Engineering | US (In person or remote) | Full time

We're OneText (Y Combinator W23), and we've built a product anyone pay and make purchases with a single text message. We need you to help us keep up with massive demand and scale up to the next level!

We have two roles open:

- Lead TypeScript/Node Full Stack Engineer: https://gist.github.com/bluepnume/8f2376b0893bc6b85564e73593...

- Devops/DBA Engineer: https://gist.github.com/bluepnume/c1d5a8c9e825de82c6e56227cf...

Would love to hear from you and chat if you're interested in either (or both)!

But this isn't an `any -> any` case. They passed in a default value, as a string, which is the correct type for a default value for this column. Even with very strong typing they wouldn't have got a type error here right?

This might be a silly question, but what would be the downside of a single threaded language similar to javascript, but where every function is just 'async capable' and can always be non-blocking, with no special syntax like async/await?

So every time you call foo(); you anticipate that it might resolve immediately, or it might take some time, but it won't block any other function (unless it actually does some cpu bound operation)

And any time foo(); does something asynchronous, all of its callers, and its callers callers, become implicitly asynchronous too.

Of course you would have to have some primitive for when you actually want to do several things concurrently within the scope of a single function rather than blocking that function, but that doesn't sound too bad and in JavaScript you effectively need to use Promise.all most of the time anyway.

I'm sure there's some major downside I'm missing -- but what is it?

Mainly because the message thread is implicitly authenticated, so no additional web login required -- and we want to allow for conversational payments, where you can ask as many questions as you need before committing to pay.

Not necessarily. "I want to pay for parking" -> "Click this link" -> quick automatic web based geolocation and redirect back to the SMS thread -> done.

Assuming you've linked a card in the past, or you have a basic browser of any kind to link one, our thing does not require a smart phone. Just SMS.

Doesn't have to be hugely phishy if you have a saved contact card with a number you trust. That's often safer than some new app or web url that is imitating another.

It pre-fills a text message which you can send to authenticate yourself. If you don't have a saved card, you're prompted to enter one via a web url.

You can also imagine a world where you have a single phone number saved. You text it "I'm at XYZ parking lot in ABC city, how do I pay?" and it gives you the easiest possible option.

Definitely standard no. 15, but there's room for something better to win out here right?

Sure -- phishing is a huge problem, but it's also an argument to never build anything ever, because QR codes, sites, apps, emails, etc. can all easily be cloned and used as a phishing attack vector.

We built a startup.

You scan a QR code, that sends a text message. If you have a saved card, you pay in the text thread by replying 'pay now', if not you get a link to save a new card.

No apps required. Hoping that with enough adoption, it will obviate the need for experiences as bad as this.

Eh. Just treat Bun as a testing ground for (very) experimental new features. It's no secret that the project moves very quickly, and anything that gains enough traction can be folded back into the spec.