zaksingh
Miniswap is a marketplace for complex hobbies, starting with Warhammer. We're backed by Y Combinator and have just closed our seed funding round. In the past six weeks since we launched, users have listed $150,000 of tabletop wargaming miniatures for sale on Miniswap and over $15,000 have been sold.
We're looking for a founding full-stack engineer who is passionate about their hobbies -- whether it be Warhammer, Magic: The Gathering, mechanical keyboards, fountain pens, you name it.
We have an opinionated tech stack: deep use of PostgreSQL (composite types, functions, etc), Rust for our monolith, and HTMX with modern vanilla JS/CSS. Our mentality is to extract the utmost value we can get out of these technologies before introducing additional infrastructure and frameworks. No ORMs, npm, React, etc. If this prospect excites you, please reach out :)
Previous professional Rust experience is not a strict requirement for the role.
Compensation: $100-180k + 0.5%-2% equity
Contact: [email protected]
As an aside, thinking back to learning React seven or eight years ago by watching a bunch of tutorial videos where they'd switch between IDE and browser views or awkward split screens, this seems like a way better format for explainers/walkthroughs of frontend code.
For example, arena allocation strategies (i.e internment of identifiers and strings, as well as for allocating AST nodes, etc) is a very effective optimization in batch compilers, as the arenas can live until the end of execution and therefore don’t need “hands on” memory management.
However, this doesn’t work in an incremental environment, as you would quickly fill up the arenas with intermediary data and never be deleting anything from them. This is one reason rust-analyzer reimplements such a vast amount of the rust compiler, which makes heavy use of arenas throughout.
As essentially every programming language developer writes their batch compiler first without worrying about incremental compilation, they can wind up stuck in a situation where there’s simply no way to reuse their existing compiler code for an IDE efficiently. This effect tends to scale with how clever/well-optimized the batch compiler implementation is.
I think the future definitely lies in compilers written to be “incremental first,” but this requires a major shift in mindset, as well as accepting significantly worse performance for batch compilation. It also further complicates the already very complicated task of writing compilers, especially for first-time language designers.
What makes a good standard library?
I've been working on a new programming language and I've started to think that the design of a language's standard library (in terms of error handling, consistent naming, consistent argument ordering, types, etc) has a greater impact on the learning curve and ergonomics of a language than the more commonly discussed syntax differences and unique features.For example, I can _never_ remember if a...
Bill Gates and Steve Ballmer Night at the Roxbury
The SQLite Code of Ethics
That's not a bad thing (and it's better than the alternative of not caring for design patterns whatsoever). It's part of the learning process, and since there are so many beginner developers who are using React, their perspective is much 'louder' than in other dev ecosystems.
You can see this in the absurd amount of introductory-level React content posted to Medium, DevTo, Twitter, etc. This has bred a very strong 'follow-the-leader' culture where, when the one person is the room who _does_ know what they're talking about makes a statement, others will repeat it verbatim without understanding its nuances due to a lack of experience/context.
Redux suffered heavily from this. New React devs in 2017 were faced with mountains of tutorials which all used Redux. Many of these tutorials were written by other newbies. Your mental model of React dev was then shaped around Redux. Therefore you would put everything you could into the Redux store, which is a bad idea -- you usually don't need form state in there, for example.
Then some React thought-leaders saw this problem and inadvertently created a counter-movement by raising how Redux was overkill for some use cases, which was misconstrued as 'you shouldn't use redux _at all_'. The pendulum has been swinging back and forth ever since.
Yes, not every application needs separation of concerns. But some definitely do. It's not black and white, and that unfortunately means there's no definable 'best practice' that can be tweeted or blogged about and followed blindly -- it just has to be learned from experience.
However I think it’s missing the point of de-coupling. Security would be very hard to reason about, as would handling of intermittent network connections when the real structure of the client and server are abstracted away from you.
Ultimately I think GraphQL with live queries is the best model for this type of reactive work. You get a decoupled client/server, reactivity, support for mobile clients as you have an API, as well as full type-safety on the client.
Nonetheless I applaud the creativity on display here and I hope I’m proven wrong. Maybe this will be the next paradigm shift? Who knows
Ask HN: How do you run your customers' apps?
I'm working on a tool that requires running my customers' APIs inside of self-contained environments. They can create/destroy these environments at any time. Is there a 'best practice' method for this situation? Some googling turned up very little (maybe I don't know the term for this type of thing), so I thought I'd raise the question here instead.My gut instinct is to run each inside of its...
These questions are too much for laypeople, and I can't imagine a scenario in which your friendly local system admin is your service provider for a critical service in your life like Facebook. Could you imagine email working that way?
I see federated systems naturally ending in centralization in the form of a couple big megacorps that the average person trusts to not shut down tomorrow. Convenience and ease of use will win out. It happened with email, it arguably happened with xmpp back in the day. Change my view?
Ask HN: How to Scale an API Globally?
Our small startup has managed to gain traction in the US, UK, and India. All 3 regions are desirable. Currently we are hosting a GraphQL API on Heroku and our DB and some other services (an Ejabberd server) on GCP. These are all in the US.Users in the UK and India complain that our app is very slow. I can replicate this by running through a VPN in those regions. In the US the performance is...
We do the same for moderating user photos (they get posted into slack with a "remove" button) as well as for other moderation features. I highly recommend this approach for when the volume of reports is manageable.
Ask HN: Is “No Code” the future of web/app dev?
It's been "the future" for 40-ish years now, with dozens (if not hundreds) of failed attempts. At some point, one has to wonder: are we there yet? If not, why aren't we?To me it seems logical that designers should one day be building frontends through visual interfaces that are almost as malleable as tools like Sketch. It seems to me that many features from design programs (like Framer) seek to...
Ask HN: Do you use a mood tracker / journalling app? Why/why not?
I've bounced between paper notebooks, Apple's notes app, and have recently begun looking at apps designed specifically for journalling and/or mood tracking. Is there a better alternative? Is it even worth the time investment?