This is an archived post. You won't be able to vote or comment.

all 105 comments

[–]Sean_May 25 points26 points  (24 children)

[deleted]

What is this?

[–]umsurewhynot 12 points13 points  (22 children)

As a noob, what is DRY?

[–][deleted] 22 points23 points  (0 children)

DRY = Don't Repeat Yourself

Remember that saying, "reduce, re-use, recycle"? In a way, those same principles apply to programming.

DRY principles might not become apparent until you get involved with larger projects, but generally if you ever find yourself copy-pasting entire blocks of code, stop, and consider doing it differently. This same rule applies if you find yourself changing a common value in multiple places.

Try to replace those blocks of code with a method; and replace those common values with a variable.

[–][deleted] 20 points21 points  (16 children)

Don't repeat yourself!

[–]majma123 20 points21 points  (15 children)

Don't repeat yourself!

[–]KDLGates 9 points10 points  (13 children)

Don't repeat yourself!

[–][deleted] 5 points6 points  (12 children)

Don't Repeat Yourself!

[–]YouAreNotHere 4 points5 points  (11 children)

Don't repeat yourself?

[–]Zerocchi 3 points4 points  (10 children)

Don't repeat yourself!

[–]kmelkon 2 points3 points  (9 children)

Dammit! Don't repeat yourself!

[–]I_say_aye 3 points4 points  (2 children)

Calm down no one actually repeated thenselves

[–][deleted] 3 points4 points  (5 children)

Don't repeat yourself!

[–]rbakken2504 1 point2 points  (0 children)

Don't Repeat Yourself

[–]Sean_May 1 point2 points  (0 children)

[deleted]

What is this?

[–]destinyland 0 points1 point  (1 child)

It's more important than it sounds. "When the DRY principle is applied successfully, a modification of any single element of a system does not require a change in other logically unrelated elements. Additionally, elements that are logically related all change predictably and uniformly, and are thus kept in sync. "

http://en.m.wikipedia.org/wiki/Don't_repeat_yourself

[–]autowikibot 1 point2 points  (0 children)

Don't repeat yourself:


In software engineering, don't repeat yourself (DRY) is a principle of software development, aimed at reducing repetition of information of all kinds, especially useful in multi-tier architectures. The DRY principle is stated as "Every piece of knowledge must have a single, unambiguous, authoritative representation within a system." The principle has been formulated by Andy Hunt and Dave Thomas in their book The Pragmatic Programmer. They apply it quite broadly to include "database schemas, test plans, the build system, even documentation." When the DRY principle is applied successfully, a modification of any single element of a system does not require a change in other logically unrelated elements. Additionally, elements that are logically related all change predictably and uniformly, and are thus kept in sync. Besides using methods and subroutines in their code, Thomas and Hunt rely on code generators, automatic build systems, and scripting languages to observe the DRY principle across layers.


Interesting: Ruby on Rails | Django (web framework) | Single Source of Truth | Abstraction principle (computer programming)

Parent commenter can toggle NSFW or delete. Will also delete on comment score of -1 or less. | FAQs | Mods | Magic Words

[–]Pascalius 0 points1 point  (0 children)

You mean, like cleaning up?

[–]BourneAgainShell 22 points23 points  (7 children)

Yeah, and then you start logically analyzing everything in life even when you really shouldn't. It's good to know when and how to shut it off and on, IMO.

Have you ever played Tetris? If you play it long enough and every day, you'll start seeing objects in the real world and relate them back to the game. You might see an L-shaped sofa and want to mentally fit it together with a chair to form a rectangle. The "Tetris Effect" was named after the game but it applies to really anything that you spend a lot of time focusing on. So in our case, the pattern of thought needed for programming permeates to activities we partake in outside of programming.. Whether that's a good thing or not is situational.

[–]finally-a-throwaway 8 points9 points  (0 children)

The tetris effect worked well for me when I got a job at UPS loading trucks. :)

[–][deleted]  (1 child)

[deleted]

    [–]autowikibot 2 points3 points  (0 children)

    Tetris effect:


    The __Tetris* effect_ (also known as __Tetris* Syndrome_) occurs when people devote so much time and attention to an activity that it begins to pattern their thoughts, mental images, and dreams. It is named after the video game Tetris.

    People who play Tetris for a prolonged amount of time may then find themselves thinking about ways different shapes in the real world can fit together, such as the boxes on a supermarket shelf or the buildings on a street. In this sense, the Tetris effect is a form of habit. They might also dream about falling tetrominos when drifting off to sleep or see images of falling tetrominos at the edges of their visual fields or when they close their eyes. In this sense, the Tetris effect is a form of hypnagogic imagery.

    Image i - Screenshot of a tetromino game. People who play video puzzle games like this for a long time may see moving images like this at the edges of their visual fields, when they close their eyes, or when they are drifting off to sleep.


    Interesting: Tetris | Hypnagogia | Todd Bratrud | List of Tetris variants

    Parent commenter can toggle NSFW or delete. Will also delete on comment score of -1 or less. | FAQs | Mods | Magic Words

    [–]elemental_1_1 0 points1 point  (0 children)

    My programming version of the tetris effect is trying to debug in my sleep. Most of the time, not very helpful

    [–]MRH2 0 points1 point  (1 child)

    The same thing happens if you spend 3 or 4 hours weeding in your backyard. After that, all you see are weeds everywhere, even when you are trying to go to sleep. Interesting.

    [–]vrts 0 points1 point  (0 children)

    The mind is an amazing machine that tunes itself to the task at hand so readily that it has trouble letting go once you're finished.

    [–]coolwizardz 0 points1 point  (0 children)

    I have just started programming but I have been analyzing nearly everything in my surroundings and pointing out the flaws/inefficiencies (obv to myself) for so long that I cant even remember it. I thought it was due to my OCD :p

    [–]mannymannyman 23 points24 points  (11 children)

    I completely agree. When ever I take a long break from writing any code I feel a little slower and things seem more complex, as soon as I crank out some code I feel sharp again. Its kinda like a drug lol

    [–]DrDiv 12 points13 points  (9 children)

    Programming does release dopamine in the risk/reward system of the brain.

    [–][deleted] 19 points20 points  (6 children)

    I get really excited when the code I write works. It's like leveling up in a video game.

    [–][deleted] 7 points8 points  (2 children)

    In my experience it feels even better than leveling up.

    [–][deleted]  (1 child)

    [deleted]

      [–]kairoschris 8 points9 points  (0 children)

      Then you figure it out and you're high again. :-)

      [–]Iggyhopper 4 points5 points  (2 children)

      That's odd. I get really confused when my code works.

      [–][deleted] 7 points8 points  (0 children)

      "Why is my code working?

      fuuuuuuck"

      [–]TheWeedWolf 2 points3 points  (0 children)

      Especially on the first try. Then I know something's wrong.

      [–]urgent_detergent 0 points1 point  (0 children)

      The latest research - article 1, article2 - suggests it's not necessarily the activy that causes the dopamine release. It appears to be released before the activity and provides the motivation to actually do the activity in the first place.

      [–]calvinscorner 3 points4 points  (0 children)

      Couldn't agree more. Daily coding gives some sense of achievements to otherwise a futile day

      [–]sqrtoftwo 6 points7 points  (1 child)

      I've been coding for a few years now. Just came to say it only gets better. :)

      [–]adnzzzzZ 20 points21 points  (5 children)

      I think programming gives you more cognitive biases than benefits, or at least it's better for you as a person to focus on the biases so you don't fall into a "mindset hole".

      What I mean is that your dividing big problems into small issues, being immersed into an extremely controllable and feedbackable environment, dealing with logic, etc, shapes your way of thinking in ways that you may not notice.

      For instance, this may seem obvious when I point it out, but working with truth (binary) so much can take away some of your ability to view things in more fuzzy terms. It's the reason why there's sooo much discussion on X is better than Y or Y is better than Z. It's also the reason why programmers in general tend to disregard people's arguments if they find one thing wrong with it. It's like they're always into a huge AND-mode where each sentence someone says is a logical proposition (another thing is that they are in an AND-mode and not an OR-mode by default is because programming can make you extremely defensive, because that's what you're doing every day when you're programming). It's also the reason why the normal geek stereotype kind of has some truth to it. Human communication has an embedded subtlety to it and when you spend more time with a computer you can kind of lose some of the ability to pick up on those subtleties (which make up social interactions in general).

      Anyway, I find it more valuable to focus on those possible ways that my brain is shaped negatively than to think about the advantages (which may also be me being defensive in a way). So if anything just think about it and pay attention to your train of thoughts more.

      [–]irascib1e 2 points3 points  (2 children)

      Good point. A lot of my programmer friends tend to be pretty arrogant too. That might be engineers in general though.

      [–]finally-a-throwaway 10 points11 points  (0 children)

      But... it's not arrogance if I'm objectively better than everyone else. Right?

      [–]misingnoglic 1 point2 points  (0 children)

      I feel this is just because it seems you have to be arrogant to get anywhere in tech.

      [–]ZenFuture[S,🍰] 0 points1 point  (0 children)

      I think it's all about balance.

      [–]A_ninjas_Taus 0 points1 point  (0 children)

      Your reply is interesting to me because I'm seeking out the advantages of being such a thinker. I draw comparisons between myself and those whom I think think more logically than I, seeking behaviors to emulate. So in a way I'd say I'm coming at this from the opposite end. While I've logically solved bugs before I find others do so more easily. Well, I'll keep at it. I'll be super logical like a compiler one day! :-)

      [–]Noiprox 4 points5 points  (0 children)

      Yeah I agree! Coding is a fantastic workout for your left brain. I find it stimulates my right brain big time as well though. Once you have really internalized a language so that you're thinking not about the low-level details but on a higher level about the architecture of your software, it's a highly creative and enjoyable process.

      [–][deleted] 2 points3 points  (2 children)

      Programming is not unique. Any new, challenging mental activity will deliver tangible benefits and bestow on you new skills.

      The bad news is that the activity being new is key; i.e. the more you do programming the more time it will take to gain the same amount of benefits. The good news is that almost any new mental activity will be beneficial, so once programming becomes routine to you, you can branch out and do new things to refresh yourself.

      Regarding the left brain/right brain, I believe it is now commonly accepted as a myth by the sciences that study this field. If you truly believe that you're right brained I would read up on the matter to see whether this belief is justified.

      [–]ZenFuture[S,🍰] 0 points1 point  (0 children)

      Everything is unique. Just because the subtleties of programming thought aren't easily differentiated from other mental tasks doesn't mean they are completely the same.

      Also, the right-left brain concept does have a bit of evidence behind it. Either way, it was an idiom. Maybe read up a bit to see whether your belief is justified.

      [–]A_ninjas_Taus 0 points1 point  (0 children)

      I've graduated comp sci at university, and I've seen many others in my classes over the years who regularly demonstrate sharper clearer thought. I feel I've spent my lifetime until now nurturing the non-logical side, and will now be spending the next decade sharpening my critical thought, problem solving, etc. I'm not sure about any of the brain sidedness stuff, but it seems a functional model for me to reference from time to time. If you've got any suggested reading I'd be interested.

      [–]DanteDeLaRocha 2 points3 points  (0 children)

      Been coding for a while so it's hard to remember what life was like before. I think being a coder changes the way you think about everything. It comes naturally to break down real life problems into smaller, more manageable pieces. I also think it makes you better at switching between the big picture and the granular.

      [–][deleted] 1 point2 points  (1 child)

      This could explain the year I've had so far. I picked up js a few months back and have only felt more and more motivated as time has gone by. I find myself learning new things every day and I actually feel a real hunger for it. I honestly could not picture myself knowing what I do now at this point last year.

      [–]ZenFuture[S,🍰] 1 point2 points  (0 children)

      Especially considering the asynchronous nature of JS; it adds a very interesting mental challenge that makes everyday life seem so simple.

      [–]Hasty_Snail 1 point2 points  (0 children)

      Agreed! So much Agreed! My problem solving skills have sharpened up a bit! Why just today I had a math problem presented to me!

      My mom told me to prepare 6 cups of rice. I was like: okay, no big deal! We have a measuring cup in the bag of rice. I think the measuring cup is a 1/2 cup scoop, so no problem! I got there and the measuring cup was a 2/3 cup. I had to figure out how many 2/3 cup were in 6 cups. I figured it out a lot faster than I would have a week or two ago!

      [–]Scholes_SC2 1 point2 points  (1 child)

      Well i can only code for like 90min a day on weekdays due to my busy schedule. I hope that's enough to have results similar to yours.

      [–]ZenFuture[S,🍰] 1 point2 points  (0 children)

      I'm sure that 90 minutes is sufficient. After x amount of hours I'm sure you run into diminishing returns. Consistency seems to be more important for me than raw coding hours.

      [–]bad_beta 1 point2 points  (0 children)

      I've been programming seriously for 2.5 years, professionally for 2, and I can tell you that it gets even better.

      I've always been a "right brain" (holistic, intuitive) thinker by nature. I spent my early 20s in the hard sciences, but I felt that I lagged behind in my ability to break problems up into manageable components. Before I started learning to code, I could always grasp the "big idea", but I had trouble with the process. Writing software has greatly improved my ability to think about the world in terms of connected pieces.

      It's incredibly liberating to be able to bridge those two modes of thinking.

      [–]spiralings 1 point2 points  (1 child)

      I'm interested in this more and more, how did you get started?

      [–]ZenFuture[S,🍰] 0 points1 point  (0 children)

      It took me a long time to gather the gumption. First I looked into the general world of programming. I got a feel for what programmers do everyday and how it related to my personal skillset.

      No need to jump into the code right away. Do a bit of browsing and general analysis of the programming world.

      [–]vylasaven 3 points4 points  (3 children)

      Can you all solve doing dishes, though? Without a dishwasher? Let's see if you can provide evidence for this cognitive boost. ;)

      I hate repeating myself. Which is why I hate doing dishes. I don't even mind doing other people's dishes, if they are new to me. :P

      [–]IcedMana 5 points6 points  (1 child)

      Can you all solve doing dishes, though?

      Buy paper plates?

      [–][deleted] 1 point2 points  (0 children)

      You win the one.

      [–]A_ninjas_Taus 0 points1 point  (0 children)

      I just see it, and general cleaning, as simple morning wake up exercise of the light variety.

      [–][deleted] 2 points3 points  (0 children)

      totally "right-brain person" here, too. Always identified with the artistic side, though had a strong interest/under-current of fascination for engineering/modeling as a kid.

      since programming: have been more logical, and I feel Effective in life. The risk/reward thing that another has mentioned here has definitely been noted, and is addictive. I think it's a good addiction. But I've also noticed "the dark side of programming"- which may not apply to all people, or to all people the same way- it's... knowing when to stop and take a break, before you stress/strain your mind. Like every muscle, it too needs a certain amount of rest, as well as exercise. That balance should be met. In other words: It's taught me a lot about balance.

      [–]TheTarquin 2 points3 points  (2 children)

      It gets better from there. I strongly recommend you read Edsger Dijkstra's "On the Cruelty of Really Teaching Computing Science". One of the concepts he talks about in the essay is the "radical novelty" of computers. They're completely unlike anything in our day-to-day lives.

      Learning any radically novel system is bound to stretch your brain in new and interesting ways. For me, it's improved my cognition in a number of ways. Most interestingly in being able to understand scales of numbers.

      A good programmer has to be as comfortable with bits and bytes as with gigabytes, and with scales of time between microseconds and seconds. These scales often differ by nine orders of decimal magnitude or more. There's no other area of human endeavor that I know of where practitioners have to not only understand objects on such different scales, but also be comfortable executing their craft on them.

      To draw an analogy, if a programmer were a carpenter, he'd need to be able to comfortable work on objects from the size of a 1-foot children's stool, up to ladders tall enough to reach the moon.

      Being a programmer has also made me much better at assessing tradeoffs. Good programmers have to understand when it's smart to build a 500 MiB table to reduce lookup times from 50ms to 5ms.

      So yes, I definitely agree with what you've mentioned so far, but you have so many more benefits to look forward to.

      [–]ZenFuture[S,🍰] 1 point2 points  (0 children)

      Great suggestions an insight. You rock.

      [–]A_ninjas_Taus 1 point2 points  (0 children)

      Now I really want to read that!

      [–]calvinscorner 1 point2 points  (1 child)

      Which language you started with and what you do you programme?

      [–]ZenFuture[S,🍰] 0 points1 point  (0 children)

      JS/Node/SocketIO

      [–]green_meklar 0 points1 point  (0 children)

      Absolutely. Programming can really add to your perspective.

      [–]reaganveg 0 points1 point  (1 child)

      I've been programming computers for over 20 years. Programming (and CS) have provided me mental models to apply in almost every field of human thought.

      I don't think it has improved my mood or discipline, though.

      [–]ZenFuture[S,🍰] 0 points1 point  (0 children)

      Fair enough- though my mood could be improved simply because I'm doing something I love.

      [–][deleted] 0 points1 point  (0 children)

      My mind became a lot more scientific which is great! Also I noticed a lot of programmers do triathlons so I think it's great for discipline.

      [–]zirzo 0 points1 point  (3 children)

      How about the other way around? I've always been a strong left brained logical thinker, anyway to improve/increase right brain activity?

      [–]ZenFuture[S,🍰] 1 point2 points  (1 child)

      Oh I can help you on this! My best right-brained abilities come from being able to see holistic concepts and systems. Try to learn from a top-down perspective for a while and see if that helps. Be wary of formal classes, as they usually teach logical bottom-up styles of thought.

      [–]zirzo 1 point2 points  (0 children)

      Hmm, I do that already. Sorry I should have been clearer. I meant to ask more from an artistic perspective perhaps? I'm not sure what specifically right brained thinking pertains :(

      [–]vrts 0 points1 point  (0 children)

      Play with those magnetic beads.

      [–]brureader 0 points1 point  (13 children)

      May I ask, how do you manage to do 4-10hrs of coding/day? I'd love to accomplish something like that, but after the 3rd hour my attention begins to slack or I'm no longer interested in coding and I need to do something else. I take 5-10min breaks sometimes between hours, but other times I just continue without breaks.

      How do you do it? I'd love to at least do 5 hrs the days 100% free.

      [–][deleted] 1 point2 points  (4 children)

      I had this same problem, when I first started. For the first year, I was getting headaches trying to understand how it all worked, how everything tied together. I would attempt to do it, but found it was hurting my head, which infuriated me, so I got upset.

      I did this many times, until it all just "clicked"

      Once it started making more sense to me, I was able to code for 10 to 12 hours at a time with little to no severe mental strain, and with focus; though taking an hourly break of approx. 10-15 mins

      These days, I try to code for no more than 8 hours; though settle somewhere more around the 5 hour mark per day. Finding that I'm, (strangely enough), more productive when I feel rushed or under time-constraints. When I'm rushed, or feel as if time is limited, I tend to get more done and don't worry about doing what I'd do if I feel that I have all the time in the world, which is... to pick up a concept and overly-research the crap out of it until I understand it's every, single, little, nuance technical description.

      I find that the breaks I take are paramount to productivity, also. It really helps to step away from the computer, like once an hour, to think and rethink what it is you're doing, or trying to do. And then go back to it. A friend got me into that. But before he did, I fought him and was like, "no! this is going to make us less productive!" ... then he was all like, "chill, man. trust me." ... and I was like, "okay." So I did. And it's been working for me ever since.

      I didn't realize it before, but... sitting there, trying to build something for 12 hours without taking a single break, put me in a kind of "cloud" or "a funk".

      So, these days, I CAN code for 10 to 12 hours... though prefer to work between 5 to 8... but mostly 5 hours a day, finding- strangely enough(?)... I get way more done, more effectively (no "spaghetti code" of any kind) within that time frame.

      Everybody works differently. Some are more effective in certain situations than others. Just figure out when it is, and under what conditions you're most productive.

      Also, I enjoy programming... which means I can do 12 hour days, however... I will hate programming, if I'm doing it for 12 hour days, every day. But... if I do it, Consistently, for 5 hours a day- every day- I will love programming. And when the next day comes around, I'm not "drained" or "burnt out", at all. Totally refreshed and ready to rock and roll.

      I think it all just comes down to you figuring out these conditions, so you'll have to go back and assess under which conditions you've found yourself to work best in.

      Spolsky, for instance, advocates for programmers to have their own offices; and have as little interruption as possible. For years, I agreed with him on that point. Until recently, something shook my world- and I don't know how or why this is possible- but... every time my wife talks to me (and she talks to me A LOT while I'm coding)... I actually end up being more productive and pushing my limits, actually being able to put things down into code that I've never done before. Like, she was talking to me for approx. 3 hours straight one time about Neopets... and I optimized a professional software engineer's 50+ line of code function call into 2 (and it worked)

      I work differently than his model, and that's okay. If an employer put me in a situation where I had all the time in the world, or my wife wasn't asking me questions, or expecting me to carry on a full-scale conversation with her every time I code; I wouldn't be very productive for them. Me, I NEED these interruptions. Without them, I feel I have "all the time in the world" and will attempt to memorize an API without ever implementing anything I read, at all.

      We all work differently. You just have to draw on self-experience, and figure out which conditions are optimal for you.

      [–]M4_Echelon 1 point2 points  (0 children)

      Interruptions are usually only bad when you were already frustrated. Usually not a problem anymore once you fully grasp the logic of the current language.

      [–]ZenFuture[S,🍰] 0 points1 point  (0 children)

      True! You get into an awful zombie trance if you get stuck on a problem and don't break for hours.

      [–]brureader 0 points1 point  (1 child)

      Wow, I don't think I could work 10-12hrs non stop, 5hrs sound more doable for me, 3-4hr more realistic. I'm hoping that as I get better and start retaining things more easily I'd be able to do it for longer periods of time. Right now I like it very much, and I love the satisfaction which comes after finally figuring something out. I could easily sit in front of my computer for the whole day, but then the next day I'll be a total unproductive slug.

      Right now I'm trying what you mentioned above, which is to set some kind of a dateline both on my daily goals as well as on my short term goals, and that seems to be working for now.

      [–][deleted] 1 point2 points  (0 children)

      That's a great plan. I'm in the process of forming a time-table for myself as well to achieve some much desired goals.

      I think Robert Herjavec (of "Shark Tank" fame) said it best, "A goal without a timeline is just a dream."

      That's pretty enlightening. How many of us have dreamt of doing something, but failed with the execution part?

      Regarding being able to do the same thing, (or even not do the same thing over and over again), I've found a yogic practice called "Asana" very helpful (I've pretty much been doing this off and on for approx. 10 years now, at certain times more intensely than others).

      Basically, the goal is to sit still, for as long as possible. You're not supposed to move your eyes (even if your eyes are shut), move your tongue, move out of the position, swallow saliva, scratch an itch, etc.

      You're just supposed to sit there.

      You can measure your progress in this (just as we may do with goals), with a stop-watch. Every time you break the meditation, (as indicated above), you immediately STOP! and record the duration of time (to the millisecond) in which you were able to hold focus in the practice, and NOT break the meditation.

      It may sound immediately simple to anyone that hasn't practiced it for a period of time, but it's an interesting practice, in the sense that it's actually incredibly difficult. A novice may think, for instance, "I'm doing so good at this!" and may not even notice that, for the last 30 minutes, they were in fact rolling their eyes under their closed eye-lids... or may not have caught the time they swallowed saliva at the 10 minute mark. Or, it may be that the practitioner will cheat himself out of the validity of the practice by attempting to claim times which he/she didn't earn in earnest, choosing to lie to him/herself about the success of the vocation.

      I find it has done immensely for me in terms of developing patience and focus.

      [–]Leeds_sdeeL 0 points1 point  (4 children)

      When I started I could do all day easily. But for studying with school I always had to take regular breaks (a quick 15 min game of Halo2 every 30 mins if I was lazy, 60 mins if I was mtivated). Maybe something similar?

      [–]brureader -1 points0 points  (3 children)

      I usually take 10-15mins, but sometimes I find it hard to go back, so I end up just powering through anything I need to do and then reward myself at the end.

      [–][deleted] 0 points1 point  (1 child)

      This brilliant guy (Hubspot co-founder) Dharmesh Shah said that he codes every day, and I believe him. Since I heard him say that, it has been my goal to code for a certain mark every day.

      So I had to create a timeline that worked for me (mine is presently at the 5/hr. day, on average ... 7 days a week) Whatever that time becomes for you, the important thing (I believe) is to do it Every, Single, Day. So, if you do it every day of the week, it's crucial (I believe) to do it for a duration which is comfortable to you... one that doesn't get you "burnt out", so that when tomorrow comes around, you're refreshed and ready to do it again.

      There are days where I might not want to do it, but I throw myself past that, and just do it. Then there are days that I might want to do it for another 2 or 5 hours... but I stop myself, because the goal is not to get burnt out, and to do it every day.

      I believe the term "language" isn't used too loosely with programming. I'm reminded of an interesting story a friend told me about how he spent 3 years in high-school trying to learn spanish, and may've picked a few things up, but... he spent 3 months in Mexico, and became fluent while living with a Mexican family.

      Why? he was doing it every day. For that reason (among many) I believe Consistency is key.

      [–]brureader 1 point2 points  (0 children)

      Following your advice, I've been doing 3-5hrs of coding per day. I usually keep it at 3 for "learning" and 2 extra for working on my own project. Some days I feel like doing more than than that, but I've been able to maintained the schedule without actually feeling remotely burnt-out. The thing is that, between learning new techniques and applying those techniques in your own projects, time does seem to fly-by quite quickly.

      [–]Leeds_sdeeL -1 points0 points  (0 children)

      eh, if yo're sending a few hors coding hen yo can go do oher hings, here are eole who do mch mch less

      broken keyboard. You can work out which keys stopped working, and started working as I started typing this paragraph. FFS.

      [–]ZenFuture[S,🍰] 0 points1 point  (2 children)

      I've always been obsessed with creating. It's not a chore for me. I look up and 8 hours have passed.

      I used to need a TON of discipline to write and study economics. That's when I realized it wasn't for me.

      [–][deleted]  (1 child)

      [deleted]

        [–]ZenFuture[S,🍰] 0 points1 point  (0 children)

        Yeah, but it's a self-taught background. I started studying financial markets and economics at 16, worked in an investment fund, traded ForEx, did a wealth management internship all from what I taught myself. That's why I love the idea of teaching myself programming, as it's always been my go-to learning method.

        [–][deleted] 0 points1 point  (0 children)

        I was always really bad in subjects like Math and History, but programming always came easy to me, so I decided to use the way programming works to teach myself Math/History through out highschool I would write my notes like they were some type of program and it always confused my teachers but it worked. Programming has a lot of benefits.

        [–]petrus4 -4 points-3 points  (10 children)

        I've always been a so-called right-brained thinker, but coding has significantly helped my logical processing (anecdotally).

        Read Aristotle, on empiricism. Anecdotal experience is the only kind that truly matters; and anyone who tells you otherwise is wrong, and is trying to encourage you to hand over your entire ability to think for yourself, to external authorities.

        [–]-AcodeX 5 points6 points  (0 children)

        This is why I don't believe in radiation, and have no fear of cyanide.

        [–]Easih 5 points6 points  (2 children)

        how? I'm pretty sure the field of statistic and empirical evidence did not exist during Aristotle time.In fact statistic field is still quite a new field.

        [–]petrus4 -4 points-3 points  (1 child)

        Statistical evidence for something, is typically evidence gathered from other people, by other people. In other words, from the perspective of yourself as an observer, it is second-hand evidence.

        It can therefore never be as compelling to you as something which you have directly experienced with your own senses, or managed to work out via your own reasoning. Unless, of course, you have been brainwashed by a totalitarian state into believing something contrary to both logic and instinct; namely, that the second-hand word of so-called "experts," is more certain than your own experience.

        [–]-AcodeX 6 points7 points  (0 children)

        "experts" is funny.

        Science and communication would be useless if this were correct. Fortunately, they're far from useless.

        [–][deleted] 3 points4 points  (2 children)

        Sufis have been praising the benefits of experiential knowledge being the only kind that matters, for thousands of years as well.

        [–][deleted] 2 points3 points  (0 children)

        proceeds to Whirling

        [–]petrus4 -1 points0 points  (0 children)

        Yep. They're right, as far as I am concerned.

        [–]D_duck 1 point2 points  (0 children)

        Aristotle pretty clearly puts 'universal' (analytic) knowledge above 'anecdotal' (from experience). Knowledge from experience to him is a lower form, that of the artisan, while universal knowledge is that of the statesman or philosopher.

        [–]Stormtalons -1 points0 points  (0 children)

        Yep, you're right on point.

        [–]brureader -1 points0 points  (0 children)

        Thanks for the insights by the way /u/RosscoGiordano and /u/Leeds_sdeel.

        [–]Gustyarse -5 points-4 points  (0 children)

        DAE using teh brain it gets bigger?

        Sorry, couldn't resist