1. 1

    I’m looking into chaos engineering tools, fault injection and property based testing. So if anyone knows some good tooling other than Gremlin I’m happy to hear about them :).

    1. 2

      Thanks for sharing. I’m just wondering are there still companies without continuous integration? Don’t get met wrong I get into discussions with our infrastructure team quite a bit about how the CI should look like but no one questions that there should be a CI.

      1. 1

        There were plenty of government agencies still using COBOL, so you should never underestimate the slowness of tech adoption in some shops.

      1. 2

        Thanks for sharing. I have to admit though that I’ve never quite understood what a data scientist is. I tend to be overly critical if a company is looking for a data scientist instead of a Machine Learning scientist/engineer, statistician or simply a system architect/software engineer who can setup a Kafka/Spark/pick your favorite stack.

        1. 4

          The more I hear the more I think it’s time for collective agreements, CLAs, or Tarifverträge as we call it in Germany. I started to work in 2013 and earn around 86k € pre tax plus a 13th salary and some useless stock options. I have some stocks from my former employment. I’m happy with my salary as I plan to move where the living costs will be 30% less and once I’m married (April 3rd : ) I’ll have a nice tax cut.

          However, I always sensed that the salaries were not fair. My former manager actually gave out raises because the differences were quite big within the same level. I get that it’s always hard to even out salaries but I just don’t want to think I have to negotiate every time. Eg a friend in aero engineering got a pay raise because of a new collective agreement. Which basically means he was paid too little.

          It seems a lot of engineers think they would be paid less with CLA when they would actually earn more.

          1. 3

            I am a little late to the game and mostly second what others wrote

            General Purpose
            • Rust hands down. It has with Cargo a great package manager that enables one to move from a single package to a multi project workspace. Rust speaks C and has offers bindings for Python, Ruby and others. This makes it ideal for library development. The small runtime or even no runtime support is great for embedded and system critical development. Their async stack is growing which makes it easier for backend development. It has fast startup times which makes it a nice tool for CLIs. It has a high learning curve, though.

            • Python for small, quick and dirty scripts. As it runs mostly on all machines without much effort.

            Special Purpose
            • Python with Numpy, Pandas and SciKit Learn for Numerics and Machine Learning.
            • Python or Ruby for good old websites with Django or Rails.
            • C++ or Rust for Rendering or Game Development.
            • Typescript for frontend. I have now experience with it though.
            • Swift for iOS.
            • JVM for backends.
            • OCaml for a compiler. Not that I would get the chance :).
            No Purpose

            This is a little harsh from me.

            • Scala. I have been developing with Scala for more than five years now. I like a lot of its features and am looking forward to Scala 3. Akka is a great framework. However, I yet have to find engineers that do not succumb to over engineering once in a while. This language just make it too easy to make things complicated. Kotlin is an alternative but Java 11 and new versions are catching up.
            • Go is a no-go (pun intended). I really do not understand how it got so far. I would not use it for CLIs. web development is fast and easier with Python or Ruby. The JVM is nicer for backends. And Rust seems better in many aspects most importantly the concurrency controls. It seems that the only purpose for Go is Kubernetes.
            1. 1

              Go is a no-go (pun intended). I really do not understand how it got so far.

              For most of the same reasons as Rust; it’s just that Go came out five(?) years earlier; so it was in a pretty unique space as a new statically-typed statically-compiled language with good memory management and a strong package manager. It was getting a lot of attention from my co-workers by 2011, and I broke down and started using it in 2012.

              If Rust and Go had come out at the same time, I’m not sure how things would have gone. Rust has a lot going for it, but Go does have a shallower learning curve.

            1. 7

              Other answers go into “other people may have something to hide”, I want to go into a different angle, namely going into what they want to have the the right to keep to themselves.

              Talking to someone who has nothing to hide, you can say: Which things do you think you should decide whether are private or not? Where’s the boundary? Would you accept losing a right to privacy because I don’t care — for example, would you give up the right to privacy about sex because some/many other people post nude selfies or more? Which things do you think you should be permitted to keep to yourself, even if you don’t actually care about keeping them to yourself?

              That is, you turn privacy into a right that they care to have, even if they may not care to exercise it, and try to make them describe what the right to privacy spans, in their opinion.

              EDIT: Rereading, I think I’m saying: You can ask them to describe the right to privacy they want to have, the zone of privacy they want to have, instead of letting them describe examples of privacy they don’t want to exercise.

              1. 4

                I liked that. It’s like talking about the right of free speech. Even if I don’t have anything to say I still think it should be protected. Same for the freedom of movement. No one really cares about it until it’s taken away.

              1. 39

                I like how Edward Snowden phrases it in Permanent Record.

                I don’t have a quote easily available. But he basically says that you may think you have nothing to hide. But other folks may, and for good reasons (journalists, whistleblowers, minorities).
                By saying you don’t care about privacy because you have nothing to hide, you’re making it dangerous for those folks, who will therefore seem suspicious.
                Then, caring about privacy becomes an act of solidarity.

                I’ve found that argument to work quite well with folks who aren’t in tech.

                1. 17

                  Lifted from Wikipedia:

                  “Arguing that you don’t care about the right to privacy because you have nothing to hide is no different than saying you don’t care about free speech because you have nothing to say.”

                  “When you say, ‘I have nothing to hide,’ you’re saying, ‘I don’t care about this right.’ You’re saying, ‘I don’t have this right, because I’ve got to the point where I have to justify it.’ The way rights work is, the government has to justify its intrusion into your rights.”

                  I usually argue that if they have nothing to hide, then of course they would allow me to view their banking info, medical information, all their IMs, and allow me to setup cameras in all rooms in their home. This typically leads to “Oh no, I won’t allow YOU to see that, but it’s okay for the government, because they wouldn’t do anything bad to me.”

                  And for that part of the argument, it’s taking a case of a government oppressing some group of people, and then either people gets it or gets bored of the discussion.

                  1. 4

                    I usually argue that if they have nothing to hide, then of course they would allow me to view their banking info, medical information, all their IMs, and allow me to setup cameras in all rooms in their home.

                    I actually found cases when they even did not care about that and replied with screenshots of texts they’ve just sent.

                    1. 7

                      They still have the choice of which screenshots to send, in this scenario. That’s a lot different than having complete access where you’d be able to choose which you thought were important.

                      1. 6

                        Fair point. In my experience many won’t think that far or have the imagination. Maybe it could be simplified by asking them how much the earn a month or a year. If they refuse to answer they basically showed that they have something to hide.

                      2. 4

                        There’s a nice movie called “Perfect strangers” which plays exactly on this topic. People gather for dinner and decide to read all sms aloud and answer all calls on speakerphone.

                    2. 6

                      Also people fleeing spousal or parental abuse!

                      Also even if someone doesn’t care about their privacy, they do still need integrity for their communications, i.e. they would probably prefer that randos with a copy of FireSheep can’t just steal access to their FaceSpacePinstagram account or mess with the content of the pages they’re reading or inject malware into the software they are downloading. The off the shelf solutions to integrity of data in transit also solve confidentiality of data in transit.

                      1. 4

                        While it might work on majority of adult people with common sense, I can’t imagine how teens or students who prefer comfort and “not caring” over anything would even take that as an argument at all. They’ll most likely say “it’s their own problem” or “i am not a journalist, I don’t care about them”. It’s quite sad they lack these bits of empathy, but it’s a bit larger topic on it’s own and I don’t want to derail this one too much. But it’s even more terrifying if you know they’re the future and with that attitude everything might get even worse than it is already, in privacy domain at least.

                        1. 3

                          Quite frankly, I don’t appreciate the ageism employed here.

                          1. 1

                            Thankfully, young people learn, just like we did when we were young and stupid. The presence of stupidity is no reason to be terrified. Vigilant, perhaps. Active, involved, definitely. But not terrified. There’s hope for them yet.

                            1. 4

                              When I was 15 I was one of those “I have nothing to hide” people. Then I was 16 and started dating, and suddenly I didn’t want my parents reading my messages. So, there’s that argument too.

                              But yeah, don’t give up on youth just because they’re too immature to understand everything right now. They will grow and learn.

                          1. 28

                            I point them to the Holocaust in the Netherlands. The Netherlands had one of the hardest-hit populations of Jews in all of Europe. There were several contributing factors, but one of them was the well-organized trove of data the government collected on all Dutch citizens including information on religion, residence, work, and ancestry. That trove of data was helpful for the smooth functioning of the Dutch government and originally employed for the good of its people. However it was also a very great help to those who later sought to oppress and exterminate.

                            Data is powerful. And it changes hands easily. Even if you were giving data to good people who have nothing but good intentions, you still have to be careful with it. But most of us are giving data away to people who are making money off of us. Just as you wouldn’t give your house key to a stranger who wants to exploit you for money, so you also shouldn’t give your data to someone who wants to exploit you for money.

                            1. 6

                              I just wanted to make the same point here but I see you’ve already covered it.

                              I come from a part of Europe that has had totalitarian regimes ruling over it in the past. Even though I haven’t lived during those regimes (missed it by a couple of years) I could definitely feel the consequences, physical or mental for a lot of people.

                              You could easily be detained or even killed depending on the severity of the charge. The things that could serve as proofs were telephone calls, anything you ever publicly wrote, even the private correspondence by mail. Anything you ever said in public, sometimes only the accusation of saying something would be enough.

                              Nowadays all of that seems trivial, the presence of the surveillance is orders of magnitude higher today than at any point in history. Imagine going to jail because you sent a joke to your friend on Whatsapp about a political figure in your country. Heck, any information that’s not perfectly protected by end to end encryption may as well be considered public. See what hackers do with stolen credit cards today, they use them for some time, then they dump them for everybody else to use.

                              1. 5

                                That is a good point. Often it is not even the own government that acts malicious. There have been recent discussion in Germany to install cameras with face detection in all airports and train stations. Our current government might not misuse these cameras. However, we should always assume the other governments hack into the cameras and use the material to track dissidents.

                              1. 25

                                I actually discussed this with a friend because we were frustrated when we tried to persuade others to use eg Signal. We came up with a three tried argument list.

                                You might not care but others do.

                                This is basically the argument made by the two articles, Snowden et al. While one might not have anything to hide. We have to protect others that care for us such as NGOs and journalist. I’m from Germany and folks here still can remember the last to dictatorships. So it’s probably more convincing here.

                                You don’t know if you have anything to hide.

                                A lot of people don’t really know what they have to hide until it hits them. That was covered in the article below as well. My example is often WhatsApp. Facebook might encrypt the messages but the value is in the meta data. Who wrote to whom when from where. It is very scary what these data points can reveal. I once saw a talk by someone who started to track himself. He found that he could predict his movement with just around two weeks worth of data. So what would your opponent say if the next credit card, apartment or job is refused based on some meta data on them?

                                Your future self might care a lot.

                                This is the most convincing to me and usually got others as well. While we might not have anything to hide now we might care quite a bit in the future. Any data is saved for basically forever. Companies and states might not see value in the data they have now but they are quite eager to find use for it. Facebook is in active talks with banks to base decisions on data. It takes not much imagination to see health care companies evaluate our purchasing behaviour of the last decades to decide on our premiums.

                                This is a sloppy write down. I know the frustration.

                                1. 6

                                  You might not care but others do.

                                  One thing I heard that really opened my eyes to this was the idea that, in order for a restrictive law to be changed, it must be broken. The easiest examples are prohibition laws - with alcohol prohibition in the 1930s US, to more contemporary prohibition laws involving cannabis. Millions of people smoke weed erryday, be it for recreational or medical purposes, and many state governments have caught on that maybe it’s not as bad of a thing as they originally thought.

                                  Another example that might fit would be in countries where homosexuality is illegal. If authorities snoop texts and phone calls in order to determine homosexuals in their country, they will forever be oppressed by the whims of whoever is in charge that day.

                                  1. 1

                                    smoke weed erryday

                                    I see what you did there ;)

                                  2. 5

                                    Donald Trump has been a strong example for “Your future self might care a lot.” (in the past I’ve heard “what if the nazis got into power again!” to which the response is “like that would ever happen”). You may trust some governments, but Donald Trump is president now. He has a console in front of him, he can search everyone’s emails, everything. What do you think he could do with it? Did you ever say anything bad about him he might not want you to repeat? Do you think he could use it to target people he doesn’t like and prevent them fighting him? If only those people had been using encryption to protect themselves.

                                    1. 1

                                      Can we please not have politically-charged content here?

                                      1. 4

                                        Eh, I’m personally fine with it as long as it’s stated civilly and makes a relevant, substantive, & debatable point. Once someone starts throwing stones, then we can start talking about shutting people down.

                                        1. 1

                                          I’d just like to state, as I didn’t make this clear enough despite it being my intention as the message, I didn’t mean to express an opinion on politics. Mostly because I don’t have one! I don’t follow political news, or Donald’s latest controversial news story or whatever. It was intended to be entirely a specific aspect of the government angle that historically I’ve failed to express. Due to a lot of dislike for Donald, it has recently gone down much better.

                                          I apologize if it came across any other way, I also don’t want that kind of content here. Hopefully my point wasn’t too diluted by my failure to properly include that in my comment.

                                      2. 3

                                        There is one more you missed:

                                        Massive data stores mean massive data breaches. This costs the whole society, and sometimes in the billions. There was great blog posted that I believe I saw here on lobste.rs that used the analogy of stockpiling oily rags to extract tiny amounts of oil from and the dangers that poses. I can’t find it right now though.

                                        tl;dr: Collecting too much data in one place can be dangerous, it is not about you personally.

                                        1. 3

                                          A good example that highlights the last two categories is:

                                          Are you okay with being denied insurance, or having increased premiums because some machine learning algorithm drew some incorrect inference based on your private data?

                                          1. 1

                                            The simplest way to communicate “You might not care but others do” for Signal specifically is: whenever people ask for contact info, explain why they should make a Signal if they want to contact you, and refuse to use alternatives.

                                            If they insist on not using Signal to contact you, they’re putting their convenience over your privacy, which is what we call a lost cause.

                                          1. 1

                                            I’ve worked at Amazon and really valued this approach as a reader and writer. At my current company I end up in m when neither the organizers nor the invitees know why they are there nor focus.

                                            1. 4
                                              $ ls -F
                                              adm/ bak/ local/ mdc/ pro/ src/ x
                                              
                                              • adm: shitty administrative tasks, taxes, official letters, etc
                                              • bak: static read-only content, pdf and djvu books, music, test images
                                              • local: like /usr/local but for my user, ~/local/bin is in my PATH
                                              • mdc: teaching-related stuff, with one sub-folder for each course and each phd student
                                              • pro: non-teaching related professional projects
                                              • src: source codes compiled locally, including my repos
                                              • x: text-file with a to-do list
                                              1. 5

                                                Nice. I think this one is closest to what I currently do which is:

                                                :: ls
                                                base  desk  file  plug  self  work
                                                
                                                • base: the same as your local and in addition has config subdirectory for config files.
                                                • desk: serves as 3-in-1: desktop + downloads + temp files.
                                                • file: the same as your bak.
                                                • plug: mount points, dropbox, googledrive, sshfs. and everything of this nature.
                                                • self: things I do for and by myself.
                                                • work: work on request of others, seems to be your pro.

                                                Your adm would be within fille/documents and your mdc would be within self/teaching.

                                                BTW: I also noticed all your directories start with a different letter. Not sure if this is intentional, but a nice benefit of quickly being able to auto-complete. I do not like the default of “Downloads”, “Documents” for this reason.

                                                1. 3

                                                  Man, thanks for src. I just called it Projects but never found it fitting.

                                                1. 1

                                                  If your project is not too big you might want to split the build between pull request and master builds. This way engineers get a fast feedback but extensive tests still run on master. We use this approach for Marathon. It does require human intervention but you could configure bors-ng to ensure master is always green.