Went from Atom, to VSC, to Vim and finally to Zed. Never felt more at home. Highly recommend giving it a try.
AFAIK there is overlap between Atoms and Zeds developers. They built Electron to built Atom. For Zed they built gpui, which renders the UI on the GPU for better performance. In case you are looking for an interesting candidate for building multi platform GUIs in rust, you can try gpui yourself.
People have been using editors that look comparable for decades that dont need fancy GPU rendering to be fast and responsive. What is happening that stuff like that is necessary now?
GPU rendering in some form or another (mostly just bitblitting characters, I guess) has also been common for decades. Classic hardware text mode is basically just that. Also, display densities and sizes have gone up (for some of us).
The first time I used Zed, I really noticed and appreciated the very low latency between a keypress and visual result. It created a great sense of “connection” to the experience. (I’ve previously used VS Code, Emacs, Sublime Text, JetBrains, and others)
Alright, most people won’t want a significant portion of the web to go 'beep bop'. But the use cases listed on the website (notifications, game sounds) are valid, I think.
This happened to plenty of people with Stripe as well.
Doesn't mean Paddle isn't a good place to start - but as you get bigger, you should probably look at other solutions as well, to de-risk your payments infra. It's just that at the start it's too expensive, even in B2B, to think about multiple payment providers to spread risk.
A calorie tracker app has been my tool of choice for the past few years, one that includes a catalog of food items, meals, and recipes.
The two most useful features are the barcode scanner (scanning is much easier than typing into a search bar) and the fact that it knows, for example, how much a slice of cheese from a scanned package weighs. Weighing the food is actually the most annoying part, at least for me.
It’s even trickier when you're having breakfast and need to weigh butter, etc., before and after to get the difference, to avoid prepping everything beforehand.
All that sounds annoying, and it is. But compared to exercise, it has been a great time investment for me. Weighing things and using this app takes about 5 minutes a day. It yields results I'm happy with and significantly reduces uncertainty.
When you're unsure if you can eat one more thing near the end of the day, you can just look it up. Otherwise, uncertainty, at least for me, leads to under-eating, causing more hunger the next day, or overeating, jeopardizing the goal.
The thought of using an LLM to analyze a picture is intriguing.
I tried laying out items from the fridge on a plate and asking an LLM what I could make from them. That worked surprisingly well. But I like your idea much better.
The question is how accurate that would be. But snapping one more picture and testing it for a few weeks sounds fun.
I actually do that frequently to comply with my ketogenic diet - take a photo of the macro nutrients quantities, calories from the nutrition facts table on the food package and use ChatGPT or some other LLM to calculate the estimated calories per portion.
You can then validate the data by tracking your lost calories (calculable from your lost weight - I do it each week) and compare with the predicted weight lost calculated from the vendor 's nutrition facts table.
I had great results with calorie tracking, and I think it's because it recruited some part of my brain that is rather frugal, viewing calorie numbers like money, where some expenditures aren't justifiable and others are getting a good deal.
A realtime multiplayer bullshit bingo game with prefilled or custom bingo cards for things like online meetings or apple keynotes.
Demo link is in the readme if you want to try it.
I always wanted to build something realtime-ish for the web that multiple people can use simultaneously. I was wondering how such systems could work and how hard the realtime part would be.
Here I'm using Postges listen/notify to let my rust service know when tables change without having to query these tables all the time. First I was using one listener for every websocket connection. But a listener keeps a postgres connection hostage, so it would cause problems with too many clients holding a WS connection.
Next thing I tried was to have just one listener and send updates to the websocket handler via a mpmc channel. But the channel receivers remove messages from the channel once they read them. Thats unfortunate since changes in a game of bingo are relevant to all players. Meaning that only one random receiver reading the update for a game would be bad for the other players.
Now I'm using a channel type from the tokio library called "watch". It contains just one value and receivers can await changes and don't remove the value from a channel on reading it. That allows broadcasting changes to all receivers so that all players getting realtime updates about the game.
Next I might look into WebRTC DataChannels to send game updates from client to client without the server in between (mostly).
Is someone else working on a similar problem and has repos to recommend?
Impressive work. I have been working on a similar multiplayer quiz game but the tech stack is a bit different: Preact, HTM, Node.js, Web Socket and File System.
1. website: https://demo.moochee.us
2. github: https://github.com/moochee/moochee
Went from Atom, to VSC, to Vim and finally to Zed. Never felt more at home. Highly recommend giving it a try.
AFAIK there is overlap between Atoms and Zeds developers. They built Electron to built Atom. For Zed they built gpui, which renders the UI on the GPU for better performance. In case you are looking for an interesting candidate for building multi platform GUIs in rust, you can try gpui yourself.