• 1 Post
  • 12 Comments
Joined 1 year ago
cake
Cake day: June 19th, 2023

help-circle

  • TLDR:
    Nature can’t simply select out consciousness because it emerges from hardware that is useful in other ways. The brain doesn’t waste energy on consciousness, it uses energy for computation, which is useful in a myriad ways.

    The usefulness of consciousness from an evolutionary fitness perspective is a tricky question to answer in general terms. An easy intuition might be to look at the utility of pain for the survival of an individual.

    I personally think that, ultimately, consciousness is a byproduct of a complex brain. The evolutionary advantage is mainly given by other features enabled by said complexity (generally more sophisticated and adaptable behavior, social interactions, memory, communication, intentional environment manipulation, etc.) and consciousness basically gets a free ride on that already-useful brain.
    Species with more complex brains have an easier time adapting to changes in their environment because their brains allow them to change their behavior much faster than random genetic mutations would. This opens up many new ecological niches that simpler organisms wouldn’t be able to fill.

    I don’t think nature selects out waste. As long as a species is able to proliferate its genes, it can be as wasteful as it “wants”. It only has to be fit enough, not as fit as possible. E.g. if there’s enough energy available to sustain a complex brain, there’s no pressure to make it more economical by simplifying its function. (And there are many pressures that can be reacted to without mutation when you have a complex brain, so I would guess that, on the whole, evolution in the direction of simpler brains requires stronger pressures than other adaptations)


  • I want to preface this with the mention that understanding other people’s code and being able to modify it in a way that gets it to do what you want is a big part of real world coding and not a small feat.
    The rest of my comment may come across as “you’re learning wrong”. It is meant to. I don’t know how you’ve been learning and I have no proof that doing it differently will help, but I’m optimistic that it can. The main takeaway is this: be patient with yourself. Solving problems and building things is hard. It’s ok to progress slowly. Don’t try to skip ahead, especially early on.
    (also this comment isn’t directed at you specifically, but at anyone who shares your frustration)

    I was gonna write an entire rant opposing the meme, but thought better of it as it seems most people here agree with me.
    BUT I think that once you’ve got some basics down, there really is no better way to improve than to do. The key is to start at the appropriate level of complexity for your level of experience.
    Obviously I don’t know what that is for you specifically, but I think in general it’s a good idea to start simple. Don’t try to engineer an entire application as your first programming activity.

    Find an easy (and simple! as in - a single function with well defined inputs and outputs and no side effects) problem; either think of something yourself, or pick an easy problem from an online platform like leetcode or codechef. And try to solve the problem yourself. There’s no need to get stuck for ages, but give it an honest try.
    I think a decent heuristic for determining if you have a useful problem is whether you feel like you’ve made significant progress towards a solution after an hour or two. If not, readjust and pick a different problem. There’s no point in spending days on a problem that’s not clicking for you.

    If you weren’t able to solve the problem, look at solutions. Pick one that seems most straight forward to you and try to understand it. When you think you do, give the original problem a little twist and try to solve that. While referencing the solution to the original if you need to.
    If you’re struggling with this kind of constrained problem, keep doing them. Seriously. Perhaps dial down the difficulty of the problems themselves until you can follow and understand the solutions. But keep struggling with trying to solve little problems from scratch. Because that’s the essence of programming: you want the computer to do something and you need to figure out how to achieve that.
    It’s not automatic, intuitive, inspired creation. It’s not magic. It’s a difficult and uncertain process of exploration. I’m fairly confident that for most people, coding just isn’t how their brain works, initially. And I’m also sure that for some it “clicks” much easier than for others. But fundamentally, the skill to code is like a muscle: it must be trained to be useful. You can listen to a hundred talks on the mechanics of bike riding, and be an expert on the physics. If you don’t put in the hours on the pedals, you’ll never be biking from A to B.
    I think this period at the beginning is the most challenging and frustrating, because you’re working so hard and seemingly progress so slowly. But the two are connected. You’re not breezing through because it is hard. You’re learning a new way of thinking. Everything else builds on this.

    Once you’re more comfortable with solving isolated problems like that, consider making a simple application. For example: read an input text file, replace all occurrences of one string with another string, write the resulting text to a new text file. Don’t focus on perfection or best practices at first. Simply solve the problem the way you know how. Perhaps start with hard-coded values for the replacement, then make them configurable (e.g. by passing them as arguments to your application).

    When you have a few small applications under your belt you can start to dream big. As in, start solving “real” problems. Like some automation that would help you or someone you know. Or tasks at work for a software company. Or that cool app you’ve always wanted to build. Working on real applications will give you more confidence and open the door to more learning. You’ll run into lots of problems and learn how not to do things. So many ways not to do things.

    TLDR: If it’s not clicking, you need to, as a general rule, do less learning (in the conventional sense of absorbing and integrating information) and more doing. A lot of doing.






  • Yup.

    Spaces? Tabs? Don’t care, works regardless.
    Copied some code from somewhere else? No problem, 9/10 times it just works. Bonus: a smart IDE will let you quick-format the entire code to whatever style you configured at the click of a button even if it was a complete mess to begin with, as long as all the curly braces are correct.

    Also, in any decent IDE you will very rarely need to actually count curly braces, it finds the pair for you, and even lets you easily navigate between them.

    The inconsistent way that whitespace is handled across applications makes interacting with code outside your own code files incredibly finicky when your language cares so much about the layout.

    There’s an argument to be made for the simplicity of python-style indentation and for its aesthetic merits, but IMO that’s outweighed by the practical inconvenience it brings.



  • Good points.

    I would argue that grains, lentils and eggs are fresh, as well as most meats that I would consider “healthy” enough to be compared with fruits, but that’s maybe due to my perhaps non-standard understanding of the word so I apologize for the confusion (let me conveniently hide behind the “non-native speaker” excuse).
    I concede frozen vegetables.

    I agree that veggies (especially legumes and root vegetables) are even healthier than fruits.

    But I think we should encourage fruit consumption as a more healthy way to enjoy sweet things.
    I think it’s more effective than to continue consuming large amounts of processed foods with added sugars and more pragmatic than trying to cut out everything sweet altogether.

    Most unhealthy diets are caloric surplus anyway, so I think it makes more sense to replace things than to simply add them, and fruits are a good substitute because they taste really good by default.

    I enjoy many vegetables, but most are not that tasty without good preparation (cooking, seasoning, etc. - notable exceptions: carrots & tomatoes).
    You can just bite into a banana and it tastes great, scratches that sweet craving and will also satiate you a bit; a good substitute for a chocolate or ice cream. Or a bag of chips.


  • That does indeed seem like the hangup in this case, and it’s on me; I should have used a less vague word or else clarify.

    To me fresh is anything that hasn’t been processed for preservation (except drying). So cheese isn’t fresh, heat treated milk/cream isn’t fresh, smoked and cooked meats aren’t fresh, pickled foods aren’t fresh, frozen foods aren’t fresh and anything with actual preservatives added is definitely not fresh.
    “raw” would probably have been the better word to use.
    Also, having thought about my own understanding of the word a bit more in depth, I’ll concede that some pickled veggies are pretty healthy, as well as yoghurt.

    You were right with all three examples.



  • Actually fruits are pretty great for us, if they aren’t highly processed.
    Better to eat an apple than drink apple juice, also better to eat an apple than just about anything from the supermarket that isn’t fresh.
    Of course, you still need a balanced diet, and you can’t get nearly all the necessary nutrients from just apples. Still, assuming an otherwise nutrient-complete diet, it’s a lot less healthy to eat a slice of frozen pizza than an apple or a banana. (the apple might even contain less available sugar than the pizza slice - people often overestimate how much sugar fruits really contain)

    The “stuff removed” bit is more important than you seem to give it credit for. Take out all the fiber and water and sure it’s still the same sugars that are left over, but we didn’t evolve to consume large quantities of pure sugar, so it spikes our insulin and gets stored as excess fat.

    Fruit juice is pretty unhealthy, because all the sugar is more available due to all the fiber being stripped out and you can consume a dozen apples’ worth in a few minutes, which you wouldn’t do with actual apples.

    Sure, there’s not that much fiber left in raisins either. But in the context of musli they can be combined with whole grains and nuts, so you get enough fiber back to make the sugar less quickly digested and thus more healthy.

    A third of the entire cereal mix being sugar is definitely worse than musli with raisins (which comes to about 10g of sugar per 100g), especially considering that a good portion of the rest of the mass in the case of musli is made up of fiber, proteins and healthy fats.

    Adding sugar isn’t just “another big issue”, it’s the big issue. Eating fresh fruits is a non-issue, and usually so is eating dried fruits in moderation.


  • wols@lemm.eetolinuxmemes@lemmy.worldExpert
    link
    fedilink
    arrow-up
    9
    ·
    1 year ago

    Oh neat, a real whoosh in the wild, on Lemmy!

    On a more serious note, vim is one of the most initially unintuitive commonly used pieces of software I’ve encountered.

    Sure, if you put in a little time and learn it, it’s not rocket science. But that seems like a weird standard for an essential tool used for one of the most common computing tasks of today.

    In response to your initial question, obviously it’s a meme. But like most good memes, it’s born out of a common* human experience. What do you think is the most common reaction when someone is thrown into vim for the first time? My guess is “what’s this?” or something similar, followed very soon by “how do I exit this?”. And the answer is, by modern computer users’ standards, quite arcane.

    IF you are somewhat familiar with the Linux terminal, you’ll try CTRL+C and IF you’re paying close attention you will notice that vim is giving you a hint. But if it’s your first time interacting with vim, chances are at least one of those conditions is not met. So now you’re stuck. And after an optional small moment of panic/disorientation, you google “how to exit vim” (provided you were at least lucky enough to notice/remember what program you’re in) => a meme is born.

    Exiting vim is almost like a right of passage for fresh Linux enjoyers. It’s not a hard task but it can seem daunting at first encounter, which is humorous given that quitting a program is normally such an easy thing to do.

    One more note, there is a group of people who will encounter vim quite unexpectedly and unintentionally: Windows users performing their first commit using git bash. They won’t even know they’re in vim, they’re dropped directly into edit mode and there’s no instructions for confirming the commit message, much less how to exit/cancel the operation.