I like note taking because it augments my thinking. Specifically, it helps me store knowledge for later and organize my thoughts when I'm thinking.
I think what makes it obsessive for me is that I always want to improve my thinking, even if it's a tiny increase. That's why I always check out other people's note taking methods and software, in the hopes of finding a little nugget of optimization.
As for my method, I use plain text and vim to store my notes. If I need to think deeply about a problem, I use a paper notebook and pencil. This is because that combination is good for visualizing a problem.
Having a food journal, i.e writing down what food you’re about to eat before you eat it. For me it helped me understand the difference between a craving and legitimate hunger, which decreased my daily calories.
It’s a simple habit, but it has had a dramatic effect on my weight loss journey. Level 2 of this habit is to check out the nutritional information of everything before you eat it, but that’s a discussion for another day.
That diet is more important than exercise. I wasted so much time in my younger years working out hard and eating like crap. This lead to an unbalanced body, i.e. a muscular outer frame paired with a fatty belly.
When covid hit and going to the gym was out of the question, I was forced to optimize my diet in order to stay “healthy”. The result of this is that I lost 20lbs of hard-to-lose weight, putting me squarely in the median weight for my height.
Now when the gym opened back up, I had the foundation of a solid diet paired with consistent exercise, which lead to me being in the best shape of my life.
I’m still tweaking my health strategy, since there is no such thing as perfect, but now I always start with improving my diet.
Out of curiosity. What did a crap diet constitute for you exactly ? And how much moving around did you do prior(e.g. running/walking/cycling) ?
I'm trying to figure out why people in my age group, with not so much different diets than mine, put on a lot more weight and so far I've narrowed it down to general lack of movement, but would gladly compare notes.
1) How long did it take to become proficient in Rust compared to Golang?
A long time, probably a couple months to get productive, and a couple more to learn the foundation pretty well. And this is with a steady supply of side projects to help me solidify my learnings.
2) Which did you learn to appreciate over time over the other, if at all?
I chose Rust over Go because for my side projects (at the time) Rust was faster and had a better package manager. Since most of my side projects are command line tools, Rust fit in quite well in this domain.
A side note. I think it's more helpful to choose a language based on how well it solves your problems rather than its amount of shortcomings. If Go has the right packages and tools, go with that. If Rust does, choose that one instead. For me, the ability to quickly pick up the best language for the job is IMO more valuable than picking a language with less 'edge cases'.
Solid advance. I chose to learn Rust in depth first because I read (and have seen) that it's the language of choice for working with WASM, which is what I'll be doing. Cargo also seemed to be universally well received from what I read about it compared to Golang's package management. Ultimately I see myself using both Rust and Golang, but perhaps just Rust until Golang 2 is stable, since I won't even need it for another year perhaps.
I use two 15 pound dumbbells and perform a full body workout with them, using exercises I learned a while back. You'll be surprised how far you can go with just a pair of dumbbells and good lifting form.
Old mathematics books are also interesting. Really cool to see how notation has evolved over centuries of mathematical inquiry. Right now I'm reading "The World of Mathematics, Volume One" and it is quite a relaxing read when starting the day with a good coffee.
I read some of google's patent mentioned in the text and thought it was interesting. They basically want a connected network of devices that communicate with each other and with google. Most of the devices follow the following algorithm: watch -> think -> act -> report. What is interesting is the 'report' phase of the algorithm.
I think there is a battle between two competing AI philosophies. One philosophy thinks AI should be central: all devices need to talk to the overmind for learning. The other philosophy thinks AI should be local: the device should learn on its own, kind of like a biological agent. I think the 'biological agent' form of AI is interesting when it comes to privacy of information. Only you and the device have the data.
The future of AI should be interesting with these two philosophies in mind.
Judging by the relative success of biological and social systems, systems that communicate effectively with each other end up much smarter than systems that don't communicate as effectively. Smarter as in winning the competition for resources more often.
The big question is whether we can build systems that communicate, but don't create vast disparities of information between overminds and everybody else. At this point the handful of information slurping mega-corporations have a huge information advantage compared with the average person. If nothing changes, this is the end of the humanistic world order based on the primacy of the individual brain.
>One philosophy thinks AI should be central > The other philosophy thinks AI should be local
I suspect is usually a mixture. For example Google Translate runs locally if you download a language pair, yet the training is not local. Google Gboard Swipe runs locally: in airplane mode I just added a new word to the dictionary and swipe recognised it, also contact names. However Google sends swipe information to a central location to improve the service...
I really enjoy all the music from Ultimae Records. The albums are reasonably priced in Bandcamp and you can preview the full albums if you are unsure about buying.
I really hope he doesn't fall into the trap I did when starting out with rust. I came into it with the perspective of an application programmer and I quickly became salty when my knowledge didn't translate smoothly into rust code. "Fighting the borrow checker", for me, was simply a clash of philosophies. My way of thinking versus the rust way of thinking.
The central issue, for me, is that with rust you MUST understand the memory model completely in order to be productive. You cannot wing this, you cannot assume anything. I was not used to this being an application programmer and this lead to the root of all my suffering. Once I wrote down all the borrowing rules and deeply thought about it, I finally became productive in the language.
I see the author shows symptoms of not understanding the memory model. His code proves it. Instead of being angry, he should try to view rust with an open mind and ask "why did they design it this way?". Be curious, create experiments, probe the rust semantics, master the borrow checker. There are rewards to be had for those willing to push through the pain of integrating new knowledge.
Pretell, how does my code not show an understanding of the memory model? I understand how the memory model works, I just want the language to _do the easy thing_ (copy) in most scenarios, and make embedding (Cells, RCs) / unwrapping more straightforward.
This post reminded me when I started programming, very nostalgic. I started out with C as my first programming language simply because the language rankings at the time said it was the most popular. Looking back, I don't think C helped me out as much as I wanted it too.
Now to answer your question by looking at your goals. "Knows no programming language" lets me know that you are starting from scratch. In my opinion, this means you need to answer the following question first: do I even like programming? The best way to answer this is to not abuse yourself with C but instead start with python to get a real feel for what programming is.
"Learn coding for building with best design principles" means you want to learn good habits early on. Python has a stable style guide (pip8) and the zen of python, so at least some good habits can be learned quickly. I don't think there is a comparable zen of C, but maybe that's because I haven't looked.
"Gaining efficiency of data structures" means understanding why data structures are important in program design. Python has some pretty solid built-in data structures (i.e lists, sets, dicts, tuples) that are good for beginners who want to experiment with data structures. C doesn't have lists, sets, dicts, or tuples, but you can implement them if you try hard enough.
"Thinking abstractedly in algorithmic rollercoaster of fun"...I think what you meant is the freedom to think about an algorithm and to implement it with ease. Python is fantastic for this, while C requires a lot more thinking to get a thought manifested to code.
This post kinda struck a chord with me because I wrestled with the same question when I started 4 years ago. Python helped me more than C because I was more creation oriented. I wanted to implement a useful tool as fast as possible. With your questions in mind, I think python would be better choice than C as a beginner.
I apologise with the vague description of question details. I have been to a workshop where they demonstrated both
python and C. I was fortunate to have a hands on session with few programming tasks and solving problems. The conclusion I came to, is - I love programming.
As I said in other comments before, I was apprehensive if I could deal with initial frustration due to subconscious comparison of how easy life was with python. I asked myself If I would trip off; will I be able to cope up; will my brain be malleable enough or get hardened against the higher cognitive load C poses comparing to python, etc. with no good answers. Hence this question.
Every other commenter echo with your respected opinion and I appreciate your well explained suggestion. I just needed my answers through other's experiences to the above questions.
I will be "starting out with python"(amazon<dot>com/dp/0134444329).
I think what makes it obsessive for me is that I always want to improve my thinking, even if it's a tiny increase. That's why I always check out other people's note taking methods and software, in the hopes of finding a little nugget of optimization.
As for my method, I use plain text and vim to store my notes. If I need to think deeply about a problem, I use a paper notebook and pencil. This is because that combination is good for visualizing a problem.