HN user

cersa8

210 karma
Posts1
Comments89
View on HN

Security through obscurity is fine if it's an additional layer in a well thought out security implementation. I've build a bespoke Node.js site/service where I sometimes have to kick out clients due to various reasons. I sometimes fear reprisal and have to consider a targeted attack on my infrastructure. And indeed I do get the occasional hack attempt with for instance hand crafted sql injection attempts (I receive an instant notification when this happens). The best approach in hardening your infrastructure I think is trying to hack your own service by trying a plethora of methods like sql injection attacks or denial of service attacks on your public api's.

I use GraphQL (postgraphile) for my admin backend crud. This allowed me to do some incredible fast development with only minimal customisation (couple of PostgreSQL functions). Anything outside the happy path is handled by a REST API. Maybe we shouldn't think in absolutes, eg: only use GraphQL. For the same reasons I use an ORM, and raw queries where it matters most. The cliché holds true: use the right tool for the job.

I have a much different experience. I use Mollie, probably very similar to Stripe or any other modern payment service provider. I have the occasional failed SEPA transaction due to an invalid reference id but otherwise this is very smooth sailing. There is almost zero friction in the payment process. I might be a small fish with say 40 transactions a day but I guess my situation is not much different from bigger players. Maybe this is because most transactions are in the Euro zone and things go south fast when dealing with international payments.

They are not keen on becoming a hardware only vendor and I expect pushback when alternative OS's gain traction on Apple Silicon.

I find it deeply concerning we are still very much in bed with Putin. We should have taken drastic steps early and maybe be half way in tapping alternative sources. The fact Germany is happily closing nuclear power plants shows Europe is in for a rude awakening when Putin tightens the vice.

CockroachDB and others come with huge downsides in performance and features. I keep trying to see of these databases are a good fit for me but just the sheer time it takes to import my database makes me shudder. I've used the Aws cloud hosted free tier of CockroachDB but ran into transaction timeouts on very moderate loads. There is a reason these databases aren't seeing massive uptake despite their lofty promises.

Have considered and have been told many times this is costing me revenue (which I think might be true). But I've never had a customer ask for it. Which is an important signal for me to consider a feature. Online payments are very easy for my target audience (mostly Dutch retail customers) with iDEAL so the benefits of automatic renewal is low.

I like this a lot even though my primary reason is unexpected subscription renewal. I started a membership site and tried to use every single thing I would want as a customer. One of the things was a reminder that my yearly membership was about to expire, and by doing nothing this would indeed happen. No automatic renewal (but keeping the account in an inactive state). Confident customers can renew for 3 years with a discount, but nothing will automatically renew. Turns out, customers love this attitude and happily renew when it's time.

As a solo dev/founder I had little choice but be a full stack engineer. As long as you don't go overboard with the complexity and enjoy learning, it is very feasible to master the entire stack sufficiently. For me keeping things simple is having a single repo, everything in TypeScript and using popular libraries and frameworks. No kubernetes but a single beefy server with a hot spare. I think being responsible for the entire stack is what makes it so interesting.

Thanks for highlighting this side of "Illegal drugs". For some time I had to order Naltrexone (LDN) for my partner with ME/CFS with bitcoin as it was impossible to find a doctor who could subscribe this, let alone know about this specific treatment. She benefited greatly and it would not have been possible without very spammy looking pharmacy sites and bitcoin. Luckily things have improved and this is now possible using regular channels.

I had a similar realization that setting up a monorepo with lerna or workspaces was going to be challenging. For a Next.js + custom TypeScript / Node.js backend I decided to just add the backend in its own folder with a child tsconfig.json. This way you can have the backend compile to its own dist folder. No need to fiddle with the complex under the hood bundling that's going on in Next.js. It gives you a single git repo and backend and frontend share the same typings. To make things easier you can setup paths in tsconfig.json and use module-alias in package.json for things like

  import {IUser} from '@shared/interfaces/users/IUser'

I've experimented with migrating from PostgreSQL to CockroachDB and YugabyteDB. It makes sense that a newsql DB is slower but compared to to a local PostgreSQL cluster it was unacceptably slow. You lose features and are now dependent on a heavily VC funded startup that may not make it.