Matt Webb 2023-03-20 09:50:51
Hello gang — some help with some research please! I’m looking for the best stack to run a public API. Like, as a developer, what would make you go: oh, that’s good documentation; oh that’s an auth key designed by someone who knows what they’re doing; this is really straightforward onboarding, etc. Are there any examples of startups doing this in a really great way?
Reason being that I had a project slightly blow up on Twitter over the weekend, and I’m thinking about providing a back-end service and kits (so people can make their own kits too). Just assessing options rn.
Gilda Maurice 2023-03-20 12:27:28
Hello! I saw that tweet and thought it was awesome :-)
I’ve been wondering about the same thing lately - the best way to host (and monetize!) an API. Perhaps because I’m not the greatest designer and APIs come more naturally to me, and also because I’ve read the recent posts about LangChain / ReAct and it makes me think that creating APIs for LLM use might be a great business model - like the old saying, you’d be selling shovels in a gold rush, rather than doing the shovelling yourself.
Anyway I think perhaps something like cloud.google.com/apigee might be good? It seems to me that when creating APIs, the code / logic is easy (and fun, and what you want to concentrate on)… and it’s everything else that’s hard, the admin and ops of authenticating users, rate limiting, stopping abuse, charging users… That’s what Apigee seems to be solving for.
Matt Webb 2023-03-20 15:58:11
You’re completely right about wanting to do the tedious management bit. I’ll have a look at Apigee, thanks! Do you know what it’s like from a developer perspective, like somebody making use of the API?
My platform now seems to be NextJS/Vercel so ideally I’ll find some API management middleware that works really well with that
Jeremy Vuillermet 2023-03-22 17:42:14
I’ve been using rapidapi a bit. From a developer POV, this is very nice to not have to care about authentication much. Rapidapi creates a token for me every-time I “subscribe” to a service.
They have a dashboard to test most of the endpoints with real/demo data which I find very compelling.
The documentation of specific endpoints seems to depend on how much work the author put into it. I never used as a creator so not sure how it works.
Jeremy Vuillermet 2023-03-22 17:44:45
it’s sad to see we don’t have a something like “github for data” where I can be confident I’ll find the data I need
Justin Blank 2023-03-22 22:37:58
Does anyone know of something like a basic test suite for developing a language?
My idea is that in addition to building up test cases that implement specific functionality, what if I had a corpus of programs and a source to source compiler I could retarget to my new language?
I can think of a lot of things that would make this hard—mutability vs immutability, semantics of basic data types, etc.
George Campbell 2023-03-23 11:57:48
I think i have something that you could look at. I was tangentially involved with an implementation of the reactive-streams spec that was incorporated into java 1.9.
George Campbell 2023-03-23 12:03:45
Its a very simple collection of 3 interfaces that you have to implement but they have complex runtime behavior.
George Campbell 2023-03-23 12:11:03
for the testing part of your question they then developed a test suite call TCK that is a requirement to get this spec incorporated into java.
Justin Blank 2023-03-22 22:39:30
An easier question: does anyone know of test suites for existing languages that are compact but thorough?
Justin Blank 2023-03-22 22:41:08
(This is ignoring questions about modularity and more complicated forms of abstraction—that seems even more hopeless to tackle in a generic way).
Justin Blank 2023-03-22 22:41:57
For anyone who’s written a language, how did you tackle testing?
Paul Tarvydas 2023-03-23 03:24:31
“For anyone who’s written a language, how did you tackle testing?” - 1st order testing <- self compilation
Paul Tarvydas 2023-03-23 03:27:25
2nd order testing <- path coverage (have compiler tell you which branches it has visited at least once, create test cases until 100% of branches have been touched (or manually deleted as unreachable)
Josh Justice 2023-03-23 10:35:59
Writing a CFP about my List App project at a not-specifically-future-of-coding conference. I wrote “adding customizability to your apps will empower your users”. Then I thought “that’s not gonna sell it to this conference” so I added “will empower and engage your users.”
Then I realized that pretty much captures the problem, do you think? Most companies don’t care about empowering users, just as long as they are engaged (to the money/data vacuum).
Kartik Agaram 2023-03-23 11:59:35
Most companies won't care about empowering users until users care about being empowered. Make something people want, etc. So my pitches for now tend to be of the form, "do this and you will be empowered."
Josh Justice 2023-03-23 12:39:00
☝ this totally makes sense. I don’t think I have much of a marketing mind, so getting insights like this to set me in a good direction is super helpful
Arvind Thyagarajan 2023-03-23 19:46:13
is it that engagement, being the thing they care about, has metrics and levers, it's a studied and defined thing (impressions, eyes, clickthroughs, and the logs to capture it all); empowerment remains vague to us still? hours spend tweaking a template? count of published customisations of a thing?
also, being that it's vague, almost anything can be coopted as empowering -- crafting your own bitmoji so you can represent yourself in your true colours to your community of family and friends in group chats while your organs are harvested, is empowering...
Josh Justice 2023-03-23 19:47:24
engagement, being the thing they care about, has metrics
makes sense. one of the more pessimistic ways to think about this is “if it has metrics, you can present it to VCs to argue for a round of funding and/or to a tech giant to get bought”
Josh Justice 2023-03-23 19:47:52
(and if i was optimistic about the Present of Coding i wouldn’t be in this slack 😄 )
Andrew F 2023-03-24 02:29:09
OTOH, consider: engagement is (at least a proxy measure for) just using the project. And if people aren't using the project, it's not empowering them. So I can't say it's entirely a bad thing...
Ibro 2023-03-24 09:45:28
Targeting engagement, might be part of how plugin ecosystems (and platform network effects) grow around closed products. It feels empowering, till an API gets closed or a your tier 2 business is Sherlocked. Yet it still feels too jaded, hoping companies don’t care from the beginning
Gilda Maurice 2023-03-23 20:06:24
Gilda Maurice 2023-03-24 12:54:14
For sure! But it seems the interface they developed might be usable by any LLM - there’s nothing inherently OpenAi-esque about it. So if you want to create a tool in the LangChain sense, it seems to me you could create it as a OpenAI plugin, and other LLMs would be able to use it
William Taysom 2023-03-25 08:57:32
My greatest hope is that OpenAI’s proof of concept work will galvanize a thousand varied efforts. In a sense, lock-in is harder. Consider that a ten page well written prompt should be more portable than code.