328 karma · joined February 18, 2013
I've never actually managed it - the edge cases mean I end up chasing my tail around instead of "just coding the app".
Now I use small libraries for individual parts (like menus and forms) but even then 50% of the app becomes special edge case forms anyway. Accepting that the job is to just implement the spec and not invent a rube goldberg machine is an important lesson to absorb.
Then I remembered how it felt in 2000 where all you needed was a website for pet food and folks would throw money at you.
So I write a tiny program in the lang of my choice and invoke it from that place in the bash script.
The balance between the two tools is great - your advice is spot on for me.
This quote from the Readme stands out:
> The LCFS filesystem operates directly on top of block devices, as opposed to over two filesystems that are then merged.
Unless you know for sure what limits you will hit - it makes sense to iterate quickly and find out. Then, if the service is actually hitting limits (and probably not the ones you thought) - re-write it in a multi-threaded concurrent language like go, elixr etc - or a language designed to solve the actual problems the service is hitting (which might be disk i/o or other infrastructure level things not language choice)
They allow your redux containers to concentrate on selecting state and triggering actions and the async stuff stays out of the way in 'workers'.
Defo worth a look if your redux project has more than a few pages.