Avatar
Mo Bitar :ferris:
979383f8767c5d795fcad86f82dc7b38b384c1a473710c433014dc2c0fb0e359
PhD student in programming language research @ KIT, Germany πŸ’»οΈ #Rustlings maintainer πŸ¦€ I post about … :ferris: #RustLang :tux: #Linux :opensource: #FOSS I only follow people with a technical feed. Don't take it personally if I unfollow πŸ€—

nostr:npub18wpm7rn8f5tuvuls39hlam6pepzs6qcf4g2wuvqxjvjmfw3qckxsxk8v8s Do we really want GUIs with even longer startup times than Snaps and Electron?

nostr:npub1dckk9kgtlsewe6srkx48j04zfvmh94wkc0r7uu03p3krp90308nqszhxyw Nice! I would love to help if you have any questions about Zola :ablobcatheart:

nostr:npub1rnq3kmah2jqlewmgsv3w0mus7znmn7teupxctuyqwuaamwc4mmusdx7anc I would be interested in contributing, but I can't promise that I get time to do so :/

Nextcloud is slow and resource heavy because of PHP. #RIIR

nostr:npub1e08ly78d02u00zjqy4y647vw6mlw2m7wragpehrxvmft4cgul5wqxs6ucj This means that I should settle on one database. Since PostgreSQL is much more flexible, I would prefer keeping it.

But since you are the first one trying to use OxiTraffic, I could also make a breaking change to only support SQLite and hope that no one did host it until now except me. I can do a hacky migration for myself.

nostr:npub1e08ly78d02u00zjqy4y647vw6mlw2m7wragpehrxvmft4cgul5wqxs6ucj It would be much easier if you could host PostgreSQL. How did you plan to host OxiTraffic? If you are using Docker or Podman, then that would be only one additional container. Maybe I could also update the template compose.yaml to include PostgreSQL for a better getting started.

nostr:npub1e08ly78d02u00zjqy4y647vw6mlw2m7wragpehrxvmft4cgul5wqxs6ucj I did look into it and did also update my helper crate to support SQLite too:

https://codeberg.org/mo8it/oxi-axum-helpers/src/branch/main/CHANGELOG.md

BUT, when I wanted to implement support for both databases in OxiTraffic, I did realize that SQLx does not have good support for multiple databases yet:

https://github.com/launchbadge/sqlx/issues/916

and

https://github.com/launchbadge/sqlx/issues/121

I could use one of the suggested workarounds like having multiple crates in a workspace, but that would be really overwhelming for testing, publishing etc.

nostr:npub1e08ly78d02u00zjqy4y647vw6mlw2m7wragpehrxvmft4cgul5wqxs6ucj This means that I should settle on one database. Since PostgreSQL is much more flexible, I would prefer keeping it.

But since you are the first one trying to use OxiTraffic, I could also make a breaking change to only support SQLite and hope that no one did host it until now except me. I can do a hacky migration for myself.

nostr:npub1e08ly78d02u00zjqy4y647vw6mlw2m7wragpehrxvmft4cgul5wqxs6ucj It just became the default database system for me since it is more flexible than SQLite. But since I don't have any complex queries in OxiTraffic, I will look into supporting SQLite as well. I will let you know when I have progress :D

For me personally, it is just an additional Podman container. But I understand that it is not as convenient as SQLite.

nostr:npub1e08ly78d02u00zjqy4y647vw6mlw2m7wragpehrxvmft4cgul5wqxs6ucj I did look into it and did also update my helper crate to support SQLite too:

https://codeberg.org/mo8it/oxi-axum-helpers/src/branch/main/CHANGELOG.md

BUT, when I wanted to implement support for both databases in OxiTraffic, I did realize that SQLx does not have good support for multiple databases yet:

https://github.com/launchbadge/sqlx/issues/916

and

https://github.com/launchbadge/sqlx/issues/121

I could use one of the suggested workarounds like having multiple crates in a workspace, but that would be really overwhelming for testing, publishing etc.

nostr:npub1k7fuy82fk3ncpy339t7wqplzgw2s38xm2axhpcf62sqwhlyzw79qgwgqqs Using Silverblue for years now. Perfect, stable desktop with recent software. Just for the case that something goes wrong, you can roll back very easily. I did install it for my girlfried and she uses it since she bought her laptop. Upgrades are not a problem at all.

Replying to acedd8c7...

nostr:npub129gvast08lj986yftn7q5qlnj8yfqufxx0m33s9u5xssjm8c64rsve4kwg so I looked into it, and I don't have the energy to manage PostgreSQL πŸ˜…. Any reason you chose that over an embedded SQLite database?

nostr:npub1e08ly78d02u00zjqy4y647vw6mlw2m7wragpehrxvmft4cgul5wqxs6ucj It just became the default database system for me since it is more flexible than SQLite. But since I don't have any complex queries in OxiTraffic, I will look into supporting SQLite as well. I will let you know when I have progress :D

For me personally, it is just an additional Podman container. But I understand that it is not as convenient as SQLite.

Replying to TheFourthIdeal

nostr:npub129gvast08lj986yftn7q5qlnj8yfqufxx0m33s9u5xssjm8c64rsve4kwg Start with C. Implement a double ended list. Curse the lack of a package manager. Curse segfaults. Curse your life for becoming a programmer. _Then_ switch to Python or Rust. ☺️

nostr:npub1aerp7mrxfgmcv62xr7cjt0zglrkrddclqq75nk37ztep9yxk46lq57xfpd You could also do the same with C++. I am not sure if you would hate programming more or less in comparison to C xD

I still have nightmares of SEGFAULT xD

Replying to Avatar Southern Wolf

nostr:npub129gvast08lj986yftn7q5qlnj8yfqufxx0m33s9u5xssjm8c64rsve4kwg I'm sorta inclined to disagree with this. I do think you should definitely focus on having a strong grasp of one language (or perhaps a couple languages, depending on the circumstances. HTML/CSS/JS are always gonna be a MΓ©nage Γ  trois, for example, so you'll learn all three along the way regardless).

However, there is benefit to having a wider breadth of knowledge about other languages, even if the skills learned there don't translate well to other languages. I learned Java academically in college, though that is where I also came to loathe it... But, I still have that knowledge (to a basic extent) should I ever need it. From a practicality standpoint, having that knowledge definitely opens more doors of possibility for you in the long run.

nostr:npub1z70sk8dp9daycrrpg4xwss9t0cujpxat5u6ynxc9yy2tvraw890sqgjtuz I agree with you! Learning a language in an academic contex offers probably enough time to pass the surface. I don't say to get stuck on only one or two languages, but get a good understanding of them first before hopping again.

nostr:npub185aqyg5y09u7d4g0gzdyf5n0dwgh0v8nrk77qzj0q4k6dfxh4m2qrve3wn I think that I have to elaborate on what I mean with mastering a language. I don't mean syntax nor ecosystem. I mean that you have to solve different problems with a language before hopping again. Some of the concepts I think one has to try in a new language to get a deep understanding:

- Multithreading

- Async

- Interfaces (or traits) and/or object oriented design depending on the language

- GUI

- Small web server

- Functional concepts like iterators

- CLI

- Project organization

- etc.

nostr:npub185aqyg5y09u7d4g0gzdyf5n0dwgh0v8nrk77qzj0q4k6dfxh4m2qrve3wn But if you learn Flask in Python for example and master its ecosystem without trying anything else, then you probably should expand your horizon. I was there myself and got stuck on Flask too long missing out on all the deep concepts I wouldn't have learned without learning Rust.

But, because I had a good understanding of how backends are designed in Python, I was able to pick up backend development in Rust while learning its new concepts.

Replying to Avatar Achim Domma

nostr:npub129gvast08lj986yftn7q5qlnj8yfqufxx0m33s9u5xssjm8c64rsve4kwg I strongly disagree. Obviously you have to start with one language. πŸ˜‰ And yes, you should try to get some deeper understanding in at least one or a few.

But there is absolutely no need to master your first language before looking for other ones.

In my opinion very few people get the difference between a theoretical concept and its concrete implementation without learning multiple languages.

We have way to many developers thinking that OO is identical to what Java does. πŸ˜‰

nostr:npub185aqyg5y09u7d4g0gzdyf5n0dwgh0v8nrk77qzj0q4k6dfxh4m2qrve3wn I think that I have to elaborate on what I mean with mastering a language. I don't mean syntax nor ecosystem. I mean that you have to solve different problems with a language before hopping again. Some of the concepts I think one has to try in a new language to get a deep understanding:

- Multithreading

- Async

- Interfaces (or traits) and/or object oriented design depending on the language

- GUI

- Small web server

- Functional concepts like iterators

- CLI

- Project organization

- etc.

Replying to 790a31ec...

nostr:npub129gvast08lj986yftn7q5qlnj8yfqufxx0m33s9u5xssjm8c64rsve4kwg I don't think I agree. First, most of the languages have a lot in common. Second, if you learn different languages, you start thinking about programming beyond syntax, since you understand how something can be expressed with different syntaxes. With new languages, you also learn new patterns and ways of thinking, which makes you more flexible in problem-solving. Most programming problems do not need a deep understanding of a language, you can always google the rest.

nostr:npub1daaawaqtsktl4zcsfxtdex0zq0hwqgx0qfvew5yt6z0nercac37s7v4e50 I agree with you that you should try new languages at some point and learn from what makes them unique.

You shouldn't be the one that knows only one language.

But if you start the hopping before mastering a language, then you will never know how async programming really works behind the scene for example. You only learn the new syntax for using async.

I did just unsubscribe from ThePrimeTime (another channel of the ThePrimeagen) because of that. He is getting the Linux distro hopper for programming languages.

Rust, Zig, JS, TS, Go, OCamel, Nim, etc.

Just for the Twitch audience. You know why? Because it is easier than talking about deep concepts in one language. Scratched the surface? Let's move to the next surface before the audience gets bored.

Syntax is easy. Look beyond syntax.

Language hopping is like distro hopping.

You always stay on the surface and waste time on relearning the same thing in a new fashion instead of getting things done and having a deep understanding.

Be an expert in one language before hopping to another.

I am biased towards #Rust. But I would still tell you to start with something like #Python or #JuliaLang and get good at it before moving on to Rust.

Focus and fight against the shiny object syndrome!

#RustLang #Developer