1. 4

    Is this a common use of the word “manifesto”? Or am I right to think it should not be tolerated?

    1. 22

      Or am I right to think it should not be tolerated?

      You seem to have strong opinions on this topic. Perhaps you should release a document describing your reasoning and the rules you propose for future usage of the word. ;)

      1. 9

        “How to Write a Manifesto: A Manifesto”.

        1. 1

          If I did maybe I would

        2. 10

          I think this is something the Swift community does for large overarching proposals. There are several other manifestos in the docs: ABI Stability Manifesto, Generics Manifesto, Ownership Manifesto, String Manifesto.

          1. 8

            Gah that makes me cringe.

          2. 6

            Wikipedia sez:

            A manifesto is a published declaration of the intentions, motives, or views of the issuer, be it an individual, group, political party or government.

            1. 3

              Yeah I don’t get it (nor the point of the software itself tbh), isn’t this just a language extension / library proposal?

              1. 3

                Is this a discussion to have here, where we can do nothing about it, or as an issue in the repository, where:

                1. The people arguably most familiar with the process of doing things in Swift will respond
                2. The people arguable most likely to be able to initiate some change in Swift will (hopefully) listen
                3. We don’t end up with 13 of the 14 comments in this thread being about the least interesting part of this submission; a single word in the title.
                1. 1

                  My two cents, a 15th commentary ill at ease with this word:

                  Personally, and maybe for the other 13/14 who comments you talk about, the word Manifesto was entry point for reading the article.

                  The 3 Manifestos I know of in programming are:

                  • The Agile Manifesto
                  • The Software Crafsmanship Manifesto
                  • The Test Driven Development Manifesto (not sure it’s been published though, it was written in a SoCraTes UK conference)

                  The 4th Manifesto I know of, is the Manifesto of the Communist Party written by Marx and Engels in the years 1850’s I think. There are probably numerous other Manifesto I don’t know of.

                  Contrarily to your opinion about the “least interesting point”, I think that the philosophical content of those Manifesto is their “Raison d’Etre”, the reason why they are Manifestos and why they are refered as such. (Whether we agree or not on the content).

                  The fact there already exists a library in Haskell (as puffnfesh noticed) that does that kind of stuff, and that there is no mention about it in the Differentiable Manifesto is also to be noticed.

                  One of the other comments says that it’s a habit in the swift community to call important stuffs Manifesto… So…

                  1. 1

                    The question I raised was whether this is a nonstandard and misleading usage of the word from the standpoint of the wider software community, so I believe it is a discussion to have here.

                    If someone with a GitHub account feels there is a consensus that this usage of “manifesto” is wrong, and cares enough about the Swift community to raise the issue with them, they can certainly do that.

                    1. 2

                      That’s closer to what I think of as a manifesto, but this Swift proposal is not the same type of thing.

                    2. 2

                      Or am I right to think it should not be tolerated?

                      … as in you’d resist or otherwise fight against it? Are you a prescriptivist?

                      1. 2

                        Is it prescriptive to want people to use language which is not misleading?

                        1. 1

                          Were you mislead?

                          1. 1

                            Yup

                      2. 1

                        It makes me think of this, so to me it’s a weird use of the word as well.

                      1. 2

                        “The majority of standups are short, yet often meander into casual conversation where people talk about things unrelated to work, like what they did over the weekend.”

                        I suggest renaming the article: “Why talking about our weekends instead of status is useless, and how to run great product team meetings”

                        I found the argument so poor, I am a bit…

                        1. 1

                          I use Jekyll. It was the most straightforward approach to get something working and to improve upon.

                          It is likely that I try Hakyll one day when wanting to do more complex stuffs. Not for the moment.

                          1. 35

                            From my personnal routine notes I have this paragraph:

                            • [PROCRASTINATION] is due to the inability to manage negative moods “around” a task : it is a emotion regulation problem not a management time issue => primacy of short term mood repair against long term pursuit of intended action
                              • [JUST DO IT]: every books start with a phrase, you can always edit/change later
                              • [FORGIVE UNDERSTAND] : psychologist say forgive yourself while procrastinating - don’t be shameful
                              • [ANALYSIS => WRITE IT ON PAPER] when wanting to procrastinate: analyse self = what instant emotions? sometimes just doing the first step as if I was starting to do the procrastinating action is sufficent => want to go back to long term goal a few seconds after
                              • [NEXT ACTION]: think/consider what is/could be the next action (similar to write down, break into pieces)

                            I leave the “How to deal with” points in case that rings a bell for you.

                            1. 7

                              Excellent notes!

                              I feel like these tips hint at an underlying problem. For me, most of the time I procrastinate it’s because I can’t contain the scope of what needs to be done in my head. I can’t decide where to start, so I don’t. I think it’s a special case of decision anxiety / decision fatigue.

                              It could be one project with many steps. Or lots of small unrelated tasks. When I’m tired or stressed, it takes fewer possibilities before I give up and procrastinate. Even if there are clear starting points, I find the mere overabundance of steps too overwhelming and I procrastinate instead. So “next action” works for me. I write down everything I can think of, then pluck 1-4 immediately actionable tasks into an entirely separate list, so I don’t even see the backlog. Far fewer decisions.

                              Even with such a list, I still procrastinate on small tasks—especially tedious ones. So I practice a special case of “next action” that I like to think of as setting myself up for success: find any quick and easy way to make incremental progress. Don’t plan, don’t prioritize, don’t even think, just do something. For example, I always procrastinate on filling out forms. I hate it. But there’s no possible way to justify procrastinating on downloading the form PDFs for later. Next time I think about the forms, it’s similarly easy to open the PDF I already have and spend 30 seconds filling out the first page. Each step is virtually effortless, but before long the task is done.

                              I love setting myself up for success in all sorts of ways. Need something for an errand later? I put it in my bag right away. Need to feed my dog before I leave? I physically obstruct the front door with her food container. It relieves so much stress to know I’m never forgetting anything, because I consistently place everything I need directly in my path.

                              1. 3

                                Need to feed my dog before I leave? I physically obstruct the front door with her food container.

                                You can think of this as a sort of autostigmergy. :-)

                                1. 3

                                  Some nice tips! I will improve my first point adding your “JUST DO DON’T THINK”. That is nice to attain the point of “Flow”, where the mind is totally focussed.

                                  About your “small steps” solution, I have this quotation that I love (it was possibly the starting point for my personal routine notes):

                                  • (1.00) ^365 = 1.00
                                  • (1.01) ^365 = 37.7
                                2. 5

                                  I think this is the right answer. For me it’s fear of failure, I think, though I rarely feel much in the way of conscious fear. And the results of failure due to procrastination are typically worse than any failure at the task might be.

                                  It’s very strange to have been the most sane and rational person I know for so long, and now having to evaluate my own irrational behavior based on subconscious emotions. This is uncomfortable.

                                  1. 4

                                    For me it’s fear of failure, I think, though I rarely feel much in the way of conscious fear.

                                    This is 100% what it is for me. I have identified it as an issue for several years now, both personally and professionally, and have made very little progress in confronting it. It’s tough.

                                    1. 2

                                      I’m sorry but I’m volunteering you for Compulsory Internet Group Therapy (but I won’t be mad if you ignore this):

                                      I just told someone that, while I did want to help with their project, I couldn’t because they had inadvertently triggered my irrational fear of failure. I really did want to help, but I could sense somehow that I would never actually do it. I’d procrastinate, or get too busy, or blocked, or whatever. This was a hugely unpleasant thing for me to say. I pretty much just blurted it out awkwardly. :)

                                      How was I able to sense my unconscious fear?
                                      What were those triggers?

                                      I do not know the answers to these questions. I think I’m going to start a journal, noting each time it happens, going forward. Maybe a pattern will emerge.

                                      I was able to overcome a block on a technical task last week that had been dragging on for a very long time. That was fantastic, but it is a big project with lots more work to do, and I sense the fear may be coming back. Why would this task even scare me? That seems ridiculous. It’s tough.

                                    2. 4

                                      You should always evaluate your behavior, irrational or not. I think honest self-reflection is one of the easiest ways to grow as a person.

                                    3. 1

                                      Neat notes. I’m procrastinating right now, so they hit a nerve.

                                      Definitely going back to the task now. Probably. Maybe.

                                    1. 2

                                      Whereas I do appreciate the article very much, I have a problem with this sentence: “No one likes to hear they’re doing it wrong, least of all when they’re doing it wrong.”

                                      It’s sounds like a dogma saying we are all stuck at the egoful teenager mindset of “I’m am the best, if you criticize my work you indeed critcize me, and if you criticize me then it’s the one who says who is”.

                                      I’m not saying “Not every one” either.

                                      I’m saying there are more mature states of mind that are totally reachable.

                                      The Zen saying is more or less: “Tell a a fool he is wrong, he will hate you. Tell a wise man he is wrong, you will gain his respect.”

                                      1. 2

                                        correcting the catchy title to “Weld: accelerating numpy, scikit and pandas as much as 100x thanks to Parallelization with Rust and LLVM” would seem more fair to me.

                                        1. 7

                                          Currently trying it. Thanks for the link: The first minutes are really nice. I’m gonna test it for at least one week.

                                          This short starter guide is nice: https://github.com/mawww/kakoune/blob/master/contrib/TRAMPOLINE

                                          Edit a few minutes later: “kakoune adopted”.

                                          1. 2

                                            Though it was not the reason for which I started the Mindfulness meditation technique, it has proven for me to be the best tool for managing focus attention.

                                            In a nutshell, it helps noticing, observing the mental mechanisms that are recurring. Namely all those that get into the way when trying to be focussed.

                                            More generally it is about how to be fully present in the present moment, and not to be a slave of the cascade of thoughts that are used to sparkling one another. Not to identify with thougts, not to fight against thougts, just to observe them, acknowledge them, and let them ago.

                                            There are Apps for daily training. Start lightly with 5 minutes a day. It is easier when there is a guiding a voice reminding you that you are inside a meditation exercise.

                                            As an extreme simplification, I’d say Meditation is the exercise of training Focus/Attention, and we do it on the most simple thing we have at hand: our breathing.

                                            For me the results have been totally convincing.

                                            1. 17

                                              Is this the place for a pet theory? Here’s mine based on the history of programming languages:

                                              Adoption of FP, in the early industry, was hindered by two things: one overt and one hidden. Together, they created a space which allowed OO to flourish, but now FP is set to gain market share, and it is.

                                              The overt thing is something that people often comment on: FP forces mathematical reasoning on programmers to a greater extent than OO or procedural programming. I won’t belabor this one. The hidden thing is that execution speed was an issue for a long time in our industry. That has changed in the past two decades but, early on, it was seen as impractical to implement closures for any sort of commercial system. A function call for every item in a loop? That was just seen as madness.

                                              So, procedural languages and their OO successors were late to the party. It took a long time for them to add lambdas, closures, and blocks. Smalltalk and Obj-C were exceptions. For languages like C++ and Java it took decades. Once you have closures, you start to think about higher-order functions. When you are thinking that way, you start to investigate functional. That’s what has happened recently.

                                              We can get upset about OO, but it served its purpose. It enabled the creation of many large systems with somewhat lower skill than functional requires. Now, we have a clear choice. We can build large systems the (now) traditional way with OO, or we can aim for higher quality (and less code) with FP.

                                              1. 9

                                                A function call for every item in a loop? That was just seen as madness.

                                                An equally-hidden corrolary: compilers have gotten WAY better since, say, the early 90’s. A lot of this is because we just have more CPU and memory to throw at them, and a lot of it is because piles of work have gone into large existing frameworks like GCC and LLVM. The mythical Sufficiently Smart Compiler is now a difficult but essentially commodity system with a handful of good choices on the shelf.

                                                I mean, what kind of compiler WOULDN’T aggressively inline a map or fold where it can? One I’d prefer to avoid, is what.

                                                1. 3

                                                  All this compiler cleverness has their own issues though: the code you write is no longer the code that the computer runs, and having the correct program behaviour relies on the Sufficiently Smart Compiler being bug-free enough.

                                                  There’s also the issue of developer ergonomics: I personally compile all my C code with tcc when developing as that’s so much faster than gcc or clang; even with -O0 gcc takes about 2 minutes to compile all of Vim on my system. With tcc it takes about 4 seconds.

                                                  1. 2

                                                    All this compiler cleverness has their own issues though: the code you write is no longer the code that the computer runs, and having the correct program behaviour relies on the Sufficiently Smart Compiler being bug-free enough.

                                                    Does this matter, other than in a philosophical sense?

                                                    For example, if I ask the computer to take an average of a set of integers, and it does some weird optimization magic, and returns the same result as if I’d done the calculation by hand, that means it’s doing the right thing - even if it’s doing something I’ve never even thought of.

                                                    I guess if you’re trying to prove a mathematical thesis with computer-assisted proofs, it’s relevant. But for day-to-day programming, other errors dwarf any issues with the compiler.

                                                    1. 1

                                                      Does this matter, other than in a philosophical sense?

                                                      I’d say yes, it does. This is basically how you get Undefined Behavior in C, C++ and Rust: the compiler is allowed to assume the language works a certain way so it can perform more optimizations, which is a subset of what the language can actually do. Dereferencing a null pointer in C, making an infinite loop in C++, creating invalid references in Rust. So the language the compiler is compiling is different from the one the programmer is writing, but it’s up to the programmer to know the difference.

                                                      …other errors dwarf any issues with the compiler.

                                                      This is certainly true. We do things like make Undefined Behavior because it improves things for the average case at the cost of the worst case. So, the question of “does it matter” becomes a philosophical one. ;-)

                                                2. 3

                                                  OOP used to be about message passing, but then it became programming with classes and inheritance. Functional programming used to be about programming with functions, and then it became about monads and functors.

                                                  1. 2

                                                    Object Oriented Programming has been about a lot of things. Check out this comment by hwayne for a nice history lesson.

                                                  2. 3

                                                    In C++, the functional paradigm, or rather a feeling of it, emerged rather much sooner than you think, I would not say “Decades”. If you consider templates or the standard library, namely <algorithm>, there is a bunch of stuffs that are oriented with functions to be passed as value parameters. They have been incorrecly called functors standing for function objects (not synonym of Functors like in Haskell/Category Theory). They were available since the first standard ISO C++98. For example std::transform, is closely resembling the map function in Haskell. There’s this link for some historic stuff: https://www.modernescpp.com/index.php/functional-in-c-98 And anyway you could already pass function pointers even in C ;-) ! though I would not call that functional programing yet, that’s ok ;-)

                                                    1. 4

                                                      Thanks. I’d forgotten. Reminds me of the joke question of which was the most baroque unintentional functional programming language: XSLT or C++ templates?

                                                      1. 3

                                                        Argh :-) I dare the answer: having used C++ so long, of course I’m biased when I say that XSLT is too much complicated. But I would not dare a competition of readability between a real production XSLT file and a real C++ library meta-programming template error. I think (without exagerating) that once I have had a 400 lines error message. 400 lines, that was the length of the C++ templated type description. I said once. Hopefully c++20 concepts (which I feel like an approach toward Haskell typeclasses) will makes those nightmare error messages disappear.

                                                  1. 3

                                                    It so heartwarming to see a congressman understanding details about what he talks about, and not playing the FearUncertaintyDoubt game or other politician strategy of who will make the most striking arrogant empty rhethoric slogan playing on sheer emotion only.

                                                    As a developer I am touched. I mean it.

                                                    1. 10

                                                      I have simplified my personal grid to detect Smart Assholes.

                                                      In my exprience they all share this behaviour trait: They are unable to say “I don’t know”, or “I am wrong”. Seldom, when they finally say “I don’t know”, they are trying to hide information indeed.

                                                      My 2 cents.

                                                      1. 6

                                                        I’ll add sincere apologies to that. Some smart folks with poor social skills will screw up, have a hard time doing that in the moment, and come back to make amends realizing it. Then, they’ll try to avoid that screw up in the future. So, what you said plus not righting the wrongs a little later.

                                                      1. 2

                                                        suggest title: “LSTM: How to Train Neural Networks to Write Like Lovecraft”

                                                        1. 1

                                                          I have made that suggestion already.

                                                          1. 1

                                                            Is there a way to edit a post title ?

                                                            1. 2

                                                              If enough people suggest the same change, it will be applied automatically.

                                                              Mine was apparently the last one needed here. ;)

                                                              For future reference, you can ping one of the sysops (look them up on the hat list) to edit a post title.

                                                        1. 1

                                                          Why is this article behind a Medium paywall? They tell me I have to become a premium member of Medium first before I can read this.

                                                          1. 1

                                                            In general they display their messages after a certain number articles I have read on their site. For the moment, they let me see this one without annoyance…

                                                            1. 1

                                                              I couldn’t find the article behind the banner and two pop ups.

                                                            1. 2

                                                              Continue on a Kaggle competition. The Freesound Audio Tagging challenge: https://www.kaggle.com/c/freesound-audio-tagging-2019