1. 11

    This reads like weak marketing for Cloudflare. It isn’t really technical, it’s from Vice. Boo.

    1. 3

      Fair. I’ll skip the Vice link next time.

      1. 1

        Thanks!

      2. 2

        Vice is an ad company, so this is what they do. Their original content is just fluff to sell more ads. They literally make ads for other companies. That is their core business.

      1. 33

        In other news, resistors and capacitors are keeping kids from electronics, and getting their hands icky is keeping kids from cooking.

        It’s been proven that saying programming is easy is a bad idea, it isn’t. Also all instructions given to a computer in anyway get translated at some point or other into machine code (best represented by lists of text instructions if you want a human to read it). Pretending that’s not true doesn’t seem useful.

        It would be better to frame this conversation in terms of the group of people who want to make computing in some way accessible to other people. What are they trying to achieve and what do they want out of this ‘coding’ experience. Let’s just stop pretending that that has anything to do with programming, which is always going to be processing lists of instructions.

        1. 24

          The whole point of the article is that their playtesters were intimidated from starting the game because the text UI looked too scary, but if the game started with icons and gradually switched over to text kids had no trouble with it.

          1. 14

            That’s funny because for me it was exactly the other way around. Ok, I was a bit older than five years old, twice that even. Still a young kid. Back then I discovered mIRC and learned how to write mIRC scripts. To this day IRC has been my favorite protocol: next to being able to easily talk to each other, the event based potential is just very appealing.

            (Ok, anekdote time. If there was an ability to hide the rest of my comment underneath a “read more” link, this is where you could click. But since there isn’t any such functionality, the best I can do is offer my apologies to anyone who is displeased by the length of my comment. Clicking on the [-] next to my nick will hide the entire thing.)

            Maybe a year or so later if memory serves me right — I can’t have been much older than 12 because I can still remember both the old house where I used to sneak into the other room to steal, err, borrow my stepdad’s external ISDN modem and extremely long phone cable; and the monthly fights we had about the phone bills — an online friend told me that you didn’t have to use an IRC client (intended to be used interactively) for automation: someone named Robey Pointer had designed IRC bot software called ‘eggdrop’.

            (My friend also kept going on about how envious he was of Robey’s last name which initially made me reconsider our friendship, it sounded so weird that it made me unsettled – many months later a different friend unsettled me again when he told me about pointers, causing me to realize that my first friend actually might not have been that weird at all)

            This ‘eggdrop’ thing made me very curious and I couldn’t wait to give it a go. So I got onto my 486SX with Windows 95, downloaded and extracted the zip file, executed eggdrop.exe and.. wait.. what was this? All I saw was a command prompt that did appear to show some text, but it disappeared before I could make sense of it.

            So I opened up a command prompt myself, typed ‘eggdrop.exe’, and read something cygwin something, and about there not being a user file, et cetera. Alright, my curiosity was now really piqued.

            Eventually I got it running and was very pleased with myself – anyone who’s ever configured an eggdrop knows that it’s not exactly trivial, and even more so when most of it is way outside the things you know about.

            Then I discovered that it actually wasn’t for Windows at all. Thanks to the integrated Cygwin it worked, but as it turned out most people would use something entirely different from Windows. Called Linux.

            And that’s how I discovered and got fond of Linux. First RedHat, then SuSE, then Slackware… and to this day, 20 years later, I still enjoy using the terminal, and IRC, and all kinds of other exotic things that people call anything from unappealing, to downright scary, with ‘complicated’ somewhere in the middle. I don’t think it’s any of that. All one needs is a curious mind, the ability to disregard what other people say about it, and fun ideas. I didn’t care about how esthetically pleasing any of it was, at all. I cared because of how thought provoking it was; a new dimension, and mine to explore.

            To me this is where the heart of the matter is and I think it’s where most people are mistaking - in my view, computers in and of themselves aren’t fun. Computers shaping people aren’t fun either. People shaping computers is where the fun’s at.

            What makes working with computers so intriguing, especially from an engineering perspective, is that you’re immersing yourself into a world of codified thoughts made entirely by human brains. The choices, and even psychology behind things. It’s like a labyrinth: intelligently designed by humans, so there simply has to be logic to it.

            Discovering the logic. That’s the appeal.

            1. 7

              I was a bit older than five years old, twice that even. Still a young kid.

              That’s a huge difference in terms of reading skill. Maybe bigger than the additional reading skill you acquire between ten and twenty years old.

              I think this article has more to do with early childhood development than it does with teaching programming in general. The more I think about, the more I’m impressed that children that young were able to do any kind of programming.

              And the more I think about it, the more I hate the title.

              1. 2

                Agreed. Plus, the more I think about it, the less I trust the research: you can never go wrong with 5 year old subjects. Totally unreliable.

                But, gah, I’ll admit. I wrote most of my comment before realising how old they were. So that explains that.

              2. 3

                This was very unexpected and gratifying; thanks. (My last name got a lot of laughs in programming classes, too.) :)

                On topic, I think “the thrill of solving puzzles” is a big part of what got me into coding as a kid, too. I still remember Silas Warner’s “Robot War” and trying to figure out why one bot always won. Part of the disconnect here may be that 5 is too young for most kids to find fun in written language, so the puzzles have to be scaled down. But my instinct agrees with yours: dropping a puzzle in front of a kid and saying “this should work, if you can figure it out” is usually a great way to motivate them to learn something.

              3. 4

                It’s more likely a lack of autocomplete and red squigglies. Also having a cheat sheet on hand would probably help when getting started.

                1. 3

                  “Danny! Don’t eat the cheat sheet!”

                  5 year olds ¯\_(ツ)_/¯

              4. 11

                I’m sympathetic to text, and to programs as lists of instructions, and I totally agree that saying programming is easy is counter-productive. But I feel I’m missing something about your argument given the obvious holes, so can you elaborate?

                1. I don’t understand this distinction you’re making between ‘programming’ and ‘coding’. To the extent that programming isn’t accessible, I think we should be changing programming to be more accessible. Creating new distinctions seems unnecessary, and also inherently a political rather than technical act: even if you don’t intend to, you’re liable to end up creating us-vs-them divisions between ‘programmers’ and ‘coders’.

                2. Programs always eventually get translated to zeros and ones. Surely that doesn’t mean we should be programming in zeros and ones? You’re obviously aware of expression-oriented languages like Hy. Similarly, translating icons to addresses doesn’t seem much different to me than translating words to addresses. What am I missing in your argument?

                One of my students is contributing to this project which assigns icons to new procedures by default. It seems useful.

              1. [Comment removed by author]

                1. 12

                  Important context: their target demographic and playtesters are five years old. Some of the kids they’re teaching to program are still wetting the bet!

                  when the trouble starts it’s easier to blame the entire history of the software industry rather than fix your assumptions.

                  Couple thoughts on this:

                  • The software industry is notoriously cargo-culty in what it thinks works or doesn’t work, and very few assumptions are rigorously tested
                  • The entire history of the software industry is younger than a lot of people alive today
                  1. 0

                    “Need to prove your hypothesis? Just run those tests with 5 y.o. kids!”

                1. 11

                  I really dislike that “modern” is nowadays used as a synonym for “good”. It tells nothing about the project itself.

                  1. 11

                    I read “modern” as “built with extended attributes, colour terminals and large files in mind”. That is, it needn’t be a judgement of quality; rather, a description of design considerations.

                    1. 12

                      ls(1) had 2 of those 3 features for 20 years. Color output was added to GNU coreutils ls in 1996, human readable sizes in 1997. Just because you reimplement something doesn’t mean the idea is suddenly “modern”

                      1. 3

                        It’s “modern” because those are the defaults now

                        1. 2

                          Was an alias so hard?

                          1. 1

                            Remembering to unset is hard, or use command, becausr there’s no quick obvious to get human-unfriendly units with -h :/

                            (Better make a new tool than submit a patch. /s)

                            1. 1

                              Prepend an ‘\’ to the command, and the alias substitution gets skipped.

                      2. 8

                        Sometimes it just feels like it means “rewritten in Node.JS or Golang”.

                      3. 19

                        I find the implication that something being old is somehow inferior frustrating as well.

                        1. 4

                          I’ll just keep reading it as a synonym for “young.”

                        1. 9

                          Nice. I have been thinking about this for some time now and I really think, that there should be law to make things repairable. The amount of shit that is thrown away each year is really embarrassing. It would make much more ecological sense than ban on light bulbs.

                          1. 4

                            Is it being thrown out that you think is a problem or some sort of environmental or economic issue? I’m not sure things being repairable is a good idea for the sake of being repairable. But I think if things are not repairable then they need to prove some minimal environmental impact. My laptop, for example, is a highly coupled piece of technology. I’m not sure making it repairable is something that I, as a consumer, want.

                            1. 9

                              I do. My Macbook Pro is going to be 9 years old in a couple months, and I can still use it fine (at least for web development type stuff). The reason it’s lasted that long, besides 2008 Apple building awesome laptops, is also that I was able to upgrade it (RAM upgrades and HD->SSD replacement) and “repair” it (replacing the battery a couple times, of course, but also replacing a couple cables internally that started failing). Without this, I would have maybe been able to bring it to an AppleStore a few times but the cost would have forced me to throw it away much quicker.

                              Now if I was to look for a new laptop, I would definitely look for one that has the same level of “repairability”, which means leaving the Apple nest.

                              1. 2

                                In my opinion post 2008 a lot if not most of the hardware (in particular laptops) and other kinds of consumer devices have become stripped of a lot of great things. I have a Toshiba from that year that packs everything. 5ghz wifi, bluetooth, firewire, 4xusb, hdmi, vga, serial, pcmcia, dvdrw, physical rfkill switch, webcam, esata, multimedia keys, Harman/Kardon speakers (the best ever), great quality (but low res) screen, and the type of plastic used for the case is high quality.

                                Nowadays it’s nothing like back then. You get a fraction of the features for twice the price, in thin plastic. Sure, more memory, better cpu and more storage but that’s aboit it. I suspect the 2008 financial crisis set things in motion - to me, that’s the year when quality dropped.

                                1. 2

                                  A major reason Apple is able to make their new laptops so lightweight and portable while maintaining long battery life is the space-saving afforded by integrated components. Repairability takes space (removable panels vs structural panels, sockets vs soldering, shielded vs unshielded batteries, etc.). Most people care more about portability than repairability. Even though I place a heavier emphasis on repairability, it would be wrong to force an inferior laptop experience on everyone for the sake of a few power users.

                                  1. 1

                                    I’m ok with that, as long as the costs of responsible disposal are factored in, i.e. price in how much it’ll cost to disassemble and properly recycle a glued-together single-piece laptop. There is a movement in that direction, but very inconsistent at the moment, in the U.S. varying state-to-state (e.g. California and New York have stricter e-waste laws than most states, requiring up-front payment of lifecycle costs). Implementation varies even more, currently with a lot of fraud where stuff doesn’t necessarily actually get recycled, or is exported with questionable post-export controls.

                                  2. 1

                                    I want that, but I also like how thin/light my MBP is. Similarly I wouldn’t expect to be able to swap out the CPU for my Game Boy very easily. I imagine having a way to do that would add quite a bit of weight if you look at all the componenets

                                    Maybe I’ve just been brainwashed, but my impression is that this is mostly an either/or situation, moreso than a smooth gradient.

                                2. 1

                                  I agree, but laws are hard to get right. In eg. video panels, planned obsilescence helps fund the development. Regulating that out may give us robust black-and-whie CRTs.

                                  Of course most crap is along the lines of kitchen appliances that are cheaper to replace than repair, in which case recycling sounds better than throwing out.

                                  The last case is eg. not having built-in batteries, here at the fringe, where you can put your money into a Fairphone instead of an iPhone.

                                1. 14

                                  I use QWERTY for the same reason I don’t heavily customize my environment: the cognitive burden of switching when I use literally any other system is too great.

                                  1. 5

                                    It takes me about 3 seconds to switch back from Dvorak to QWERTY. Am I the only one?

                                    1. 4

                                      Nope, you certainly aren’t. A common misconception is that you forget qwerty when learning dvorak. You don’t. Just like you don’t forget one song when you learn the next. You can do both.

                                      In the case of keyboard layout switching the cognitive mechanism fascinates me to no end: you just tell yourself to switch from one to the other, and voila, it happens, effortlessly.

                                      Another fascinating thing I noticed – when I was still attending university college and dvorak was relatively new to me – was that the mind (when on autopilot) associates layouts with contexts and habits. At school I had no problem with qwerty and usually I didn’t even notice it was qwerty (until I started to); trying dvorak felt a bit iffy. Back at home it was the opposite: couldn’t stand qwerty, i just had to use dvorak.

                                      The best part about learning dvorak, other than it being the superior layout - was to take notice of how this all works in the brain. Some nights I was watching TV and all of a sudden I became aware of what was going on in my mind’s eye: it was typing. My brain was autonomously “deep learning.”

                                      Recently Itook it upon myself to learn Japanese, and after about 4 days of moderately practicing hiragana and katakana, I’m noticing the same brain process more or less. Doing something else and suddenly notice that some other part of my brain is practicing how to write Japanese characters. I am in awe over the magnificence of the human brain.

                                      1. 3

                                        This is also true for keyboard layouts. I use a Kinesis Advantage ergonomic keyboard. It took me two weeks to get up to speed with it, and a little bit more to get comfortable switching back to a laptop, but now I can quite happily do either with no slowdown.

                                      2. 4

                                        No, I used Dvorak at home in the past and using QWERTY on another machine was no issue.

                                        I didn’t really expect that, but there ya go.

                                      3. 1

                                        How is it hard to switch though? Every OS comes with a dvorak layout. I can type qwerty when I need to, but if I’m doing extended typing on someone else’s computer I’ll ask to switch it and it’s never been a problem.

                                        1. 1

                                          I kind of like forcing those burdens on myself. It’s the only reason I consider picking up an alternate layout.

                                        1. 6

                                          If someone’s new to the topic, I think they’d probably do better to learn nftables, which is in the process of replacing iptables. My understanding of the process (and let me admit I’m not an expert here) is that it covers all the common uses of iptables but hasn’t yet displaced it in distros.

                                          1. 2

                                            I am a fan of nftables, but the userland tooling was buggy when you tried to do things outside of TCP/UDP filtering.

                                            The unified handling IPv4 and IPv6 with the same rule broke down quickly once you started looking at ICMP. It meant you had to go back to managing separate rulesets again which was one of the big reasons to go to nftables originally.

                                            As a network admin and programmer I understand why this was a problem and was prepared that things are never that simple regardless of the glossy broucher.

                                            For adminstrators though, I suspect it has nothing compelling enough to use that cannot already be done with iptables. nftables as a kernel developer makes sense, but of course that is not the target userbase

                                            Though, maybe all the userland problems have been fixed in the two years since I last seriously used it, but if not maybe this is why nftables is not getting the airtime it deserves. It sent off the fanfare before it was ready or primetime.

                                            1. 1

                                              You can even use both, together at the same time!

                                              1. 2

                                                Though, not for NAT. Be careful on routers, which often includes machines running containers.

                                            1. 7

                                              Great stuff, but I’m hoping for a blog post version soon. (Anyone else find Twitter threads annoying to read? Is this “old man shouts at cloud” territory?)

                                              1. 5

                                                Already on his blog

                                                1. 2

                                                  @Irene or @jcs could you update this submission to point at that blog entry instead please?

                                                2. 2

                                                  What’s twitter?

                                                  1. 1

                                                    You’re right. Twitter is a horrible medium for blogging.

                                                    1. 1

                                                      https://xato.net/windows-spying-and-a-twitter-rant-19203babb2e7

                                                      Maybe the story should point at that instead.

                                                      1. 1

                                                        I’ll join you np!

                                                        *waves fist* Dag nabbit!!

                                                      1. 2

                                                        No mention of seq? Poser!

                                                        Another nice one is fmt.

                                                        1. 3

                                                          You mean jot which has a name I’ll never understand

                                                          1. 2

                                                            BSD zealot detected.

                                                            (Actually I learned about the concept from jot and it still has a better syntax I think).

                                                            1. 1

                                                              Not a zealot, just seq is never on any server I use at work or home. Or on OSX.

                                                              It also has features I never knew about nor would I associate with the tool.

                                                              edit: wait seq is on OSX now? I swear it wasn’t

                                                              1. 2

                                                                “BSD zealot” is actually a compliment ;)

                                                          2. 3

                                                            par is the better fmt. It only uses one space between sentences.

                                                            1. 2

                                                              Sec in zsh is as easy as, e.g. {4..7}.

                                                            1. 6

                                                              This has by far been the best website experience I’ve ever come across. Holy cow, just look at what happens when you scroll down! Fantastic. You do have to read it as well, to follow what happens.

                                                              There are no votes to this article as of right now, but I really implore people to check it out.

                                                              1. 3

                                                                I would not have read it without your comment, but it is a very cool web page.

                                                              1. 2

                                                                I just think the old way was good. This new thing, hiding karma really sucks.

                                                                1. 15

                                                                  He didn’t mention the -a and -o short circuiting logical and/or operators, along with !, \( and \), which I think are both the most confusing and most powerful part of find.

                                                                  It helps to think of it as boolean expression language with no lexer – the argv array are the tokens, so the lexer is the shell in some sense. That is why you need all this weird shell quoting.

                                                                  The -a is implicit which is why a lot of people are confused about this. Also -a print is implicit in many commands.

                                                                  find . -type f -name "*.css"
                                                                  

                                                                  is equivalent to:

                                                                  find . -type f -a -name "*.css" -a -print
                                                                  

                                                                  Or if you want a better imaginary syntax, you could do:

                                                                  find . (type == 'f' && name ~ '*.css' && print)
                                                                  

                                                                  And it’s not lost on me that this looks like Awk… Awk is a predicate/action language over lines. Find is a predicate/action language over file system metadata. They just have vastly different syntax.

                                                                  UPDATE: The action language for find consists of -print, -printf, -exec, -rm, and the sequencing operator \;. -print is really short for -printf %p. It’s weird that the actions look like flags.

                                                                  1. 1

                                                                    As a small note; the \ is just to escape shell sequences. Alternatively, one could put the arguments entirely into one large string surrounded by double or single quotes, removing the need to escape them.

                                                                    Secondly, with gnu find, there is an alternative to \; which is + and much more efficient. The former executes a cmd for each result, the latter for as many results as the allowed cmd length. So with 30 results and -exec ls {} \;, ls is executed 30 times. With -exec ls {} +, ls is executed just one.

                                                                    1. 2

                                                                      Well you have to do something like:

                                                                      find . ‘(’ -type f ‘)’ -a -exec echo hi ‘;’ -exec echo bye ‘;’

                                                                      You can’t put the whole expression in one large single or double quoted string. They have to be separate args.

                                                                      Yes I found out about ‘+’ this year. However I tend to use find -print0 | xargs -0 because you can use -P. Bundling that functionality in find is sort of a cat -v orthogonality problem. xargs is already supposed to execute processes so find shouldn’t need that.

                                                                      In fact the author of the lr tool mentioned on this page also has that pet peeve.

                                                                  1. 1

                                                                    Not surprised by the tone of the article. Apart from the main story itself, some of the pretty cool things that were done by the, in my opinion, very friendly dogecoin community such as the mentioned fundraisers are actually great stories in and of themselves. It seems that gizmodo’s writers are bearish on Bitcoin in general.

                                                                    https://gizmodo.com/bitcoin-all-time-high-1792712406

                                                                    It’s one thing no not like bitcoin and like-minded projects. But actually wanting it to fail (“just die already”) doesn’t come across as journalism, but as a kind of activism. Oh well. Guess I’m just bearish on gizmodo.

                                                                    1. 2

                                                                      Very small nitpick: this only works if /bin/sh is bash (or something that supports $((...))). Works like a charm after telling it to run with bash.

                                                                      I missed the original sct thread, and redshift felt heavy, so this little script + sct will be of great use to me. Thanks!

                                                                      1. 4

                                                                        Piling on the nitpick wagon, error messages should go to stderr rather than stdout:

                                                                        - echo "Please install sct!"
                                                                        + echo >&2 "Please install sct!"
                                                                          exit 1;
                                                                        
                                                                        1. 2

                                                                          FWIW, dash handles this properly as well:

                                                                          % file /bin/sh
                                                                          /bin/sh: symbolic link to dash
                                                                          % sh
                                                                          $ echo $((1440 - 720))
                                                                          720
                                                                          

                                                                          OpenBSD’s ksh, same goes for zsh:

                                                                          $ echo $((1440 - 720))
                                                                          720
                                                                          

                                                                          So I guess on the majority of systems you’d run X on, this won’t be an issue ;)

                                                                          Now, my own nitpick - I’ve ran shellcheck and fixed some warnings:

                                                                          #!/bin/sh
                                                                          
                                                                          # Copyright (c) 2017 Aaron Bieber <aaron@bolddaemon.com>
                                                                          #
                                                                          # Permission to use, copy, modify, and distribute this software for any
                                                                          # purpose with or without fee is hereby granted, provided that the above
                                                                          # copyright notice and this permission notice appear in all copies.
                                                                          #
                                                                          # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
                                                                          # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
                                                                          # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
                                                                          # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
                                                                          # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
                                                                          # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
                                                                          # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
                                                                          
                                                                          S=4500
                                                                          INC=2
                                                                          SCT=$(which sct)
                                                                          
                                                                          if [ ! -e "$SCT" ]; then
                                                                              echo "Please install sct!"
                                                                              exit 1;
                                                                          fi
                                                                          
                                                                          setHM() {
                                                                              H=$(date +"%H" | sed -e 's/^0//')
                                                                              M=$(date +"%M" | sed -e 's/^0//')
                                                                              HM=$((H*60 + M))
                                                                          }
                                                                          
                                                                          setHM
                                                                          
                                                                          if [ $HM -gt 720 ]; then # t > 12:00
                                                                              for _ in $(jot $((1440 - HM)));  do
                                                                                  S=$((S+INC))
                                                                              done
                                                                          else # t <= 12:00
                                                                              for _ in $(jot $HM); do
                                                                                  S=$((S+INC))
                                                                              done
                                                                          fi
                                                                          
                                                                          while true; do
                                                                              setHM
                                                                          
                                                                              if [ $HM -gt 720 ]; then
                                                                                  S=$((S-INC))
                                                                              else
                                                                                  S=$((S+INC))
                                                                              fi
                                                                          
                                                                              $SCT $S
                                                                          
                                                                              sleep 60
                                                                          done
                                                                          

                                                                          Also note that on linux systems, the jot binary is often not available (I just discovered it today, it’s an OpenBSD utility). At least on void linux one can install it with the outils package.

                                                                          Either way, very useful - no need to run sct by hand now :)

                                                                          1. 2

                                                                            Odd, my dash at home barfed on the script. I now checked again, and it errors out on function setHM { .. }: it wants setHM () { ... } instead.

                                                                            Not quite sure why I remember $((...)) being a problem…

                                                                            1. 1

                                                                              function, even though technically a bashism, originated in ksh.

                                                                              In terms of $((...)) being a problem, you are most likely referring to ((...)) which is indeed a bashism. Alternatively, you might have come across ++ or -- in $((...)), which are not required by POSIX.

                                                                            2. 1

                                                                              for _ in $(jot $((1440 - HM))); do

                                                                              huh, I had no idea _ was a thing, neat!

                                                                              1. 1

                                                                                $_ holds the last argument of the preivously run command. Overwriting it does no harm here and in similar places, so I occasionally make use of it (both to silence shellcheck and to signal the value won’t be used). It’s possible though some folks might object :)

                                                                              2. 1

                                                                                Also note that on linux systems, the jot binary is often not available (I just discovered it today, it’s an OpenBSD utility).

                                                                                You can use seq instead of jot on linux.

                                                                              3. 1

                                                                                In similar vein, I’d suggest to replace [ with [[ because the latter is a bash/zsh/dash builtin.

                                                                                1. 1

                                                                                  Its a myth, you can check it with type [, both are builtin, [[ is only available in larger shells, [ is POSIX. The [ should be preferred for #!/bin/sh portability.

                                                                                2. 1

                                                                                  $((…)) is very much POSIX.

                                                                                1. 5

                                                                                  Well, as much as I hate to say it: this was only a matter of time, seeing how this was addressed at one of the more recent CCC conventions and pretty much ignored by telecom providers.

                                                                                  1. 3

                                                                                    Indeed here are the ccc videos from the other thread

                                                                                    https://lobste.rs/s/fb0lqr/after_years_warnings_mobile_network#c_bwf3w2

                                                                                    As I said this is not the only example of insecure networks that put too much trust in the other network actors; Telecom, payment processing at point of sale, travel bookings all do this. In the end putting the ordinary users at risk.

                                                                                    While sad for the victims, maybe this turns the tide on the banning encryption debates in parts of Europe.

                                                                                  1. 42

                                                                                    Some of the ones I personally look for:

                                                                                    • Are the perks technologists get universal? If I have unlimited vacation, does everybody in the company get unlimited vacation, or is support treated like second-class citizens?
                                                                                    • Are benefits and salary transparent? Do I know how much everybody makes, and how that compares to the industrial average? Do I know what percentage of the company “ten shares” is? If we don’t have matching 401(k), do I know why?
                                                                                    • Are we appropriately handling issues of diversity and conduct? Does our hiring practice or work culture avoid implicitly discriminating against women and minorities? Nobody’s using “your mom” or “cafebabe” as strings in unit tests, right?
                                                                                    • Is there a process in place to handle abusive or aggressive coworkers? If a project manager made ten people cry and two quit in protest, will he be fired and not promoted?
                                                                                    • Are physical and mental health issues treated appropriately? Will anybody have problems if I go on a 20 minute walk? Will people respect my triggers or think they’re a joke?
                                                                                    • Can you guarantee that I’ll never, ever hear someone say “coding rockstar” unironically?
                                                                                    1. 4

                                                                                      Good points, thanks for your feedback. Can you explain ‘’‘people respect my triggers’’’ more detailed, please? I think I’m missing something.

                                                                                      1. 9

                                                                                        Generally it means: if you know I get upset about something, don’t bring it up when you don’t have to.

                                                                                        1. 1

                                                                                          Like what? Name some of your sensitivities, because I’ll be honest - my first thought was “or you could just man up, and learn how to deal with the fact that people don’t have to maintain lists of all the sensitivities people are trying to avoid.” But then I realised I’m not even sure what you mean.

                                                                                          So please understand that I’m not trying to berate you or flog you, not personally. Just that something about what you said just gives me the creeps. I hope I am allowed to say this because I am not talking about you. I am talking about the general idea that the universe owes anybody anything. It doesn’t. Neither do people. We can say that treating others with respect should be mandatory, but let’s be honest. It isn’t. Safe spaces are a reaction to this. In my opinion, these are toxic.

                                                                                          The planet is full of jerks. There’s also a rise of a victim-based mindset, soft spots must be avoided at all costs, hurt is blamed on the other, and heck, even saying “man up” is called sexist nowadays. We have these idiotic terms like “mansplaining”, people are placing blame all over the place, and criticising anything can instantly get you banned on social media groups.

                                                                                          “You’re either with us, or you’re with the terrorists” is what GW Bush once said.

                                                                                          I wish I had the vocabulary to explain what irks me about this and to explain what is wrong about this. But I don’t. I guess it comes down to one thing for me: I have always felt like bedng treated with respect by someone is a privilege, not a right. And to be honest, I feel more comfortable with this than with the social justice warrior / safe space mentality. So no, I think what you ask is a privilege, not a right. You can’t / shouldn’t be able to demand that people will avoid to talk about subjects that might bother you. On the other hand, you also don’t have to listen to what anyone says. You’re free to respond in whatever way you want. For me, the line that shouldn’t be crossed is with physical violence, or the threat of it, and there are a few other things that may cross the line. Sexual intimidation, to name one. Then again - this actually already fits into the “threat of physical violence” category, come to think about it.

                                                                                          Arbitrary restrictions of free speech will create the biggest chilling effect otherwise, so I think it goes too far to demand from anyone that they must avoid anything.

                                                                                          I hope people get what I’m trying to say, and hope no one takes this personally - I’m a bit allergic to the pro safe space mentality, but I am not trying to personally attack anyone here whose views are different from my own. Talking about triggers. I just guess this is one of my own.

                                                                                          1. 9

                                                                                            Maybe it’d help to hear one of my personal experiences with this. I’m a pretty mentally unstable person, for various reasons, and I treat it with extensive therapy and psychiatry. One of the ways this manifests is I have trouble handling the “Happy Birthday” song. It’s hard to describe exactly; the shape of people’s voices funnels into a punch to the gut that makes me feel trapped and in danger and need to escape.

                                                                                            At my company everybody sings happy birthday on your birthday. And for everybody else, that’s fine! They shouldn’t have to ruin the day just because I don’t like the song. I’m a big boy, I can quietly excuse myself for the singing or hang around the corner and look uncomfortable. But if it’s my birthday, and they’re singing to me… the world bends and everybody has razor sharp teeth and the panic kicks in run run they want to kill and eat you too close TOO CLOSE

                                                                                            So I ask them not to sing on my birthday and they think it’s weird but respect that. That’s what I mean by ‘respect my triggers’. I’m not asking anybody to bend over backwards for me, I just recognize that there’s a part of me that’s distorted and unstable and that sometimes, I may not have a rational motive behind a sincere request I make.

                                                                                            1. 1

                                                                                              Understood. I can totally respect that. Thanks for explaining. Or as we say with No Agenda (the podcast): Tyfyc. Thank you for your courage.

                                                                                            2. 7

                                                                                              I have always felt like bedng treated with respect by someone is a privilege, not a right.

                                                                                              I don’t know about in general, but I’d expect it in a workplace setting at least. Coworkers don’t have to like each other or be friends (I don’t even necessarily like workplaces that try too hard on the “we’re all friends” thing with lots of social outings), but I’d expect some degree of professionalism and collegiality while actually at work.

                                                                                              1. 1

                                                                                                Well, yeah, of course I agree. But at the same time (in my expecience at least) the most rigid place where you have to earn to be treated like one of the team - and are considered a douche if you’re a similing, friendly, considerate person most of the time - is the workplace. Especially between my 16th and 26th it felt like this. Asking for anything felt futile in that period. For the most part I felt like the only thing I could do to gain a moderate amount of respect was to get old and bored with life, and shut up otherwise. It’s probably not like this everywhere, but I think it does apply to most places here in the Netherlands. If you stick your head out the crowd, especially by wanting to be treated in a certain way, is one of the surest ways to losing your job. I don’t like this culture at all, but it is what it is, and “don’t try to change it” has always been our culture’s motto, in a sense.

                                                                                                Bedng

                                                                                                (urgh. That’s one ugly typo I made.)

                                                                                              2. 6

                                                                                                I guess it comes down to one thing for me: I have always felt like bedng treated with respect by someone is a privilege, not a right.

                                                                                                Surely the irony of what you just said, and what you espouse on your profile is apparent to you?

                                                                                                Musician, writer, poet, annoyingly optimistic, respecting all life, pizza, and other stay at home parents relinquishing careerly life.

                                                                                                Like what? Name some of your sensitivities […]

                                                                                                Not sure what that’ll achieve in this thread, considering we’re talking about the principle in abstract and not literal line items. I’m more than happy to let you know my triggers in advance of any professional interactions–if we actually worked together.

                                                                                                Arbitrary restrictions of free speech will create the biggest chilling effect otherwise

                                                                                                Let’s for the moment forget the fact that we already have arbitrary restrictions of free speech in “Western democracies” (no need to bring up authoritarian governments as strawmen arguments), why does it even matter?

                                                                                                This argument about “chilling effect” follows from an inane logic that one ought to be able to voice whatever opinion they want. Why? What good does that do? Sure, you can say that the grass is purple and the sky is zebra. What’s the point? What does that even mean? There’s infinite many speech that can be voiced, but add absolute zero value. Likewise, there are infinite many speech that can be censored while reducing absolutely zero value.

                                                                                                There’s a happy medium somewhere between “censoring everything” and “not censoring at all”. Extremist positions are rarely tenable in the real world, thankfully.

                                                                                                So no, I think what you ask is a privilege, not a right

                                                                                                If it’s a privilege, as you say, then that means some authority can grant that privilege. So, why not the employer in this context?


                                                                                                If I can use your own word, what “irks” me about your post is that you made a bunch of pontification and gesticulation while not making any logical sense (in short, your conclusion does not follow from your premises). Do you realize that what you said in one sentence is in direct contradiction with another sentence?

                                                                                                Take, for example, what I just quoted above. You say that it’s a privilege, not a right. That implies the privilege can be granted. And that’s precisely what we’re talking about here. The granting of such privileges in a professional setting. No one is expecting this to be enshrined in some UN Declaration of Human Rights.

                                                                                                1. 4

                                                                                                  (This is a deeply personal comment, and in no way, shape or form do I expect my experience to generalize. Nevertheless, my experience—for good or bad—forms my outlook on life and how I choose to interact with others.)

                                                                                                  I was raised in an environment where “man up” was said frequently, both to me and by me. Perhaps it’s a rationalization, but I think I’m better off for it. Complaining or crying was completely unacceptable. “Are you hurt? Do you need me to call 911?” I’d reply, “No” of course, and I’d get, “Then stop your complaining/crying/whatever.” And for the most part, I did, and it worked. On top of all this, when I was real young, I was bullied. A lot.

                                                                                                  When you put that all together, I (very fortunately) learned real fast that the only way I was going to live a fulfilling life was if I took responsibility for my own emotions. I wasn’t going to let someone else’s words ruin my day. And thankfully, I mostly did just that, although I’m not perfect at it. Words still hurt sometimes, it sucks, and then life goes on. I hold this philosophy to this day. I can’t really advocate for it, though, because it’s a deeply personal choice (perhaps not even a choice at all!) and I don’t really know how effective it is for others. Certainly, I know others have a similar practice, so I at least know the sample size is not 1, but still, you can’t just tell someone to “suck it up” if they aren’t already predisposed to that way of thinking.

                                                                                                  With all that said, I found your comment to be strangely off point. “Safe spaces” gets a lot of press on Twitter and perhaps on some college campuses, but the reality is a lot simpler than that. If someone is going to hurl an insult or make a comment that is too personal, all you need to do is ask, “Could you phrase that more productively?” Or perhaps, “What were you hoping to achieve with this?” Now, some people really are just trolls and want to watch the world burn, and whether they’re playing that as an act or not, I find them absolutely contemptible. But thankfully, most in my experience aren’t like that and they probably just didn’t mean to say something that you thought was unproductive. Most folks just apologize and move on.

                                                                                                  I have similar emotional reactions as you to words like “trigger” and “safe place.” They aren’t words I like using, precisely because they do play up the victim mindset (from my perspective, at least), and that’s just not my cup of tea. However, I do strongly believe in some of the ideas that those words tend to encapsulate, like respecting your fellow human. Someone doesn’t need to “earn” my respect. They get it by default because I want others to be their best selves. If I start playing some “earn my respect” bullshit with them, then all I’ve succeeded in doing is 1) started mind games with them and 2) put up barriers to collaborating with their best selves. At a minimum, I am going to be nice to people as best as I can. I don’t always succeed, and I apologize when I’ve failed. But I try. And you know what? I’m not afraid to say that it’d be nice if other people did the same. It’s the minimum we can do to ensure an open exchange of ideas. You can talk about free speech all you want, but if you encourage insults or jerky behavior (or perhaps more realistically, don’t discourage that behavior), then you wind up with a situation where people are afraid to stand up and speak their mind. That’s a bad thing. Whether it’s because they’re not able to “suck it up” or not does not matter.

                                                                                              3. 1

                                                                                                TDD - It Really Works

                                                                                                I beg to differ. This is a baseless claim.

                                                                                                1. 2

                                                                                                  This is just my personal experience, but I would say it’s a night and day difference between companies that TDD and companies that don’t.

                                                                                                  In my first week at a new I’ve fixed two long-term bugs (one was four years old, one was three months) that would never have made it into production had they been tested. They’re little things that a fully-fleshed out testing suite would’ve found.

                                                                                              4. 2

                                                                                                This…this is a great list. Does anyone know of any such companies?

                                                                                                1. 1
                                                                                                2. 1

                                                                                                  Can you guarantee that I’ll never, ever hear someone say “coding rockstar” unironically?

                                                                                                  My place of work nailed all your points until this one. Thankfully it never came from the development team itself.

                                                                                                1. 3

                                                                                                  The response titled A view from the “other side” is also worth a read.

                                                                                                  1. 2

                                                                                                    This guy got caught violating GPL and now complains that open source software doesn’t make it as convenient as possible for his employer to resell their code. This is not a compelling rebuttal.

                                                                                                    1. [Comment removed by author]

                                                                                                      1. 4

                                                                                                        That rebuttal isn’t a “silly argument.” It’s an experience report. My own boots-on-the-ground experience is that I’ve spent a lot more time—per instance—trying to figure out how to comply with GPL licenses than I do with proprietary licenses. You can say “but GPL is easier” until your blue in the face, but that doesn’t change my experience (nor does it change the experience of the author of that rebuttal).

                                                                                                        None of the comments “debunk” anything. They just give more examples, where—surprise surprise—sometimes proprietary license compliance really is a lot more complicated than GPL compliance. I’ve personally never had that experience, but that doesn’t somehow invalidate the experience I have had.

                                                                                                        1. [Comment removed by author]

                                                                                                          1. 1

                                                                                                            Not sure what point you’re trying to make. If it’s not even possible to license the software, then that I means I’m going to spend very little time worrying about compliance.

                                                                                                            1. 1

                                                                                                              It feels like you are completely off point here. I’m talking about how much time I have to spend on license compliance (so is the rebuttal), not whether I can actually use it or not.

                                                                                                          2. 2

                                                                                                            Almost all of my experience with proprietary products is this:

                                                                                                            1. Pay them either once or recurring.

                                                                                                            2. Use the software. That’s either local or bundling it into something I distribute.

                                                                                                            The software also works correctly more often since they won’t get paid if it doesn’t. There’s certainly ridiculous licensing schemes from abusive companies such as Microsoft, Oracle, IBM, etc. I just don’t buy from them except desktop Windows since it’s straight-forward. Been on Linux a while but I’d probably need some Windows if I was running a company. There’s an alternative for about everything else from open source or paid-but-easy suppliers.

                                                                                                            1. [Comment removed by author]

                                                                                                              1. 1

                                                                                                                There’s different types of proprietary software. Much isn’t intended for mass market at all. The mass market stuff is what I’m referring to. It’s easy to acquire and use. You’re grasping at straws trying to avoid that point.

                                                                                                        1. 4

                                                                                                          First thought: didn’t I see this in the new nginx vim-syntax posted here a while ago?

                                                                                                          Ah.. it’s by the same author.

                                                                                                          Nice work, ch4r. It helped me get rid of a couple I had in my 2014 nginx ssl config. Hat tip.

                                                                                                          1. 2

                                                                                                            Good catch :)

                                                                                                            sslsecure.vim is actually trying to get some of the security features from nginx.vim to work with other configuration files and source code as well.

                                                                                                            Good to hear it actually helped you re-securing your config!

                                                                                                          1. 2

                                                                                                            Let’s just get rid of timezones altogether.

                                                                                                              1. 2

                                                                                                                Oh I know, I still think we should get rid of timezones, or at least make UTC time the default for most communication

                                                                                                                1. 4

                                                                                                                  I think that in an ideal world we’d use GPS or TAI for designating exact moments in time instead. Both are based on atomic clocks and neither have leap seconds. (I think they’re very nearly perfectly in sync with each other, but with something around 30 seconds difference between them because each was started at a different point in history.)

                                                                                                                  I don’t think there’s anything wrong with treating UTC itself as just another local timezone with an offset (very fine) from the time standards that we keep using atomic clocks. AFAIK this is how UTC is defined in reality, even though it doesn’t get exposed to most of us that way.

                                                                                                                2. 1

                                                                                                                  Surely most programmers would want abolish time zones? The only tricky thing is you now can’t say I have a 9-5 job, because that only means something to a specific segment of the world (Well two if you count 9:00PM too). We pretty much have to throw out all concept of “when anyone in the world views the sun at a particular point in their sky it is this time”.
                                                                                                                  Unfortunately you can’t get rid of daylight savings away from the equator, unless people are ok with starting or finishing work outside daylight hours for part of the year (but apparently that can increase depression).

                                                                                                                  1. 2

                                                                                                                    For people who work inside buildings, it’s probably not a big deal either way.

                                                                                                                    1. 3

                                                                                                                      But they move towards those buildings twice a day and sometimes go to lunch outside.

                                                                                                                      Sun exposure has drastic effects on mood, even if it is short. In winter, I often work from home for two hours and then walk towards the office for an hour.

                                                                                                                      (The obvious solution being abolishing the notion of fixed start and end times for work, where that’s possible, DST is a hack)

                                                                                                                3. 2

                                                                                                                  And abolish DST while we’re at it.

                                                                                                                1. 2

                                                                                                                  I feel that the big companies should be adopting a similar stance.

                                                                                                                  Say, I’m shopping for a bank, or require help figuring out the rules for an account that are contradictory. It should be possible to get the answers in the open forums, at the very least through email, and it’s entirely unreasonable that so many of the orgs require that generic information like that be obtained through a personal hard-to-document phone call in place of a public forum like Twitter.

                                                                                                                  1. 4

                                                                                                                    My wife does email support for a small startup and they also have a forum, where users and staff have free access. They prefer the email support, because forum requests easily degenerate into discussions which are not helpful to the requester. Also, on the forum it is hard to distinguish between official and non-official answers, but that could probably be solved.

                                                                                                                    For users it is hard to know in advance if question is generic or not. In addition, asking in public might feel shameful for many.

                                                                                                                    1. 2

                                                                                                                      Well, I disagree. I prefer email. How companies handle email is a matter of making incoming emails visible via gui/web/intranet interfaces, coupling them to user profiles etc.

                                                                                                                      Maybe I don’t want my correspondence to be public. I’m a bit agoraphobic, analogically and digitally. Sometimes I feel comfortable enough. But almost always I just ignore my phobic feelings and just go for it. And then maybe worry a for long time after having posted something. Especially with customer support, I feel more comfortable with one-on-one contact.

                                                                                                                      Forums also tend to aim to be places where users can primarily interact with each other and not with any staff. And the more customers interact with each other, the less in my experience the inclination for employees to join in. My experience, and admittedly my bias. Ymmv.

                                                                                                                      Forums are always messy, too. I can’t stand having to search though page after page looking for answers. I io like some forums though. Like xda-developers, and once upon a time long gone, mysticwicks, and a few music band fan boards. I even was a moderator for a few of those.. when I was 16, I moderated the Cradle of Flith message board. Had such a great time there. But back then the Internet was a better place by far anyway. Things weren’t as serious, and because Internet access wasn’t a flat fee, but per minute and slow as hell, the truly important things mattered more. For us there simply wasn’t enough speed/time, and money, to bicker about most things.

                                                                                                                      Twitter for customer support is really is rubbish imo, for one because of its rediculously short message limit (the sport of being able to condense messages into exactly 140 chars can be somewhat fun, sometimes), and secondly because of all of the anonymous haters. And I dislike how quantity matters over quantity, because people believe that users with few followers don’t matter, aren’t important. I’ve seen this often, but doesn’t relate to customer support much, it’s just a general gripe I have. Sorry for the digression.

                                                                                                                      So back on topic - It’d also imply that I’d need a third party service that would be able to follow all of mi correspondence. Even though I don’t distrust Twitter, no company should demand their users to use that for important things to my taste.

                                                                                                                      But email… I love email. I don’t need to register myself; i can do fancy things with it, I can choose my own clients; I can leave messages on the server thanks to IMAP; and it always Just Works™. Kinda. I’ve been running my own server for as long as I can remember and so I know a lot of ins and outs.

                                                                                                                      There’s a lot of hate out there for email, but for all its warts, i think it’s the best. Then again, I also think IRC is the best, and I’ve always disliked browsers. To each his own I suppose.