1. 15

    I love how varied university education can be. We definitely had very different experiences. I’ll just ramble some hand wavy thoughts, don’t take them too seriously.

    • School in the US doesn’t have to be expensive, depending on circumstances. I went to UMass Amherst for a year (living on campus) before transferring to Worcester State (living at home). UMass was too expensive for my taste, and it was still quite a bit cheaper (in state) than private schools in the area you probably haven’t heard of (WPI, Clark, Assumption, Becker, Mount Holyoke, Amherst). State schools like Worcester State are much much cheaper by comparison, especially if you can finagle a way to live at home. I worked my way through school and had pretty small student loans at the end, about an order of magnitude less than others in my circle of friends. Order of magnitude is not an exaggeration. Living at home was a convenient option that I was fortunate to have, but everyone in my circle had that opportunity as well. But they prioritized other things. :-)
    • The most important thing I ever did was learn how to learn. This made most courses stupidly easy, in the sense that I still learned some things but I spent very little time on it. I don’t consider myself particularly bright, but figuring out how to do active reading in high school felt like a cheat code.
    • I very rarely tried anything new because I knew what I liked, and that’s OK. The only real friends that I stay in contact with from college are my wife, my boss and my mentor (where my mentor was from graduate school). (Sorry @jfredett, fellow woo stater, but we haven’t seen each other in a loooong time. :-))
    • I enjoyed my time in school overall. In part because I liked taking classes and expanding my exposure to topics I wanted to know more about in a structured way. But really, I liked school because I had so much god damn time. I always tried to arrange my schedule on a Tues/Thurs or Mon/Wed/Fri rhythm. Sure, I ended up with 12 hour (or more) days, but then I had alternating days off. Homework and exam prep always happened in spirts, so I’d almost always have huge huge chunks of time where I could just do whatever I wanted to. I look back on those days with longing. These days (with a full time job), I need to be much more efficient and ruthless with how I spend my time.
    • I almost never went to office hours, and disliked working in groups. I think I was too stubborn for office hours, because I would just do my best to work it out on my own. I disliked working in groups because the incentive structure was always completely off. Occasionally I worked with other motivated students, and those were great.
    • I enjoyed study groups in large part because I got to teach others. This reinforced the material even more for me. Win-win. But I didn’t do this often.
    • At every school I went to, I always found my little corners of quiet. I loved those so much, especially when nobody else was around. They really helped me a lot. In my three years at Worcester State, almost nobody went to the second floor of the library during the day. It was bliss.
    • Find a way to be engaged with what you’re spending your time on. You’ll be happier and so will the people around you. (Easier said than done, but it has always come naturally to me. More than that, I’ve found that I tend to be surrounded by people that do the same. I don’t know how that happened, but it’s happened several times now, so I’m pretty sure it isn’t coincidence.)
    1. 6

      Eh, I run into you on the internet often enough. :) We should get a beer sometime though.

      I can definitely echo a lot of these statements, but especially these two:

      The most important thing I ever did was learn how to learn. This made most courses stupidly easy, in the sense that I still learned some things but I spent very little time on it. I don’t consider myself particularly bright, but figuring out how to do active reading in high school felt like a cheat code.

      This is critical, but ‘learning how to learn’ has never been my favorite phrasing. The latter, “active reading” is closer, but I think I like “active learning” the most – the idea of not just learning something, but learning how you learn it, and critically examining and engineering better ways to learn. I was not a particularly great high school student, but college taught me pretty quickly how to treat learning as an engineering problem, and that was super valuable.

      I almost never went to office hours, and disliked working in groups. I think I was too stubborn for office hours, because I would just do my best to work it out on my own. I disliked working in groups because the incentive structure was always completely off. Occasionally I worked with other motivated students, and those were great.

      I was similar. I much preferred leading discussion in a peer group – in that way I ended up being forced to teach the material / defend my position (even when I wasn’t particularly confident I was right!). @burntsushi was a pretty common foil for my ramblings in the Math lab.

      Having a good set of friends to talk math at was super valuable; I suspect that is the core thing to try to acquire in any situation that involves a lot of learning. I’ve developed a similar method of working now, my team consists of a lot of really smart people who know their fields well and have enough overlap that we can all bounce ideas off each other while still having areas we can feel expert in. It’s the best of both worlds, I think.

      I suppose this is number three, but quiet parts of libraries are the best. The bottom floor of WPI’s library is where I got most of my work done.

      1. 6

        Tangential comment:

        Wow, I had no idea there were woo state alums here. I, too, went to Worcester State. I can’t compare it to any other undergraduate experience but I had a great time and I came out with almost no debt (my 4 years there were less than 1 semester of friends who went to more prestigious schools in the are). While the cost savings wasn’t an active decision at the time, it turned out to be a great one. I have found, for software engineering at least, the amount of negative impact going to a small school has on one’s career is minimal to zero. And since those loans are in my name, I’m much better off financially than those going to more expensive schools and having to pay for it (although I know many who had parents willing to foot the bill). Google might not have been waiting outside during my graduation but I see little different in my career relative to most friends who went to much more prestigious schools for undergrad.

        1. 4

          Neat! What years were you there? I was there 2007-2010.

          1. 3

            I was there 2001 - 2006 (I think, I’m terrible with dates). My claim to fame is I was the first person to graduate with the Bioinformatics concentration. I don’t know if that still existed when you were there. I can’t wait to retire though, I miss college and want to go back full time!

            1. 3

              Hah, nice. I also graduated with a bioinformatics concentration (and a Math degree). The biology and chemistry courses were awesome. Judging by the number of other people I was aware of that were pursuing a CS w/ bioinformatics concentration, I wouldn’t be surprised if I was the second one. :P

              1. 2

                Wow! Small world!

                I was actually just reflecting on how much I enjoyed the bio and chem as well! I feel it really grounded me in the real world. In CS we just have control over so much since we’re defining so much of it but bio and chem are messy and fun and so many unknowns.

      1. 34

        I think you could reimplement it easily yourself with a small shell script and some calls to mount; but I haven’t bothered.

        I don’t have the expertise to criticize the content itself, but statements like the above make me suspect that the author doesn’t know nearly as much about the problem as they think they know.

        1. 32

          This reminds me of a trope in the DIY (esp. woodworking DIY) world.

          First, show video of a ludicrously well equipped ‘starter shop’ (it always has a SawStop, Powermatic Bandsaw, and inexplicably some kind of niche tool that never really gets used, and a CNC router).

          Next, show video of a complicated bit of joinery done using some of the specialized machines.

          Finally, audio: “I used for this, but if you don’t have one, you can do the same with hand tools.”

          No, asshole, no I can’t. Not in any reasonable timeframe. Usually this happens in the context of the CNC. “I CNC’d out 3 dozen parts, but you could do the same with hand tools.”

          I get a strong whiff of that sort of attitude from this. It may be that the author is capable of this. It may be possible to ‘do this with hand tools’ like Shell and some calls to mount. It might even be easy! However, there is a reason docker is so popular, it’s because it’s cheap, does the job, and lets me concentrate on the things I want to concentrate on.

          1. 9

            As someone who can do “docker with hand tools,” you and @joshuacc are completely correct. Linux does not have a unified “container API,” it has a bunch of little things that you can put together to make a container system. And even if you know the 7 main namespaces you need, you still have to configure the namespaces properly.

            For example, it isn’t sufficient to just throw a process in its own network namespace, you’ve got to create a veth pair and put one end of that into the namespace with the process, and attach the other end to a virtual bridge interface. Then you’ve got to decide if you want to allocate an IP for the container on your network (common in kubernetes), or masquerade (NAT) on the local machine (common in single box docker). If you masquerade you must make snat and dnat iptables rules to port forward to the veth interface, and enable the net.ipv4.ip_forward sysctl.

            So the “small shell script” is now also a management interface for a network router. The mount namespace is even more delightful.

            1. 8

              Exactly this! One of the most egregious things about the ‘… you could do it with hand tools’ is that it is dismissive of people who really can do it with hand tools and dismissive of the folks that can do it with CNC.

              In woodworking, CNC work is complicated, requires a particular set of skills and understanding, and is prone to a totally different, equally painful class of errors that hand tools are not.

              Similarly, Hand tool work is complicated, requires a particular set of skills and understanding, and is prone to a totally different, equally painful class of errors that power/CNC work is not.

              Both are respectable, and both are prone to be dismissive of the other, but a hand-cut, perfect half-blind dovetail drawer is amazing. Similarly, a CNC cut of 30 identical, perfect half-blind dovetail drawers is equally amazing.

              The moral of this story: I can use the power tool version of containers. It’s called docker. It lets me spit out dozens of identically configured and run services in a pretty easy way.

              You are capable of ‘doing it with hand tools’, and that’s pretty fucking awesome, but as you lay out, it’s not accomplishing the same thing. The OP seems to believe that building it artisinally is intrinsically ‘better’ somehow, but it’s not necessarily the case. I don’t know what OP’s background is, but I’d be willing to bet it’s not at all similar to mine. I have to manage fleets of dozens or hundreds of machines. I don’t have time to build artisanal versions of my power tools.

            2. 2

              And then you have Paul Sellers. https://www.youtube.com/watch?v=Zuybp4y5uTA

              Sometimes, doing things by hand really is faster on a small scale.

              1. 2

                He’s exactly the guy I’m talking about though in my other post in this tree – he’s capable of doing that with hand tools and that’s legitimately amazing. One nice thing about Paul though is he is pretty much the opposite of the morality play from above. He has a ludicrously well-equipped shop, sure, but that’s because he’s been doing this for a thousand years and is also a wizard.

                He says, “I did this with hand tools, but you can use power tools if you like.” Which is also occasionally untrue, but the sentiment is a lot better.

                He also isn’t elitist. He uses the bandsaw periodically, power drillmotors, and so on. He also uses panel saws and brace-and-bit, but it’s not an affectation, he just knows both systems cold and uses whatever makes the most sense.

                Paul Sellers is amazing and great and – for those people in the back just watching – go watch some Paul Sellers videos, even if you’re not a woodworker (or a wannabe like me), they’re great and he’s incredible. I like the one where he makes a joiner’s mallet a lot. Also there’s some floating around of him making a cabinet to hold his planes.

            3. 1

              My reaction was “if you had to write this much to convince me that there are easier ways than Docker, then it sounds like this is why Docker has a market.”

              I’m late to the Docker game - my new company uses it heavily in our infrastructure. Frankly, I was impressed at how easy it was for me to get test environments up and running with Docker.

              I concede it likely has issues that need addressing but I’ve never encountered software that didn’t.

            1. 2

              Been a while.

              $work: Trying to execute a major migration, while training new staff, dealing with turnover, and the fact that a lot of knowledge has been lost. But hey, they promoted me, so I’ve got that going for me.

              !$work: Building some storage in my woodshop, slowgoing and it means that I can’t really use the shop (it’s ashambles) while I do. When I’m done I’ll have much more storage space though and much better organization, so it’s probably worth it. I still have a pile of bowl blanks to work through too, hopefully they won’t completely check out before I get to them. I also bought a new telescope recently. I’m going camping later this year to a Class 2 light pollution sight (I currently live in a Class 5), and I’ll be going during the new moon, so I’m hoping to get some real good views. It’s a 8” Dob w/ a 1200mm focal length, a major upgrade over the old, cheap 2” / ~900mm Refractor I have. Going to test it out hopefully this week once the weather clears a bit. It’s unfortunately bright, but I’m hoping I can get some good planetary views in at least while Jupiter and Saturn are here.

              1. 3

                Right now, just a (Ghost) blog and a couple other things, all on docker. I need to port over some tools for my seedbox and plex servers. I recently started consolidating everything on a single baremetal machine so it’s a bit of work to move things around. I’d like to migrate off of dropbox + all the other proprietary stuff, but I have minimal time and it’s not a trivial thing to move a decades worth of setup. My current plans are to get a VPN, Monitoring, and CI set up, then probably Plex + some torrenting solution + whatever FOSS filesyncing system looks good. I’ve already ported over my blog, but I need to rebuild the way I’m doing routing because it’s pretty ancient magic at this point (and doesn’t really support SSL easily).

                1. 27

                  I’m glad to see this trend of standing up against poltiical exclusion in Open Source. I assume that the Code of Conduct for llvm was written in good faith, but the continued demonization of political groups (and to some extent, white men) is troubling. Remember when no one on the internet cared what you looked like, believed, or who you loved? I want to go back to that :/

                  1. 43

                    Who is being excluded? How is Outreachy preventing someone from contributing to llvm?

                    I remember those days too. “No one” cared because “everyone” assumed you were white, male, and college educated. “There are no women on the Internet” dates back, at least, to the early ’90s.

                    As a black male dropout, that was fine for me— I could get involved. No one questioned my capabilities. And as long as I kept up a good impression of being fluent in upper-middle to upper-class white culture, I could build my skills and social capital.

                    I also got beat up on the street in front of my grandmother for “showing off” how I could “talk white” at school.

                    I also remember, when Pentiums were out, using a pawn shop purchased Apple IIc with a gifted modem. I also remember hacking into dial-up pools to get telnet— haha, as if my machine could talk SLIP or PPP. I remember begging friends from MOOs and IRC for a shell account. I remember having no concept of the disparity between myself and the people with whom I played games, chatted, wrote code, and made friends. They simply had things, and I didn’t.

                    I don’t see a problem with choosing to give their time and their money to mentor people who otherwise might not be able to participate. There certainly hasn’t been a problem with people choosing to give their time and their money to people who look like them, sound like them, grew up with them, attend the same church as them, went to the same school as them, are friends with them, enjoy the same movies as them, play the same sports as them, and just happen to be a well-off straight white male. Just. Like. Them.

                    1. 5

                      I also remember hacking into dial-up pools to get telnet

                      Holy crap, you and I are kindred spirits. The terminal-concentrator at the local university dropped you into a command line…you were supposed to then immediately telnet to the VAX on campus, but they didn’t enforce that. I was 13 years old and certainly not a student at said university but boy did I get around using that little trick.

                      (This would’ve been like 1993. I’m old.)

                      1. 4

                        🙏🏾 s/the local university/Sprint/ and that was me too!

                        1. 4

                          It was an eight year old Amiga 1000 that my dad got at an estate sale for like $20 because it would only boot up about half the time and shut down and random intervals, hooked up to a black and white TV, with an old external 1200 baud modem and a terminal program I got off a disk on the cover of a magazine. I felt like the lord of all creation.

                          Man I’m nostalgic now.

                          1. 4

                            Who ever thought we’d make it this far?

                      2. 3

                        I remember when internet arrived at my hometown. It was 1996. I am not sure such delay was related to skin color.

                      3. 46

                        There is no whitemend.

                        Outreachy isn’t out to make a monster out of you. It’s trying to correct for GSoC. You don’t like Outreachy’s policies, a much smaller, less well-funded org than Google, then go through GSoC and Google. You have lots of other options other than Outreachy.

                        The code of conduct doesn’t say anything about how white men are bad. Reading the CoC, if you object that strongly to it that you must leave, then please do! That’s the CoC working as intended. You are deciding to exclude yourself by deciding that what the CoC forbids (i.e. being an asshole) is something that you must be and defend.

                        Also, one more thing.

                        I wish I could explain to people who are privileged one way or another, that it doesn’t mean your entire life is handed to you in a silver platter. Being a white male doesn’t mean you can’t be poor or can’t be gay (thus discriminated) or that you can’t have a slew of other problems.

                        It just means you don’t have those problems in addition to also being discriminated for being a woman, for being black, for being anything else.

                        1. 5

                          Reading the CoC, if you object that strongly to it that you must leave, then please do! That’s the CoC working as intended. You are deciding to exclude yourself by deciding that what the CoC forbids (i.e. being an asshole) is something that you must be and defend.

                          I would disagree with that notion. I think it’s certainly possible to disagree with the CoC or parts of it without being an “asshole as the CoC forbids”. Personally and for example, I would say the “Be welcoming” clause is too exhaustive and could be shortened to “Be welcoming to everyone regardless of who they are and choose to be” which would IMO cover the same topics as it does now. The fifth clause is also way too broad and vague. A simple note that discussion not furthering the the project or it’s software, being NSFW or otherwise non-productive would have achieved the same goal and would give moderators more leeway to deal with troublemakers.

                          I specifically wonder why number 6 was necessary. It’s a community of coders, if they can’t understand disagreement I seriously question what is going on behind the scenes that warrants such a rule. Does discussion derail so often into low level sand-flinging?

                          Not too long ago I was member of a forum focused around LEGO robots. There were no rules of any kind but plenty of electricians and programmers around, men, women, kids and teens, etc. Everyone was happy to participate and be happy to exchange ideas and code. When there was drama the moderators enacted unspoken rules of the clearly obvious kind. If you insulted someone for no reason you got banned. Same for insulting someone based on their gender. We didn’t need rules for that. It was obvious as day that such behaviour was not something you’d do to have a productive conversation with someone about the intricacies of rubber bands vs gearing.

                          1. 8

                            I specifically wonder why number 6 was necessary. It’s a community of coders, if they can’t understand disagreement I seriously question what is going on behind the scenes that warrants such a rule. Does discussion derail so often into low level sand-flinging?

                            Speaking as someone who has over the course of many years, moderated things on the internet. Things like this exist because otherwise someone will come along and say “but you didn’t say”. It’s an unwinabble battle, there will always be a “but you didn’t say” response to something. You try to cover the big things in a broad way so that people have a general idea.

                            I’ve answered many emails as a member of the Pony core team where well meaning people write in to ask “if I do X, would that be against the CoC”. I can’t say that is how every CoC operates, but its how I like them to operate:

                            Here are some ground rules. If you aren’t sure if what you are going to do violates those ground rules, maybe don’t it or ask whoever enforces the CoC.

                            CoC’s are far from perfect. A large amount of that lack of perfection is that they are administered by people. Establishing some ground rules for a community is better than having none. Most communities have a CoC whether they call it that and whether its explicit. Take HackerNews, its called “Guidelines” there. It’s still a statement of some behavior that isn’t acceptable.

                            1. 2

                              I think if someone goes down the route of “but you didn’t say” that would be grounds for getting a mute from the poor moderator they annoyed. At least back in the forum that was how it was handled. Nitpickers aren’t people who tend to keep around once the people in charge hammer them on the fingers.

                              I don’t think Hackernews’ Guidelines are comparable to a Code of Conduct. HN’s book of laws is much more vague and subjective, the word “guideline” already implies a certain amount of softness. Moderators won’t stick to that word-by-word and rather apply common sense on top of the rules. A “Code of X” for me implies a certain rigidness and thoroughness that isn’t present in most of them.

                          2. 14

                            The code of conduct doesn’t say anything about how white men are bad.

                            And yet that is how it has been applied. The organisation is funding a scholarship which is very explicitly open to people of some race/gender combinations and not others. I don’t think finding that unconscionable makes someone an “asshole”; quite the opposite.

                            I wish I could explain to people who are privileged one way or another, that it doesn’t mean your entire life is handed to you in a silver platter. Being a white male doesn’t mean you can’t be poor or can’t be gay (thus discriminated) or that you can’t have a slew of other problems.

                            It just means you don’t have those problems in addition to also being discriminated for being a woman, for being black, for being anything else.

                            Put it this way: I would lay money that, in practice, the average Outreachy scholarship ends up going to someone who has had an easier life than the average open-application scholarship (GSoC or similar). The rhetoric of inclusion is all about underprivileged groups, but somehow the beneficiaries always end up being middle-class college-educated liberals.

                            1. 15

                              The organisation is funding a scholarship which is very explicitly open to people of some race/gender combinations and not others. I don’t think finding that unconscionable makes someone an “asshole”; quite the opposite.

                              Races and genders which are significantly unrepresented in the field they are trying to get them into.

                              There are campaigns and organisations here to try and get more male primary school teachers, because males are significantly unrepresented in primary education. Are the people running those organisations and campaigns “assholes” for discriminating against women, who represent over 84% of primary school teachers?

                              1. 4

                                He said although he made hiring decisions based on who was the best teacher, irrespective of gender, it would be great to see more men giving teaching a go.

                                That’s what the non-asshole version of this kind of thing looks like. Marketing the career to a particular demographic is fine. Giving that demographic an unfair advantage is not fine.

                                1. 2

                                  It’s an unfair advantage that’s not even managing to negate the pre-existing unfair disadvantages that certain groups face.

                                  1. 4

                                    It’s Simpson’s paradox in reverse: picking an advantaged member of a disadvantage group over a disadvantaged member of an advantaged group is a negative step for equality that sounds like a pro-equality move.

                              2. 6

                                The outreachies I’ve seen have gone to Indian and Eastern bloc girls. You don’t see a lot of those in GSoC.

                                1. 4

                                  Sure. That doesn’t contradict what I said: that the beneficiaries of these efforts end up being disproportionately people from the international college-educated liberal middle class (a group that’s far more homogenous in the ways that matter than most races or genders, though that’s a separate discussion), people who have had an easier life with fewer problems than the people they are displacing, even when those people are white and male.

                                  1. 4

                                    Let’s assume you’re right.

                                    How does Outreachy working with international college-educated liberal middle class Indian and Eastern bloc girls displace anyone?

                                    1. 2

                                      If LLVM is choosing to fund a scholarship with Outreachy in place of funding one with GSoC, the recipient of that scholarship is displacing the person who would’ve received the GSoC one.

                                      1. 9

                                        Please correct me if I’m wrong, but as I understand it:

                                        • LLVM participates in both Outreachy and GSoC.
                                        • LLVM doesn’t fund either programme.
                                          • Outreachy and GSoC both provide funds for their own programmes.

                                        So, neither LLVM nor Outreachy are “displacing” anyone from GSoC.

                                        Moreover, no one even signed up for LLVM’s Outreachy! So this is hypothetical “displacement.”

                                        1. 1

                                          Outreachy doesn’t fund internships, you need to bring your own funding to them. I’m not sure how LLVM is funding their outreachy internships.

                                          1. 8

                                            [citation needed]

                                            Because, from their front page:

                                            Outreachy provides three-month internships for people from groups traditionally underrepresented in tech. Interns are paid a stipend of $5,500 and have a $500 travel stipend available to them.

                                            And their sponsor page:

                                            Outreachy internship stipends, travel fund, and program costs are supported by our generous donors.

                                            Same page, “Commonly Asked Questions”:

                                            Q: Who pays the interns? A: The Outreachy parent organization, the Software Freedom Conservancy, handles payments to interns.

                                            Not to make too fine a point:

                                            Q: We have a company internship program. How does that work with Outreachy internships? A: Outreachy internships are completely separate from any other internship program. Outreachy organizers find FOSS communities that are willing to provide mentorship and use corporate sponsorship to fund the internships.

                                            1. 1

                                              I guess I don’t see how you’re disagreeing with what I wrote. You need to have funding arranged before you can set up an outreachy internship.

                                              1. 4

                                                FOSS community provides mentorship. Corporate sponsor provides funding. Internship = mentorship + funding. Outreachy provides internships.

                                                The money from corporate sponsors goes into a pool that is used for all internships. Outreachy is a funds aggregator.

                                                When you say “you need to bring your own funding to them,” who is the “you?” It’s not the FOSS community. It’s not the internship applicant. Who is it?

                                                1. 1

                                                  Perhaps the policy changed. When I looked this up in November it was the responsibility of whoever wanted to start an outreachy program for a project to identify a source of funding.

                                                  1. 2

                                                    According to the Internet Archive, in September of 2017, their policy was exactly the same. It’s the same at least back through the last GNOME Outreachy, over a year ago.

                                                    Update: I deleted my follow-on questions. This is the kind of back and forth @pushcx warned about.

                                                    1. 2

                                                      Did you see my other comment? Each org needs to find a coordinator who needs to find funding for their org (see under coordinator, here: https://www.outreachy.org/mentor/). That might be in terms of corporate sponsorhip, but outreachy won’t do that for you.

                                                      1. 2

                                                        No I didn’t, I missed your self-reply. Sorry about that!

                                                        And, yeah:

                                                        Coordinator Duties Before Application Period Opens

                                                        • Finding funding for at least 1 intern ($6,500)

                                                        That’s clear and conflicts with their other pages. “Perhaps the policy changed” indeed. I put more weight on that page, though, than their more advertise-y ones.

                                                        mea culpa!

                                          2. 1

                                            I understood LLVM was funding the scholarship but could easily have misunderstood. In any case it’s beside the point: my point goes through exactly the same if we’re talking about the person a hypothetical open-application scholarship would have selected or a person who was displaced as such.

                                            Moreover, no one even signed up for LLVM’s Outreachy! So this is hypothetical “displacement.”

                                            Isn’t it just the opposite? If choosing to offer an Outreachy scholarship rather than some other scholarship meant that instead of getting a likely-less-privileged individual they got, not a more-privileged individual but no-one, that’s an even bigger loss.

                                            1. 1

                                              If choosing to offer an Outreachy scholarship rather than some other scholarship […]

                                              They also offer a GSoC scholarship, and there’s nothing to imply Outreachy replaced an alternative rather than being an addition.

                                              1. 0

                                                Scholarships don’t grow on trees; surely the fairest comparison to make is offering a scholarship versus offering a slightly different scholarship. (Would you apply the same reasoning if someone wanted to offer a scholarship that was only for white people, say?)

                                                1. 3

                                                  I can play this game too, where “displaced” is entirely hypothetical:

                                                  • LLVM has displaced compiler developers from gcc!
                                                  • My drinking tea tonight displaced a purchase of beer from the bar down the road!
                                                  • My mother and father each displaced every other person on the planet born before 1980!

                                                  THE INJUSTICE

                                                  1. 1

                                                    Um, yes, it’s 100% fair to compare gcc to llvm, tea to beer, or your mother and father to other people?

                                2. 8

                                  It just means you don’t have those problems in addition to also being discriminated for being a woman, for being black, for being anything else.

                                  That’s incorrect in any environment where whites or men are the minority. Human nature dictates that all groups favor those like them and penalize those unlike them. Examining the politics of non-white nations in World History or current affairs confirm those groups are just as racist in the social systems they create. Examining the actions of black administrators or elected officials show they mostly bring in people like them regardless of what the mix is in their area. The kind of political beliefs behind these Codes of Conduct and privilege assume this doesn’t happen on a large scale by non-whites to whites. The wealth of evidence disagrees with that so strongly that believing in it anyway and suppressing alternative views is comparable to a religious faith. One that damages specific groups while propping up others.

                                  Another point folks in favor of those beliefs and CoC’s never bring up is how many minority members disagree with them. The surveys they usually take are almost never worded to assess how many people believe it’s something all groups do to each other. That’s because they’re biased enough to try to just reinforce their own beliefs. In my surveys, I always present both sides asking which they think it is. I rarely meet black or Latino people, majority of minority members in my area, that think structural oppression is only a white thing. It’s so rare out here. Most think all groups do it but that whites are doing it the most. That’s reasonable. Yet, under CoC’s and associated beliefs, their views would be censored as well since they’d be construed as racist (in their definition) or contributing to reinforcement of it. Likewise, any “language” or “terms” that are racist, sexist… scratch that, which their political beliefs without supporting evidence label as inherently racist, sexist, etc. That too.

                                  So, I object to these CoC’s that act like a good chunk of minority members’ opinions don’t matter, that ignore the fact that minorities do structural racism/sexism all the time (by default like people in general?), ignore the fact that whites/men they’re addressing might have been the oppressed minority in previous environment (or current), and then build social structures and enforcement mechanisms on top of those damaging, faith-based beliefs. I also say this as a white guy who spent years in black-run schools living a long time in many areas of black-run city working in black-run departments and companies. If I write about my experiences or tell it like a 3rd party, the black people always think the person in the story is black saying the feelings and obstacles are what they endure. When I say they’re white, then type of people I’m countering say, poof!, none of it counts as evidence of racism. That shows it’s politically-motivated maneuvering, not consistent logic.

                                  These should be fought in favor of CoC’s that don’t require everyone in America or the World to believe and speak as if one, smaller, vocal group is unconditionally right in all political claims about these matters.

                                  1. 14

                                    That’s incorrect in any environment where whites or men are the minority. Human nature dictates that all groups favor those like them and penalize those unlike them. Examining the politics of non-white nations in World History or current affairs confirm those groups are just as racist in the social systems they create.

                                    I’m sorry, what are you talking about? I’m from Peru where ‘whites’ are a minority. They are most certainly not discriminated against, quite the contrary. Whiteness is equated to privilege to the extent we have a saying here: ‘El dinero blanquea’, which roughly translates to ‘Money bleaches’.

                                    The discrimination comes from factual power, not a head count. Power which was built upon centuries of enslavement and exploitation. Exploitation most members of the white elite minimize and/or are oblivious to.

                                    It is the same in other places of South America. Certainly in Brazil, where the author is from.

                                    1. 6

                                      I’m from Peru where ‘whites’ are a minority. They are most certainly not discriminated against, quite the contrary. Whiteness is equated to privilege to the extent we have a saying here: ‘El dinero blanquea’, which roughly translates to ‘Money bleaches’.

                                      I appreciate you sharing your example where one of the minorities has power. That supports my view that it’s highly conditional. Power is one thing that ties into discrimination. Group identity is another. You don’t need centuries of enslavement or exploitation to get one group working for themselves more or against another. It can be a factor, though. Often is. I also noticed you’re mentioning countries where white armies invaded them and their upper classes, not whites in general, did coercive negotiations for trade that benefits them. In this case, it’s real but tied to who did what. You can bet a group invaded by non-whites will also develop some reaction to that group.

                                      Whereas around Memphis TN, being white in specific areas won’t get them respect or power due to the slavery that happened in the South. They’ll just get a warning to leave, beat down, robbed, and/or killed. No power. Like with those that invaded Latin America, the power was with a subset of them in high places or any that could get them to act on their behalf. As a civil rights proponent in America, I assure those powerful, white people would try to squash or minimize white people like me when our interests conflict. They hate outsiders even more but I would be treated more like them than your scenario would lead you to expect. I’m still in the outgroup. Just not as far out as Latin America. Same with local blacks or latinos that control specific areas, organizations, businesses, and so on. Being white conveys me large benefits in some contexts, about none in others, kind of negative in others, and violence/death in others.

                                      It varies by context is my overall point. It’s not “If white, always this. If non-white, always that.” It’s really complicated. I’m sure I have plenty more to learn about the dynamics of the many groups. Thing is, countering it my way is much simpler than trying to trace it all: being civil, going out of your way to bring in others, accepting each other despite differences, and randomizing/blinding where possible selections/promotions. Increased fairness without further discrimination or hate. It’s simple, but not easy.

                                      Edit to all: Other replies will be delayed since I have to work a late shift tonight. Heading out now. Hope yall have a good day and appreciate all the civil replies so far. :)

                                      1. 4

                                        Thank you for the thoughtful response. I get a better sense of what you were getting at. I don’t think I’m qualified to say much more on the matter, I don’t think I have a proper grasp of the dynamics of structural exploitation. But I’d like to add a couple of not fully developed ideas.

                                        – Whiteness is sometimes used as a proxy for privilege.

                                        – Whiteness is context dependent. My cousin from the US grew up on Pensilvania. Here he is a ‘gringo’, where he grew up he was considered far from white, being called racial slurs when growing up.

                                        – It may be a better idea to talk more in other terms w/o proxies. Class politics are more relevant today than race IMHO.

                                        – Even in Perú there are some contexts where you can be subject to specific instances of discrimination, but they pale in comparison to the structural discrimination that happens in the day to day basis. Which is why (in the context of Latin America at least) I view focusing on ‘reverse racism’ as a mechanism to distract from the larger and more important problem of structural discrimination.

                                        also noticed you’re mentioning countries where white armies invaded them and their upper classes, not whites in general, did coercive negotiations for trade that benefits them.

                                        I understand and empathize and partially agree with what you are getting at. Certainly you can’t be held personally accountable for everything action your government does. But at the same time they have to some extent the support of the general public. At best, you are turning a blind eye to the pain and suffering that supports your economy. But then again, it is our (Latin American) governments which are complicit and also responsible for said exploitation.

                                        I’m the words of a mining worker, when talking to a college student:

                                        – You speak of the gringos you’ve seen in Morococha and Cerro (Mines in Perú). But they are millions. Don’t generalize…

                                        – So why do they send those how look down on us, cholos, not like people but like dogs.

                                        Another thing, the exploitation of Latin America is not limited to ‘economic deals’ and is not something of the past (But there is more than a fair share to blame on our obsequent governments). In the 90’s US Companies hired henchmen to kill union leaders. The US Goverment (through US-‘AID’) provided logistic support for the mass forced sterilization of millions of women in Perú. Or even this decade, the US government, through the DEA, determines the policy and funds the forceful eradication of coca leaves further contributing to the impoverishment of Peruvian farmers. The Coca plant is legal here and is consumed by many in their day to day.

                                        1. 1

                                          I thank you for your detailed response. That was a mix of interesting and pretty sad. I’m going to back up a bit first on one issue since I was using a simplification that you and @stephenr are showing I probably shouldn’t use maybe here or in general. I’ll have to think on it. The actual belief I have about the ingroup vs outgroup dynamic is that they’re just treated differently in a way where it’s often positive to first and negative to second. It doesn’t have to be. I was just going with common pattern since it fits both my experiences and minorities in the U.S. which is mostly the topic around this thread. You’ve both given examples where a white outgroup can be benefit from their status in other countries. Likewise, there’s examples where the ingroup is a rough position with expectations for man or women coming to my mind easiest. One of the worst examples I’ve seen is the tribe that covers people in bullet ants to prove they’re men. I’d rather be the outgroup they look down on forever. ;)

                                          On to your comments on exploitation. Far as unions, sterilization, and so on, that’s a side effect of the elites controlling America. They use the media to keep folks under control fighting enemies that aren’t the main enemy. You won’t see the stuff you described on American media much. Instead, it’s stuff that shocks or lets people point fingers temporarily for quick reactions. Next wave of shock happens making them forget what came before that. Americans can’t keep track of history. They can only focus collectively a moment at a time with what’s carefully put in front of them. The parts of the government doing things like you describe are mostly autonomous working for rich and powerful. Those that get voted in do a mix of things they said they’d do and things that appear to benefit their voters with lots of publicity for both. The choices are few with the non-participation and apathy so high that government doesn’t worry about rebellion. It’s kind of a constant rehash of the same games and corruption with businesses getting laws passed benefiting them more and more every year mostly under Americans’ noses since media barely reports on it.

                                          So, that’s how that works if you were wondering. When I was young, I never thought handfuls of companies and some government organizations could really control most of several hundred million people with the presence of the Internet, activists getting word out, and so on. Yet, they actually can. They’re also intelligent, focused, well-staffed, and relentless in their pursuits vs masses that are hit and miss on these things with more scattered beliefs, goals, and participation. Just like in this, those fighting over the CoC’s and such aren’t investing effort in joining together against the elites like folks did in MLK days which truly scared them enough to plot murders. If they beat the corruption, they could work law by law, reg by reg, case by case to get a lot done starting with something as simple as due process for workers (I’m union). It takes unity and focus on where the foundational problems are, though, to achieve something like that. Not to knock efforts to improve things elsewhere but we really should be almost all in on dealing with people paying bribes for damaging laws to be passed that give corrupt jurisdictions and companies impunity in their evils. It seems like so much starts right there.

                                          Anyway, there’s a lot of people pulling for the folks you describe. They just feel powerless to do anything about it. Also, those that care are so few that giving up products that come from there will change nothing. So, everyone from the consumers to the traders ignore their fleeting thoughts since they need some cheap copper.

                                    2. 13

                                      I’m not sure how anything you’ve written is relevant to LLVM’s code of conduct. It says; be welcoming of everyone, be considerate, be respectful, don’t make violent threats. All very basic, common sense stuff that the vast majority of people don’t need to a checklist to accomplish. I’m not sure how you went from what is actually written there, to this:

                                      The kind of political beliefs behind these Codes of Conduct and privilege assume this doesn’t happen on a large scale by non-whites to whites.

                                      Which part of LLVM’s CoC do you think is saying this? Do you think the part about being welcoming of everyone regardless of race is non-white people discriminating against white people?

                                      1. 8

                                        “Violent threats or language directed against another person. Discriminatory jokes and language. especially those using racist or sexist terms Advocating for, or encouraging, any of the above behavior.” (my emphasis added)

                                        It’s those words that are used to block people based on political beliefs. The kinds of people that push CoC’s often have specific views about what is considered racist, sexist, etc that there’s not a wide consensus on. Any words or behavior will be interpreted in the light of their views. This is double true when they get into the moderation positions, which they often aim for. I don’t have to speculate as I’ve been banned from forums for quoting under my own name minority member’s opinions on minority issues. They were racist, sexist, etc. by their definitions. These policies interpreted however they want are the leverage they use to reinforce their own groups or eject other groups. Advocating for is the last term where anyone even debating whether something was racist or sexist might be construed as supporting the racist or sexist person. That’s happened plenty, too.

                                        So, it’s the intent behind the terms along with whose enforcing them, what their beliefs are, and if they’re willing to exclude people with different beliefs on contentious topics. They usually are. So, I oppose those in favor of CoC’s without enforcement of political ideology that focus on people just staying civil, friendly, etc. Those parts of the CoC’s I have no problem with.

                                        EDIT to add what I’m fine with since I’d rather not be overly critical of something that’s mostly good:

                                        “be friendly and patient, be welcoming, be considerate, be respectful, be careful in the words that you choose and be kind to others, and when we disagree, try to understand why.”

                                        Most of the weaseling is built into that “be careful in the words you chose” part. Minus the weaseling, even quite a few points in that section are good. Also note that we don’t have to speculate given Lobsters already has enforcement that’s similar to what I’m advocating for. Our moderators may agree or disagree with people’s political views but haven’t ejected anyone for stating their views with data in a civil way. Our community is still a thriving, functioning community despite any political scuffles.

                                      2. 11

                                        That’s incorrect in any environment where whites or men are the minority.

                                        I guess you’ve never been to Thailand. Whites are a ridiculous minority, but they’re held in such high regard by a large percentage of the population.

                                        Edit: and to clarify, this isn’t the same situation as @PuercoPop’s:

                                        Thailand was never colonised, has never been under ‘white’ or ‘western’ rule and was not a ‘source’ for slavery by whites, Heck, whites (without getting Thai citizenship, which, holy shit is that a long process) can’t own land, can’t own more than 49% of a company, etc.

                                        Try to find some Thai soap operas on YouTube - notice how all the actors are very pale skinned: they’re all half-Thai, half-white. If they want to show a ‘poor brown girl’ (believe me, their stereotype, not mine) they literally take a Thai/White actress, and use makeup/body paint/whatever to show their version of what anyone else would think of as a ‘natural’ brown skin.

                                        I’ve been stopped at police licence checkpoints, and the cop has been so excited just to say hello to a white guy he doesn’t even care if I have a licence.

                                        1. 4

                                          Of course structural oppression isn’t a white only thing. Anyone can discriminate against anyone. And sure, in localized areas some groups can oppress others in different ways than the average. That doesn’t mean CoCs shouldn’t try to prevent racist / sexist conduct.

                                          What things do you see in CoCs that minority members disagree with, that unfairly construes their beliefs as racist? Or disregards their opinions? Or ignores that whites/men may have been the oppressed minority in their environment?

                                          1. 4

                                            That doesn’t mean CoCs shouldn’t try to prevent racist / sexist conduct.

                                            I didn’t say that. I said it’s usually interpreted in a way where racist and sexist conduct has definitions that usually mean whites/males can’t experience the negatives, are often responsible for them (supported point in general case), and inherently have the positives. Evidence strongly counters two of those showing it has to be judged case by case, place by place, etc. For instance, the forums dominated by the types of people with that ideology make them the majority with the structural power to include, exclude, oppress, and so on. By their own definitions this is true. Yet, any person in a different group dissenting in such a place will be told they’re the “majority” with “privilege” who wouldn’t understand the… blah blah blah. Actually, at least in that context, they’re a minority getting treated worse than its majority at risk of damaging affects of discriminatory treatment. This plays out in other contexts like school, work, etc. where non-whites or non-males in the majority positions reinforce themselves at others expense. A general pattern.

                                            Far as minority members disagree with, who are the minority members? That’s exactly what I mean. It depends on who you’re talking about in what context. Someone who is a minority member in one environment might be part of the privileged majority in another. The very definitions of who constitutes a minority (absolute vs conditional), what defines racism, who has privilege… these are in dispute across the nation. Many non-white and non-males dispute some of same points, too. So, starting from a specific set of views on it being true with enforcement working from there is already discriminating against all who disagree. They’ve not proven these views with evidence either.

                                            Note: You can try to cheat with legal terms that one side or a group of them got in but treating the law as truth or moral is dangerous. Slavery and women not having rights were legal. So, my definitions are about reasonable categories people are in with their numbers or influence compared to groups of other categories.

                                            The evidence collected on a global scale indicates that all groups in power reward their own and oppress others. So, if by evidence, this stuff will be conditional with every group monitoring themselves for bias boosting their outgroups when they don’t get a fair shake: not just whites or males being monitored with everyone boosting non-whites or non-males in all scenarios. In this country or in tech scene, the results would mostly be boosting non-whites or non-males to correct existing imbalances just on the numbers alone. No argument there. Yet, other things wouldn’t be taboo or inconsistent with the rules: a mostly black or women organization in mixed area with people in other categories having skills would be said to give more privilege to blacks/women, possibly structurally racist/sexist in hiring if ratios of workers vs supply were really skewed, encouraged to diversify, and activist action taken if they didn’t. Just like such people would do with white or male majority structurally reinforcing their own groups.

                                            We don’t see this. Most of the types that push and want to enforce CoC’s frame it as one thing by definition with whites or males on high-privileged/victim-creating side in all situations. That’s dishonest. I’ll take “this happens more often than that” but not “this never happens or we should act like it doesn’t exist.” With that, they can’t eject people for disagreeing with them on what counts as discriminatory language or behavior if it’s something there’s no consensus on by people who otherwise are against a lot of clearly-discriminating behavior. Further, they might be more likely to go with diverse inclusion plus blind evaluation/selection to correct imbalances instead of ignore whites/males much as possible to only focus on everyone else. One is inherently more fair achieving a similar goal.

                                            1. 2

                                              But don’t you think that being the privileged majority in the society you live in will have more to do with shaping your experience and fortune in the world than being the privileged majority in an online message board or OSS project?

                                              1. 3

                                                In the spaces I live with, my lack of privilege as a white minority in many contexts has cost me likely mental health, plenty humiliation, confusion, physical beatings, missed dates, missed jobs, missed promotions, and so on. Coworkers locally were just telling me recently about black-run classes singling them out for opposing beliefs. Things they say get an entire room screaming at them to intimidate them into silence on top of whatever penalties teacher might give. More extreme versions of this ideology are going campus to campus all over the place taking on life of their own where students are doing things like holding up signs protesting inferred problems in words or ideas of instructors that are there to help them during class.

                                                Again, I”m white male who doesn’t or can’t have such problems in a structural way according to specific groups in the United States despite the evidence of such things happening with non-white or non-male majorities. The forum example was just easier for people to see where you can tell the white male is not in control, is subject to the whims of others, and can be damaged for that. People causing outgroups problems is totally predictable in my model. That’s not the interesting thing. The interesting thing about the forum example is that the people in control who are the majority continue to describe their limited, powerless target in the same terms like powerful and majority. It doesn’t usually change as the circumstances change. It’s usually politics or religion when people’s beliefs or dictated rules don’t change when data flips by 100%.

                                                So, it’s not what they say it is or consistent. That’s enough reason to resist it. That following it would damage more innocent whites or males making them suffer as so many of us did is even more reason. You could say what motivates me to write these posts isn’t much different as what motivates those on the other side with personal experiences in racism or sexism to write their posts. It’s not “reverse (ism)” so much as all the same evil to me. Once we see and experience the evils, we have to stop them from continuing in any form they’ll take. Another thing I noticed is we seem to do it for others’ sake more than ourselves as we can’t undo what we experienced. We’ll always be a bit fucked up by it. We can maybe stop someone else from having to experience that, though. I want someone else to be everyone instead of “everyone but whites and males.”

                                                As usual, that’s on top of all the non-whites and non-males I care about and try to help. They just get a lot more attention and support than this other cause. Hence it being a focus area you’ll see me on. Plus, having been affected so strongly, that’s a motivational bias of mine on top of it.

                                                1. 4

                                                  @nickpsecurity, that sucks. You’ve been a victim of structural discrimination. Worse, because it’s not a politically sexy or easily visible form, people continually reject your experience. That. Sucks.

                                                  In the past, if I’d heard your narrative, I’d have dismissed you by thinking something like “this white dude forgets he always has the option to leave, unlike …” But that’s unfair.

                                                  You’ve been a member of these communities, for years. You’ve been a decent person. You have family, friends, colleagues, social capital, and memories in these communities. To tell you “get up, leave, move on” is to ignore the simple reality that we’re social animals and structural discrimination harms everyone.

                                                  Thank you for your repeated posts on this point. At the very least, you got through my thick head. Hopefully, in the future, I can be a better person for it.

                                                  1. 2

                                                    Damn. That means a lot to me you saying that. I sent a private message not long ago about your comments being interesting as usual on these discussions. More than usual with one comment about you getting beat up for talking white to presumably get ahead whereas I was learning early to talk or act black to attempt inclusion in my environment. It’s because some of what you wrote seems like you might have started in similar circumstances as me going in an opposite direction to find yourself with opposite views. Maybe a stretch to say two sides of same coin but that metaphor popped into my head at least. Then, we end up here in this moment on this forum. A trip, eh?

                                                    It’s why I fight for flexibility on these topics in these discussions in wherever places I can. It’s painful and costly but the moments I learn from or reach people are worth it to me. I think those moments are critical. Probably gotta get to sleep now as I intended to. I just had to respond to that comment. :)

                                                    Edit: Oh yeah, sleepy enough I forgot to say Good Night.

                                      3. 16

                                        demonization of political groups (and to some extent, white men)

                                        I’m a white man in tech and I can count the number of times I’ve been demonized on zero fingers.

                                        demonization of political groups

                                        The dominant political party in this country has in black and white in its party platform a desire to make same-sex marriage illegal (while simultaneously claiming “government overreach” is a bad thing). If hearing that we shouldn’t punish gay people just for being gay makes you uncomfortable, well…it’s supposed to.

                                        (That same party has in its platform a denial of anthropogenic climate change, an existential threat to our civilization; the denial of which has zero scientific backing….but no, we can’t tell them that they’re wrong.)

                                        More importantly, the stuff I’m talking about above is also banned. You can’t go to a conference and talk about how “Republicans are stupid”. You’d be asked to leave or at least tone it down.

                                        The problem is that a lot of people hear “don’t be an asshole” and they think “man when I tell transgender folks they’re stupid and make jokes about gay people I get called an asshole (totally unjustifiably!) and I might get in trouble. Ugh, SJW’s!”

                                        Remember when no one on the internet cared what you looked like, believed, or who you loved? I want to go back to that :/

                                        I’ve been on the Internet since around 1992. That’s only three years after the very first consumer ISP served its first customer.

                                        Was there a large contingent of people who really did believe that? Absolutely, I mean, I was one of them. Were there plenty of racists, sexists, homophobes, and bigots of all stripes? Absolutely. Go look at old Usenet archives from the 80’s and 90’s. Racism, sexism, homophobia abound. There was a long diatribe against same-sex marriage on a Perl newsgroup for some damn reason around 1996; there were plenty of people who chimed in and agreed. Various big names in the early hacker community were famously bigoted (often hiding behind “libertarianism” while simultaneously claiming women and black folks are just inherently inferior and it’s “just science”).

                                        The “good old days” are very often viewed through rose-colored glasses. People were people back then too, for all the good and the bad.

                                        1. 16

                                          Remember when no one on the internet cared what you looked like, believed, or who you loved? I want to go back to that :/

                                          This was never true. People on the internet have always cared about who you are in ways that factor these things in. The fact that the (largely white) nerd culture contingent who had a lot of influence on the early internet has decided to tell this utopian story does not make it any more true than stories your grandpa tells about respectful children and walking both ways uphill in the snow.

                                          1. 23

                                            It’s less that “No one cared what you looked like” and more “Everyone assumed you were a white dude with roughly conformal beliefs, behaviors, and similar.”

                                            1. 3

                                              There’s no contradiction. Both those things were true.

                                          2. 12

                                            Remember when no one on the internet cared what you looked like, believed, or who you loved?

                                            And look where it got us. Toxic subcultures, huge gender inequality in the workplace, software products that simply don’t work for many groups people… The field was biased towards white male hackers from the very beginning, and “not caring” only increased this bias. No, I don’t want to go back to that, I want to fix it.

                                            Updated:

                                            Also, “no one one the Internet cared what you looked like” simply because they technically couldn’t: nicknames and plain text don’t divulge much. As soon as we got real names and YouTube it became obvious that the majority of people care very much about how you look like. So a young girl making a guitar cover or an Ubuntu installation walk-through mostly gets “you’re hot” and “nice boobs” comments.

                                            1. 16

                                              People with privilege have been getting more and more outraged that the world is discriminating against them. They see it as unfair. Yes, it’s discrimination and that sucks. But it’s infuriating when they paint it as unfair, because that implies they’re somehow being disproportionately discriminated against, that the discrimination is unfairly balanced against them. And of course that’s nonsense. These privileged people, intentionally or not, feel they’re entitled to live free from any and all discrimination at the expense of those less privileged.

                                              Remove yourself from the politics and think about a simple model instead of race, sex, gender, or orientation. Just group A and group B.

                                              • members of group A receive 120 points a day
                                              • members of group B receive 80 points a day

                                              Members of group A develop a belief system that they are entitled to their 120 points. When some members of group B try to increase their points to 85, and that lowers the group A points to 119, the members of group A become angry. They say the members of group B are being unfair.

                                              Group A believes that group B should not take any action that decreases their daily points. Group A compares their loss of 1 point to group B’s initial 40 point deficit, drawing a false equivalency. Some subset of A, group A’ deliberately take points from group B members around them to restore their original 120 points. Group A’ claims this is fair.

                                              Group A’ bands together to institutionalize the 40 point difference. Some extreme members of group A’ even try to widen the 40 point difference. Group A’ comes to believe at an institutional level that the 40 point deficit either doesn’t exist, or is somehow natural and fair. Group A’ believes they hold the moral superiority by defending their 120 points.

                                              Members of group B continue to try to elevate themselves, but A’ demands that all work done by group B must benefit group A’ equally. A’ considers this fair. Groups A and B focus on elevating group B rather than bickering with group A’ about whether 1 equals 40. Some members of both groups A and B institutionalize polite exclusion of group A’ just to simplify the whole thing, because they’re tired of bickering.

                                              A vocal minority demonizes group A’ for their actions. Some members of group A find this demonization troubling. A larger and less vocal group of A and B think group A’ is a bunch of fucking douchebags, and start to actively exclude A’ rather than deal with their asinine bullshit. A surprising amount of group A wonders if this exclusion is fair or reasonable. Group B, and an increasing amount of group A, respond “are you fucking joking my ass what the actual fuck?”


                                              If you’re a member of group A, please try to empathize with group B. Next time you feel discriminated against for your group A membership, take a step back and reflect on how you’re feeling in that moment. Try to imagine what it’s like to feel that way every single day of your life, at work, on the street, or in your own home through the media.

                                              1. 2

                                                But it’s infuriating when they paint it as unfair, because that implies they’re somehow being disproportionately discriminated against

                                                I think there is more to this implication than you’re letting on, because it makes assumptions about what “fairness” actually means from the person wielding the term. You’ve assumed one definition, but perhaps someone else has another in mind. As a nominal example, consider this implication in different ethical frameworks (say deontological or Kantian ethics versus utilitarian). Is it true in all of them? Alternatively, do you dismiss ethical frameworks in which it isn’t true as nonsense or intractable? Either way, those are important assumptions to state, because your entire comment appears to rest on them.

                                                (I do wholeheartedly agree with your final paragraph, but try my best to perhaps apply it as much as possible, with a healthy dose of perspective taking on all sides. I don’t always succeed!)

                                              2. 4

                                                I’m glad to see this trend of standing up against poltiical [sic] exclusion in Open Source.

                                                Me too, I just wish more people would up and leave, instead of stick around and yell about “reverse discrimination” and such. I’m definitely coming at it from a selfish angle (and concern for my friends,) I’m just really tired of people who “disagree” with us existing, at best, and actively harass us at worst. The only way I can participate in open source is anonymously, which means it’s mostly uncredited work. It’s just not worth the toll it takes on my mental health. Of course, whenever possible, I contribute to projects/communities who show that they are aware of these issues, and are actively doing something about it.

                                                Looking forward to the Incorrect, Off-topic, and Troll downvotes.

                                                1. 4

                                                  I think it’s a loss when someone who can write code leaves a OSS project. I also think that discrimination, which you refer to as “reverse discrimination” in certain contexts, is bad, end of story. I don’t want anyone to be discriminated against. “Contribute good code” is all I ask off people looking to work with me. Politics are boringly unproductive towards that goal.

                                                  1. 4

                                                    I think it’s a loss when someone who can write code leaves a OSS project.

                                                    I don’t, if they keep other people away who can also write code. I honestly can’t understand what’s wrong with participating in this, unless you believe (actual) discrimination isn’t real.

                                                    1. 2

                                                      I do believe actual discrimination is real but I think discriminatory internships aren’t the solution as they only lead to problems down the road. It’s great that outreachy is doing it and I believe they honestly think it’s the correct solution but I simply can’t agree on that.

                                              1. 12

                                                How does this work. If programmer A spends ~5 hours a day programming at work and programmer B spends the same at work and then a few hours at home how can they be anything but better? Practice improves skills so unless your programming at home is just adding 1+1 in python all day how can you not come out better?

                                                1. 8

                                                  The key to understanding this conundrum is that there is a tension between one’s workplace environment and what one does after work for programmers. The essential problem is that someone who writes code in their free time (not necessarily for work) and is passionate about it is likely going to be viewed favorably in contrast to someone who doesn’t do that. The problem here is that it ups the ante by setting a bar that is unreasonably high. It is viewed as a significant problem likely because there are many people who code on their free time and enjoy it. This has a serious impact on the work environment. At the very least:

                                                  • If someone is coding a lot in their free time, others may feel obligated to do the same, even if they don’t want to. This is an indirect form of social pressure, and a lot of people view it negatively.
                                                  • Often times, people will use weasel words like “I want someone passionate” to mean “I want someone to dedicate a lot more than 40 hour work week to their practice.” Thus, there are lots of emotions bottled up in words like “passionate.” On the one hand, it is an admirable quality. On the other hand, it’s doublespeak.

                                                  Combating these sorts of things is difficult. Posts like this one seem to be doing just that. I think it’s not a bad idea, even though I don’t know what to do with the implied conclusion: “diversity is good, and everyone brings their own skillset to the table.” To me, it’s vacuously true, but I don’t know what to do with it. Maybe it means we should be playing to each individual’s strengths? Sure, that seems fine. But it neglects to answer the hard questions: what do you do when an individual’s strengths aren’t a match for what you need to accomplish? Or what if the individual has too few strengths?

                                                  In any case, I do think the argumentation has kind of reached a ridiculous level. In most walks of life, I’d be willing to wager that more practice on foo generally results in stronger skills in foo. There’s all sorts of ways you can dice that up with respect to the form of that practice, but I don’t think it weakens the point. It is just a correlation after all, and isn’t always true. As best I can tell, these types of posts are gentle reminders of that fact, but equalizing everything in that pursuit seems like folly.

                                                  Alas, I may have a skewed perspective. I didn’t grow up programming. I grew up in competitive sports. That others may be more naturally gifted or more dedicated to practice was as natural to me as anything. (Note that I am not making an analogy; competitive childhood sports are not the same as one’s livelihood. I’m just explaining my perspective.)

                                                  1. 4

                                                    I guess if programmer A spends the rest of the time in coma your model works, but the problem is that 5 hours of programming everyday may well bring you to the saturation point where programming further does little to improve your skills, while doing other things to improve your health and general intelligence indirectly improve your performance more.

                                                    1. 3

                                                      I guess if programmer A spends the rest of the time in coma your model works

                                                      Sure, let’s borrow varjag’s examples and assume programmer A spends the corresponding time on guitar, photography, or snowboarding. Do you really think it’s likely - not possible, but likely - that A is a better programmer than B?

                                                      1. 5

                                                        Well, yes. Do you think it’s unlikely? Why?

                                                        The comment you’re replying to about a saturation point explains why it is. I’d also add that guitar, photography and snowboarding all can contribute to understanding yourself and life in general which then translates into being a better programmer. Programmers who think that programming is only about coding tend not to be very good programmers.

                                                        1. 2

                                                          Do you really think it’s likely - not possible, but likely - that A is a better programmer than B?

                                                          I think the image in your mind is 5 hours of boring repetitive enterprise work + 3 hours of explorative programming, then it’s of course not likely. But if we’re comparing 5 hours vs. 8 hours of similar kind of programming, I wouldn’t be surprised. Think about a body builder, would you really be surprised if someone who lifted weights 5 hours/day ended up stronger than someone that does 8?

                                                          Besides, it also depends on what you include in the notion of “a good programmer”? Is it lines of code per minute? Then 8 hours might be better. But if you include things like the ability to mentor others, understand the domain better to spot spec errors, communicate with the rest of the organisation to solve other people’s problems and get things done, schedule activities etc. 3 hours solitary programming will definitely not help on those areas, and programmer A will most probably be better at them.

                                                          1. 1

                                                            A will most probably be better at them.

                                                            But why will A be better? Why is it assumed that the programmer who programs in their free time will be doing worse at work?

                                                            1. 1

                                                              The point is programming isn’t only about programming. Even if you’re a 10x faster at the keyboard, you still need to understand what the customer needs, what designers had in mind, what the product management prioritizes, what the sales has promised, how the standards are applied/violated, how devops deploys your code, how support tries to diagnose problems etc.. At the end of the day, this is all a huge team effort. Your programming ability is of course important, but there’s a multiplicative factor in front of it, which is determined by your ability to communicate with other people. Otherwise, you’ll be writing useless code (however efficiently you might write it).

                                                              The question is, if programmer B keeps writing code all the time, when will they develop their soft skills? Obviously, programmer B might still be a pleasant individual, who’s attentive and one who cares about other’s opinions, observations and feelings. The whole point is you need to develop those skills as well.

                                                      2. 2

                                                        More time does not necessarily result in being better - the practice has to be deliberate - and actually improve the skill you are practising. Otherwise it can be counter productive.

                                                        1. 5

                                                          Let’s say your hobby is not programming but guitar, photography or snowboarding. Would you say more practice doesn’t necessarily help?

                                                          1. 4

                                                            As a BMX coach - I would definitely say that more practice does not always help - especially if the technique is not correct as what you create is a habit / reflex / muscle memory that is not beneficial. Yes it is possible to re-programme a bad habit but it takes a lot more work, effort and practice to change the bad habit into a good one. So deliberate practice is far more valuable that quantity of practice. Also, in sports if you do things when you are tired / worn out there can be an enhanced risk of injury - which is really detrimental as then you add a pain response…

                                                            I believe the same is true for musical instruments, but I’m tone deaf so don’t take my word for it ;~)

                                                            1. 4

                                                              I’ve played guitar for 20+ years, it’s the same for musical instruments. Deliberate, effective practice is hard, and too much of it can seriously hurt you (I have some hand issues because I wasn’t careful enough for a stretch of time).

                                                          2. 3

                                                            How can more practice make you worse, if you are doing the same things at work as programmer A then you would have to try really hard to get worse with your at home programming. I also find my at home programming gives me many skills I can take to work because I can mess around with random things that I don’t know will be of any use and sometimes they are where as at work it’s all kept fairly safe.

                                                            1. 4

                                                              The following article from Havard Business Review[1] has some interesting research into the problems of practice. Unfortunately, I’m unable to find an open access copy of the article.

                                                              [1]The making of an expert, Harvard business review, the article can be read here

                                                        1. 18

                                                          I’ve seen this sentiment being expressed by quite a few people recently, and it makes me happy.

                                                          I recently met one of my programming heroes, and we were geeking out and it was wonderful; it felt really nice that I could keep up with them and that we shared so many opinions. Then I asked what they do when they’re not programming. They paused, and then told me they don’t do much else.

                                                          Which is also fine, of course, but to me it highlighted how individual this is. Up until then I felt like we were extremely similar. But, I need time to play guitar, patch synthesisers, be outside in nature, draw, fiddle with electronics, play video games, and all the other things I enjoy doing, and need to do in order to feel like a whole human. That leaves almost no time for programming outside of work.

                                                          So in that way, we were each other’s complete opposite, and that’s great! What we choose to do in our spare time does not determine how skilled we are at programming, and everyone in tech shouldn’t be the same.

                                                          (Although right now I am unemployed, so I can get some coding in anyway 😉)

                                                          1. 5

                                                            In many areas, (architecture, electronics, finance, …) people aren’t using their “work” skills at home. I mean…

                                                            • How many electronics engineers are working on open-designs on weekends (you’ll find some, obviously, but proportionally, not that much)?
                                                            • How many architects are just doing pet projects on weekends? Again you’ll find some… but it’s far from the majority.
                                                            • How many accountants are doing accounting on weekends? … Maybe a bit on their own finance… but common…

                                                            To me it’s a not even a situation, and even if it’s a good way to recruit, it’s not mandatory and shouldn’t be.

                                                            1. 19

                                                              At the risk of being so terse that others will pedantically snipe my obviously flawed reasoning: programming is a deeply creative endeavor, its only effective cost is time, and the results of a working program can be tangibly experienced without any additional cost. The raw materials for programming are comparatively cheap. To that end, it is no surprise at all that there are many people who code on their free time in contrast to many other professions.

                                                              1. 3

                                                                I see two arguments here, creativity and cost. Compatibility is not creative, but it is cheap (a computer + excel + paper). Architecture is creative and (to the relative extent of seeing results) cheap (paper/computer). I know your point and won’t enter in the debate of creativity but I still don’t understand why we talk so much about this. My ideas are:

                                                                • It’s a self reinforcing loop (people code in the weekend, people that are not are feeling bad about not doing so, so they start doing it…).
                                                                • It’s not so different from few other creative work, but we tend to talk/share much more about it.
                                                                1. 0

                                                                  programming is a deeply creative endeavor

                                                                  I challenge that assertion. It’s no more creative than construction work or any other trade.

                                                                  1. 11

                                                                    Have you ever worked in construction or any other trade? What makes you think that those things aren’t creative?

                                                                    You implication suggests you believe the trades aren’t creative. As someone who has spent a few summers hanging drywall, and who has a family full of tradesmen, I would challenge the implication that the trades do not require a fair amount of creativity.

                                                                    Any problem-solving discipline requires creativity. In the trades, this is readily apparent the first time you talk to someone who has to coordinate the logistics of moving several tons of material up a narrow street that must remain open to regular traffic. Or when you talk to the plumber who has to retrofit three different piping systems in the same house reno so that shit won’t literally fly out of the toilets when it rains more than 3/4”. Or when you talk to the surveyor who has to figure out how to shoot a line through dense woods so she can accurately determine the property line because the next door neighbor is under the mistaken impression that they own land 13’ past where they actually do.

                                                                    These are all real examples of situations which required creative solutions. No instruction manual exists to tell the GC how to coordinate those material deliveries, help the plumber design a wastewater system for a house, or help shoot a straight property line in dense situtations. These people rely on ingenuity and experience, as well as their creativity, to help them find a solution.

                                                                    So I suppose in a sense I agree with you, Programming isn’t any more creative than the trades; but I disagree with your implication that either are not creative processes.

                                                                    1. 3

                                                                      I haven’t worked trades but I’ve done supervision for engineering. I agree they are creative. Just as creative as programming. I guess my phrasing was poor. I meant to imply that trades people aren’t hired for doing big weekend hobby projects on tradehub.

                                                                      And while I think it is creative I don’t think it is deeply creative in the sense that it is more art than mechanics. While there is an art, it isn’t itself an art. Many jobs for trades and programming are pretty routine and boring work.

                                                                      1. 3

                                                                        Note that I listed several reasons why programming attracts a lot of folks that do it in their free time. In the common case, creativity alone isn’t sufficient. The expenditure of resources to realize a result is a key ingredient to my argument.

                                                                    2. 5

                                                                      I challenge that assertion. It’s no more creative than construction work or any other trade.

                                                                      To the extent that the level of creativity can be compared, I disagree. To the extent that the level of creativity cannot be compared, I agree.

                                                                      Pick your assumptions. I don’t really care otherwise, and I think the direction you’re drawing me in is a pointless waste of time.

                                                              1. 7

                                                                This post not satire. The internet has so driven me toward cynicism that I expected this to be a satirical piece about how terrible it all is. Instead it was a pretty nice overview. I comment here in the event any others who primarily read through email and might not see every comment might see this one, and will not make the same mistake I did.

                                                                1. 5

                                                                  $work: In some ways better, in some worse. Mostly I’m just happy I don’t have a release for another month or so.

                                                                  !$work: A lot of my programming stuff is on hold while I plan out some springtime shopwork. I’m scheduling a trip to Brimfield, getting a dumpster delivered for spring cleaning, identifying what I want to get cleaned during spring cleaning, getting plans together for the work I need to do in my shop, and figuring out whether or not I need various permits for a couple outbuildings on my property. Lots of nice, bitesize bits of work that I can just do and feel accomplished about having done. I highly recommend doing something like that from time to time, it’s good for the mental health.

                                                                  Also throwing stuff away is literally my favorite activity.

                                                                  1. 3

                                                                    $work: i++; GOTO $work

                                                                    !$work: Organizing docs for tax season, researching workbench designs, trying to figure out local requirements around building permits. Some towns near me don’t require permits for structures smaller than some square footage, some do. I think I just have to call the City and ask, but I thought it’d be fun to read some local codes and see if I could find out for myself. My idea of fun is nonstandard.

                                                                    1. 5

                                                                      $work:

                                                                      Let i = 0

                                                                      See, when you start somewhere, you think, “Oh man, I’m going to help make this place great!” Someone leads you to your $DESIGNATED_EFFORT_RECEPTACLE and you sit down and get set up. A little while later, someone brings over this beautiful bowl. Ornately turned, clearly by hand. It’s got a lid on it. They set it on your desk and say, “Hey, welcome to the company, I’m from $SOME_DEPARTMENT[i], here’s a gift.” You open the lid as they watch attentively. The bowl is full of shit. Literal, human shit.

                                                                      “Eat it.” They say flatly.

                                                                      “What?” shocked response.

                                                                      “Eat. It.” nothing on their face indicates they are kidding. This is because they are not kidding.

                                                                      “I… I don’t– but it’s sh–”

                                                                      “Eat.”

                                                                      “Bu–”

                                                                      “It.”

                                                                      So you do, because you have bills to pay. You take your hand and eat that bowl of shit.

                                                                      Then they take the bowl and leave.

                                                                      i++; GOTO $work

                                                                      !$work: Despite $work being a soulsucking experience right now, I’m having a good time at !$work learning about Tensorflow and the like. I’m working through a couple Udemy courses that are quite good (both from Jose Portilla). I finished up (more or less) my first Rust project since my initial failed attempt to learn a few years back. It’s not what I’d call the most useful thing in the world, but it was fun to write. Honestly it’s probably the first time I’ve had fun coding since I left my last job prior to $work. Other than that, I’m trying to be more organized than in the past, so I’ve spent some time setting up some more tools to hopefully automate little bits of my life and better document other things I do routinely. I’m also planning a vacation, I don’t know when or where it’ll be, but I definitely need one.

                                                                      1. 2

                                                                        For those who don’t care to sign up:

                                                                        The post is from Yann LeCun, author of LeNet and Director of AI Research at Facebook:

                                                                        OK, Deep Learning has outlived its usefulness as a buzz-phrase. Deep Learning est mort. Vive Differentiable Programming!

                                                                        Yeah, Differentiable Programming is little more than a rebranding of the modern collection Deep Learning techniques, the same way Deep Learning was a rebranding of the modern incarnations of neural nets with more than two layers.

                                                                        But the important point is that people are now building a new kind of software by assembling networks of parameterized functional blocks and by training them from examples using some form of gradient-based optimization.

                                                                        An increasingly large number of people are defining the network procedurally in a data-dependant way (with loops and conditionals), allowing them to change dynamically as a function of the input data fed to them. It’s really very much like a regular progam, except it’s parameterized, automatically differentiated, and trainable/optimizable. Dynamic networks have become increasingly popular (particularly for NLP), thanks to deep learning frameworks that can handle them such as PyTorch and Chainer (note: our old deep learning framework Lush could handle a particular kind of dynamic nets called Graph Transformer Networks, back in 1994. It was needed for text recognition).

                                                                        People are now actively working on compilers for imperative differentiable programming languages. This is a very exciting avenue for the development of learning-based AI.

                                                                        Important note: this won’t be sufficient to take us to “true” AI. Other concepts will be needed for that, such as what I used to call predictive learning and now decided to call Imputative Learning. More on this later….

                                                                        1. 2

                                                                          Not the first time Julia’s blog has been a great resource for me this week. I owe this person nontrivial amounts of beverage.

                                                                          1. 9

                                                                            “Falsehoods programmers believe about X” considered harmful.

                                                                            1. 8

                                                                              Falsehoods programmers believe about the phrase “X considered Harmful.”

                                                                              Falsehoods programmers believe about the phrase “X considered harmful,” considered harmful.

                                                                              Falsehoods programmers believe about the phrase “Falsehoods programmers believe about the phrase ‘X considered harmful,’ considered harmful,” considered harmful.

                                                                              1. 5

                                                                                Recursion considered recursive.

                                                                                1. 3

                                                                                  “Recursion considered recursive” considered falsehood believed by programmers about the phrase “Recursion considered.”

                                                                                  if you torture the English language hard enough, you get poetry.

                                                                                  Haiku are easy.

                                                                                  But sometimes they don’t make sense

                                                                                  Refrigerator.

                                                                              2. 2

                                                                                Why? I find these sorts of posts quite illuminating, as they often skewer conventional wisdom.

                                                                                1. 5

                                                                                  In my opinion it’s usually because they list the falsehood without listing an example of where it breaks down. These lists work better when you can point at a real-world case why X is a falsehood.

                                                                                  1. 2

                                                                                    Bingo!

                                                                                    1. 1

                                                                                      Exactly. Who cares if they skewer conventional wisdom if there is no evidence to prove that conventional wisdom should be skewered?

                                                                                    2. 3

                                                                                      The notion that such lists represent conventional wisdom is perhaps itself a falsehood.

                                                                                  1. 7

                                                                                    In general, I think there is a major lack across much of the ‘hard fields’ (not just STEM, but in the humanities too) of meta-information. I’m a serial autodidact, so I’ve gathered a reasonable amount of data with respect to my approach to new topics. Specifically, the pattern is something like:

                                                                                    1. Identify a problem I want to solve/thing I want to build
                                                                                    2. Look for prior art – has someone done the thing/built the thing I want before me? Can I crib from them?
                                                                                    3. Look for best practices – how do people usually approach this? What are the tools/techniques/ideas I need to know to try to do something new here?
                                                                                    4. Based on 2 and 3, compile a list of sources to study
                                                                                    5. Study the sources from 4.
                                                                                    6. Attempt to solve the problem/build the thing
                                                                                    7. If successful, repeat from #1 with new problem (perhaps a subproblem of the main idea, maybe something wholly new), if unsuccessful, repeat from #2 with the same problem until no new information can be found.

                                                                                    This approach has two major problems, first – I have no idea what to do with the second branch of #7 if there is no new information found after the loop. I call that problem “Reality Sucks” and have not found any good solution for it.

                                                                                    The second issue is understanding the gravity of attempting to walk down this path for any given topic. In my wheelhouse (Math and CS) I can more or less assess the ‘mass’ of a particular problem just by intuition. I have enough experience to have a horse-sense about it, and that’s good enough. For me, therefore, the advice you give would be redundant (that doesn’t mean it’s not valuable, just that I already have that information). However, this class of idea is very good. If someone told me before I dove into my more recent Mechanical Engineering bit that it would be a lot deeper rabbit hole than I thought it’d be, I might’ve started with a smaller problem/more limited scope.

                                                                                    The meta-information – the horse-sense that people have about problems – is incredibly valuable. It helps to add context which can guide someone away from areas they are not prepared for, and can act as a meterstick for progress.

                                                                                    This is a longwinded way of saying, “Yes, I think this is valuable, I wish there were more people around who did this class of thing for other areas.” But also to support @pushcx’s point, don’t necessarily try to make the resource generic; but I’d add that it is worth knowing the pointers off the map, rather than “Here be dragons”, it’s much nicer if you can say, “And if you go down that edge, you land off the map and in a scary place we call ‘Category Theory’ – it’s full of Haskellers, we try not to talk about it.”

                                                                                    1. 2

                                                                                      That’s a decent method to approach problems. I do something similar except I build way less to cover more ground. Instead of building, I dig into the lessons learned reports, case studies, and articles from veterans to do meta-studies of sorts. That’s why you’ll see me have a lot of useful info on a lot of topics but also slip up on something ridiculously obvious to a practitioner on occasion. I mainly do that to bring info to people. In general case, I recommend someone build something in each sub-field as you describe.

                                                                                      Far as the warnings, yeah I can be more specific. One I was giving out to a lot of people before was the article below showing what it took to verify a simple system for landing gear. The thing I emphasized is that the formal specs exploded as they went from abstract requirements to detailed design. They also seem like piles of little things. It’s a combination of what people track in their heads about code that’s implicit along with limitations of the logics that are good for this sort of thing. Optionally, show them separation logic verifying simple code with pointers. Then, I tell them to imagine trying to do that for a real program they’d write more complex than state machine for landing but with pointers. To imagine how the extra combinations would explode the amount of logical terms they’d have to track. Good luck.

                                                                                      https://www.researchgate.net/profile/Amel_Mammar/publication/283184853_Modeling_a_Landing_Gear_System_in_Event-B/links/57a106fc08aeef35741b7e43.pdf?origin=publication_detail

                                                                                    1. 2

                                                                                      I find the “like clockwork” hours phrasing to be interesting. That in my mind that is not good work life balance. Part of good balance for me is flexible hours so I can attend to my other de as needed during “traditional” work hours.

                                                                                      I don’t see commits coming it at any hour as a sign of poor work life balance. It depends on other factors. Maybe working Saturday is better for balance for some employees.

                                                                                      1. 2

                                                                                        As someone who reused that phrase in a positive sense, I like the regiment of having a consistent schedule. If I frequently changed my working hours, then my feathers would become extremely ruffled and that would not be a good balance for me. Some of my co-workers do a more flexible schedule, and hey, it works for them and that’s cool. But it ain’t for me.

                                                                                        With that said, I do of course need to re-arrange my schedule occasionally. Whether it’s working from home because I need to be here to manage typical home maintenance stuff or changing my hours a bit because I need to take my cat to the vet, then that’s all OK. But I largely see it as atypical. But yeah, it’s good that those sorts of things are totally fine with where I work.

                                                                                        1. 2

                                                                                          Definitely depends on the person. “Clockwork” is an important thing for me. I schedule my time very tightly and am frustrated by unplanned variations. I avoid pickup meetings like the plague, I generally work 9-5 with only pre-planned exceptions (releases and so on). If I do have to work past normal hours for emergency/unplanned reasons, I generally make sure to come in late/leave early the next day. I have sold my employer 40h/week with periodic, small exceptions, I don’t intend to give any more away for free.

                                                                                          There are other folks at $work though who happily work odd hours, there was one guy doing the 4/10 week (4, 10h days with 3 days of weekend) for a while. I considered it, but ultimately preferred the orderly, more common schedule. Diff’rent Strokes, and so on.

                                                                                        1. 1

                                                                                          Some weeks, I’m Excellent, or even Exceptional. I’m remote, so that helps; I can easily modify my effort throughout the day, take breaks, etc

                                                                                          Some weeks, I’m Abhorrent – releases tend to be like this, lots of work to be done in a short time. Our infrastructure is old and busted, so changing it requires quite a lot of arcane understanding and not a small amount of willpower.

                                                                                          Importantly, my job affords me a lot of ability to make the things that cause improvements to eliminate the need for Abhorrently balanced weeks. I’m respected and well-liked by my peers, and I have a reputation of near omniscience with respect to the parts of the infrastructure I am primarily responsible for maintaining.

                                                                                          An important part of work/life balance is not just the time spent at work, but the type of time spent. If you work 32h/week, but it’s a shitty 32h – that’s worse than working 50 or 60h weeks at a place that respects you, rewards that extra time well, and ensures you don’t feel exploited. I’ve put in my share of after hours work at my job. I don’t love it, but my boss advocates on my behalf for better raises and promotions because of that time, I get bonuses for that time, I get comp days, etc. So because of that I don’t mind so much needing to work 8-midnight every few Fridays to do a release, or an upgrade, or whatever.

                                                                                          That time also has established the aforementioned reputation, and has directly led to my ability to advocate for specific changes that are hard to justify. It’s difficult to explain to a non-technical person why using some tool over another is “better” (I spent a lot of time early on having long conversations about the virtues of automation, or using linux instead of windows, etc). But it’s a lot easier to get them to agree despite not understanding when I have that reputation of omniscience; and when they see that I’ve “put in the work.” It’s also a lot easier to make arguments as to what my job “should” be, rather that having to live with what my job “is”. In a recent 1:1 with my boss I talked about his need for someone to handle more of the day-to-day administrative load within the team; I noted that I’ve spent longer working on the product than anyone else on the team, and have a reputation for deep knowledge, and that this is a dangerous position to be in; but it’s also one that won’t change unless I change roles to more of a mentoring/administrative role. Essentially I was able to rely on the effort I put in during those Abhorrent weeks to leverage myself into a title bump and a pay raise.

                                                                                          My point is this. While it’s good to ask what your worktime/lifetime balance is, it’s also important to remember the quality of the environment, because no job has a constant work/life balance function. The real question to ask is how many “quality-adjusted hours” do you work per week, because 60h of high quality hours is, in my estimation, far far better than 30h of crunchy, oppressive, poorly rewarded hours. Additionally, quality-adjusting time isn’t just a ‘immediate effort for immediate reward’ function, it needs to take into account both the immediate reward (you worked late and your boss bought you pizza) and the long term reward (you worked late and your boss made a note on your yearly review and argued to get you a better raise/bonus for it). Very often companies can be really good on the immediate, but fail miserably on the long term. In my opinion, the long-term reward is much more important.

                                                                                          1. 60

                                                                                            I’m pretty uncomfortable with calling software “sexy”.

                                                                                            1. 27

                                                                                              Agreed. And going to a website promoting ostensibly professional software only to see “sexy” in large type multiple times just doesn’t feel work appropriate.

                                                                                              “the little sweet and sexy” is just not a phrase you should be using to describe software. It’s off-putting to people, and it’s generally (at least in pop culture) used by leachers old men.This feels like yet another example of how tone deaf men in tech can be.

                                                                                              1. -5

                                                                                                Glad to you took the time to insult and signal how much better you are than those leacher, tone deaf old men who wrote some free software for you. It’s really a great way to earn friends and show them the errors of their ways by shaming people publicly. /s

                                                                                                p.s. I agree with the sentiment, and hwayne’s comment is far more appropriate than some of the others I have seen. He expresses his own opinion, not theoretical opinions of others, and doesn’t shame anyone.

                                                                                                p.p.s The funny thing Is rereading my own comment, I see I am not even following my own advice! A better comment would be something like:

                                                                                                I do not agree with calling potentially well meaning people “tone deaf”.

                                                                                              2. 5

                                                                                                Same for me, but that’s probably the sign of times. I have also the same feeling when people say that they love this company or that software.

                                                                                                Of course when old established projects use such a lingo it may sound like when old people say something in teenage slang. It will feel off for teenagers and alien to other old people. Sort of uncanny valley?

                                                                                                1. 3

                                                                                                  At some point you are reading way too far into things… It just means ‘stronger than like’ in that context.

                                                                                                  I love my pet dogs. I love good food. I love good software.

                                                                                                  1. 5

                                                                                                    It may be because I’m not a native English speaker. In my language love is mostly reserved to the top emotion. Then if you love something (your work or music genere) it means that it can literally compete with the feeling you have to e.g. your spouse. I guess it’s something that I can’t get over. Especially regarding purely profit motivated endeavours.

                                                                                                    1. 4

                                                                                                      Almost certainly a native/non-native speaker thing. In American English at least, ‘love’ is a pretty tame word that gets thrown around for everything. There really isn’t a specific word distinct for, e.g., the feeling one feels about their spouse; about their kids; etc. Usually ‘love’ is used there too, and context determines the level of effect.

                                                                                                      Occasionally you might see modifiers like, “brotherly love”, “fatherly love”, “familial love”, etc. That’s not super common though, mostly just context to delineate the quality of the usage.

                                                                                                      What is your native language? I know Greek has a few different words for different classes of ‘love’, and I imagine it’s not super uncommon, but I’m always curious about language related topics and the different quirks various languages have.

                                                                                                      1. 3

                                                                                                        I’m Polish. We say something like “brotherly love” or “fatherly love”. One can love their work, hobby and certainly their pet. But when someone says that he loves food or a thing it sound strange. “Like” is “lubić”. “Love” is “kochać”. “Love” in context of things would be more commonly translated to “uwielbiać”. It literally means “worship”, but in this context it is really more like “love” used as “stronger than like”. So maybe it is more crazy then in English.

                                                                                                        Love as a verb is “kochać”. But love as a noun is “miłość”. So “kochać” means that you feel “miłość” to somebody.

                                                                                                        I heard people from more pop part of younger generation saying such things, but it sounds for me like a literal translation from English. I heard it in movies and especially children movies. It almost always sounded off to me, but next generation is learning this foreign use. So I guess I’m doomed thanks to globalization ;).

                                                                                                        1. 1

                                                                                                          I’m also Polish and to be honest I find nothing strange in usage of “love” in context of “food or a thing” (both in Polish and in English). Considering that it seems from your linkedin profile that I’m older (32) than you I think your generalizations about younger generation is wrong :)

                                                                                                2. 3

                                                                                                  Yes. Also: laptops, companies, fields of study, consumer electronics, genres of literature, fonts, cooking techniques…

                                                                                                  Unless you are literally indicating sexual attractiveness, please use a word such as “exciting”, “sleek”, or “fashionable”.

                                                                                                  1. 2

                                                                                                    I don’t think I have a problem with the sexy part, I have a problem with the screenshots make it not even look all that great. Those fonts are terrible. There’s nothing in the feature list that really even makes me want to try it out over the editors/IDEs I currently use.

                                                                                                    1. 3

                                                                                                      I filed an issue. Please consider +1

                                                                                                      https://github.com/geany/geany/issues/1672

                                                                                                      1. 10

                                                                                                        Is not “sexy” a gender neutral word, that can be used about both genders?

                                                                                                        1. 14

                                                                                                          It’s not about whether it’s gender neutral. It’s just kinda weird.

                                                                                                          1. 6

                                                                                                            Agree, but linked issue mentions women as if word “sexy” offends women more than men.

                                                                                                            1. 9

                                                                                                              Yes, sexy is gender neutral. What makes it potentially offensive to women is the association with exploitation and objectification.

                                                                                                              The word itself isn’t offensive. I can say that I find my wife to be drop dead sexy, but that’s because in that context it’s entirely appropriate.

                                                                                                              1. 4

                                                                                                                I completely agree that sexy in context of software sounds strange at best. I just don’t think that mentioning one particular gender in that issue was needed.

                                                                                                                1. -2

                                                                                                                  Stop taking offense on behalf of others.

                                                                                                                  1. 10

                                                                                                                    Fascinating that you see it that way. When there is a gigantic groundswell of people saying “your behavior makes me uncomfortable” I try to change that behavior.

                                                                                                                    I for one value women in tech. I find their presence in my day to day working life improves my productivity and the productivity of the teams I work on, as does a diversity of backgrounds, opinions and characteristics.

                                                                                                                    So, for me this isn’t about offense, it’s about trying to make the industry I care deeply about a more welcoming place for a group of people I also care deeply about.

                                                                                                                    1. 10

                                                                                                                      Folks can play dumb about “sexy” alone, but when you address the complete phrase, “little, sweet, and sexy,” someone’s gotta be pretending to be reeeal oblivious to show up and say oh that’s neutral we’re not talking about software like we wanna talk about women.

                                                                                                                      Anyway keep speaking up, because yeah it’s not “taking offense on behalf of others” its paying attention to them and having consideration without them having to speak every time. And I sure as heck don’t like to wade directly into this kind of talk on lobsters very often, it’s rarely worth it.

                                                                                                                      1. 2

                                                                                                                        Thanks. I think that’s why it’s important for people in privileged situations like myself to at least try and raise awareness. I don’t let the negative comments get to me - I was donning my asbestos underwear and wading into email/USENET threads before most of these people were born :)

                                                                                                                        1. 1

                                                                                                                          I can’t imagine people talking about women that way. Would be super creepy to use a phrase like “sweet and sexy” about a person instead of a thing…

                                                                                                                          1. -1

                                                                                                                            Maybe you are (or someone reading this is) not aware of the counter argument so I thought I’d share: the implication in your comment is that sex necessarily exploits women, which is false. The idea that sex necessarily exploits women reinforces the belief that we must protect women from sex as we do children. This is a defining aspect of anti-sex, Third Wave feminism, which I believe runs counter to the feminist goals of dismantaling fascist and patriarchal structures in society.

                                                                                                                          2. 6

                                                                                                                            I am very rarely seeing a groundswell of people saying “Your behavior makes me uncomfortable”.

                                                                                                                            What I actually see is people saying “I assume your behavior is making somebody else uncomfortable, and I am taking the credit for ‘fixing’ you”. I far prefer the original comment from hwayne where he was talking about his own opinions, rather than imagining those of other people.

                                                                                                                            1. 6

                                                                                                                              My upvotes usually mean “you speak for me also”. It’s quite a time saver. :) So, to clarify, I myself personally was made uncomfortable by someone describing software as “sweet and sexy”. So much so that I only skimmed the first page or so and closed the tab.

                                                                                                                              I assume they had good intentions. If I were the author, I’d work a bit more to come up with some way to express my excitement at having written something cool, without sounding creepy.

                                                                                                                              1. 4

                                                                                                                                And I’d like to be very clear, I don’t disagree with the argument, I disagree with some of the methods used to enforce them.

                                                                                                                              2. 3

                                                                                                                                I for one value women in tech. I find their presence in my day to day working life improves my productivity and the productivity of the teams I work on, as does a diversity of backgrounds, opinions and characteristics.

                                                                                                                                Non-native English speaker here. How does the term sexy offend only women and make them unwelcome to OSS? I mean, I understand the top comment (by hwayne) here saying how it would make someone uncomfortable, but why I don’t understand why it is only limited to women.

                                                                                                                                1. 5
                                                                                                                                  Quoting a woman who’s a friend of mine from another context, unattributed at her request:

                                                                                                                                  The word “sexy” when used to mean that something is sexually attractive, is what it is. You may or may not be expressing something offensive when you use it. The word “sexy” when used to describe something that is not sexual - a car, an algorithm, a user interface - still evokes the idea of sex. It implies that you should feel sexually “turned on” by it, even if it is not literally a thing with which you would have sex. Given the cultural and historical context of our times, a professional environment where people are expected to feel sexually “turned on” by things, or where the idea of sex is constantly referred to when it is not technically relevant, is not an environment where many women will assume they are respected or even safe. You personally might go ahead and assume you are safe and respected. Many women won’t. This reduces the pool of women who are interested in applying for jobs at your company, or interested in staying once they have experienced it for awhile. The people who create the culture of a company either care about that, or they don’t.

                                                                                                                            2. -1

                                                                                                                              But you are the one drawing associating between “sex” and “exploitation” and “women”.

                                                                                                                      2. 7

                                                                                                                        For those who are about to read: note that geany.sexy is not managed by the maintainers of the Geany IDE, so the issue didn’t end up going anywhere.

                                                                                                                        1. 7

                                                                                                                          This seems like a silly thing to even care about. It’s like the whole master/slave IDE cable debate. Seriously, it doesn’t need to be a big deal. It’s not even the editors official site. There are more important things to spend time on.

                                                                                                                        2. -2

                                                                                                                          Are you uncomfortable with sexuality in general?

                                                                                                                        1. 4

                                                                                                                          The big thing I’m confused about with TLA that I haven’t seen any of the commentary about it handle is, how can I use TLA to say something useful about software that I’m currently working on? For instance, right now I’m working on an interpreter for a toy programming language, and I have no idea how I could apply TLA to make that codebase less buggy, or make my toy language design better in some way.

                                                                                                                          1. 3

                                                                                                                            I’ve not worked on interpreters, so I can’t think of a good example off the top of my head, but I’ve written and presented on how TLA+ has been useful for adding functionality to a web app. I also like this article on detecting thread deadlocks, and this example of simulating trading algorithms.

                                                                                                                            1. 3

                                                                                                                              Just wanna let you know that all your work is appreciated, I’ve got “learn TLA” as my main go-to task over the upcoming Christmas break. Waiting on my copy of LL’s book to arrive before then as well, I hope :)

                                                                                                                              Edit: Me fail english? That’s unpossible!

                                                                                                                              1. 2

                                                                                                                                Aww, thank you! If it doesn’t arrive in time, it’s also downloadable free here.

                                                                                                                              2. 2

                                                                                                                                Two questions (as I work through this list).

                                                                                                                                I’m just finishing watching your Strangeloop talk, got to the part about “Redacted” where you describe TLA+ finding that your fixes to satisfy the invariant cause another invariant to no longer hold. I was curious if TLA+ is also capable of finding contradictory invariants; specifically non-obvious ones.

                                                                                                                                My second question relates to the first, at $work, I’m responsible for maintaining and designing the infrastructure surrounding one of our main applications. I’m not alone in this task, but I’m significantly more experienced (most of the team is new as of the beginning of this year, I’ve been there for 5 years) than the rest of the team so naturally a lot of things fall to me. The existing architecture we maintain is gnarly and old, having been designed by poorly trained orangutans gentlemen before my time. We are simultaneously planning a port to a new infrastructure with some architectural changes, and I’m curious about applying TLA+ to the design of this new infrastructure. Part of the issue with the old design is the plethora of constraints applied to everything due to old contracts, SLA expectations, etc; a major concern that I have been working through is ensuring that we aren’t painted into an impossible corner, and while my background is in math, doing that much of it by hand is not… y’know… ideal. I was curious if you know of any resources on infrastructural/low-level/devops-y design with TLA+. It seems like it’d be a natural fit (esp. as I try to get us to a newer model, but also for diagnosing systemic errors in the old).

                                                                                                                                EDIT: Also, just finished the talk as I wrote this, great talk – everyone should go watch it, it’s the one hwayne links above.

                                                                                                                                1. 2

                                                                                                                                  I’m just finishing watching your Strangeloop talk, got to the part about “Redacted” where you describe TLA+ finding that your fixes to satisfy the invariant cause another invariant to no longer hold. I was curious if TLA+ is also capable of finding contradictory invariants; specifically non-obvious ones.

                                                                                                                                  Ooh, good question. The short answer is “probably”. The long answer is it depends.

                                                                                                                                  Invariants in TLA+ don’t have any special status: they’re just operators that return booleans. When you declare it an invariant, the model checker raises an error if it’s ever false. If you want to find out if two invariants are contradictory, that’s logically equivalent to determining if, in all states, both don’t hold. So you could make your invariant Contradictory == ~(A /\ B). If that doesn’t hold, TLA+ will give you a state where both invariants are true at the same time.

                                                                                                                                  The two caveats are 1) TLA+ only checks finite state spaces, so if the model passes, you aren’t guaranteed it will always be contradictory. It might hold for a larger model. And 2) This is only applies to safety invariants, aka “bad things never happen” invariants. There’s also liveness invariants, which are things like “all messages sent are eventually received” or “the database will eventually reach consistency.” Those can’t be composed in the same way.

                                                                                                                                  I was curious if you know of any resources on infrastructural/low-level/devops-y design with TLA+. It seems like it’d be a natural fit (esp. as I try to get us to a newer model, but also for diagnosing systemic errors in the old).

                                                                                                                                  One of the problems with TLA+ as it currently exists is the community is tiny and most of the specs are private. I did a quick demo of modeling zero-downtime deployments but that’s the only public devops thing I can think of. “Redacted” was a pretty heavy infra project, though, so I guess I can vouch for TLA+’s applicability in those kinds of situations.

                                                                                                                                  1. 1

                                                                                                                                    Invariants in TLA+ don’t have any special status: they’re just operators that return booleans…

                                                                                                                                    Interesting. I suppose once you have the invariants in a reasonably notation, it’s not too hard to put them through some other sort of Satisfier and have it look for contradictions. Half the battle is probably getting to the point of a formal notation for them.

                                                                                                                                    I did a quick demo of modeling zero-downtime deployments… so I guess I can vouch for TLA+’s applicability…

                                                                                                                                    This is good, this is the sort of thing that helps me justify this isn’t a rabbit hole when I tell my boss I’m working on it. :D

                                                                                                                                    1. 2

                                                                                                                                      Half the battle is probably getting to the point of a formal notation for them.

                                                                                                                                      It’s not actually that bad. TLA+ is a first order logic, so it’s pretty easy to do stuff like

                                                                                                                                        OneTargetPerWorker ==
                                                                                                                                          \A w1 \in Workers, w2 \in Workers:
                                                                                                                                              target[w1] = target[w2] =>
                                                                                                                                                  target[w1] = NULL \/ (w1 = w2)
                                                                                                                                      

                                                                                                                                      Most of my trouble comes from running into TLA+ footguns, which is why I spend so much time writing about how to avoid TLA+ footguns.

                                                                                                                                      This is good, this is the sort of thing that helps me justify this isn’t a rabbit hole when I tell my boss I’m working on it. :D

                                                                                                                                      Awesome! Feel free to message me if you need any help with anything!

                                                                                                                              3. 1

                                                                                                                                It’s kind of the reverse of the “rest of the fucking owl” problem :)

                                                                                                                                1. 1

                                                                                                                                  If it has concurrency, it’s possible TLA+ could help with ordering problems. Additionally if it was fault-tolerant with several keeping in sync with some protocol. Otherwise, Alloy for data structures or SPARK Ada for correctness would be more appropriate far as lightweight, formal methods go.

                                                                                                                                  http://alloy.mit.edu/alloy/

                                                                                                                                  https://en.wikipedia.org/wiki/SPARK_(programming_language)

                                                                                                                                  1. 2

                                                                                                                                    I’ve started learning Alloy and it’s really, really cool. I want to spend more time improving before I make sweeping statements about it, but I think it might actually beat TLA+ for the case of non-concurrent time modeling. That’s because you can represent a single data structure undergoing mutation as an ordered sequence of structures where each pair is restricted to differ by a mutation. Alloy can then look at the entire “timeline” at once, while TLA+ is restricted to treating the mutations as separate states in a behavior.

                                                                                                                                    The reason TLA+ does that, of course, is to provide first-class temporal support, so adding multiple structures changing over time is trivial, while for Alloy you’d need to add an explicit time variable and then everything gets really messy. I think it’ll be good to know both.

                                                                                                                                    Also the Alloy resources are so much better than the TLA+ resources. I wonder if I would have been willing to learn TLA+ if I started with Alloy. I hope I would have.

                                                                                                                                    1. 1

                                                                                                                                      I only recently came across Alloy, it does indeed seem really interesting and the tutorial I found looks great. Unfortunately for me the UI NPEs the instant it receives a keypress, so I can’t use the tools. At some point I might extract the sources and try to debug it, but I’ve not decided to act on that yet because I fear it’s likely to lead to a lot of work :)

                                                                                                                                      1. 1

                                                                                                                                        Very interesting observation on time modeling. I was hoping you’d learn Alloy. You have a talent for turning this odd tech into stuff people can understand and use. I do encourage you to wait on the writeup so you can apply Alloy to various structures and use-cases first. Definitely skim through the publication list to see the kinds of things they used it on. That was everything from data structures to security policies to component repair from contracts. Think of the things you’ve seen real-world developers deal with that’s similar. Small examples with tricky-to-test flaws or that would require brute-force with time consuming pile of tests are good examples. Attempts at Alloy on such diverse problems will show you its strengths and weaknesses. If you commit to it, I’m sure we’ll enjoy your write-up at least as much as the TLA+ one. :)

                                                                                                                                        I’m glad you learned TLA+ first, though, as I might have never had a chance to learn it if I had to face the documentation and guides you did. They did not look beginner-friendly compared to Alloy. I had seen it first in a high-assurance VPN [1]. Quite a few people used it for configuration verification. Esp networked- or component-based. I bet that still has potential with all the black boxes I see ops people flinging together in submissions.

                                                                                                                                        [1] https://lobste.rs/s/whvs2u/lessons_learned_from_building_high

                                                                                                                                  1. 2

                                                                                                                                    $work: After massive, unbridled failures two weeks ago, and a release last week, and then a couple more bugfix releases, I think we’re finally out of the woods. I’m doing paperwork, trying to get back in the groove; and trying to direct whatever resources I can muster towards the project to get us off our old hardware and onto the new environments we have which are much better built and should make this sort of thing not so much an issue anymore (and might get us to a nicer deployment model to boot).

                                                                                                                                    !$work: Turned another bowl, ambrosia maple, going to be a Christmas present for Mom. Came up with a shop plan, scrapped it, came up with another, scrapped it; this week is more planning. At some point I’m just going to buy a bunch of material and then start doing stuff. I am in an analysis loop; I don’t think I’ll make it to spring.

                                                                                                                                    Put the Plane restoration to the side, until I get the shop set up, it’s really hard to do that kind of work efficiently. It was more likely for a father’s day present anyway, so it’s not the end of the world.