Ask HN: What things have richly rewarded the time invested in mastering them? What things (books, activities, courses - anything really) have richly rewarded the time you invested in mastering them? |
Ask HN: What things have richly rewarded the time invested in mastering them? What things (books, activities, courses - anything really) have richly rewarded the time you invested in mastering them? |
It's cooperative, not competitive (though choirs can optionally compete). Anyone can participate. While rough skill parity helps, stronger singers naturally help weaker ones, so it's less sensitive to skill disparity than many other activities.
The drawback is that it requires teammates. Basic music literacy, and especially choir singing, has been in decline in the West for at least four decades. All the best stuff to sing is Christian, so you have to get over that. I'm an atheist but somehow I love the lyrics (I would also love it if choir singing were revived and a new repertoire with inspiring humanist lyrics appeared).
One subculture that is relatively healthy or even growing is Sacred Harp singing. There are groups meeting weekly at many universities in the U.S. While the repertoire is somewhat limited, it's a good way to get started.
I think there's potential for choirs at tech companies. I nearly started one at Apple back in the aughties, but I was so busy with work and a new family that I decided against it.
I'm still terrible at it. But whenever I can refrain from destructive criticism, judgementalism, and general cynicism, I enjoy life more and I'm sure others near me do too.
Next goals: driving, a musical instrument.
You get so much respect when you have a party trick that can turn any gathering into an improv acapella concert.
In fact, you may be able to do MORE than a massage therapist can do in many parts of the body because you're always around and you only have one patient to deal with. And, while you are not as objective, you do know how everything feels.
I took an intro to massage class and have done quite a bit of reading on the topic.
But not for the reasons you expect. When you learn Judo you spend the first weeks learn how to fall, followed by people picking you up and slamming you into the ground alternating with you picking them up and slamming them into the ground. The amount of body control you learn is amazing - it's like doing gymnastics, but in a cement mixer. Turns out learning how to land safely in unexpected situations is amazingly useful and makes you a lot safer (I've never broken a bone), and things like falling off a 3 story building is unlikely to cause you too much damage. Unlike karate Judo is mostly harmless as there is no striking - it's best described as Japanese wrestling.
I've done a lot of other sports, some more enjoyable Judo, and sadly Judo is more of a young persons sport. All have something to teach you about teams, practice and persistence. Some like, swimming, teach you things a skill that is useful in the obvious places. But surprisingly to me, Judo was the one that always that unexpectedly saved me when I did something stupid, which in you younger days I did at least once a year.
And when they are violated you can be confident some sleight of hand is in play (I'm looking at you "the holes of semiconductor physics" and the RF "path loss equation".)
Learning to type - Enhanced productivity https://hkelkar.com/2014/03/02/learn-to-type-before-you-lear...
Writing a blog has been extremely rewarding. It takes effort to Blog Over the years I published a book based on the blog.
Understanding Compounding.
Learning Python for fun. Learning Python was really the stepping stone to learning other interesting things.
Learning to play a music instrument. I started playing the piano as an adult. I can highly recommend learning to play an music instrument if you ever felt like you wanted to play. It teaches you coordinate your hand and feet with your brain and you have to keep rhythm. Being able to play music is relaxing. Its humble feeling to be an improving beginner.
Photography being able to capture moments in your life. Being able to capture better pictures of your family and friends is rewarding.
Scuba diving, it is beautiful to watch the creatures and landscape of underwater places. Often if its beautiful under water it is also a pretty place above water. Plus you get to move around when on vacation so you see more of the vacation place. You usually meet new people when diving.
I used to have a "hunt and peck" typing style requiring me to always look at the keyboard. I spent about 40 hours practicing over the course of a month and went from ~ 20 WPM to about 60 WPM.
I can now be looking at the screen about 99% of the time.
jahbdcbf vmbfkv mfvrm ervj ewrm v,m erwhj v wer vj er,m vj we,m vkjljsdkhdugercrk xioeg opacxugseifcm elfrhf; ckrv
sorry i blind typed that.
OTOH what are the things i have avoided learning because of perceived short-term value: ios development, android development, toolshelves of javascript gimmicks that only google needs, ORMs, various javascript frameworks, R.
Before I became a developer, learning to play music. There is almost nothing more rewarding than the ability to speak a non-verbal, near-universal language in order to express yourself.
Private pilot's license.
Podcasting.
Understanding more about cognitive bias. Rhetoric and logic.
Philosophy.
(Not sure you can master these last two within a lifetime.)
Fatherhood and being a good husband to my wife. These are easily the most rewarding experiences of my life.
I have also become fascinated with yeasts (biology!) and really want to start harvesting and propogating my own from local varieties.
Hops is another complex subject. So many different varieties with different aromas and flavours.
Really. That's how you get accurate instruments out of mostly widely varying parts.
I’ve been meditating daily using the app Headspace for the past 3 months and have seen improvements in my focus and a reduction in anxiety.
My mind would previously wonder off in meetings and I would miss a lot of the discussion, but with meditation I’ve noticed that I’m alot more focused and my mind doesn’t wander off as much.
I’ve also felt alot happier and less anxious, as meditation has allowed me to notice my thoughts and feelings and let go of those that are negative.
1.Learning languages,
2.learning to play musical instruments.
They are both great for someone like me because they enhance your social skills and facilitate interpersonal relationships
Also, I think this has been mentioned, but learning to cook. I never really formally made an effort to learn but my mom is a great cook and I seemed to have absorbed the knowledge/natural ability and over a decade of trial and error I seem to have managed to be decent. Useful day to day and for special occasions. Only downside is eating too much.
In a world where millions of developers rush to compete to build the best, most sophisticated apps, Understanding user / audience / customer has become an overlooked field.
Understand your user / client's pain points so well that they love you so much by buying your products / continuing to hire you for consultation feels really good.
Until I started learning something as hard as the guitar, everything I'd had to learn in the past had come pretty easily to me, so I didn't need to study hard in school, etc, but that meant that I just passed on the really hard things (like advanced math). I think I lost out on the life-lesson about how effective diligent practice is at improving skills. I might have tackled even harder things earlier in my life.
I had been a musician, playing clarinet and sax, in high school and college so I knew how to read music and knew a bit of music theory. I decided one day that I wanted to learn. I bought an inexpensive Yamaha keyboard and a beginner level book and started working through it. It took me about a year but I was playing songs using both hands and with lots of mistakes.
At that point, I decided I liked it and wanted to continue so I bought a new upright piano and continued learning from other books and finding popular and jazz music I wanted to learn and just dove in. I'm probably a piano teacher's worst nightmare but I don't care. I love to play and I would love to get better but, at this point, I just can't devote the additional time at the keyboard needed to do that. And that's OK by me.
I am horrible at drawing, even doodling, but I spent a few weeks taking a drawing class that covered the basics (perspective, lighting, seeing shapes etc) and it's amazing how rapidly you can improve with just a little practice. It taught me that you could really learn anything (even things you think you are bad at) if you put in consistent practice over time. It also taught me that doing drills is not useless. It's best to do drills, get the hang of the small skills that you routinely use on a bigger project then take on the bigger project once you're comfortable.
Everyone should find an outlet to experience that slow and incremental improvement of skills especially hands on skills like painting and drawing. Be sure to keep your earliest works to look back on how much you've improved.
No matter where you’re at — even if you can only draw stick figures — working on drawing skills is an incredible, compounding investment that pays continual dividends.
“Drawing on the Right Side of the Brain” is the book I typically recommend for anyone at any skill level.
At the starting point of my poetic journey, I was ignorant of the genre, very opposed to it (for I couldn’t make the sense out of it) and arrogantly sure that poetry was mostly a scam.
Fortunately for me, a teacher of mine at college had this whole class around Portuguese poets. We had to read them for each other and explain the meaning, while he provided solid interpretations to the texts we were working on.
Thinking I had something in me clearly broken for I could not make the sense of any of the readings we were assigned, I got myself to go the library, picked up one of Fernando Pessoa’s heteronyms to read, and gave myself the task of reading at least a poem a day, trying to make whatever sense I could make out of it — whatever long it took for me to read the whole book. Also, if poetry was supposed to be this highly aesthetic experience, I would have to read the poem (or poems) out loud. And that I did.
When I had finished Pessoa’s book, I felt something was changing in me. Most of the poems still sounded nonsensical, but the ones that worked, the ones I felt I got a sense out of it, really made me feel that I was heading somewhere. So I drudged along.
After the finishing the first book (after a month or two), I picked up another. This time one Alberto Caeiro, one of Pessoa’s most beloved heteronyms. I can’t exactly pinpoint where the magic happened, but, suddenly, I was no longer the same self that started that journey. Now I was not reading out of obligation, but reading as a necessity. Poetry had gone under my skin, and I was starting to get this huge crave to read more and more poetic works.
To make a long story a bit shorter, nowadays I’m an avid reader of poetry, having read most of the great poets of Portuguese literature. I find particularly at home in the poetic genre and I’m even trying for a masters degree in philosophy working on... a poet!
This to me was the thing that I felt most accomplished by putting myself to master it. Looking back to how I felt before; knowing what I now know about poetry, my thoughts are the exact opposite of what they were in regards to poetry. Now I cannot even imagine how I managed to live my whole life at that point without giving poetry a try.
EDIT: typo
But even today CL has a few killer features that no other language has. Three in particular are huge levers for me: macros, generic functions, and the ability to redefine classes without having to recreate all the existing instances.
S-expressions in general are also a huge lever. Ironically, the reason they are a huge lever is that they are simple to parse, and because they are simple to parse you can easily write an S-expression parser in any language, but hardly anyone does. Learning to "think in S-expressions" just takes you to a whole new level of understanding. It's the red pill. (But it's a bit dangerous too because once you get there, the syntax of other languages will just start to feel annoying.)
So from a career and safe job point of view it was great. But even more important is that somehow i am the go-to person when a friend of mine wants to build a brand new digital business, which today's always requires a website of some sort. Being able to bootstrap a digital business is an incredible way to increase my chances to reach financial independence.
Being able to build any kind of website has thus been the greatest advantage and has definitely shaped my life for the best.
All the time spent reading programming books, tutorials and debugging my early apps really has paid off. When i look back, i am amazed by how much each single hour i have invested into web development, has given back to me as financial return.
This however has shaped a bit negatively the way i relate to learning new skills. When i am comparing each potential new skill i have to invest time in, with the incredible returns i got from web development, i find tough to invest time in something difficult to monetize immediately. In the end i guess each skill you learn enrich you somehow.
Python - made programming enjoyable
it tells you how the world works. basically when i started high school i was a communist. if i had gone on with that worldview i would have found things very difficult, like why this person has x and other person has y. doing stuff like calculating the market price of a good kinda helps with that. and understanding the economy and what people do in business helped me understand things better. It gave me a healthy dose of cynicism and a better idea of what behavior can be productive and what things are ultimately admirable sentiments that lead to nothing. in terms of practicality i use some of these ideas to adjust the price of the rooms i let out. no doubt being able to keep them filled without being unnecessarily cheap is profitable.
Also, could you elaborate how copywriting skills rewarded you?
Sports: Incidentally, that internship at a local governing sports association left a lasting impression. A two week course on sports training theory from a graduate was really inspiring and transferable to all sorts of learning, in spirit. It's probably meaningful that high-school (college) in German is called "Gymnasium".
Language: Understanding syntax and semantics helps so much. It's also a hobby that works in every situation. Just for a topical example: master, muster and pattern - I'm not very good at it, mind you - those words highlight different aspects of the same problem. A master piece is a prototype, a new pattern, compare "gold master"; And it is a work to be mustered. In fact, German "Muster" means pattern. A "Muster-Schüler" is a top notch pupil, a role model, you might almost call that a master student. IMHO this gives a different view on the master-slave-replication naming issue. Also consider the British pronunciation of master (ie. muster). If you look it up, it will say something different, but it will not account for the derivation of "magnus"-big to "magister"-teacher with any semantic aspect, other than the big cheese, although that may be explained by "monstrare"-to show which even explains "minister", too, usually given as "minus" + either "-ister", or the comparative suffix "-tero", but better explained with the Proto-Indo-European root men- (to think), whence indeed "monstrare". That doesn't exclude an influence of méǵh₂s (big), though. There is enough time for that to have happened before the classical Latin. Compare also "meist" (most), "Meister" (master), "most" and "utmost"; also "μύστης" (mústēs - initiated one), mewH- mew-, mey-. Classical Latin likely established the folk etymology. There's the lesson applicable to history in general - it is written by the masters.
Signal-Processing: Information science is often transfered wrongly in metaphors to the universe and everything. Still, as far as simple concepts are concerned it's illustrative of how we get a clear grasp of things. It re-appears in physics, music, art and statistics. It's a shame that it's not in the standard curriculum in the information age.
Maths: Logic fits in with language. Linear algebra and related fields (no pun intended) fits to signal processing
Overall I'm not a master of anything and wasting my live away and that of others. So if know anything, it's to be quiet. And I try to achieve that like everyone does, by being the loudest quieting everyone else down. Then enter a feedback loop and ultimately try to be an example staying quiet, adjusting my expectation of silence.
I think that's an incredibly sad way to view yourself and your life, albeit I bet that for many people producing income is the single most important thing.
I see that as a consequence and a failure of society.
When you're home-insecure, health-vulnerable, and have a family depending on you, income starts to dwarf things like ideals in one's value schema.
Which is more sad, the people who debase themselves in order to provide for their family, or the ones who go run off to live in the canyon pines or in an art squat and leave their family to fend for themselves?
I don't think the statement is much different from Maslow's Hierarchy of Needs placing physiological needs at the base.
After my startup got acquired, i ended up with lots of money (10s of millions, small start-up) and time. This created a vacuum in my life. I was very sad having finally made it.
I had no purpose in life.
Since then,
Self Acutualization - walking the path devised by yogic culture of spritualism.
Cannabis - The king of herbs, it helps me in self Acutualization and achieving state of trance aka ultimate ignorance.
Knowledge is only born out of something you don't know. If i accept my ignorance, suddenly it's no longer ignornance but something 'unknown'
If you already know something, then you won't gain any knowledge from there.
What did i gain? Finally, i am happy and content. My all questions about life have been answered. I've no need of traveling afar and exploring new places, I've no desire to travel back in past or future or to some distant planet.
You... may want to reconsider that one.
Guitar: I like being able to make music come out of an acoustic instrument.
I'm going to go ahead and agree with OP. Your ability to make money is your greatest asset, and one you should protect.
Integrity, being surrounded by loving people, being in good health, having the freedom to be all that you are. Those are all more important from my perspective.
We've been carefully conditioned to believe that this game is the only alternative, it's not.
see: Das Kapital
If you believe you have value beyond your ability to produce, it’s nice, many people transform beliefs into truth by excluding all opposite evidence. Meanwhile, keeping the wife is way more correlated with produce than other factors like weight or unmeasurable things (aka: love and attention).
I wouldn't want to live my life knowing that I'm trying to pull everyone and everything over the table and that i make others miserable wherever I go.
If you want to find a business reason: long term relationships and trust both are valuable and build future business and new connections. But, really, the first reason should be enough.
It’s not that you shouldn’t exploit them (though in most cases it’s grately beneficial to both parties if you don’t), it’s that if you’re doing it right, you don’t need to in most cases.
There’s always exceptions, but the concept of approaching any deal with a core principle of exploiting the other party is a flawed strategy.
Maybe a society full of sociopaths can get along just fine, but I'd rather not run that experiment.
If a business uses your skills to make a profit are you being exploited?
Does it make a difference if you get free lunch, massages, $300k salary, RSUs? Are you still being exploited? Where’s the line...
Profit is the risk premium.
I think very young people might have an advantage in how quickly they gain the required dexterity. However I've usually associated a young person's ability to learn the guitar quickly with the fact that most young people have a lot of free time on their hands and they just spend a lot more time practising than a busy adult.
Unless you've got an explicit ailment (eg arthritis) I don't think age is a barrier. "Working man's hands" might slow you down a bit at the start. I guess I'm lucky to have "programmers hands" :)
Going in weapons hot is really dangerous for everyone involved and much like lawyers with law, the smartest people will seek to minimize their exposure to risk (ie. courtrooms, raids, etc.)
A better and cheaper solution in a hostage negotiation is to figure out the core motives for the hostage takers (often money [and why they need it]) and lead them to realistic expectations and a feeling of fairness.
Please review https://news.ycombinator.com/newsguidelines.html and follow the rules when posting here.
Sure, because you don't have to worry about where your next meal is coming from. As soon as the risk of death due to starvation or exposure to the elements is real, your priorities are going to change real quick.
More than anything, we have to survive. Money is how we do that today.
There are thousands and thousands of collectives, religious and otherwise; that live together in relative harmony and mostly grow their own food and keep the state at arms length. I've lived in two myself, one ashram and one oriented around permaculture gardening.
I would point you to the native tribes, but I can't think of any that we haven't brutally destroyed to remove all traces of their way of living.
Total dependence has always been the goal, and they've fought long and hard using every trick in the book and then some to get there. The fact that we're even having this kind of discussion is a testimony to the strength of the human spirit that just won't give up.
Judging from the fact that you too are posting from a computer, running on the internet, I can assume you haven't adopted the virtuous life of income free bliss that you speak of?
I'm currently scraping by at a bare minimum, growing my own vegetables and foraging whatever I can find in the area. And I find it infinitely more satisfying than writing software for startups and helping them rape the world in the name of profit.
On a more constructive note:
Consider the effort put into, and importance of, visualization in sports and other areas. If you can't see it; it's just not going to happen, ever. Same goes collectively. What's worse, you tend to get more or less what you expect. Which is why the people running our plantation put so much effort into making us visualize exactly the kind of slave life they have planned for us.
Oh really? You're "scraping" by? How then are you growing your own vegetables? Please tell me, on who's land do you sow thy seeds? Where is this magical place that you can setup a fort, free yourself from the machine, and live off the land, without having to spend a penny?
Clearly I missed the memo about it's location.
Didn't rhyme with the HN narrative I guess, probably violated some CoC paragraph.
Ah well, this too shall pass. Just know that from the outside you look very funny when you run in circles chasing your tails.
It's mainly the projection of fear, really. Fear of not fitting in, not having a roof over your head or food on the table, of war, disease, terrorists and so on.
It's tricky business to snap out of the collective psychosis, it took me 35 years and I still probably wouldn't have if life hadn't thrown me a banana peel in form of a serious accident.
Somewhere deep inside I'm sure almost everyone knows what they would really want to do. But it's too painful, the contrast hurts and it's emotionally tangled up with all the other things that we're not supposed to think about. So we "forget", to fit in.
Oh, mostly nostalgia at this point :) I was in the startup circle for a while, and I've been writing code for more than 32 years. But the only kind of coding that feels worthwhile to me these days is exploring better ways of writing code [0].
You seem to have missed the memo on visualization, yours is pretty much a perfect example of how not to do it. You may safely trust me on this one, you'll never go anywhere if you start by enumerating all the reasons it could never work. First you commit, then all sorts of solutions appear seemingly out of nowhere. It always starts with a leap of faith to make sure you really want it.
I like to think that we're working towards a bigger goal than simply surviving.
We are not economic robots.
There are other examples, too; ones with even fewer exceptions. Our minds and bodies both help hoard energy; that trait-set was useful when animals were difficult to hunt, but today it just foments carb-poisoning, obesity and a raft of other pointlessly energy-efficient design tradeoffs. (The modern world is so much more energy-abundant than the ancestral landscape, yet we can't actually make use of anything past ~8 MJ a day for anything but high-endurance physical exertion. A human brain is like a Pentium II hooked up to a 500W PSU.)
On a larger scale, trade persists across legal divides - with much of this facilitated via contracts, which are actually not excluded by the grandparent comment. Here what I am really claiming that contracts are a form of generalized price. So trade, coordinated work, productive efforts large and small, are basically all facilitated by people coming to agreement on price, one way or another (unless the type of coordination involves a group of friends coordinating via friendship - or maybe some generalized version of that). The "price" agreement itself may be long winded (e.g. a contract with many conditions) but it is the basic mechanism of price that coordinates so much. Even world peace. Nations that trade together are less inclined to go to war with one another. (Absent a coercive situation that is. Without coercion, trade is mutually beneficial, by the standards of the parties willfully involved, and nobody wars with their benefactor)
Therefore, I would argue that we only need generalized prices (and a lack of coercion) in order to coordinate peaceably. We do not need to agree on norms and etiquette. Of course, if one party decides to spoil things and coerce another into a bad deal, or into conforming to its norms, etc., law becomes more important. (Of course in reality somebody always tries to spoil things so law is important from the very beginning, especially locally. I might argue that law becomes weaker anyway as we scale up towards nation state scale coordination where laws differ on both sides and contracts sort of blend into treaties). I am making broad statements about large scale action and I don't like that. Maybe better to sum up the position by saying given basic conditions - 1. property rights that try to be consistent, 2. dependable and consistent legal protection, and 3. a functioning price system (the less manipulated the better), we can coordinate imperfectly, but better than expected given the vast swaths of differences of opinion, taste, and preferences, that make us so human.
I have social anxiety. I try and call family and friends on a regular basis, but its all from my side. I start to feel like I'm just hassasing people.
http://web.mit.edu/6.055/book/book-draft.pdf
Basic physics principles combined with the above. Being able to not only see how something works, but to be able to at least estimate it's parameters is invaluable to designing anything new
Afaik he is currently working on a textbook on mechanics.
https://ocw.mit.edu/courses/electrical-engineering-and-compu...
Also, what is the criteria - speed / accuracy?
- english at C2 level - the current lingua franca. You really want to be able to accurately express yourself
- vi/vim. Available everywhere.
- UNIX networking
- shell and shell programming. Turns you into a power user
- at least one programming language and its important frameworks
- regular expressions. Super useful everywhere. Learn why they are slow/fast as well.
- low level computer stuff. It helps you analyze higher level problems
Was a long distance runner from 2012-2016. It was so fun, used to look forward for my morning run every single day - I'd once forgotten all my credit cards when flying to another city but not my running shoe. Almost never missed it for anything. Minor injury broke it for 1.5 months. Been struggling to pick up again since then. It's 2 years. Procrastination and complete loss of motivation.
It helped me keep in shape, improved stamina, and surprisingly it actually had kept my diet disciplined and healthy. I have 12 half organised marathons and one 38km under my belt.
(PS. Had stepped on a slightly bigger rock and had to abandon my first and last marathon - it was trail)
Being able to communicate effectively to a group of people has positive impacts in all aspects of my life.
Joing a theatre performance group is one way of achieving it.
Of course you need both, much like anything great, however a well engineered track will get you significantly further than a creative track with poor engineering.
If you can do both, you will be a rockstar, literally.
I've mostly tried to practice "controllerism" or "finger drumming". There's tons of different soundpacks for Ableton (Lite is free, but limited), Traktor, and other software. It's really relaxing sometimes to just sit and tap out beats and clear your mind by concentrating on it. It's like an adult version of Simon where you get to set the pattern. It's really fun, and you can get a capable USB MIDI controller for a hundred bucks, even better deals on Craigslist. There's a lot of tutorials on Youtube to get you started, if you decide to give it a try.
Here's a good example of what controllerism is, if you are curious: https://youtu.be/mUUbbaBkZHw?t=28 (skipped ahead of some cursing at the beginning of the video).
Its a highly structured way to learn about those things, so easy on software people - just read and follow the instructions, and was (is) very fun in its own right :)
It takes literally half an hour to learn this, and of course you won't be taking professional quality photos, but your photos will go from crappy to OK or even good, even if you only have a phone (as long as it has manual mode). You know that time you took a random photo and the light and colors came out better than normal? You can achieve that consistently.
After learning this, I felt dumb for not having spent that half an hour years before.
In addition to learning about the technical basics about photography, I found the following guide highlighting certain patterns of composition useful: https://antongorlin.com/blog/photography-composition-definit...
Do not worry about which editor, there is something about the one you use right now that makes you using it, your best bang for the buck is to learn how to use this particular editor better. Returns will be immediate (no learning curve to learn a new one). Returns will be huge: Not learning advanced usage is literally wasting a bit of time every time you use your editor. If you work with computers (ops, dev, etc...), you spend a lot of time inside your editor.
If in six months you find your editor too limiting, or somebody convinces to use another one, so be it. The time you spent learning the current one isn't wasted, you have raised the bar to what you need from an editor, and, will learn the new one faster, because you now have advanced patterns that you need and will immediately look on how to do that with the new tool.
Not a huge time investment, but an indispensable skill or revelation I wish I had before starting college. Think I've found the book here on HN: https://www.goodreads.com/book/show/25744928-deep-work
I don’t know what it is that makes music pleasurable, but when you get in the flow and the music is just coming naturally to you, it feels like you’ve been taken over by a higher power. Somehow, the next note and lyric just comes to you. You lose control, in a way, and the music takes over.
I know that’s a corny, irrational explanation and I’m hoping someone can back me up with more eloquent words, but goddamn it feels good play music.
And being able to play whats in your head on an instrument makes playing allot more fun.
And there are a some extremly valuable lessons to be learned from spending hours a day practicing.
1) I learned how to practice efficiently (which made learning porgraming languages and university for me allot easier)
2) I learned that I can do everything and it's just a matter of how much time I'm willing to invest.
3) I spend allot of time on my creative process which also helps allot with problem solving in daily life (and programming)
I don't even like the questions. They're mostly puzzles, which I'm not good at, in the guise of programming questions.
I think this is the most important question one can have for his entire life.
I am 28, but I have spent about 15 years to think about who am I? Where am I come from? Where will I go?
And gradually, I get clearer and clearer about it.
And knowing who am I is the greatest source of happiness, strength and calmness.
If you also do this, I think you may understand. You will have small enlightment day by day, and finally a big enlightment.
What you really need to do is keep thinking, and you body will take you to where you belong.
I believe the best way to reprogram yourself is to study yourself with no goal in mind.
1. Start by saying something, something neutral/positive or a compliment: "Nice weather, eh?", "Great party!", "Nice tie"
2. Ask questions: "How are you doing ?", "What brought you here ?", "What line of work are you in ?"
3. Repeat #2 until you find something that you have something to say about. Could be that you discover you're in the same line of work, grew up in the same town, etc
4. Keep your talking time to 50% or less, be sure to throw in questions here and there and respond to the answers.
5. Profit !
In the end you save money, get some financial security and stop asking yourself “do I know what i’m doing?”
But what I've noticed is with slow, steady investing is that it really snowballs. It's not long before you look at your returns and notice that you made more from your investments that year than you did your salary.
It should resonate with the HN crowd as it starts from the basics and builds up a strategy. Very understandable. It then uses that to help you build an overall investment strategy.
Bernstein is in line with the Boglehead investing theory. Own the market, don't try and beat it.
It has served me very well.
And no, I went with an index investment strategy, not trying to beat the market. But it really helps to understand why index investing is a good choice.
The other one was a summer course in basic accounting that taught the basics of double-entry bookkeeping, balance sheets, and income statements. That has paid off literally, ongoing, and well. Very good investment of time.
So yes: I am also very thankful that I had the opportunity to learn a social couple dance (with 'social' meaning non-competitive and without fixed dance-partners)
The first lessons were hard and sometimes frustrating when you don't make progress as fast as you want to. But for me it paid out and changed my life. Today I go dancing twice or more a week. No matter how stressed I am after work: I always come home from dancing relaxed and smiling.
When dancing you have to deal with a multitude of things in parallel:
1) You listen to the music carefully and match your body movement to it.
2) You are creative and come up with figures/movements fitting the music in realtime (you cannot plan too much into the future)
3) You constantly "read" your partner: You only have fractions of a second to feel his/her center of mass, anticipate her/his possible future movements and react accordingly. Blindly forcing your partner into movements he/she can currently not execute (for example due to having the weight on the "wrong" foot) will not work.
Besides that it helped me to:
* Get to know interesting people outside of my bubble. I've been in CS academics for over 10 years now and it is so refreshing and mind-opening to talk to people of different backgrounds
* Get a boost self esteem. Nowadays I can stay calm and natural when talking to people that are new to me. This wasn't the case before. Especially when talking to people of the gender, I'm attracted to.
Bonus: You get healthy exercise (not a joke: most of us bring 1-2 additional spare shirts to the dance to change during one evening) and improved body control for free.
Here are some popular couple dances without particular order. Of course the list is not complete and a single video will not completely represent each dance and its subgenres.
Samba de Gafieira: https://www.youtube.com/watch?v=H9ia7iGVY-M
Forró: https://www.youtube.com/watch?v=FhMHZsvGHlg
Zouk: https://www.youtube.com/watch?v=o_j8SiLBAoU
Salsa/Bachata: https://www.youtube.com/watch?v=U-JofUEsbD0
Lindy Hop: https://www.youtube.com/watch?v=9GTrNLauLrs
Blues Dance: https://www.youtube.com/watch?v=jpPwmclBxiw
For some reason I've often been focused on what the benefit from doing an activity is. For pure enjoyment I would just consume movies or video games. Somehow I missed the idea that there are many activities that might be beneficial, but that even without the benefits would be enjoyable activities to engage in.
For example many programming tasks are enjoyable enough in themselves, even if they result in no outcome. Maybe that's why "this guy made $10 million with this app"-type of stories might be harmful, as they makes you forget that programming in itself is often an enjoyable task, never mind the other rewards.
Besides programming, I would say messing around with music creation programs (Ableton Live is my favorite) and 3D modeling software (Blender) can be as much fun as gaming, even if you aren't any good. I've also experimented with drawing, but I find that a bit harder to enjoy while having no skill. Maybe there is a base level of competence you need to attain before an activity starts being enjoyable for its own sake.
This has been on mind so much. I think that level we call base level is often set by comparison to other skilled people that we look upto o compare our progress against. And of course comparison is a thief of joy and results more in disappointment that not. In activities I've picked, i usually just see if im truly enjoying it, if theres potential depths to explore in the future and then go with the mantra - Disregard everything else. I hope that makes sense.
O man, drawing is something I'd commited to learn as well although I really it has a steep learning curve. But its the same deal with anything no? Gotta keep going through the grind before we can get good at it and the best way that happens is if we can enjoy the process itself. So yeah I guess I'm just agreeing with you :)
As for good books, oh so many. Please dont discount the value of a book because it's in public domain or because they've been written a while ago.My taste generally favors american penmanship derivations and as such prefer engrosser's script over styles grouped under copperplate. Copperplate are styles that derive from English Round hand. Engrosser's script evolved from copperplate but did so in a time of the steel nib which allowed more nuanced curves. Engrosser's script has a very definitive guide from the Zanerian college that is clear, concise and has great exemplars. So my recommendation is - The Zanerian Manual. There is a copy in archive.org but David Grimes recently scanned a high def version of it on his website https://masgrimes.com/archive . Beauty of a book. I refer to very often.
You didn't ask but some good material suggestions with KISS in mind - get a good (not speedball) oblique holder, McCaffery's Iron gall Ink, a rhodia book and a bunch of Leonardt Principal nibs because you'll go through them a lot. Just like programming, once you get the fundamentals right, you can handle anything that whimsies you.
I have a particular fondness for the Spencerian family and as such regard the "New Spencerian Compendium" as a definite recommendation. It was done by Papa Spencer's sons(including a genius penman Lyman Spencer) and has some well written teaching material and theory on styles that have spring from the Spencerian family. While on this topic, I'd like to recommend a book from the Zanerian college about one of my favorite penmen - Louis Madarasz. It's called - The secret of the skill of Louie Madarasz.
All of these books are freely available as pdfs on archive.org . Also you should visit iampeth.org at some point - an organization that has spent lots of resources to dig up and preserve the beauty that was the golden age of American Penmanship. So many good helpful notes on that website.
I wouldn't mind offering personalized advice or more book recommendations. Feel free to DM me on instagram.
It's cliche but it's true: "Interested people are interesting."
Another good tip is to know what the "home row" is but if you've already developed a fast personal style you don't have to follow it strictly.
As for nibs, I bought a load of different ones but the only one I got good results with was Gillot 303. Are the Leonardt Principal ones like that?
For completeness, here is the 3rd main type: https://www.youtube.com/watch?v=oWSugQxwpEA
Worth mentioning it is entirely improvised.
It's a term I heard a Minister tell the bride and groom during his speech at their wedding. He talked about how you're going to fight with your spouse, but the challenge is to fight fair. Hear the other person. Try to see their perspective with sympathy, if not empathy. Avoid trying to "win" fights, that's never the point.
I talked about this with my then girlfriend. She was a vicious fighter. I was too. We knew each other's weak spots and knew exactly what to say. But we spent a few years slowly getting better. And now our fights are almost always about a rational disagreement on perspective. They get heated. We get emotional. Because we both really care. But we fight fair now, and that means our fights are productive and usually rather short. For me it means forcing myself to stop the argument for a moment, truly process and soak in everything she's said, try to understand why she feels that way, and see if maybe she's got a point. On more than one occasion, we'll be a few minutes into a yelling match and one of us will just abruptly say, "oh my god you're right..."
It's easily the most powerful skill I've developed in my adult life.
I've been married to her for 2 years now. I've got 78 more years to go with her and I feel more confident every day that we're going to make it.
First fight where we both knew that we fought about something but it was no longer on a level of staying together or not.
And when I realized that my wife is the person for whom some standpoints on my side are worth changing.
Also doing something only for her or for us.
I think that my relationship with my wife thought me to care way more and to understand other people better.
'Understanding/getting' it and living it are two different things.
If not for the tactical advice inside of the article, it's a launching pad for other resources to dive into (such as the 5 language of love).
People often think of negotiation as business, however it can be much more personal than that and can be very useful for your interpersonal relationships as much as it can be for your professional relationships.
Understanding how you can leverage another person’s empathy (and your own) in your favour without exploiting the other person is tremendously valuable whether you’re trying to get your kid to eat their vegetables or trying to convince a terrorist organization to free their hostages.
I’ve learned a few simple techniques that have honestly improved my ability to not only negotiate but communicate and understand people better in general.
I bought Chris Voss’ book on negotiating and it’s been really pivotal for my understanding of, well, humanity to a certain extent. Highly recommend it to anyone who wants to make a stronger person out of themselves.
No affiliation with the book btw but I’m a huge fan of the author as a result of his book.
Sure, lots of us "learnt" programming in our bedrooms or whatever by doing our own thing and messing about in whatever language. I went into my compsci degree arrogantly thinking that I pretty much knew how to code already so please just give me the bit of paper saying I have the degree and I'll be on my way thanks very much.
I was very wrong.
Although I was pretty good at the coding (or at least I like to think so), I learnt so much more of the theory that is as relevant today as it was then, and as it was decades before that too. It stretched me in ways I did not even know I could be stretched - I dont think I would never have learnt the "hard" theory that transcends specific programming languages if I was just tinkering around on my own or reading a "How to program Python/Visual Basic 6/PHP/C#" books etc (aged myself there with VB6!).
More or less every day I still use those skills/knowledge I learnt on my degree, but not only that I came out beaming with confidence and the knowledge that I knew my stuff.
As a direct result of my degree I enjoy a pretty cushy, well-paid, well-perked, and secure job at a company that many people dream of working at, and have done for years. Sure it was 4 years and a few thousand GBP (at the time in the UK - more expensive now) but totally 100% worth it - I genuinely dont think I'd be where I am now if I had not done the degree.
Sample cheat sheet:
https://readline.kablamo.org/emacs.html
You don’t have to learn it all, but mastering the basics like moving to the end/beginning on the line, moving/deleting by word, yank, history search and the like will pay off handsomely.
set editing-mode vi
set keymap vi-command
This changes readline behavior from emacs to vi. This, along with "set -o vi" in bash, are really handy (though can be frustrating for others if you ever share a keyboard pair programming).I’m a vim person, but I feel like the modal workflow does not work well at all in a shell.
Building speakers look complex from the outside, but are pretty rewarding once you know the basics (Thiele parameters, enclosure design and tuning). You can put together your own speaker with just a couple of parts from eBay or anywhere else on the internet really and sometimes can end up with really high quality boxes that can outperform much more expensive commercial ones available in the market.
Speaker design is one of those things that the more time you put into it, learning, studying, testing, the better rewarded you'd feel. To add to the mix there's also amplifiers - Class A, B, C, D and even tube amps and each combination of amplifier and crossover sounds totally different.
Each speaker box I design, I feel is like good food. Different flavors, different combinations, different possibilities. You will never feel bored and never feel you've hit an end. You're always discovering something new.
The ability to quickly and efficiently understand and mentally absorb large amounts of the written word, and the ability to write clearly, simply and coherently about subjects both simple and complicated.
Being good at reading is a force multiplier in everything academic I have ever done, and continues to be a huge advantage in both learning and simply doing my job, and in so much of life in general. So much information about how everything works, physical devices and procedures and interacting with governments and organisations, is provided as the written word. If you can do it quickly and correctly, you're ahead of the game.
Being good at writing helps me transmit knowledge and instructions across time and space to other people, helping them understand faster and better. It also saves me time; I work with people who genuinely struggle to express precise technical information through the written word, spending large amounts of time producing text that really isn't adequate. Often they write as if they're speaking, which just doesn't work.
A lot of people go through life with just functional literacy; being good at reading and writing is a force multiplier across so many activities in life, right from early education all the way through such a huge range of jobs and careers. The return on investment spent on being good at reading and writing is huge.
During interviews I would force myself to smile. It helped get rid of some nervousness. When I get stuck on a problem I would smile stupidly and usually the interviewer would help me out.
When I feel like conversations are getting heated I would take a step back and smile, it helps me direct the conversion to a more positive place.
Sometimes when stuff happens outside my control and life just sucks I'll force myself to smile and handle things to the best of my ability
I still haven't gotten used to strangers on the street suddenly smiling brightly at me, it always takes me a moment to realize it was me who smiled at them first.
The secondary effect of receiving unexpected smiles definitely also helps to improve my mood.
https://en.wikipedia.org/wiki/Paul_Ekman#Contributions_to_th...
It might not be the same for everyone. However, I have noticed that I rarely drink water. It is interesting that I only noticed that this year (late twenties). The effects on my body and mind were phenomenal. I used to drink less than 1 liter a day.
I don't feel thirst. So I don't drink water when I'm dehydrated (because I almost never feel it). Instead, I have a prescribed quantity that I drink everyday. Also when I'm out for food/coffee/bar I always order a bottle of water. I might not drink all of it, but it'll help me drink.
You should drink 3-4 liters per day to feel the difference. The difference will be massive only if you are dehydrate it without realizing it. In my case, I was severely dehydrated, but I never noticed it.
The effects: I feel fresher. Smarter. More active. My eyes are much less sore and I suffer less when I'm looking at a screen. It is interesting I have never noticed or thought that water dehydration was the cause. The first days that I started the water dosing, I felt that the exhaustion was relieved.
To give you an idea of how serious this is. Look at this chart: https://i.pinimg.com/originals/3e/ed/4a/3eed4ad01533479b473e... My pee color was always on the extreme side before. I have never questioned it. Talk about ignorance.
The very first days of hydration, I felt almost 10 years younger. By continuing I certainly no longer feel the effects since I'm used to the new standards. But I'll never forget the day I discovered that I was in severe dehydration. I also will not forget the almost instantaneous change in my body after the few hours of drinking.
(I feel like that might be cheating on HN...)
I started programming about 16 years ago (I think), when my Dad bought a basic introduction to HTML for himself, which I ended up "borrowing". I super geeky teenage life followed where I learned various languages, including Python, Delphi and an obscure language called RapidEuphoria (honest, that is a programming language, with some interesting features actually). Fast forward through a Maths degree and 2 internships, I'm now a happy Engineering Team Lead at Bloomberg, generally utilising JS, Python and C++ as appropriate.
Of course, there are a bunch of other skills needed to be a successful software engineer, but I think turning my hobby into my career has been the most richly rewarded skill so far.
No one else in my life has my back, protects my confidence, and shares this wild adventure like my wife does. We have invested a LOT of time and money into getting better at overcoming disagreements, digging deeper into what is actually causing a rift between us, defining the company we want to keep, etc.
We are both athiests, so we didn’t have access to church or religious marital counciling (probably for the best). We took it upon ourselves to study all we can, to treat our marriage as a foundation to improve our self-awareness and help each other see their blind spots.
Some education that has been helpful: - Nonviolent Communication by Marshall Rosenberg. Great foundational book. His other book “Speaking Peace” is a how-to manual for conflict resolution between warring communities/tribes/nations. Both are VERY powerful and cheap. Both have audiobooks.
- Wired for Love by Stan Tatkin. Great book about building a foundation in a partnership.
- “Deep Psychology of Intimate Relationships” course (DPIR) from RelationshipSchool.net and the free “Smart Couple Podcast.” DPIR is a “masters degree” in building a rock solid partnership, and the podcast offers some great ongoing commentary. What secular relationship books or courses or events do you recommend?
In terms of investment, it is not as expensive as private training and it keeps you on track. The real investment is in you. Your most important asset is your ability to produce income. Having a healthier body helps maintain that ability. The damage that I do through typing is only barely counteracted by these training sessions. I don’t take typing for granted, having had soreness and pain for many years, and going to the gym and lifting weights has been the best action I’ve done towards addressing that. For you young and older people out there, do not take your ability to pound at a keyboard for granted. One day, it may start to lead to soreness which goes away after some rest. Eventually, the soreness does not go away.
The true returns are the cumulative effects of sticking with a healthy habit. You may not become “jacked” and super muscular but you will become fitter.
After almost two years, the benefits of regular exercise are so apparent that I have to hold back getting on my bully pulpit to encourage other friends to do so.
http://imgur.com/a/uzUzP http://imgur.com/a/BuwKp http://imgur.com/a/q61eH http://imgur.com/a/1lp9O http://imgur.com/a/OyMWI http://imgur.com/a/iVhUq http://imgur.com/a/4zv43
What's a "high degree of proficiency"? Obviously somewhat subjective but I'd argue its one of:
1) being able to play intermediate to advanced pieces in the standard repetoire. In the case of my instrument, piano, it's being able to play Bach, Brahms, Debussy, Bill Evans, T Monk, etc.
2) being able to think of a musical phrase and then play it on your instrument without much/any guesswork.
My parents forced me to take piano lessons - classical - for 6 years starting when I was 9. I hated it. When they finally let me stop we moved across the country and I fell in with some new friends, one who played bass and the other drums. They would regularly get together to do something called 'jam', which I'd never heard of. They invited me and although I only knew one non-classical piece - a simple blues - the feeling of playing/making music with other people was electrifying.
I ran home and asked my mom if I could start taking lessons again - this time jazz. I went on to attend a music school for undergrad and have never stopped playing, picking up guitar, bass and drums along the way.
Playing/making music has been one of the greatest sources of comfort and pleasure. I don't often get depressed but on those rare occasions when I do, being able to sit at my piano and play something like [0] is the best medicine.
I wouldn't say I've mastered it, but after 4+ years of study and practice including several 5-7 day retreats I can honestly say I'm far more emotionally balanced, calmer, happier, more insightful, more confident and comfortable in my own skin, better at dealing with setbacks and difficulties, ...
There's many things that call themselves meditation and as far as I can tell the majority of them are legit. I'd advocate picking one large and well established school / method and sticking with it for a few years rather than attempting a breadth-first search of the space or going into some niche branch that really just has one charismatic instructor.
- reading "Smashing the stack for fun and profit": I learned so many things from that article, that I felt like a god when I finally understood all the things. And all of those things are still relevant today when debugging stuff.
- learning ruby: when rails came out I jumped on the hype train and started learning ruby. I was mainly a java dev, so learning all the new ways of doing things made me grow a lot.
- javascript: I hated the language, but once I bit the bullet and overcome my hate for it and started learning it, I now love all the things I can do.
- learning git: it was an uphill battle at the beginning, but now I can't live without it.
I am sure there are a lot of other things I am forgetting, but these come to mind now.
I think going a couple of steps lower, learning electrodynamics (from a book like morin&purcell), and then electronics (art of electronics), will give you even more satisfaction.
I had never danced before, had no coordination, and was petrified of looking stupid in front of others.
Then five years ago, I saw an ad for beginners' flamenco dance classes and decided to give it a go. Right away, I got hooked on the physically demanding athleticism, the precision of the complex rhythmic structure, the way you make the music with your feet stamping on the floor, and the way it requires total concentration. After a high-pressure day in front of the computer at work, I love leaving that behind and walking into the dance studio...
The most rewarding part is I now take classes taught by the top Spanish dancers. It's a real buzz to see them perform on stage on a Friday night then spend the Saturday and Sunday in workshops with them teaching the same choreographies.
Incidentally, that You Tube link above is of Marco Flores and Manuel Linan, two of my favourite male flamenco dancers. I will be doing a workshop with Manuel Linan this Christmas and one with Marco Flores in Spain next February.
I read a weight loss book called "the Gabriel Method" and it changed my life. Besides all kinds of food related things, it teaches a sort of goal-oriented meditation/visualization technique that I found to work for many more things than changing eating habits.
I've felt more like good food and less like bad food so I eat healthier without needing to muster discipline. Lost 10 kilos so far without really trying all that hard.
I've been procrastinating less because I changed the way I feel about many of the tasks I'd keep postponing.
My relationship has never been better, despite our lives having become more, not less, busy during the same period. We fight way less because I'm less annoyed by things and I'm better at not letting things escalate when she's annoyed by things.
Frankly it's been pretty spectacular.
No idea about body temperature, sorry.
One thing that prevented me from memorizing characters was the idea that it wasn't worth doing. However, this passage from the Self-Regulated Learning paper [0] that circulated around HN convinced me otherwise:
"We need to understand, too, that our capacity for storing to-be-learned information or procedures is essentially unlimited. In fact, storing information in human memory appears to create capacity — that is, opportunities for additional linkages and storage — rather than use it up."
2. Learning (even very basic) Chess has opened my eyes up to how interesting a "solved" game can be.
[0]: http://www.excaliburtsa.org.uk/wp-content/uploads/2017/11/Se...
That said, if you intend to live in China or have Chinese heritage or you have some other reason to study Chinese --- that's great! But it's not a bad idea to consider where you're going with something before dumping thousands of hours into it. (In fact, I quit chess for the same reason...)
I was trying to edit the full hsk1-6 flashcard set to just show hsk5.
But I didn't manage to find the right tools.
Tried to manually change the file (it's a sqlite dB inside a zip file) but the db is not structured in a way I managed get my head round.
Should try again.
It opened up a whole new area of the internet that I was excluded from simply because I didn't know the language. There are communities that I can actively participate in and learn from.
I picked the game up around the time when AlphaGo was on the up and up. My goal with it was to work on patience and fulfill my competitive drive. It proved to do so much more for me - a year in, I got to play solid games, experience success against players stronger than me, meet a lot of awesome people, travel a bunch and, most importantly - and probably the most cliche - learn a lot about myself, about my character and how to become a better person in general. People think it's impossible to improve significantly after a certain age, but, whilst I certainly don't have enough time or drive to pursue the highest echelons of rankings, I have been steadily getting better and better and the end isn't anywhere in sight. Can't get enough of playing in tournaments either - not only do you get to really duke it out with others, you get to learn a ton from them, form great relationships and sight-see a whole lot.
In my limited experience with classical board games and extensive with video games, I found Go (known also as Baduk and Weiqi) to be the most fun, the most challenging, the most social game out there. Simple, yet complex - you can learn the rules in two minutes, but learn all the intricacies of the board for years. I strongly recommend checking out a local club at least once - there's a strong chance you'll really enjoy playing the game with the people there.
This is so true: playing Go strips you naked, everything about your personality comes out in the game. It's completely terrifying. And awesome.
I’ve also learned to take a portfolio perspective to photography (building sets of pictures that tell a story) rather than instantly uploading everything in a competitive search for ‘faves’. I’ve rediscovered younger me’s joy in photography, whilst posting less than I have for years.
What do you think about modifying photos a lot after taking them? What are your views on photographs that are just those moments locked in time forever and otherwise when you try and modify them (esp. in the age of social media).
For digital art my starting point is usually a 3D render created in something like Daz Studio rather than a real-world photo
For people wondering, Chris Voss is the former lead international kidnapping negotiator for the FBI. Here's a podcast where he talks about negotiation [0] and the link to the book the above comment refers to [1]. His talk at Google about the same subject might be interesting too [2].
[0] https://fs.blog/2018/01/chris-voss/
[1] https://www.goodreads.com/book/show/32444582-never-split-the...
Chris Voss' book teaches [among other things] that listening is the most important and most difficult negotiating skill. That's a "scaleable" approach to negotiation, if you happen to get two people together who both believe in listening to the other, that works.
Here's the correct link to Chris Voss' book: https://www.goodreads.com/book/show/26156469-never-split-the...
That's a perfect time to use those negotiating skills. When I was buying a car, I just told them the number I'm willing to pay, and two weeks and 5 calls later they agreed. On the other hand, had I scratched someone's car, I'd want to use some negotiation tricks in case they wanted me to pay too much.
This book (Never Split the Difference) was also pretty helpful to me, but it's easy to forget to apply in scenarios.
One of the biggest things one learns is the ability to self-teach. Unfortunately college charges a lot of time and money to learn via their chosen methodology which doesn't fit many people. At worst it can build a dependence on teacher-pupil classroom settings to learn new approaches, hence so many training sessions and stagnation in their absence. As a tautology, it's not that one approach is necessarily better than another, but we must remember that one approach is not necessarily better than another.
Second, I dispute that spending those 4 years doing real-world development would have yielded greater benefit. The thing is, he'll be doing his whole life real-world development, so the longer he is in the profession, the smaller the benefit of the additional amount of experience will be. On the other hand, in the four years of college, he has the chance to learn some other stuff deep in a way that he won't have the chance while he's working.
Think of it with this analogy:
a hacker with no comp-sci foundation is to hacker with comp-sci foundation the way a car mechanic is to an automotive engineer
Now, decades later, I despair at how poorly new and many not so new developers we hire really understand complexity theory. Complexity theory is the single biggest thing you can learn that you might not learn self-taught, but so very few developers internalize it. They write code that does network calls and database calls with abandon, never mentally multiplying out the complexity. And as the gap between testing environments and production environments grows (i.e. a lot more data in production), the cost increases. (I had learned and internalized complexity theory at 15, from a chance book found in a bookshop. This was before the web made such information easy to find.)
Of course you actually have to pay attention to it. I've gotten a lot of praise by just optimizing things that everyone else shrugged off. (Turns out people appreciate a fast authentication system; who knew!?)
What has turned out to be more useful was knowing how to ship software that delivers business value without being an architect astronaught. I credit that to my few business classes in undergrad and my MBA studies before dropping out.
I'm currently finishing up my CS degree after having worked professionally as a dev for a few years. I got started with a bootcamp, maybe before they were mainstream.
Maybe my expectations were out of line from the onset, but I came in more to learn than for the sacred degree. And I don't mean for this to be specific to my school - I imagine it's happening many places - but the school seems to be going out of its way to push students away from what I'd consider the core computer science curriculum.
I don't think it was always this way but subjects like compilers, algorithms, operating systems, and computer networking are veering more and more towards optional. Taking all of them before graduating is rare.
Instead, the hot thing seems to be software engineering. It sounds so good on paper - and I'm sure students, parents, and school admins all want it - but my experience with it has been complete nonsense.
In practice, these, and similar classes, have just been watered down versions of what is done in bootcamps, but executed poorly by folks with little industry experience. The result seems to be no actual computer science knowledge, a superficial experience, and bad habits.
There's so much more hard computer science I want to learn. And while I'd love to continue on to grad school - I have learned a fantastic amount here - so I can actually get to the good stuff, I don't know if it's realistically the best path.
tldr, I'm a bit bitter that I've had to take so many "filler" courses during my cs degree. Are CS degrees getting watered down? Is software engineering as a domain like this everywhere?
Things like dependency injection work the same in most languages so it's more helpfull to understand what it solves than how to solve it in language [x]
Knowing the common language and use cases for data structures is probably the one I lean on the most. Seeing the general shape and feel of a problem that needs a graph style solution or being aware that looping through a nested array is bad but that there are easy off the shelf solutions built into most languages to that problem is important. How else would I know that at the root objects in js, dicts in Python, maps in Java, C#, and Clojure are all backed by the samething and have similar properties or that those properties shape how you interact effectively and efficiently with those things?
Additionally it opens the world of acidemia to you by teaching you the conventions and tools you need to read and make sense of comp sci papers which let you stay at the cutting edge of your field if you want to, imagine being a machine learning engineer before Google made this huge push in ML, I tried when I first started college to grasp the ML stuff but most of it was beyond stuck in papers behind lots of calculus that I didn't have the time or desire to learn. My CS pushed me through Calc 1 and 2 so if I wanted to I could just brush up on that and push into ML.
It's hard to explain for a lot of people because in reality you can go it alone and do fine but it always be the case that your whole career you didn't get a CS education so you might have holes in your knowledge that you had no idea about. Additionally it lowers barriers to careers and gives you an incredible opportunity to build a social network of interesting people who in general will go on to do big things and you can leverage that social network for even more career gains.
I haven't even touched on the social aspects of college which you can dip into if you want or the fact that it gives you an opportunity to learn how to live on your own all of which are important but directly connected to CS but rather college as a whole.
TL;DR You don't know what you don't know but college helps you get those tools and teaches you s whole bunch of lessons along the way, but you can go it alone of you want.
Similarly understanding storage classes for data and indexes, for example when to btree vs lsm trees. If you are using lsm trees when and how it should be optimized.
And ofcourse, in interviews :D.
except for baking—-precision and reproducibility are key there.
Hint (it works for me, YMMV): cook only once a day, only when you're rather hungry and preferably on evenings after work. It will help you to relax.
P.s. I’ve flipped through ‘The French Laundry Cookbook’, and if you can take that on, I’ll call you a chef. :)
Books: There are many technical books, some are so complex in their wordings that you'd feel like giving up even before you start.
The best book I've found that's short and sweet (but requires a little bit of math background) is this one:
https://www.amazon.com/Designing-Building-Testing-Speaker-Pr...
Courses:
Coursera has an Audio Engineering course which the professor explains in really crisp detail. It's from University of Rochester.
The course title is: "Fundamentals of Audio and Music Engineering: Part 1 Musical Sound & Electronics"
Link: https://www.coursera.org/learn/audio-engineering
I audited the course and didn't pay any money. There's not much difference unless you want a certificate (and of course want to support Coursera too).
YouTube:
I like Kirby meets audio. He does some really nice stuff with speaker boxes. He mostly sells kits for his speakers, but I don't recommend them. They are from parts express mostly.
https://www.youtube.com/channel/UCOuow_HIYmeaIqi42zVs3qg
I LOVE John. He reviews most of the cheap amplifiers from China and teaches you what's wrong with them electronically and how to fix them. HE's very knowledgeable as well.
https://www.youtube.com/channel/UC8SPQG7er2RJhz4E8xvFEtw
Where to buy parts:
If you're buying speakers, AliExpress usually sells good quality speakers for cheap. You may also want to search for the same model (sometimes under different brand names) on eBay as eBay can be cheap sometimes as well.
Contrary to popular belief, most speakers are actually made in China. Simply because China possesses most of earth's natural magnetic ore required for making speakers. That and Neodymium too. For example, look at the quality of this Aluminium cast speaker: https://www.instagram.com/p/BjZN5XKggOt/. It's definitely hundreds of notches higher quality than what you can buy commercially from say, Sony or Philips in the consumer market. And it also costs really less.
Nanjing in China has most of these speaker factories and I visited a few last year. If you are able to make a trip to China like I did, it's best to form a personal relationship with someone there and you can order directly through them. The price difference between AliExpress/eBay and these factories direct can be as huge as $50-100 depending on the model and size of the speaker.
For amplifiers, I recommend eBay or AliExpress. Both carry decent models.
If you'd like to build your own, hands down the best model to get started with and easiest to hack one in a weekend is TDA 7297 by ST MicroElectronics. The good thing is, you can even power it with your USB! And the sound quality is REALLY good. It's the same IC used by a lot of companies (Creative for example) and resold to you for $700 (Creative actually has a model that uses this IC for this price, I can't remember which one). Many companies like Bose also use similar models from ST as well. That's when you realize stuff you buy from the consumer market is actually something you could have built yourself too, with a little more effort :)
Some other popular amplifier models (plug and play) are chips based on TPA 3116D2. They come in different configurations 2.1, 4 channels or good ole' stereo. Pick the ones you like.
Finally, don't be intimidated by all the complex terminology, sometimes you can just start with what you like or find combinations on the internet that are popular. Here's my earliest build: It's a mix of art + audio (attempt to): https://www.instagram.com/p/Bet9CA-FxHs/. But even after so many years, I'm still proud of it :)
Hope this helps :)
But you're not going to be driving a speaker with a phone anyways. You'll need an amplifier, and if the aux port goes away, the amp will likely have whatever-alternative-input-there-is.
I'm very familiar with this situation. Since an ever increasing amount of important communication is handled in written form, via mail, slack, in todo lists and project management tools, I noticed how many smart people reduce their writing to several loose thoughts, if not barely connected nouns, that hardly count as sentences, resemble spoken language and almost always require additional discussion and questions to understand the actual meaning.
I think to many people it just feels too cumbersome to write and explain in detail. However the time saved during writing is, of course, lost when the almost inevitable clarifying discussion afterwards is due.
Writing and reading is critical. Take your time to do it well.
Writing happens entirely inside one's own mind; it can be so hard to see that what we're writing isn't clear, isn't well structured, doesn't guide the reader deftly through understanding and enlightenment. I wonder if it's even possible to properly critique our own explanatory pieces on technical issues, given that we cannot read it without having that knowledge already in our heads, as the target audience will have to.
It can be quite a shock to learn how badly written some of our own work is; as with code reviews, ego has to step aside.
(I have an English degree, so I can at least say his advice rings true and hits a lot of important points.)
IMO, whatever other reasons there may be, a most compelling reason for learning a language is its poetry (Robert Frost defined poetry as that which gets lost in translation), and here Sanskrit poetry is unlike anything in the world. You may like to read this collection of essays[2] that my friend wrote during his first real encounter with Sanskrit poetry.
[1]: https://youtu.be/ZoS1nA8RVko?t=740 (starts at 12:20), https://youtu.be/WwtIJ8_bQf8 (ends at 35:00).
Vidya/Shishu Mandir?
We used to have Sanskrit months and weeks when we were supposed to interact with each other pretty much entirely in Sanskrit. It had such a solid grammar and I'd say it was flexible too. I wish we were introduced to it in a flexible manner. I remember myself being able to rad Sanskrit books with relative ease. But, now? Last time I tried I couldn't. I kind of blocked this language out. I talked to couple of friends and they had similar experiences.
कुत्र = where (?)
पठसि = studying. When you want to use "studying" with "you"; with "I" it would have been "pathaami" (पठामि) iirc.
संस्कृतम् = Sanskrit
So, it should roughly read "Where are (you) studying Sanskrit?"
Do you have the same problem? Is there anything I can do about it? For a while I thought I just had a small bladder measuring the amount I urinate showed normal values of roughly 500-600 ml when waking up with a stronge urge to pee. This does make sense to me because the 3 to 4 liters from drinking plus the extra water from food has to go somewhere after all, so I am wondering why other people do not have this problem.
This way, I'm able to get in 7-8 glasses in a day (which is the usual prescribed limit).
Now I drink 2 gallons of water every day, it's become a habit and I feel sharp every day.
Ok, maybe that's working for you, but I would caution other people, hyponatremia is a real risk if you over hydrate.
You mentioned your pee colour is on the extreme side. You should probably get yourself scanned for kidney stones. Kidney stones can go undetected for ages.
Also note that your diet makes a huge difference, the veggies and fruits you eat, the more water you put in your body without drinking.
Through this, I've learnt product and market fit that made tangible changes in peoples lives - the coding remains a personal rich reward, but the product outcome has been the true 'reward' so to speak.
I value the personal rewards higher than anything however. There are not many things better than a good hour coding session when things go well and everything works. I've fond memories of many good hacks or idea that were so perfect that they pivoted other peoples ideas and changed a product outcome.
My career is a bit mixed up: Taught Math at a college (part time on and off for 10 years), Meteorologist (only 2 years), Nuclear Engineer (only 2 years), Systems Engineering (7 years), Hedge Funds (15 years). I did a lot of ML/AI (20 years) mostly for Trading Stocks, Poker, Torpedos, and Satellites. I wrote about 100,000 lines of C++ and about 10,000 lines for each of the following: BASIC, Mathematica, Matlab, and Haskell.
Math is an integral a part of my life and my thinking. :)
If I get some time later, maybe I will try to write up a few stories.
Applied to software engineering, it (indirectly) improved my abilty to understanding what a piece of software needs to do and why it's there. It also improved my ability to discern what level of abstraction is appropriate to the problem at hand, and figure out what questions to ask. In short, mathematics changes the way you think in a very powerful way. The precise contents of what you learn in the subject aren't necessarily applicable to everyday software engineering outside of a few areas, but the way of thinking is eminently so. For a personal example of where mathematics does come up in programming in a direct way, I do hobby graphics programming, which necessitates fluency in elementary linear algebra and benefits from grasping vector calculus (if you want to understand how light transport works and where physically-based rendering algorithms come from).
The most annoying thing I hear often is that if you use Hibernate you don't need to know SQL. Last time I checked, Hibernate's manual had something like a thousand pages. It's better to just learn SQL.
W3Schools has a good SQL tutorial I recommend to new engineers. After that just try to use it and use stack overflow when stumped. Easy things are easy, but some harder things can be difficult for some to grok.
1. Have a database to query (or think of some project that is basically a frontend on a database and which you can give a reasonable amount of data)
2. Come up with questions for the database you want to answer
3. Look at the SQLite documentation. They have fantastic diagrams for the syntax of a sql query.
4. Write down the sql for your query (or work out what you can’t express and see if you can search on the internet to find out how to express it)
5. Look into relational algebra and try to work out how it corresponds to sql databases.
6. Repeat steps 2-4
7. Understand what different types of joins there are
8. Repeat steps 2-4
9. Read about more exotic things like nested queries, window functions, recursive queries, and so on (just look at the features of your database of choice and see what you can learn about). These might come in handy for future questions
10. Repeat steps 2-4 (repeatedly)
If you don’t know which database to use then start with SQLite. It’s basically fine for anything simple and manything complicated.
I get to the gym pretty much every day before work. The benefits are huge - more energy, better concentration, and of course just looking and feeling better in general.
Edit: for the deleted comment - I'm late 30s, not sure if that's young or not and I'm a night owl for sure. Also see a noticeable difference in those busy "I should skip the gym" periods if I don't go, as oppose to prioritising my exercise over my work (which yields far better results).
If you want to get started, find a group or a program and jump in. I like nSuns + regular cardio, but the choice is going to depend on age and overall goals. I see my improving PRs and workout sets I've completed as both motivating and addicting.
StrongerbyScience has fantastic guides to most movements, and excellent, peer-reviewed training methodology.
But it’s also about discipline, this sort of thing can only be accomplished with discipline, which is what really lets you accomplish things.
For the benefit of my past self: discipline isn’t about punishment or being harsh with yourself. Discipline is the practice of saying to yourself “this is hard. This is scary. This is worth it and so I’m going to do it because I’m stronger than I think” and then following through with action.
EDIT: Sometimes the "following through with action" bit also involves knowing what you need to set yourself up for success (e.g. good food, enough sleep, encouragement from friends, the ear of a therapist, guidance from a coach, clarity on a goal) and enduring the discomfort that comes from the decisions required to get those.
I have been plauged by muscular/ligament issues too. I tried swimming and ended up hurting my rotator cuff, now I can't do repetitive overhead activities :\.
Let's add one more word:
Your most important _material_ asset is your ability to produce income.
Bam. No more philosophical/moral connotations. It's almost tautological: your ability to generate material value is your most valued material asset.It doesn't even have to refer to working as that value generator. If you have enough money in a bank account to live off the interest then that is your most valued material asset!
This book is a good start: https://www.reddit.com/r/overcominggravity
I found no evidence for this, arguments seems to boil down to an "appeal to nature". Many variations of bodyweight exercices are far from healthy for tendons (single arm push ups or single arm pull ups for example), even basic push ups are harder on the shoulders than dumbbell bench press.
If you keep the rep range above 15-20 the risk of injury is pretty minimal with weights.
With that said, bodyweight exercises can be a good alternative if you don't have access to a gym, or if you like to train outside on a playground. But be careful with some exercises because bodyweight != healthy.
I'll also say as someone who thought he didn't need the gym because I would do calisthenics/yoga/barbell exercises at home, my back pain never went away until I started lifting heavy weights. I'd say likely because it stregthened my core which supports the back, but I'm no sports scientist.
His book on Amazon: https://www.amazon.com/Overcoming-Gravity-Systematic-Gymnast...
For people looking to get started, I would suggest Starting Strength, which is a book on Amazon (pretty lengthy, but extremely thorough) or Strong Lifts 5x5 (google it to find the program it’s free on the web).
The basic gist is to do full body barbell movements for 5 sets of 3 or 5 and increase the weight by 5 pounds (2.5 pound plates on each side of the barbell) per session.
The basic barbell movements are
Squat
Deadlift
Overhead press
Bench
Bent over row
(I don’t do power cleans)
Do YouTube proper form, benching especially can rip up your shoulder when done incorrectly.YouTube channels I watch to keep motivated and to learn stuff like form and nutrition (they limit the bro science as far as my untrained eye can tell):
Alan Thrall
Jujimufu
Eric Buggenhaggen
Jeff Nippard
Scooby1961
Omarlsuf
Remember the following:-no one is looking at at the gym
-lift only what you can lift, start slow, you will progress very quickly
-Commit to going every week three days a week, except for illness and injury
-Carefully watch form videos on YouTube for the lifts (Alan Thrall and The Art of Manliness are the best)
-If you do sustain an injury, let it heal for a weak or two, but continue lifting around the injury
-strength training is not body building, but it is the ideal place for creating a foundation of strength and overall health, you will lose weight, you will gain muscle and you will be out of the gym in under an hour with the basic barbell movements.
I’ve been lifting for 7 months now and I love it. I suggest everyone do it.
come on
It's not a statement on how things should be, or how we might want them to be. It's just a pragmatic acceptance of the way things are.
Didn't say that, just saying that's not the case for many
Awesome little company with great kits for people into building HiFi gear
I'm not in any rush to do advanced movements. For me, perfect form (and safety) comes before anything else. I also practice "greasing the groove" (doing low reps more frequently), which helps to mentally learn the form as well, and make the exercises as natural as say lifting a glass of water.
I can do about 4 proper-form push-ups, though most often I train with incline push-ups. I also do bodyweight rows (using bars), and squats. Eventually I'd like to do stuff like front lever, but: petit à petit, l'oiseau fait son nid.
[0] https://github.com/Stvad/CrowdAnki
For more complex operations Anki doesn't support directly, I usually just export as text instead of dealing with the database directly.
> But I didn't manage to find the right tools.
This is by far the worst part of those decks (which I am also using). You are literally encouraged to just browse the cards and delete the levels that you're not using. It's really not user friendly.
Take almost ANY very important historical figure. Was their most important asset their intellect or talent or Idon'tknow, OR their ability to convert those into income?
I'm pretty much a novice but I think you may skip the bracketed _you_ because it's idiomatic to skip it when its clear from the conjugation. E.g. (You) go and (you) find him.
Also guessing that he was using material and not learning at an institution, I should have used केन (using what) Or just asked कथा (how).
""" Bodyweight exercises have a far lower risk of injury compared to using free weights and machines due to the absence of an external load that is placing strain on the muscles that they may or may not be able to deal with. However, the lower risk of injury is only provided that the athlete/trainee is progressing through the correct progressions and not immediately skipping to strenuous movements that can place undue and possibly harmful stress on ligaments, tendons, and other tissues. Although falling on the head, chest, buttocks, and falling backwards can occur, these are far less harmful injuries than dropping a weight on a body part, or having a joint extended beyond its natural range of motion due to a weight being used incorrectly. """
Here are the logical ways to explain the misconception of injury being less common with bodyweight training:
1. Progress with BW is slow as crawl. All things being equal, lifting will improve strength much faster, leading to higher loads sooner. Higher loads always mean more injury potential. Faster progress is not magic - it's possible because all major muscle groups can be loaded precisely and gradually with weights as opposed to BW movements. You can take things as slowly as you want.
2. With BW, some movements simply cannot be loaded properly. For example there is nothing you can possibly do with just your body weight to put any serious load on your legs or low back. This already cuts one's potential for injury in half at the cost of neglecting the development of the lower half of your body. So instead of taking things slow with your barbel squats, you are stuck at 1-leg BW squats forever, which are only hard because of balance/stretching issues and are fairly trivial strength-wise.
3. With free weights, it's easier to be stupid and bite more than you can handle.
As I said, I've done both for enough time to appreciate pros and cons. There are reasons to practice BW training, but lower injury changes is not a good one.
Why do you think 4 years are better spent paying to cobble together scripts for unnecessary assignments the way a can't-hack-it-outside-academia teacher wants who is not incentivized to do the best and is out of touch with real-world development instead of spending those years surrounded by experienced and like-minded peers in an environment that focuses on making tangible accomplishments and making money?
I hope it's clear how ridiculous discussing things this way is. There are benefits on both sides, and a reasonable person would respect that.
So if you're going to criticize it, at least get it right: it's not 4 years cobbling scripts together for <insert tired "those-who-can't-do-teach" stereotype here>, it's 4 years learning theory and fundamentals when you could be practicing the marketable skills you'll be using more directly.
Personally, though, I've found that while nearly none of the specific programming techniques I learned in my Computer Science degree have been applicable to my job since, the fundamental understandings of the underpinnings of the field have made it vastly easier for me to pick up new languages and techniques as I need to.
As far as interviews, the last three jobs I had.
1. We need you to design a fault tolerant system with no single points of failure. Write out your design on the board.
2. What is your 90 day plan to build a software development department to achieve these initiatives.
3. Here are some issues with our AWS infrastructure and challenges we are having delivering features. How can you help solve them.
Yes, I’m supposedly a hands on developer, but at a certain point in your career, you’re not asked to write a merge sort on the board.
And I did read it from a book, when someone from University introduced me to the book and explained it to me in short firstly so I can grasp it more easily on my own.
I'd never pick a book about B trees on my own (booooring, let's learn LatestFramework.js).
My University professors were mostly a complete disaster but at least the materials we had were good enough. Who wanted to learn had access to knowledge, and for motivation -- at least the grades.
I can't see myself on my own even finding a book about theory and then going through it for 4 months, getting into nitty gritty details just for the kick of it.
There's no obvious benefit at the time of learning it. By the time you can see the benefit on your own, it could be too late.
If you had to depend on a teacher to expose you to the books you should read, what about the rest of your career?
I'd never pick a book about B trees on my own (booooring, let's learn LatestFramework.js).
No, but if I needed to know about how to optimize MySQL, I would do research on - how to optimize MySQL.
My University professors were mostly a complete disaster but at least the materials we had were good enough. Who wanted to learn had access to knowledge, and for motivation -- at least the grades.
I doubt that there is a dirth of knowledge between the free information you can get and paid courses online.
I can't see myself on my own even finding a book about theory and then going through it for 4 months, getting into nitty gritty details just for the kick of it. There's no obvious benefit at the time of learning it. By the time you can see the benefit on your own, it could be too late.
There was no obvious benefit from me learning 65C02 assembly language and BASIC in the 6th grade. But I did it anyway. There was no benefit from me spending hours on the comp.lang Usenet groups in college. For any software developer though, there is an obvious benefit from having a deep understanding in marketable technologies - competitiveness in the job market.
संधिम् जानासि किम्
नेदम् प्रश्नम् संधिविषये
> I found no evidence for this,
From Wikipedia:
""" Bodyweight exercises have a far lower risk of injury compared to using free weights and machines due to the absence of an external load that is placing strain on the muscles that they may or may not be able to deal with. However, the lower risk of injury is only provided that the athlete/trainee is progressing through the correct progressions and not immediately skipping to strenuous movements that can place undue and possibly harmful stress on ligaments, tendons, and other tissues. Although falling on the head, chest, buttocks, and falling backwards can occur, these are far less harmful injuries than dropping a weight on a body part, or having a joint extended beyond its natural range of motion due to a weight being used incorrectly. """
My favorite quote on discipline:
“A modern stoic knows that the surest way to discipline passion is to discipline time: decide what you want or ought to do during the day, then always do it at exactly the same moment every day, and passion will give you no trouble.” - W.H. Auden
Yes absolutely ! And you build muscle WAY MORE FASTER with real weights versus calisthenics
The two rules of the gyms are basically : no machines, and 'form before weight' (i.e. master a movements at a given weight without feeling hurt before moving up).
The only two actually dangerous movements are deadlift and squats and it takes at least a PT sesion + a few "form check " on r/fitness to get it right but once it his mastered it's all good. Alsso bench press but it really start being possibly dangerous at 80kg and you are aready quite developped anyway so you are already supposed to master the basic of form an training.
Machines are fine and useful. Better rule might be "don't only do machines". But even then, I'm pretty sure someone experienced could design a routine that would get them good results with nothing but machines.
The main factors I think people should take into account for whether or not a CS degree is worth it:
Do you believe that you absolutely need the degree to break in to a programming career, if you're someone who just wants a good job and doesn't know where to start (like I once was, and like many of my friends who are just starting off with learning are now)? Or are you interested in a specific programming field that has a hard CS/Math degree/knowledge requirement?
Is the combination of tuition/fees and opportunity cost significant to you? If you are responsible for paying your own way and taking out loans, compare spending ~4 years in college and having -$40k and no work experience, vs. working for ~4 years, having $40k+ in the bank (possibly much more), accumulated possessions/assets, credit history, etc. This is not nearly as significant if your finances are being handled by someone else, and/or you don't have to worry about money at all because you have access to wealth anyways (mainly through trusts, planned inheritance, a partner, or your family).
Do you believe that you need to the environment, structure, and pace provided by college/university to actually learn CS, and that you're incapable of doing so on your own? I want to note that there's nothing wrong with feeling that way. It's just something to take into consideration. If you need to be completely immersed in it to actually retain the knowledge, then it's the right choice. If not, and you're someone who can learn everything on their own, then consider if being in a CS program would actually hamper your rate of learning, as you're forced to match the slower pace of others.
For me, it was not a case of not being able to do it on my own, it was not knowing what I should know.
You could probably spend years becoming an expert on C# or Java or C++ or Go or whatever just by coding in it at your own pace (or at a job) and slowly learning by osmosis/experience/mistakes along the way etc. That's fine. But would you learn the useful theory along the way as well? And if you did, would you bother if someone hadn't created a nice structured syllabus for you? I know that I almost certainly would not had I just stuck to churning out fairly clunky (as I know it was now) code without the formal education in it.
As you said, I am sure some people dont need this though, and somehow just have limitless time or already somehow know exactly what they should learn next, when, and in what order and never need to ask any experienced people any questions to clear up misunderstandings or have their knowledge checked. Lucky them.
Easy: whatever seems interesting.
> when, and in what order
Every single book I've read listed the things you should know before reading it in the introduction. If there's something you don't know about, you go back to the library or bookstore. Rinse and repeat, then start from the bottom and climb back up until you reach the first book. It's easy.
> and never need to ask any experienced people
There were so many experienced people on the Internet even back when I was a kid that you didn't have any problem with finding and asking them. They were incredibly helpful, especially in suggesting which books on a given topic to read. Assuming that you can get access to such people only in college is kind of elitist.
> to clear up misunderstandings
As I said, smart people are everywhere (on the Internet), just reach out and they'll help you. Well, maybe it was easier in the 90s - or maybe not, I don't know - but I'm 100% sure that not all the smart people of the world are in colleges right now.
> or have their knowledge checked
Your programs are self-evaluating proofs of your understanding. Cross-checks by others are nice, but hardly essential.
Here's what you're missing -- you still get to rub shoulders with experienced people as you work alongside them in a professional context. If they have a CS background, you get to fill in any missing gaps, whether it's hard knowledge or simply learning what you still need to learn on your own, so long as you're willing to ask and they're willing to share.
You also have the alternative of learning from experienced people without needing to be employed. Online communities containing working professionals, open source, local meetups. The latter isn't an option for everyone based on location.
If your first job doesn't have an opportunity for mentorship because you're the only dev, or the other devs are overloaded, you can still reach out to countless people who will help you for free and with no expectation of anything in return.
Open source is extremely intimidating to get into as a beginner. I'll admit I was never able to do it, and even now I feel intimidated despite having spent 3 years working professionally.
But the fact is that the option is there for anyone who wants to access it. Any person can get things like code reviews and career guidance from very smart and very experienced people if they're willing to seek it out, without having to pay them anything. You have open access to the CS knowledge that is passed down in university programs, and to people with that knowledge for when you need help.
I don't know how much longer this will be the case, but I think the trade-off in value between getting a CS degree and getting into the industry as soon as possible (and picking good work environments) is only continuing to grow, especially since employers are caring less and less about a CS degree as a hiring criteria with each passing year.
So please do, then?
> How else would I know that at the root ...
Just read a few books on algorithms and data structures? Is that a problem? Or do you say CS degree course gives you access to books you otherwise cannot get?
I got my first, quite a decent one[1], for my 12th birthday. I slept with it. Like, seriously, kept it next to my pillow. At first, I didn't understand anything. A year later, the book was in a rather tattered shape, but my understanding was quite decent, except for some of the "AI" algorithms (the book was from '95, so what it called AI was rather different from today). About half a year into reading it I finally saved enough money to buy the least expensive version of Visual C++, and I could finally start coding the exercises. Before that, I just imagined what they would look like, how they would work; I borrowed Stroustrup's "The C++ Language", read it and wrote C++ code in my biology notebooks. I sorted playing cards, laying on the carpet in my room, and was overjoyed when they indeed became sorted. It was incredibly exciting. You know what uni was when I entered it years later? Anything but.
> Additionally it opens the world of acidemia to you by teaching you the conventions and tools you need to read and make sense of comp sci papers
By the time I actually needed them, the papers were mostly accessible to anyone, academia or not - but that was many years later.
Before that, though, I learned most of the "tools" from - again - books. There were great books on math in my high school library and my maths teacher was happy to help with things I struggled with, even though they were unrelated to the actual course she taught. My first animated, rotating cube implementation was thanks to her. She told me that what matters is the curiosity to find problems and persistence in attacking them. She never once told me that about having a degree.
> You don't know what you don't know
What? You try to implement something. It doesn't work. Here, that's what you don't know. Now go learn it.
It's really that simple. If you're a person who "tries to implement something" on your own once in a blue moon, then sure, school is good for you. It forces you to try things and helps you accomplish them. If you're not, though, it's just going to slow you down and suck all the pleasure out of learning (because it will force you to try things you don't want or need at that point - instead of an exciting adventure, learning becomes more like a job due to this. It's dreadful. Horrible. And most of all: counterproductive.)
> but you can go it alone of you want.
Well, some of us can, others don't. It's important to know two things: a) which kind of person you are; and b) you don't have to be ashamed of being either. Your post sounded a bit condescending to me, hence the lengthy response - I just wanted to offer a perspective of someone from the other group.
[1] first ed. of https://ksiegarnia.pwn.pl/Algorytmy-struktury-danych-i-techn...
It's a kick start. You depend on the school to teach you other basic skills too: letters, numbers. You learn a lot of words from classes, but it doesn't mean you'll stop learning words once you're done with elementary school. You can go on your own after that.
My personal experience with school and university is exposure to a lot of different things. I wasn't forced to learn everything -- I spent more time on things I liked and less time on things I just wanted to get a good grade on.
The system is far from perfect and is flawed in many ways, especially where I live. But I don't think that the idea of formal education itself should suffer because of some flaws; I's rather improve it over ditching it.
Since the discussion was about the difference between learning in your bedroom vs a CS degree, I learned in my bedroom when I was in 6th grade, I already had the kickstart.
The rest of my career I got my kickstart from Usenet, podcasts, blogs, Hacker News, coworkers, and necessity.
Now imagine you have 5 or 10 great teachers, with expertise in different areas of CS. Wouldn't that also have made it possible for you to learn much faster, or learn more in the same time?
And now imagine, you meet a few like-minded CS students, and 'try to implement something' together instead of on your own. That was what really boosted my learning rate.
Of course, university does not have a monopoly for these experiences. But the good CS programs are designed to provide it to you.
I did my best to search for like-minded CS students, did my best to seek great teachers. I tried for nearly 2 years - and failed miserably. The handful of students - out of 150 on the year - I could talk and maybe team up with were disappearing one after another, hired by this or that company. The professors were all old, which in this country meant that they were all re-trained into CS after 40 years of career in something else. There was simply no computing here to speak of before the late 80s, it couldn't be any other way. Younger people never even considered becoming academics - the money was simply not there. Without said 40 years of tenure, they would work for something like one-sixth of what industry - the Western companies rapidly expanding into the country - offered. And I don't even want to talk about other students, their expectations and attitudes - it's way too sad.
You know, I actually dreamt of a place where my passion would be shared by others. At every stage of my education, I was told that the next one will be that place and I will be able to finally learn what interests me there. It was all bullshit. There was literally no place in this country where I could learn what interested me, and I couldn't really go anywhere else due to health issues, even after it became possible without passports.
Meanwhile (or actually a bit before that), my English became good enough - much better than that of my profs, who were instead all speaking Russian very well - and the Internet opened to me. I found great teachers there. I found many people sharing my passion - people, with whom I tried implementing stuff, failed, learnt and sometimes succeeded. I've never said I did it all alone - just that it was all 100% outside of college - and mostly outside of this country.
So, you should consider yourself lucky, and I'm really jealous of you. I wonder, how much of my "I did it all myself" attitude is by preference, and how much of it is just trying to cope with all the shattered dreams the educational institutions here had given me. "The good CS programs are designed to provide it to you" - indeed.
Well, that's one part of it, but the other side still stands: I started learning programming at 9 and kept at it by myself for the next decade. I believe learning is a great example of compound interests - the more you learn, the faster you can learn more. By 19 I actually had a good grasp of the basics, and my learning rate was much higher than virtually any other student (except those similar to me). I don't think it would have been easy, even for the "good" programs, schools, and teachers - to teach me, without causing me endless grief and frustration. That's the nature of education systems (I was told, again and again). The fact that mine was anything but "good" multiplied that frustration tenfold.
I really wish I could experience a dream-like environment you talk about. I might have dropped out and gone my own way anyway - but I might not, and might have been that much better off thanks to it. I won't ever know.
ah, instant nostalgia. I loved that one as much as "Writing Computer viruses" :]
It's easier now than it ever was.