HN user
fernandohur
Hacking on https://synthql.dev, a type-safe http client for PostgreSQL
The postgres ecosystem keeps impressing me with it's creativity
Author here: I use https://www.hevyapp.com/ on the free plan. It has everything you need and I really enjoy the social component. I have a few friends using the app as well, and its fun to see what others are lifting and challenge yourself to beat them.
https://synthql.dev: An alternative to PostgREST focused on the React-Node-PG stack. Main advantage right now is it gives you end to end type safety: you can write type-safe queries straight from your component that directly access your database.
Why SynthQL? My experience working for +10 years on enterprise SaaS is that a quite often you just want a database and a way to fetch data from it. Backends will quite often get in the way adding abstractions and layers upon layers of transformation between DB objects to domain objects to DTOs.
If you ever feel like you just want to talk to the database directly, give SynthQL a try :)
I didn't , there's such a large backlog that I just assigned another one
An open-source, type-safe http client to your postgresql database. It let's you access your database directly from your react components. It's fast, safe and performant. Think Graphql but you don't need to implement resolvers, it's all generated from your database schema.
If this sounds interesting to you, ping me (email on my profile) :)
Assuming the context is for solving real-world problems, not textbook problems:
1. Try to solve the smallest (but similar) problem you can think of. You'll learn a lot along the way and might figure out if it is doable or not. As a reminder, just because a problem is solvable doesn't mean it's solvable at an acceptable level of cost/time/effort. Solving a similar, but smaller problem will help you estimate the feasibility of the larger problem.
2. If the problem is worth solving, it's probably affecting people who in turn have tried to solve it before and are using either approximations or imperfect solutions. Talk to them, understand what they've tried, what works and what doesn't. If the problem affects enough people It's very likely that a solution exists already, it just hasn't been generalised, productised, or automated yet.
It was probably just a shitty release
Congrats on the launch. Building a product of this complexity is no easy feat! Out of curiosity: given the old adage that a product needs to be 10x to overcome switching costs, how do you prove users that you are 10x better than Google Sheets or Excel?
IMO the cost
Moving to Mars is analogous to a full app re-write.
Instead of dealing with the "technical debt" that we've built on earth over the past couple thousand years, the proposal is that we start off with a clean slate.
I'm not saying it can't work, but if software engineering has thought us anything at all it's that full app re-writes are generally a terrible idea. The sheer complexity and vast amount of unknown unknowns is what generally kills these projects and what would also kill any attempt at re-building civilisation in a foreign planet.
Don't re-write, refactor and fix the bugs on earth.
I found this awesome podcast that goes into several AI & music related topics https://open.spotify.com/show/2wwpj4AacVoL4hmxdsNLIo?si=IAaJ...
They even talk specifically about about applying stable diffusion and spectrograms.
Small reminder: ghana's consumption of oil is 0.1% of the worlds total oil consumption (Source: https://www.worldometers.info/oil/ghana-oil/), essentially a rounding error. Take this into account before making any statements about the ending dominance of the dollar.
There's a difference between not drinking and not being a drinker. If you are able to create an association in your mind between "me" and "not a drinker" it will make it easier over time to reject a drink, either when your friends or colleagues offer one or when you yourself offer one to you.
Do you want a drink? No, I'm not someone who drinks.
This technique is not specific to alcohol, I used it to stop smoking many years ago. I believe it has roots in Buddhism. The idea is to dissociate the "I" with the habit that you want to get rid of.
Another project with similar goals in mind: https://paulbutler.org/2020/the-webassembly-app-gap/
Also backed by YC.
Nassim Taleb's Black Swan is also a great read on the instability (or in his words, fragility) of knowledge. A single observation is quite often enough to break what has been considered solid knowledge for years.
Interesting, thanks for sharing. I've just setup the site so I think it's more likely the error is on my end. Can't say I know the answer but I'll try to figure it out :) and again, thanks for sharing the screenshot!
Author here: thanks for the feedback. I'm not really sure what you mean by all-caps, would you mind elaborating?
Thanks for the quick reply :)
A few more questions
# Maintenance costs & agility
You're not just building a programming language, you're also building an IDE, and now a version management system (through feature flags).
Each of these tasks are hard problems individually, what gives you the confidence that a small startup can build all of them? All of this while trying to make your company profitable.
# Ecosystem
If your language is not hosted, how do you plan on building an eco-system around it. (I know you come from a Clojure background so you've probably seen the wonders of being able to re-use Java's ecosystem).
How does version management work with dark?
Do I get access to the "raw text files"?
"Simple but refined, guaranteed to blow your mind, the land of lisp"
This guy is a genius :D
Thanks John, I'm a big fan of your work :)
Working on https://apibot.co, a testing and monitoring tool for REST APIs.
Many of our customers come from word of mouth plus talking to people. Its been very interesting to see the kind of tests that people built with our tool.
We're still technically in BETA although sales are going slow but smoothly. Send me a message if you are interested (fernandohur at apibot.co).
Cursive is a very mature project nowadays. I'm surprised at how advanced it is considering how dynamic Clojure is.
I have to confess its not turing complete (yet) so technically I shouldn't go around calling it a programming language.
The project is still in its early stages, so expect some hiccups. All feedback is greatly appreciated :)
I just want to thank the Clojure(Script) team for such an amazing work. It really is a joy to work in Clojure(Script) and improvements like this make it an even better tool to work with.
Keep up the good work!
Happy to see this one here :)