@ericjmorey
@programming.devNo.
The current incarnation of OpenOrb works well enough for two day’s worth of code, but I’ve got some future plans for it already
I'm going to throw this out there not being sure how true it is, but I find it interesting to think about.
XMPP is much more widely used than Matrix if you count WhatsApp (Meta/Facebook). ActivityPub is much more widely used than AT Protocol and nostr combined if you count Threads (Meta/Facebook). So reasons why people aren't talking about XMPP include not wanting to recognize that Meta is hugely influential in this space and that most people don't talk about the underlying protocols of the services and tools they're use at all leaving a self selected group of people looking for alternatives with traction that don't depend on Meta. Outside of WhatsApp, there's not a lot of traction with any particular XMPP implementation. And none of the XMPP implementations have a Discord-ish organization of chat rooms that's popular and familiar right now. Matrix has both right now (although I don't think it will ever be more than a small niche in the mobile messaging space).
I'm fine with using Matrix for what it is. There are programming language communities that have been very helpful for me and a number of Lemmy related communities that have been nice to be a part of.
Am I the only one who faces this challenge?
No. There are a lot of small frustrations that add up to a sense of futility. These frustrations can only be addressed one at a time and are annoyingly orthogonal to the task you're trying to complete.
Even more frustrating is that the people who write tutorials are typically well past that early stage of learning and have forgotten about many of the little details they no longer need to think through and are unconscious of the knowledge they are leveraging gained from their early stage of learning. So you can find a lot of tutorials that simply don't address the issues you are likely to run into. Which is understandable to not want to include every possible issue in a focused tutorial, but there are often no hints or resources linked to help someone with the unstated prerequisite knowledge.
Also, you seem to be using Linux and that tutorial has a bunch of screenshots examples for MacOS. This is another annoying trend from the silicon valley based developers of assuming that everyone outside of their bubble is using the same technology stack as they are and often the newest and most expensive hardware options. (Which I suspect is a big influence on Android Studio being as resource heavy as it is.)
Do I have to use Android Studio or it there some kind of native linux alternative?
You don't need to use Android Studio for Android development, but it's probably the path with the least friction for getting started.
But there are a few non-Kotlin options for Android development, Flutter and Progressive Web Applications (PWAs) are two different pathways for Android development which don't require Kotlin.
Ultimately, I suggest that you stick with Android Studio and learn the annoying details that it requires to be used effectively. You'll feel like you're moving much slower than you want to at first but you'll get up to speed eventually. And you can ask here or on forums or chat rooms for help as you're figuring out the details of Android Studio.
My takeaway from this is to use CSP to minimize your reliance on others doing things intelligently. And that Datadog is not doing things intelligently at the inconvenience of their consumers.
From my understanding Redis hasn't been libre software since 2018 so the new competition from Microsoft might be a driver for the licensing decision.
The good news is that the author has a third edition coming out with updated material. But it won't be ready until August 2024. I'm assuming you won't want to wait for that, so I suggest using the current edition to get used to the language and then going through the list of updates and differences in the blog post and "figuring out" how to do some of them on your own.
Also, the author has a book for people who finished Automate the Boring Stuff and want more guidance on good, effective practices with less focus on people with no prior knowledge of programming, Beyond the Basic Stuff with Python, is also available to read for free online.
I should mention that if you have the means, I encourage you to pay for the eBook version of these books on the publisher's website since this allows the author to continue creating updated and high quality content that's free for those who feel that $35 is a strain on their budget. If not, no worries, that's why I paid for his first edition a while back. Al is pretty active online and in the fediverse (@AlSweigart@mastodon.social) and seems like a good dude. He deserves some love, so please give him a thank you at a minimum.
This was a weirdly long reply, but I hope other people subscribed to the Learn Programming community on Programming.dev see it and find some value in it too.
The most pragmatic answer is to learn Python.
The most pragmatic approach to that is Automate The Boring Stuff with Python which is free to read online. But it might be a little dated and you said you want to learn some basics which I take to understand as underling fundamental theory of programming which it doesn't provide.
Think Python, 3rd edition, which is also free to read online and was just updated to use Jupyter Notebooks, is a great introduction to the fundamentals of programming theory, but it is lengthier and will take more time to get to practical projects.
If you really want to get into an introduction to Computer Science theory, it would be hard to find a better introduction than A Data-Centric Introduction to Computing which is used at Brown University as well as others in their introductory Computer Science courses. It's can also be read online for free.
For website things, the MDN Web Docs hosted by Mozilla is the best resource out there.
For Linux server stuff, Linux Upskill Challenge is a wonderful resource.
Have fun!
I will upvote this every time I see it. Cross-post, re-post, doesn't matter. I'm going to upvote it.