With React / TypeScript, even the setup of the test suite as I mentioned is painful, which one do you use? playwright? that one is going to be slow and cumbersome, LiveView's built in test suite does the same thing and is much more lightweight and fast. If not playwright which do you use? Jest? Vitest? this is the problem with JS community, too many choice on things that in the end don't matter to the end user.
Also the fact that you have to setup API endpoints for your data, with liveview, you have direct access to the data. You can load any state with a function call instead of having to develop a separate endpoint for your frontend, handle hydration etc... You need real-time updates? It's done out of the box, you don't have to think about it. With react, that stuff is just ALOT to do.
I ended up removing a lot of controllers from my codebase that was there just to service the react front-end. Having those controllers do not service as the "API" of the app. Specs for front-end apis and core APIs are usually quite different based on my experience.
The easiest way I can explain it is LiveView is the least friction between thought and output. React / TypeScript just gets in the way because of all the choice and abstractions you have to build for it.
Don't get me wrong, React still has it's place, there are things I would still use react for, like if I need to render something visually rich, like a flow diagram (reactflow.dev), or video component, or make something like Figma, or a calendar / gantt chart, but for most front-end UIs (95%) you just don't need React.
I recently converted an entire React / TypeScript frontend to LiveView (will open-source the project soon). I've gone much faster with LiveView. Something which use to take me 4-5 weeks to build with React / TypeScript now takes 4-5 days.
The main reason for that is, the LiveView test framework is super simple to work with. I didn't write any tests when I was doing React / TypeScript just because it seemed so cumbersome to setup. Having a test suite that works out of the box made me write more tests for my front-end.
Not having to build API endpoints for my react components is also a huge accelerator in productivity.
In the end I ended up writing less code, with more polished / well tested front-end.
Thx for your feedback. Most of the workload still happens inside a job queue however for this case we deem that it’s not necessary. Fortunately it’s working well for us, the task async part is also adaptable if the problem becomes more complex than what it needs to be then we can handle those cases accordingly. However we still believe throwing everything in a job queue isn’t always optimal either.
For error handling when the task fails it sends a message to the genserver we can also use that opportunity to handle retry, or do a strategy change where after first failure we throw it into a job queue.
This way we optimize for user experience and at the same time have a robust strategy for handling failure. I guess that can be another blog post on its own.
Thx! For networking, it's all handled by LXD, it supports fan networking out of the box. All PAKman does is build the package.
Once it's delivered the entire runtime / lifecycle / upgrading / bootstrapping is managed by LXD/LXC containers.
It's definitely possible to open up PAKman's support for other build environments. I mean at the end of the day it's just an alpine linux package. As long as you can use alpine's package manager it should work.
https://instellar.app can also serve as a repository for your package. This was an option we considered to enable earlier, but figured people might just want a fully integrated solution.
In this post I show you how our product instellar.app handles multi cloud deployments. Instellar also makes it easy for you to manage multiple installations of your apps.
Installations basically turn your single tenant app into a multi-tenant app without having to manually code your app to support multi-tenancy.
We also give you a sneak preview of some of the work going into making Rails and Python based Apps compatible with Instellar.app!
I have been working on https://instellar.app to solve this very problem. It allows you to use s3 compatible storage and your compute / database provider. So you can use hetzner or digitalocean or AWS or google cloud, anything you want. For your database you can use digitalocean’s managed / Aiven.io / RDS / Google cloud SQL. This tool brings it all together and enable you simply focus on shipping code.
It does load balancing / automatic ssl issuing out of the box. It will also allow you to scale horizontally. I’m working towards making it public soon.
May I ask what backend platform / language are you using? I ask this because I've been developing something which is due to be released within Q1 of this year, and would like to understand my target market.
Currently my solution works for Elixir / Phoenix and static pages. But I'm working on expanding to ruby / rails and nodeJS based frameworks.
I'm guessing Apple is not going for quantity but quality. Like everything else they do. Once they figure out what gets them high quality then they figure out how to do it at scale.
I see this in all of the things they do.
The one thing you see from Apple is though. Once they choose to do something they don't give up easily. Case in point Apple Maps. When they launched it they met with a lot of criticism. Now they're going back to the drawing board and re-doing the entire thing.
They really don't give up. I admire that about them.
p.s.
If someone hasn't watched Foundation on Apple TV+, I highly recommend it.
Creator here. Feel free to ask any questions. I've shutdown the site a while back due to inability to properly maintain it (since my job was so demanding). However it's much more manageable now and I intend to produce more content, and hopefully bring back the site.
Generally, in such cases, he may be right / wrong. It doesn't really matter if you ask me. The way I see it he already has a successful business. He doesn't need to pick on stripe / YC.
Building a successful business is difficult. A great idea / execution / being resilient will always get you a good share of the pie. That's the beauty of free market. Just because 1 or 2 people don't like you doesn't mean the whole world doesn't like you.
I think the author is making Stripe / YC much larger / bigger than it is.
If the author is reading this. Just focus on building and shipping the best product. Everything else will work itself out.
At the beginning of my current job (I joined as CTO) I had to inherit a lot of misunderstandings that the management team had.
They had hired people who knew nothing about building software (before me joining), most likely those people have never really built and shipped anything. Everyone on the management was under the impression that software is easy and everything needs to be delivered on time and if it's delayed we need to throw more money at the problem and that would solve the problem. They would continuously ask for "timelines" and never understood the word "estimate". They knew the definition of the word but could never accept the reality of the definition.
I was tasked with building a brand new core banking engine and a kyc engine. I talked to the existing tech team that was there and none had ever done anything complex. Mostly they just knew how to write some basic PHP pages to do some simple tasks like rendering a CSV table for a specific report etc... So they needed to first be trained.
To cut a long story short I was the only one on the team to be able to write productive code to build such a complex system. I hired someone who could write code to help train the existing team. However given the complexity of the problem and the tight timelines I had to solve. I basically did the design and implemented about 70% of the code myself while my other teammates were being trained. This also included building a KYC engine along the way. I remembered suffering immensely building the engine and hiring / building the team. I would focus on working with the team during the day and coded at night, since that was the only time I could get un-interrupted hours to code.
I worked til 2AM almost every night for 7 days a week for over a year (6 months to get it to launch and then refinements / continuous improvements after). To complete the engine and get it to serve hundreds of thousands of transactions every month. I was never paid for overtime. Today the company stands strong with handsome profits.
Trust me. I can tell you, the problem is not the developers / process / agile / kanban / etc..., the problem is management. It's always management. I was able to get management to understand the true scope of the task by stopping working overtime and standing my ground (when the company had recovered and was able to produce a stable income to support itself).
The overtime I did hid away all the 'complexities' and the 'debt', and prevented the company from learning. I basically ended up paying for the company's mismanagement / toxic culture with my time. Fortunately a lot of toxic people left the company, a growing company will generally push out the non-performers organically. It took a lot of effort on my part personally to resolve issues plaguing the company, establish an engineering culture, build a strong tech team that can withstand pressure and deliver continuously and can build on top of the framework I provided.
The lesson has always been. It's never the software team (at least never the team I manage) whom are not productive or doing their best. It has always been management / company culture / never truly understanding the scope / requirement enough to understand how huge of an undertaking a given project is. I can tell you without a doubt this article pretty much hit the nail on the head. I'm living proof and have the battle scars to prove it.
Now I tell management about time estimates as it is. "No fixed timeline, the team estimate, the team builds, it's done when it's done, live with it or fire me."
I've fortunately afford myself the position to be able to deliver the truth serum to management and they have no choice but to accept it. It didn't come cheap, I'm still scarred.
A combination of a few things, mental stamina, body need proper resting. As I got older, family becomes more important, wife, kids also need time. Also honestly you realize working more doesn't always make you more / nor does it make you happier. It's important to spend time doing things other than work. You just get wiser about spending your time.