1. 2

    Woah. This is cool. So…how do I sign up to use GnuPG as a notary?

    1. 0

      Not here-y. Badumtish. I’ll show myself out. I promise not to do that again.

    1. 3

      Learning Erlang (with the book Learn You Some Erlang, super good book), asides from all the gaming and other fun that’s gonna be going on.

      1. 16

        Not sure about this “should”. I use the Python Language Server in Emacs, which gives me all the features I would want from VS Code.

        Surprised there’s no mention of the Language Server Protocol in the article.

        1. 1

          Thank you for drawing my attention to this!

          1. 1

            This prompted me to look for a CLI Language Server Protocol client. Couldn’t find one that is feature complete, but this exists: https://github.com/jacobdufault/lspc

            I ought to fork that and make it so that I can use it from the shell or Acme easily.

          1. 16

            Some of these are really unsurprising. I mean, it’s a “WAT” that Go’s variables are block scoped? Really?

            I think this kind of “look out for these slightly unexpected behaviors” talk is a good thing, but trying to liken them to Gary Bernhardt’s WAT talk seems a bit disingenuous.

            1. 4

              So I don’t know whether that is intense or not, but most of the content is covered very clearly in the Go spec, which is not exactly big, as far as specs go…. so yeah. This.

              1. 2

                I mean, it’s a “WAT” that Go’s variables are block scoped? Really?

                It’s not just block scope, it’s block scope plus shadowing, plus allowing you to declare and assign a visible variable using the value from the variable that you’re shadowing. You could have block scope without allowing either of the latter two choices.

                Java doesn’t let you do this, even though it has block scope. The second declaration of a fails. I was mildly surprised that C lets you do the same thing, though given the origins of go, I shouldn’t have been.

                1. 1

                  I think the link is more an appeal to popular culture.

                  Either way, WAT8 was pretty surprising for me. I would never expect that to happen, that seems more like a quirk of code generation than an actual intentional feature.

                1. 3

                  This ends my vacations. We’re going to the giant library in Montreal on Sunday, among with the Science museum. I think we’re getting a visitor from this evening until then, and I’m not sure what’s up with Saturday. I intend to clock a few hours on Guild Wars 2, which I started playing during my week off.

                  I’ll probably start a Tensorflow class on LinkedIn Learning, although I think I’d be better served with a refresher on stats and a course on data visualization. No reason I can’t do both these things as I come back in office though.

                  1. 3

                    I will be abusing my LinkedIn Learning perk to get a ton of training done, mostly so that it looks good on my profile and/or can actually have a thing to show that points to me having learned a thing.

                    This is part of a career move that I hope will take place before Halloween. I’m hoping for a decent bump in salary, at least the same if not more remote work (I’m at 60% now), and better insurance. Also maybe like, when they do make me drive to the office, maybe I don’t have to worry about parking in downtown Montreal, that’d be nice.

                    1. 2

                      We (Amazon Web Service Elastic Filesystem) are!

                      https://www.amazon.jobs/en/jobs/703035/software-development-engineer-ii

                      Don’t believe the hype. Working for Amazon has been a literal life changer for me. Nothing is ever perfect, and this place is no exception, but there’s plenty of awesome around here and we work at a scale that few can match. The job is full of challenges and it’s a VERY different day to day experience from any company I’ve ever worked, but I love it.

                      Most of our work is Java or C/C++ and a bunch of Python on the infrastructure side.

                      Feel free to list me (cpatti at amazon dot com) as a referral if you apply, and let me know so I can connect the dots internally :)

                      1. 2

                        Hey @feoh! I’ve several times tried to apply for an SRE where I live but NEVER got any answer back. My profile is probably still a bit too young (4years exp), but I’m looking for great environment and teams to learn from. Would you have any idea about the profile matching this kind of job @ Amazon?

                        1. 2

                          It depends very much on the job level of the job in question.

                          Also I don’t exactly know what “SRE” maps to in Amazon-ese :) My job title is “System Development Engineer” and that’s a good guess, but I’m not sure.

                          If it’s a SysDE role, things we look for generally are:

                          • Solid coding ability: You need to be able to implement simple algorithms and solve common systems problems in code. In practice this means you should know an actual programming language, not just bash, and be able to demonstrate that with a simple collaborative coding task.

                          • System design at scale

                          • A functional understanding of networking

                          And then there are the less technical areas like our Leadership Principles. Definitely do some thinking on those and how each might apply to various situations in your career.

                          As to finding a way in - network! Amazon has a sizable presence on LinkedIn. Reach out and politely ask quesitons of people, and don’t be afraid to be persistent. People are busy and may not get to you right away. Just be respectful of the fact that you’re asking for a leg up and you’ll be surprised at the response you might get.

                          Good luck!

                          [Note - I’m not speaking for my employer, just giving you my impressions of what we tend to look for in this one particular area.]

                          1. 2

                            Thank you so much for this comprehensive answer! That’s super helpful and I’ll definitely give a try!

                        2. 1

                          Every once in a while I get poked at by an Amazon recruiter on LinkedIn. Usually, I say it sounds awesome but I’m not willing to relocate, and I never hear back. :P

                          1. 4

                            I hear you. It was like that here for a long time too, and then around 5-6 years ago our director pitched a Boston office to the Seattle management chain and it worked. Now we’re booming.

                            It’s kind of frustrating how cavalier some recruiters are about locating. My answer usually shuts them up “My wife is a VP at a bank, makes more than me, and has held the same job for 15 years. There is NO way we’re gonna give that up.”

                            1. 2

                              Recruiters seem to believe, and in the aggregate they’re correct if only because it’s a self-fulfilling prophecy, that anyone who would answer their unsolicited emails can’t afford to be picky.

                              1. 2

                                I’ve wondered about that. Like, as in, what is their ACTUAL success rate? I get the impression that tech recruiting is one of those fields like real-estate. There WAS mad money to be made for a while so a lot of people got into it. But these days, with the web and with much better networking all around.

                                1. 2

                                  It’s hard to tell. I expect that some of the larger “hiring” websites have some data on it for their own purposes, but for the rest of us, I don’t see any way to find out.

                        1. 2

                          Working from home also solves the problem nicely. In my case, at least. Other solutions include: put in more bathrooms (which might not be possible), or getting rid of employees after implementing a hiring freeze, or both, which is totally not a situation I have lived through or benefit from in a bladderly manner in the recent past.

                          1. 3

                            I need to do more recreational programming for my mental health.

                            1. 4

                              I dog-sat my brother’s 7 months old Australian Sheppard. Never again. Now that that’s done, kids’ swimming classes in half an hour, then we’re receiving friends this afternoon. I’d like to get some coding done tonight maybe. That our more LinkedIn Learning.

                              Tomorrow, I can’t remember what’s up. Probably gonna read me some more Lovecraft. Maybe something more technical. Definitely some reading.

                              1. 1

                                I dog-sat my brother’s 7 months old Australian Sheppard. Never again.

                                Hah. I walked this pretty boy yesterday. What problems did you had?

                                1. 1

                                  I have two older rescue dogs, one of which has severe arthrosis of the elbows, preventing her from even fleeing a situation. The other one is much smaller and couldn’t just make the guest dog stop. So I had 48 hours of dog bickering to manage, because the guest dog is much younger and more playful. And did not get the cute that the other dogs wanted nothing to do with that.

                                  Full disclosure, I probably suck at dogs.

                              1. 3

                                On Saturday I have a wedding. Sunday there’s an annual family party. Both are going to be far, noisy, and filled with people. I’m introverted, and I’ll come out of this much more tired than I was going in (which is, coincidentally, already “a lot tired”). So right now I’m playing with Flutter, and later this weekend I’ll squeeze in some of the DevOps learning track that I picked up on Linkedin Learning.

                                And in about… 10 minutes? Yeah 10 minutes, I’ll go get super-healthy-bags-of-chips and some appropriately cheap soft drink to go with it because I’m a grownup and I can make bad decisions if I want to.

                                1. 16

                                  Complicated software breaks. Simple software is more easily understood and far less prone to breaking: there are less moving pieces, less lines of code to keep in your head, and fewer edge cases.

                                  Sometimes code is complicated because the problem is complicated.

                                  And sometimes the simple solution is wrong, even for something as basic as averaging two numbers.

                                  1. 3

                                    But there’s a difference here: a code is simple when it doesn’t introduce (too much of) its own accidental complexity. The innate complexity of the field is out of the equation, can’t do anything about it. But the code must strive to express its intent as simple as possible. It’s not a contradictory goal.

                                    1. 3

                                      No, it’s not the problem that’s complicated, it’s the underlying platform on which they chose to develop. You wouldn’t have that bug in Common LISP, Ruby, or any environment with big nums.

                                        1. 1

                                          Funny as he is, there were systems- and performance-oriented variants of LISP that either stayed low-level or produced C output that was low-level. They were really fast with many advantages of LISP-like languages. PreScheme was an early one. My current favorite, since they beat me to my idea of C-like Scheme, was ZL where authors did C/C++ in Scheme. With Scheme macros, one might pick the numeric representation that worked best from safest to fastest. Even change it over time if you had to start with speed on weak hardware but hardware got better.

                                          These days, we even have type-safe and verified schemes for metaprogramming that might be mixed with such designs. So, you get clean-looking code that generates the messy, high-performance stuff maybe in verified or at least type-checked way. People are already doing similar things for SIMD. And you’re still using x86! And if you want, you can also use a VIA x86 CPU so you can say hardware itself was specified and verified in LISP-based ACL2. ;)

                                          1. 1

                                            What if you try to help the process along by immersing both objects in water?

                                        2. 3

                                          I’m not sure this really rebuts the claim. Is complicated code that solves complicated problems immune from breaking?

                                          Also, I don’t think he recommended stopping at simple and ignoring correct.

                                          1. 3

                                            Is complicated code that solves complicated problems immune from breaking?

                                            It’s more that some problem cannot be solved with simple code, because you can’t capture the whole complexity of the problem without writing a lot of code to capture it.

                                            Consider tax code. Accurately following tax law is going to be messy because tax law itself is messy.

                                            1. 1

                                              Definitely not. If you have simple but wrong, it’s no good by definition. You can “not have” fast, but essentially, you still need “fast enough”. If you can accomplish the task, and you can do so simply and correctly, but can’t work it quick enough for real-life workloads, then in those cases you might as well call it broken.

                                              1. 1

                                                I am put in mind of the quote:

                                                You can make simple software with obviously no defects, or complicated software with no obvious defects.

                                                I don’t even think “correct” software is required–for many lucrative things, you have a human being interpreting the results, and oftentimes incorrect or wrong output can still be of commercial value.

                                                That’s why we have customer support folks. :)

                                                1. 2

                                                  This is a misquote of C.A.R. Hoare:

                                                  I conclude there are two ways of constructing software design: one way is to make it so simple there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies.

                                                  Nothing wrong with a misquote btw, as it means you internalized the statement rather than regurgitating the words :).

                                              2. 1

                                                If I understand correctly (hah), his point is that if you aim for simplicity, it’s easier to ensure correctness.

                                              1. 4

                                                For $career, I’ve started using Linkedin Learning. It’s provided for free by $employer, and since course completion can be “advertised” on your LinkedIn profile, I’m throwing myself at a few different learning tracks centered around DevOps, Data Science (and ML and stuff), and leadership/management. I learned a bit about k8s, I didn’t know jack before; hopefully this is good for my career and good for my brain. And I mean, good for fun too. The k8s stuff was fun.

                                                For $work, we’re still in “groundskeeper mode”, in the sense that it’s not very exciting, we’re just making sure that nothing blows up and that the damn kids stay off our lawn. Fiddling with config files in order to tweak a timeout isn’t especially stimulating (at least in this case). We should be getting a brand new pile of fun soon, meanwhile I’m softly murdering a legacy app that has no maintainers (I actually had to volunteer to get it. Which reminds me, the manager who granted me authorization to work on that has left on Friday. I gotta work faster before I lose the permission to fix it.)

                                                For $fun, I’ve been bringing back to life an old-ish ATx box that has a RAID card in it. I tried installing Void Linux on top a few times, but I am pretty sure that the RAID array doesn’t like it when I don’t talk to it like a RAID array, even when I try to disable it. So after a bit of clever googling I found out that I probably need to use mdadm. I found a few things about that anyway. Hopefully, I get to throw this machine on my ridiculous server network of 3 (soon to be 5) laptops, running all-of-my-private-stuffs-and-experimentations, ranging from upspin to gitea to radicale (and even more!) I like my “cluster”. Batteries act as a free UPS, to boot!

                                                1. 4

                                                  Not to spoil the article, but the ending quote in bold really sort of scares me. I’ve spent most of my life hearing stories about how machines will take human jobs. The reality of that has played out much less scary (so far) than they’d have had us believe 20 or 30 years ago. It’s never really occurred to me, though, that in another 20 or 30 years that my job as a programmer might be obsoleted as well. It’s like the matrix; funny ha ha, but for real.

                                                  Thankfully I hope to be retired 30 years from now :P

                                                  1. 4

                                                    I think this is the natural progression of things, isn’t it? Programming isn’t immune to the effects of automation - just the opposite, in fact. It’s like boiling a frog - things are automated so often and so incrementally that programmers no longer notice when jobs that would have taken 10x longer a few years ago are basically instantaneous today.

                                                    1. 11

                                                      Programming will be the last thing to be automated, because it is itself automation - once you have automated programming you just have to run your automated programmer and then you’ve automated everything.

                                                      1. 2

                                                        …No. The only thing that will save programming from being automated NEXT is… wait, I see what you did there. “Your keys are always found in the last place you look.” :)

                                                        On a serious note, regarding future job prospects, I think programming will not be the last available job. Some job that isn’t an attractive candidate for automation will be the last available job. Programming, with all its expense, is a prime target.

                                                        1. 4

                                                          Once you can automate programming you can automate everything else at approaching 0 cost, so it’s moot.

                                                          1. 1

                                                            Can you? I would imagine lots of jobs rely on intrinsically tacit, “local” intuition, and not merely knowledge and cognitive function, which is what it seems to me the only thing that “solving programming” entails automatically.

                                                            1. 1

                                                              Programming often relies on intrinsically tacit, local intuition. I mean think of the last time you received feedback from the customer about how they felt the software should work.

                                                              1. 1

                                                                Good point I didn’t think about that end of the situation

                                                      2. 2

                                                        Hopefully, this allows them (and me) to do their (and my) jobs more efficiently, and focusing on other more important things. Of course, other stuff will eventually fall into obsolescence, but don’t we have graveyard keepers, working on decrepit technologies for sizeable amounts of money? COBOL experts, where art thou?

                                                        1. 2

                                                          All very true. I think the reality just sort startled me.

                                                        2. 5

                                                          This is why it’s important to move past capitalism ASAP: it’s more and more immoral to couple the ability to get a job with the ability to stay alive and retain dignity. Once all labor is automated, there shouldn’t be any jobs (coerced or obligatory labor), and we should all be rejoicing.

                                                          1. 0

                                                            Will there still be a free market? Or will what we consume be planned by the machines. At which, point, without the ability to decide what I want - or the illusion thereof - my job as a human is done too …

                                                            1. 5

                                                              woe to those who think their job as humans is to consume

                                                              1. 1

                                                                I eat, therefore I am.

                                                              2. 1
                                                                1. We all make the world;
                                                                2. define “free market”.
                                                                1. 0

                                                                  There is a medium of exchange (please not barter) and a market for goods and services. I have goods/services to offer and I have goods/services I need. I have markets to go to sell and buy these. The market is not controlled by the commissariat which determines how much toothpaste I get and what color tube it comes in because for reasons most people can not fathom, I like to chose.

                                                                  1. 1

                                                                    you can chose what color tube your toothpaste comes in?

                                                                    1. 0

                                                                      In capitalist America, toothpaste color chooses you!

                                                                    2. 0

                                                                      What is available in these markets? What is not? How are its dynamics damped, to avoid balloons and crashes? How are negative externalities, like advertising or air pollution, accounted for? You throw around the “free” as though its interpretation were obvious, when the devil is in the details, and the details are everything.

                                                                      1. 0

                                                                        This is strawman nonsense, and nowhere do I imply central planning. What you’re really saying is, “I want freedom of choice for consumption and production,” which doesn’t require capitalism, though you’re strongly implying you think it does.

                                                                        1. 0

                                                                          You need to elaborate your scheme then. Every time I’ve heard someone say “I hate capitalism and I have an alternative for it” what they really have is state capitalism (AKA communism in practice as opposed to the silly theory of communism written down somewhere).

                                                                          1. 0

                                                                            The universal means of production (automated labor), universally distributed.

                                                                            1. 0

                                                                              Who decides resource allocation?

                                                                              1. 0

                                                                                Who decides it now?

                                                                                1. 0

                                                                                  The market

                                                                                  1. 0

                                                                                    How’s that workin’ out.

                                                                                    1. 0

                                                                                      Better than anything else people have tried.

                                                                                      1. 0

                                                                                        Citation needed.

                                                                                        1. 0

                                                                                          Also, punch cards were better than anything that came before, and then we had better ideas that were enabled by advancing technology. It’s time we did the same for meeting basic human needs.

                                                                                          1. -1

                                                                                            You haven’t actually said what the replacement is for free markets and capitalism.

                                                                                            1. 0

                                                                                              Start with democratic socialism. End with technological post-scarcity.

                                                                                              1. 0

                                                                                                All countries with governments are socialist, not all are democratic, and not all have free markets. So that doesn’t add anything new.

                                                                                                Post-scarcity is another way of saying we have no plan on how to deal with resource contention, which is the hard problem

                                                                    3. -1

                                                                      it’s more and more immoral to couple the ability to get a job with the ability to stay alive and retain dignity.

                                                                      What dignity is possible once you’re livestock to be taken care of?

                                                                      The truth of the matter is there’s an ongoing demographic implosion. If they wait it out awhile, there won’t be that many people to have to have the universal income or whatever it is you’re arguing for.

                                                                      1. 3

                                                                        You’re assuming that dignity and purpose are only possible under conditions of coerced labor. Your premise is false.

                                                                        I’m not arguing for UBI. I’m arguing for democratic access to the means of universal production (robotic labor, molecular nanotech, etc.), removing the need for things like “income”.

                                                                  1. 0

                                                                    In a slavery, the ultimate threat is the threat of violence. You can beat a disobedient slave. You can beat the gulagees or the prisoners in reeducation camps.

                                                                    What is going on here is that some people who have terrible starts at life, were given an opportunity to make their lives relatively better. But these opportunities are relatively worse from the position of a western developed worlders. So these westerners then complain about the from-their-view-poorer conditions.

                                                                    Do abuses exist, yes. But I know a teenager who works at a retail store who’s not realising his full leverage as given by the laws. His parents also let it slide, because they think it’s good for him to learn ‘how it is like in the real world’. So from a full-on lawyer perspective, one could say the guy is being abused.

                                                                    The workers have to work a low paying job with bad condition because her financial situation, the relative wealth of her birth country and other factors reduce her negotiative power. But despite any of that, she’s better off working in these poor conditions with low pay than she would be back at her village. She is better of being given this opportunity.

                                                                    The labour of developed countries back when the countries were developing had to endure such conditions too. And their leveraged that to give their children and themselves better lives in time. Every society has got to go through this process. If you try to impose enforced better pays and conditions, the employers will move to another country or another labour pool, and these poor workers will lose their chance to improve their lives. The surplus of poor people will always ensure that there’s some people ready to be ‘abused’ for $2 a day, because the alternative is even worse.

                                                                    1. 30

                                                                      I think your comment could be a valuable historic source in the future.
                                                                      It shows pretty well the kind of rationalization “western developed worlders” do of the oppression they foster and benefit from. Teenagers abused in retail stores learn “real world” just as girls that were abused in Nigeria.

                                                                      Just because criminals do it, it’s not something we should teach.

                                                                      In a slavery, the ultimate threat is the threat of violence.

                                                                      Some consider tortures as a form of violence. And starvation is a form of torture, you know?
                                                                      Just because it’s inflicted by a community instead of a deputed soldier, it does not means it’s less violent.

                                                                      She is better of being given this opportunity.

                                                                      You should really read more carefully.
                                                                      These people pay for this “opportunity”. They literaly take loans on their house to pay for it.
                                                                      And, it turns out, they pay to be enslaved. The product does not match the promises. They are tricked.

                                                                      Because you know, when private people have the power to remove your civil rights if you don’t do what they want, you are a slave. And if they can remove your civil rights when you get pregnant, you are a slave. And they can force you to pay for a job, you are a slave…

                                                                      Every society has got to go through this process. […]
                                                                      The surplus of poor people will always ensure that there’s some people ready to be ‘abused’ for $2 a day..

                                                                      Honestly I find this argument pretty disgusting.
                                                                      Exploting people weakness just because you can is not something that have a place in a civil world.

                                                                      As someone who claim to “fight for freedom”, you should really consider what kind of freedom you are supporting. The freedom of western consumers? The freedom of western IT companies? Who’s the freedom you care about?

                                                                      1. 1

                                                                        It shows pretty well the kind of rationalization “western developed worlders” do of the oppression they foster and benefit from.

                                                                        So how do you rationalise all the stuff you consume that were produce through this process?

                                                                        1. 4

                                                                          Creating a demand is not inherently wrong. How companies choose to go about fulfilling the demand is where the concern is. One thing consumers do have is the power to choose which companies they spend their dollars with. Some companies are better than others.

                                                                          1. 3

                                                                            Why should I rationalise?

                                                                            I actively minimize the blood footprint of my purchease. And I only buy what I really need. Often used.

                                                                            Also I actively teach people to be “Ads Adverse”: the more people try to convince me to buy something the less I’m going to buy it. Culture, knowledge and critical thinking are the key to freedom.

                                                                            Indeed each marketing campaign convey (at least) two message:

                                                                            • one is specific to one product: you need this shit to be happy (whatever it means to you)
                                                                            • one is general capitalist propaganda: you are the shit you own

                                                                            Both are ridicously false! But propaganda’s goal is always to make the oppressed internalize the oppression so that they cannot challenge it effectively. As you can see in yourself, it’s pretty effective.

                                                                            I do not rationalise the means of oppressions that oppress me, you and Malasian immigrants.
                                                                            I study them. And I actively fight them through culture. I make them evident.

                                                                            I do not think that the solutions to the bloody issues of Capitalism can be found in free market.
                                                                            That’s groupthink. The solutions are in culture, knowledge, understanding.

                                                                            Meanwhile I call people with their name, be it “murderer” at Uber and Tesla, “slavist” at Apple and so on…

                                                                            1. 0

                                                                              I actively minimize the blood footprint of my purchease.

                                                                              Do you?

                                                                              Because the very fact that you are capable of replying to me, shows that you have not minimised your blood footprint.

                                                                              1. 1

                                                                                I know it might seem impossible to people used to represent all values through the same unit, but in fact you can optimize several dimensions at once.

                                                                                Also, in a complex system you have leverage, multipliers and so on to consider, so that you can have a zero (or even negative) sum over a dimension while having non-zero magnitudes all over the other dimensions.

                                                                                But if all this math seems too complex for you, consider I have legally free access to several internet connected public and private computers that I did not buy and I do not own.
                                                                                I let you as an exercise to guess how it is possible… :-)

                                                                          2. 10

                                                                            many employers also confiscate and hold workers’ passports in order to keep them from leaving an untenable situation

                                                                            1. 7

                                                                              Work makes freedom - as you point out.

                                                                              1. 6

                                                                                This might be the cleanest Godwin call-out I’ve ever seen. I tip my hat to you.

                                                                              2. 6

                                                                                The surplus of poor people will always ensure that there’s some people ready to be ‘abused’ for $2 a day

                                                                                I know that I won’t convince you to change your worldview by typing into a text box on a website where you have put your very worldview into your username, but please consider the possibility that poverty is intentionally created and sustained to maintain a cheap labor market.

                                                                                What would that look like? Who would benefit? What would they say to keep it going? Does that imaginary world match what you see in the real one?

                                                                              1. 2

                                                                                Whenever I read about the legendary programmers and inventors, these people sought out programming by themselves.

                                                                                So I don’t have much hope that pushing these things onto kids would give such good return. The top tier potentials will already find their own ways.

                                                                                You don’t need to know how computers work to operate in a modern society just as you don’t need to know how a car works to drive. It’s good to know but not necessary.

                                                                                Given the availability of computers, the extra ‘discovery’ of potential, I think would be small.

                                                                                So the whole ‘teach xyz to program’ seems like a mostly cost-ineffective boondoggle to me.

                                                                                1. 9

                                                                                  We can safely drop mathematics, physics and literature from school curriculums then. Most of the students aren’t ever going to be good at it, and talent will find the way.

                                                                                  Learning programming by yourself does not necessarily make you top talent, though we’d all love to entertain that idea. It’s certainly not worse with a self motivated learner who is actually aided by school system. Besides the “self learners” of old days didn’t come from Amazon jungle to a running PDP rack and started hacking. They still had the fundamentals of logic, maths and reasoning taught in the school.

                                                                                  1. 3

                                                                                    If school failed me back then the same way it’s failing kids today, it’s by teaching students idiotic facts beyond the basics of reading, writing and math. Introduce kids to as many matters as you can in such a way to cultivate curiosity and you’ll have won.

                                                                                    The whole ‘teach xyz to abc’ is ultimately pointless if what you’re seeking is innovation. It’s super good if you’re raising cattle-citizen though.

                                                                                    1. 1

                                                                                      This seems orthogonal to what @varjag is and @LibertarianLlama are saying. Llama seems to be arguing that being great at programming is innate and we shouldn’t bother teaching kids programming because they’ll never be great because if they were great they don’t need to be taught. And varjag is pointing out that education, historically, has not been about making the greats. Whether or not the quality of education is any good seems quite different than the question if if we should educate.

                                                                                      1. 2

                                                                                        I’m not responding to @varjag, although there is a relationship between what we both say. What I’m saying is, teaching programming for the sake of teaching programming is indeed pointless, but then again, so is pretty much everything beyond basic math and reading skills (then again, there’s the case of the enormous amount of functional illiterates so I’m not sure even that is technically necessary).

                                                                                        You’re correct, of course, both matters are vastly different. I think they’re ultimately connected, especially if you’re after cost-effectiveness, which I don’t agree should be the target of education, but that’s also another matter.

                                                                                      2. 1

                                                                                        “Idiotic facts” is a very curious term.

                                                                                        Are you referring to history? Facts about how society is structured and how laws are made?

                                                                                        The last time I checked our local education directives “innovation”was just one facet of the welll-rounded citizens it was aiming to educate.

                                                                                        1. 2

                                                                                          My bad, I did not correctly express my idea. I mean every part of my education which required the absorption of data for the sole purpose of regurgitation at a later date. I’ve lived that through many different subject matters. If you’re just pumping facts into brains so that you get graded on the quality of your repetition, it’s not really productive, and the students end up losing much of what they “learned”.

                                                                                          1. 1

                                                                                            This I can definitely agree with is not a good way to learn.

                                                                                    1. 27

                                                                                      I disagree with the negative posts. Writing about something you’ve just learned is absolutely a wonderful way to cement the knowledge, record it as you understand it for posterity if only for yourself, and help you pull others up right behind you. It’s not your responsibility to keep your ideas to yourself until some magic day where you reach enlightenment and only then can convey blessed knowledge on the huddled masses, a lot of this stuff (the specific tech, for the most part) moves too damn fast for that anyway. Maybe we need better mechanisms for surfacing the best information, sure, but discouraging people (yes, even noobs) from sharing what they’ve learned only ensures we’ll have fewer people practiced in how to do it effectively in the future.

                                                                                      That said, I do 1000% agree that people writing in public should be as up front as possible about where they are coming from and where they are at. I definitely get annoyed with low quality information that also carries an authoritative tone.

                                                                                      1. 8

                                                                                        There’s a world between documenting how you learned a thing, and writing a tutorial for that same thing. If you’re learning a thing, probably don’t write a tutorial. I agree with you, writing about a freshly learned lesson helps in making the learning more permanent, though.

                                                                                        1. 5

                                                                                          In the case of projects, I’d rather see people committing documentation changes back to the project, at least here the creator of the project can review it.

                                                                                          It’s a free internet and nobody can stop someone from doing this, but, IMO, the problem with technology is not that there is too little poorly written tutorial out there. Maybe it’s worth finding other ways of being constructive.

                                                                                          1. 4

                                                                                            Writing it down can help the mind remember or think on things. If errors are likely, then maybe they just don’t publish it. They get the benefits of writing it down without the potential downsides.

                                                                                          1. 3

                                                                                            So I know very little of C and C++. I fell into Go around the time they released v1.0, and I only tried to learn Rust around the same time, when it was still a moving target. At least that’s how I perceived it. Anyway, that’s the long preamble to my question:

                                                                                            I’d like to pick up a new language, and Rust and D both look like interesting candidates. Is there any massive advantage to either one that would make the other a poorer choice?

                                                                                            1. 6

                                                                                              Rust has a large and active open source community with over 16,000 “crates” available on crates.io. I’m not familiar with D, but it looks like it’s open source package manager, DUB, has ~1,300 packages.

                                                                                              Rust is actively improving with some major improvements (e.g. non-lexical lifetimes, generators, improved procedural macros) currently nearing stabilization, and others (e.g. const generics) planned for the next couple of years.

                                                                                              There’s also a considerable push to make Rust THE language for WebAssembly development, with seemless integration into existing front-end work flows being actively developed by Mozilla engineers.

                                                                                              1. 1

                                                                                                Is it less of a moving target to learn Rust nowadays?

                                                                                                1. 5

                                                                                                  If you tried to learn Rust when Go 1.0 was released… then the answer to your question is emphatically yes. I was writing Rust before 1.0 came out, and it was intense. It’s nothing even remotely like that these days.

                                                                                                  1. 3

                                                                                                    Absolutely. Stable rust is stable. Breaking changes are not allowed except in extreme circumstances, e.g. something very clearly broken. There are features being added fairly regularly, but you can choose to ignore them.

                                                                                                    As a side note, there are plans to introduce “epochs” in the release cycle which will be opt-in and allow breaking changes. There’s plans to keep this from fragmenting the community, though. See https://github.com/rust-lang/rfcs/pull/2052 to learn more about epochs.

                                                                                                    Edit: I should mention that there are many popular crates awaiting one feature or another before stabilization (1.0 release), but these can also be avoided. The standard library provides enough core functionality for many projects, and you can easily link to C libraries if you need something stable that doesn’t exist as a Rust crate.

                                                                                                2. 4

                                                                                                  I dont use either but read lots of comments. I’m guessing Rust is harder to learn, has slow compiles, and improved safety guarantees w/out performance impact in some hard areas. D lacks that key advantage of no-cost, temporal safety but compiles really fast and may be easier to learn. This is ignoring advanced features in each: Im just saying moving from C, Java, or something to either bringing your existing knowledge. I expect people to be more productive in D with Rust code running faster if it messes with memory a lot.

                                                                                                  Any people who know either feel free to corroborate or counter any of that.

                                                                                                1. 4

                                                                                                  My wife went to a thing called Rock Fest yesterday, to see Flogging Molly, Dropkick Murphys, and Rancid. I took the opportunity to figure out what the whole fuss is about this Fortnite thing I keep hearing about. Turns out you can install it on the Nintendo Switch, so I tried that out, and it turns out I suck massively. It’s kinda fun, in a way, but it’s not my usual cup of tea at all.

                                                                                                  I’ve also been supposed to do something with an old computer someone handed down to me; I’m going to add it to my roster of machines in my workshop, probably using it to host a Gitea instance, and some other stuff. Firmware on the BIOS is a bit dated, it won’t take a regular USB stick to boot up, would only accept USB-FDD, which I do not own. So I had to dig up a CD-R that was not already written on and I may be on my way to glory.

                                                                                                  I otherwise intend to play a bit of Minecraft with my son, he wants us to do some building challenge or other. I’d also like to finish setting up my kids’ (hand-me-down) laptops and start teaching them how to use them. Anyone knows of good open-source type-teaching software?

                                                                                                  1. 2

                                                                                                    and it turns out I suck massively

                                                                                                    I think Fortnite was what two coworkers were talking about last night. One said he felt accomplished getting 5 or 6 kills in a game. You might not suck as bad as you think: seems inherently more difficult than some games to get kills.