I find Gnome 46 to be very promising (proper font rendering on hidpi displays as well as an actual tray, finally) so I'm learning GTK4 + libadwaita app development.
Dart/Flutter currently, for cross platform application development. Not adverse to learning native languages or the various web frameworks, I just wanted to have one codebase across multiple platforms. I discounted the web frameworks because, as a novice, I didn't know where, or what, to begin with; I didn't want to make the wrong choice.
Other than that I'm learning powershell too, mostly forced to for work, but actually it's not a bad language.
Just the github repo at the moment, specifically the "How to make the device" page[0]. I had to search on youtube to learn what a breadboard does. I watched this one[1].
Do you (or anyone else) have any suggestions for hands-on resources? I have Practical Electronics for Inventors, but you don't build anything until Chapter 7 (Page 551). I learn better when I'm making things.
This is a bit dated, but if you are interested in general electronics (rather than digital electronics), you can try https://repairfaq.org/.
Digital electronics is in many ways much easier, but the analog part tends to sneak in everywhere, especially when you find your digital stuff isn't working. I think it's hard to design anything new, even digitally, without at least a working knowledge of how Ohm's law, LRC circuits, transistors, diodes, op-amps, etc. work.
I don't think it was this course, but I recall checking out an impressively thick book meant for US Navy technicians. The advantage there is that the assumption (unlikely college textbooks), is that you are intelligent but not college educated, and you need to know how to work on nearly anything electronic. Again, the focus is mostly the analog side. https://archive.org/details/NEETSModule01/mode/2up
- how to build a fence and trying to wrap my head around convolutions and learn some stats in the process (theres a pretty good 3b1b intro on it but where to go next to actually learn it).
Learning how to weld at PS:1 was fun.... but the safety film on what NOT to weld (due to the chances of dying, especially CHROME) pretty much has me sticking to hot rolled steel only.
It's a fun journey -- I hope you enjoy it! I never liked math, until I read Abrash's "Zen of Graphics Programming", and learned that graphics is chock-full of math :D
1. How to administer a secure network for a property with multiple vacation rentals. I bought a bunch of Microtik components so I’ll be learning RouterOS and how to setup VLANs.
2. Ray tracing in a weekend but in Rust.
3. How to return to the job market after 4 years of off and on freelance and being a caregiver for sick parent.
Rust, CUDA and JAX - I'm guessing one or more of these will be in increasing demand with a relatively high barrier of entry compared to other software tech
I have found learning JAX to be rewarding. Of course this depends on the work you do - but if you want to occasionally code out problems which involve some kind of an optimization of a differentiable quantity (without you having to work out complex gradients), JAX is perfect.
Like any completely new area. I'm exploring my options, connections and hacks that will help me to skip the muddy parts quicker. Mostly clueless and anxious atm, but it's been only a couple of months since the idea became an intent. Whole last year I was doing nothing, restoring from burnout.
More physics and mathematics. I am currently on Lagrangian mechanics and calculus of variations. Am also learning Jupyter and SymPy for visualizarions of the same.
During my high school, only Newtonian mechanics was taught, whereas in engineering college, they introduced quantum mechanics with Lagrangian/Hamiltonian formulation, skipping classical mechanics with those two.
Self-learning via books. I've bought a bunch. Am currently going through Susskind's Theoretical Minimum Classical Mechanics [1], also looking through No Nonsense Classical Mechanics [2].
AI chatbots sometimes come to rescue when I am stuck. Not with mathematics though.
I’ve been building small web UI applications. I’m a backend developer who has been curious about people claiming that web components are all you need for UI. So I’ve been finding out how far I can get with rollup with only the Typescript plugin.
Learning a couple of jazz standards on guitar. Building a RAG model over bespoke documents. And streamline, react, or some other web tools so that I can make better interactive demos.
There's certainly a lot of interesting things happening with Rust but I'm one or two problems away from deciding that Rust isn't a viable replacement for the situations where I use C.
I suspect if you're looking at C++ as a viable language for the problems you're solving, you're solving quite different problems from me, so take this with a grain of salt.
What I wanted from Rust was basically a strongly-typed C and more modern tooling. I'm open to more checking than that, depending on what cost it has.
What I'm getting is strong typing and more modern tooling--cargo, for example, is excellent. But the borrow checker is extremely invasive, and `unsafe` doesn't actually make it less invasive. There are a number of cases where I still haven't figured out how to get the compiler to not complain about the lack of a `.clone()`. Borrow semantics are... pretty good, as it's basically enforcing a pattern I use frequently anyway, but the exceptions to that pattern are critical and working around the borrow checker causes more problems than it solves. It's possible I just don't know how to make "the Rust way" more workable, but if that's the case I am having a hard time finding how what "the Rust way" is for the things I'm trying to do.
That said, I can see how Rust is a great tool for what it was originally intended for (writing a browser). That's just not what I'm doing.
Also, unsafe is not meant to ease the borrow checker pains, that's like using void* everywhere in C because you don't know how to type a function pointer. Unsafe is meant for places where rust simply doesn't know better, like reading memory mapped registers.
I have given it a very cursory look, but ultimately it doesn't fit my needs for reasons unrelated to the features of the language. Specifically, I'm releasing my C work under the GPL and would not like to write off the possibility of integrating into GNU. Zig doesn't have a GPL implementation (Rust has one which is committed to reaching maturity).
> Also, unsafe is not meant to ease the borrow checker pains, that's like using void* everywhere in C because you don't know how to type a function pointer. Unsafe is meant for places where rust simply doesn't know better, like reading memory mapped registers.
Eh, one could argue that some of these "Rust simply doesn't know better" situations are often borrow checker pains. But in general, I'd agree that bypassing the borrow checker doesn't seem to be the point of `unsafe` in my limited experience.
But the bigger point I'm trying to make is that there doesn't appear to be any solution to some of the borrow checker issues I've run into. There are things you can do in C, which are strongly related to the reasons I'm using these low-level languages, that appear to be impossible in Rust.
Keep in mind the caveat that I'm new to Rust, so there may be some solution I'm just not aware of.
Yeah I think understand the sort of things you are talking about. Often times we have a "proof" that our code is safe in C. Maybe you are sending a pointer to a thread and then want to read from it at the end of your main thread. _You_ know it is safe because you made an informal contract of when that other thread stops using that pointer, but to Rust? informal is not enough. The hard part is knowing how to formalize all of those contracts. Send, Sync, 'static, all of those are a real pain to understand and know when to use correctly, but when you do it, you are formalizing those contracts. Now you don't just think your contract is held, it is _proven_ by the compiler.
For me learning Rust isn't about "OMG this is my #forever-language", it's more about presenting me with a new way of thinking about and through problems. I code 99% in Python at my day job and when I made the effort/struggle to learn Clojure a few years ago it fundamentally altered how I think about problems. This is the same result I'm looking for from Rust. Basically just adding more tools to the mental toolbox.
It will not be as big a change in thinking as Clojure, I am quite sure, but the type system usage is where the change will comw from. That and perhaps borrow checker.
That in Europe you must NEVER be a contractor for those companies living off public tenders, whether they be companies winning contracts for wastewater plants or companies producing "research"
Swift and iOS development! I've been lucky enough to spend a lot of my career being able to get my hands dirty with a bunch of different projects and at a lot of layers of the stack, but I never got deep into app development.
Now I'm diving in and scratching that itch! It's also been great because I've been able to start looking beyond that to making things for the entire apple ecosystem. It's also just been so good to dive into something without any work pressure there!
Happy too! So my main resource is Hacking With Swift (https://www.hackingwithswift.com), specifically the 100 days of SwiftUI Course. It takes you over Swift and SwiftUI. I've paired this with the official Swift site (https://www.swift.org) so I can dig into the language more, and Apple Documentation where appropriate to get used to using the tools.
In terms of finding it, it was a bit of a shot in the dark. I did some poking around and this popped up the most, specifically because I was looking for iOS specific materials. I'm sure if you want to make cross platform apps there's probably a whole host of great resources!
Happy to speak on that! I mostly wanted to dig into something I hadn't done before, with a whole new set of tools to learn. In this case, I had been super interested lately in the Apple ecosystem/platform. I'd spent some of my career in .NET/Windows land and got to see a bunch of stuff there and how it all worked, so I figured why not try out what Apple has to offer.
I also felt like since I have no real intent to try and turn what I'm learning into something that makes money, I could go a little crazy/niche and dig in.
This all being said, If someone asked me about making an app as something they want to release/make money off/turn into a company I'd fully be pointing them at tooling like React Native.
241 comments
[ 0.18 ms ] story [ 235 ms ] threadOther than that I'm learning powershell too, mostly forced to for work, but actually it's not a bad language.
On my roadmap is lua and tcl.
Do you (or anyone else) have any suggestions for hands-on resources? I have Practical Electronics for Inventors, but you don't build anything until Chapter 7 (Page 551). I learn better when I'm making things.
[0]: https://github.com/jfedor2/screen-hopper/blob/master/HARDWAR...
[1]: https://www.youtube.com/watch?v=mE33WpRWrXs
Digital electronics is in many ways much easier, but the analog part tends to sneak in everywhere, especially when you find your digital stuff isn't working. I think it's hard to design anything new, even digitally, without at least a working knowledge of how Ohm's law, LRC circuits, transistors, diodes, op-amps, etc. work.
I don't think it was this course, but I recall checking out an impressively thick book meant for US Navy technicians. The advantage there is that the assumption (unlikely college textbooks), is that you are intelligent but not college educated, and you need to know how to work on nearly anything electronic. Again, the focus is mostly the analog side. https://archive.org/details/NEETSModule01/mode/2up
Multi-turn conversation and knowledge system implementation techniques on the side.
Also, how to deal with the annual crop of leaves on a few acres of woods.
2. Ray tracing in a weekend but in Rust.
3. How to return to the job market after 4 years of off and on freelance and being a caregiver for sick parent.
Sorry, what do you mean by this?
During my high school, only Newtonian mechanics was taught, whereas in engineering college, they introduced quantum mechanics with Lagrangian/Hamiltonian formulation, skipping classical mechanics with those two.
The purpose of learning is just fun.
AI chatbots sometimes come to rescue when I am stuck. Not with mathematics though.
[1] https://www.amazon.com/Classical-Mechanics-Theoretical-Georg...
[2] https://www.amazon.com/No-Nonsense-Classical-Mechanics-Stude...
[0] https://davidmorin.physics.fas.harvard.edu/books/classical-m...
There's certainly a lot of interesting things happening with Rust but I'm one or two problems away from deciding that Rust isn't a viable replacement for the situations where I use C.
Been there. You are not alone.
What I wanted from Rust was basically a strongly-typed C and more modern tooling. I'm open to more checking than that, depending on what cost it has.
What I'm getting is strong typing and more modern tooling--cargo, for example, is excellent. But the borrow checker is extremely invasive, and `unsafe` doesn't actually make it less invasive. There are a number of cases where I still haven't figured out how to get the compiler to not complain about the lack of a `.clone()`. Borrow semantics are... pretty good, as it's basically enforcing a pattern I use frequently anyway, but the exceptions to that pattern are critical and working around the borrow checker causes more problems than it solves. It's possible I just don't know how to make "the Rust way" more workable, but if that's the case I am having a hard time finding how what "the Rust way" is for the things I'm trying to do.
That said, I can see how Rust is a great tool for what it was originally intended for (writing a browser). That's just not what I'm doing.
Also, unsafe is not meant to ease the borrow checker pains, that's like using void* everywhere in C because you don't know how to type a function pointer. Unsafe is meant for places where rust simply doesn't know better, like reading memory mapped registers.
I have given it a very cursory look, but ultimately it doesn't fit my needs for reasons unrelated to the features of the language. Specifically, I'm releasing my C work under the GPL and would not like to write off the possibility of integrating into GNU. Zig doesn't have a GPL implementation (Rust has one which is committed to reaching maturity).
Eh, one could argue that some of these "Rust simply doesn't know better" situations are often borrow checker pains. But in general, I'd agree that bypassing the borrow checker doesn't seem to be the point of `unsafe` in my limited experience.
But the bigger point I'm trying to make is that there doesn't appear to be any solution to some of the borrow checker issues I've run into. There are things you can do in C, which are strongly related to the reasons I'm using these low-level languages, that appear to be impossible in Rust.
Keep in mind the caveat that I'm new to Rust, so there may be some solution I'm just not aware of.
I don't have much experience with proof-based math, which has been a constant thorn while studying physics.
Now I'm diving in and scratching that itch! It's also been great because I've been able to start looking beyond that to making things for the entire apple ecosystem. It's also just been so good to dive into something without any work pressure there!
In terms of finding it, it was a bit of a shot in the dark. I did some poking around and this popped up the most, specifically because I was looking for iOS specific materials. I'm sure if you want to make cross platform apps there's probably a whole host of great resources!
Would love to hear your perspective on why pick Swift over React Native as its cross platform too
I also felt like since I have no real intent to try and turn what I'm learning into something that makes money, I could go a little crazy/niche and dig in.
This all being said, If someone asked me about making an app as something they want to release/make money off/turn into a company I'd fully be pointing them at tooling like React Native.
Would also like to start learning how to DJ