41. Get up at 6:15-6:30. Take 15-20 minutes to wake up, brush teeth, toilet, drink some water. Put on workout clothes, do either 45 minute run outside (no matter the weather) or 20 minute kettlebell workout. Meditate for 10 minutes if time permits. Take a cold shower. Wake up wife + daughter if they aren’t awake yet. Prepare daughter for kindergarten, eat something in between. Start work after getting her to the kindergarten.
I just know I‘ll have a better day if I can slot in workout, meditation and cold shower.
Looks great. Tiny UX nitpick: The light/dark mode switch can be simplified. I am in one of those states already so this is basically a toggle. No need to show two options in a modal.
oh i liked that. I was in dark mode and the last thing i wanted was for the background to go all white but I was curious what that menu option did so I clicked it. Maybe there will be 3 options in the future too!
I like datalist quite a bit for „poor man‘s autocomplete“ - you can dynamically fill it via JS and will get the suggestions shown in the completion fields above the keyboard on mobile and… well, something (?) on desktop. Not as nice as an autocomplete, but with way less issues re accessibility etc.
Edit: Forgot two things:
- You can disable the `fieldset` attribute to disable all inputs within. So properly nest your forms and you‘ll have a simpler way of controlling forms.
- Buttons can have a `value` attribute which works great to differentiate between various action paths for e.g. list items (delete, edit,…)
Last thing I built is using SST for some lightweight recurring TypeScript lambda functions + DynamoDB for data storage. Plus a very simple one-page Remix + TailwindCSS frontend because deployment of that through SST is a breeze as well. It is the stuff I know and can easily handle.
For anything new, I'd try Phoenix to see what I can achieve with Elixir and a non-React/Vue frontend.
Thanks for the great reply, really appreciate it. I found the basic setup to be quite straightforward – using zsh which seems like a lucky choice now :D
I'm currently working on a backoffice software. You can do that with literally any language/framework. But as you mentioned, adding near-instant sync for different users would simply be a breeze compared to any backend with a React-ish frontend from what I saw so far. And I can totally see affordances for such a type of software going into this direction.
Oh wow. I did not expect this question to gather THAT much feedback, but I absolutely did not expect you showing up in the comments. Thanks for your work – it brought me to appreciate the functional programming viewpoint even with a first few steps into the language. It is a way different viewpoint compared to what I see in my daily work and will surely influence how I code in the future :)
Hi HerrBertling! I am glad you are enjoying Elixir and learning new things, I appreciate the nice words and the opportunity to be a positive influence. :)
Since I’m coming from the FE side - that’s exactly what is bothering me. I feel like Remix is a good step into the right direction, baking a backend-ish part of the stack into the FE. And crossing the networking gap in an elegant way. I see the same in Phoenix. Well, I guess I’ll fiddle with it for a bit and see if I can even handle the stack at all.
Really appreciate your focus on economic reasons. That indeed makes a lot of sense.
I guess the gamble to use Elixir/Phoenix only pays off in certain circumstances and if your business grows in such a way that you can simply afford to hire more expensive devs in later stages of the journey.
I would second his opinions and take it a step further ... people here will debate tech stacks til the end of time but in the grand scheme of things picking a tech that has a much smaller and more expensive talent pool could be a scenario where that choice is a death knell for the project (could be, not will be). The low adoption rate also means more abandoned libraries, less variety of libraries and possibly having to DIY things. These all add time to a project on top of a learning curve (which will vary per person) which make it more expensive.
I'm not advocating always pick something with the lowest $/hour rate. There are a lot of other choices out there that are not going to have risks around technology choice.
Long term maintenance is a concern too, not of Elixir, of the apps built with it. When that app goes into a maintenance mode (still providing value just doesn't need new/active development) the devs will likely move on to other work/companies. Now to do support work you have a small+expensive talent pool that doesn't likely want to do support work.
If you're a fan of Elixir, don't take this as me saying "no", I really like the things I learned (and continue to learn) working with it. Its just trade-offs that mostly are on managements shoulders. The developers advocating for it take no risks really.
I just know I‘ll have a better day if I can slot in workout, meditation and cold shower.