1. 27

    Helping my partner come out to their (stereotypically harsh and over-masculine, from what little I’ve heard of him) father. Bleh.

    1. 7

      Love wins!

      1. 1

        Hope it goes well

      1. 3

        I worked on a carrier-scale “convergent” (i.e., telephony and internet) billing system in the late ‘90s and I can vouch for the fact that getting data out of the RDBMS was more difficult than getting it in, at least back then. In the physical world I’ve heard that getting heat out of data centers is more difficult than getting electricity in, too.

        1. 2

          Lobste.rs keeps getting better and better. Thank you!

          1. 1

            Another tip for video conferencing is to zoom the camera so the image of your face takes up more of the frame. This is especially helpful with webcams, which tend to have a pretty wide-angle view:

            $ v4l2-ctl -d 0 -c zoom_absolute=175

            You can change “175” to a different value to get the amount of zoom that works for your camera and office setup.

            1. 8

              You say “pedantic”, I say “precise”. You can argue that language means whatever you want it to, but it is genuinely helpful to have a common set of agreed-upon terms.

              1. 3

                I agree! Very pragmatic. So, if I want to be precise, I’ll just point directly to the OSI definition, rather than pretend that it’s the only possible (or meaningful) one. A statement along the lines of “that’s not what OSI means by Open Source” is likely to go farther in conversation than “that’s not real Open Source”.

              1. 9

                I say this only because the author per se posted it to lobsters, so they seem to want randos like me to read it, but it definitely reads as “inside baseball”. I got pretty close to nothing from it except that the author is angry about a bunch of things that I haven’t heard about. Maybe some links would help provide context?

                1. 5

                  I just read the article, and I think it touches on bit more than just “inside baseball” (certainly aspects of inside baseball, but I don’t think it is only that).

                  I got 4 things from it.

                  1. Loris is leaving redis labs
                  2. Loris is joining the Zig software foundation
                  3. General rant (this definitely has an “inside baseball” aspect)
                  4. Loris is concerned/pissed/disappointed that big tech is strip mining communities.

                    While the “spontaneus software” world is busy infighting, big tech is systematically strip-mining it of any value, even when 99% of the value gets lost in the process. Tech companies are willing to go to any length to capture that 1%, and over time have learned to use Free software arguments against Free software itself, to ensure nobody would stop them.

                  The first two are communicative – a tech/comms person is leaving a project and joining another, and announcing it on a personal blog. Seems fine to me.

                  I think that last point is definitely worth fleshing out more, and I’d certainly like to see a future post with more of Loris’ thoughts on that.

                  1. 4

                    Ask more precise questions and I’ll be happy to answer. I can’t cover everything in full detail in a single blog post, and the expectation that one single source is going to provide you with enough information to make up your mind is one of the reasons why marketing is so effective nowadays.

                  1. 24

                    Don’t. They’re loud, heavy, inconvenient, and expensive.

                    1. 3

                      To add to this: unless you specifically want to learn about enterprise technologies (RAID, SFPs, etc.), go with consumer hardware. You’ll save money on parts, electricity, mounting, etc. and won’t have to deal with the noise as much. NUCs are great if you want something small and powerful(-ish), or Mini-ITX, mATX for small form-factor custom builds. The consumer space has a lot more flexibility than enterprise hardware, which lets you fine-tune your build for whatever usecase you have.

                      1. 1

                        I second the NUC comment. I have two set up at home and they’re awesome.

                      2. 2

                        Agreed.

                        I had a rack-mount 2U Compaq DL380 with all the bells and whistles that I got for free during the dot-com bust. It was a pain to live with:

                        • Weird boot process that only worked with Windows and Red Hat Linux
                        • So many fans that even though it was in the basement I could hear it on the ground floor
                        • It cost $10/mo in electricity, even after I removed one of the two power supplies
                        • Not that fast, except for the disks which were 15k RPM

                        Do the planet and yourself a favor and go with consumer-grade hardware.

                        1. 1

                          Do the planet and yourself a favor and go with consumer-grade hardware.

                          I’m not an environmentalist, but the prospective impact to my power bill has me concerned. $10 / month to run a fast machine would be okay, though. I’ll have to do some more research into TCO I think.

                        2. 2

                          They also eat power. See vermaden’s posts (e.g. https://vermaden.wordpress.com/2019/04/03/silent-fanless-freebsd-server-redundant-backup/ ) on running a simple server if you really need something.

                          (bias: I’ve done the freenas thing and paid into the myths of server hardware/ecc ram/etc. While it’s come in handy at times (ipmi is convenient) it’s also been a time burden when it comes to doing maintenance or trying to do any slight customization in setup from what freenas wants. If your needs are largely just storage, consider just leveraging your fast internet connection and paying a cloud provider. Remember even with a server-grade NAS you’re arguably still going to be paying someone for off-site backup.)

                        1. 5

                          There’s more progress on the way:

                          Our next target will be a third reduction by ~50%; the Full-Source bootstrap will replace the MesCC-Tools and GNU Mes binaries by Stage0 and M2-Planet.

                          1. 4

                            More info on reproducible builds: https://reproducible-builds.org/

                            1. 1

                              https://offog.org/code/rawdog/ - “rawdog is an RSS Aggregator Without Delusions Of Grandeur. It is a “river of news”-style aggregator: it uses feedparser to download feeds in RSS, Atom and a variety of other formats, and (by default) produces static HTML pages containing the newest articles in date order.”

                              I set up a cron job on a small EC2 instance that runs nightly so I’ve got a fresh news page every morning.

                              1. 2

                                Volunteering at the food pantry. It’s supposed to rain which will be a bummer since our new workflow has us carrying the food to the clients’ cars. Last weekend we served more than 60 families!

                                1. 4

                                  Tomorrow morning: volunteer at the local food pantry. We changed the rules to reduce contact: the staff fill carts with a predefined set of items, clients pull up in their cars and we unload the carts into their cars. It’s a bummer because the clients don’t get to choose, but it’s the best we can think of under the circumstances.

                                  1. 3

                                    Great article! I’d also mention that magit works transparently with tramp so you can take advantage of magit’s awesomeness on remote machines.

                                    1. 5

                                      You make it sound like it’s a feature that was intentionally built in, but what makes TRAMP great is that it’s transparently built in between buffer and file access, meaning that all halfway good Elisp code (eg. also eshell, compile, …) can employ TRAMP without having to worry about it.

                                      1. 1

                                        Sadly, gdb in the GUD does not work quite right. I can run M-x gdb just fine, but the file references do not work properly (and there are some complaints about the terminal from GDB). I suspect I’ll have to fiddle with the source locations to get it to work, if it will work at all.

                                      2. 2

                                        Also Dired, which means also Sunrise Commander, which is an orthodox two-pane file manager. Now you can have both panes show any combination of remote and local directories, and manipulate files between them as if everything was local.

                                        It’s a rather slow for big transfers and/or many files, but for smaller operations it is insanely convenient.

                                      1. 18

                                        Collaboration with US military for conducting mass murder

                                        I’m happy to criticise the US military, but I think it’s a bit ridiculous to claim that you shouldn’t use Microsoft products because they ‘collaborate’ with the US military. They work with the military of the country they’re in. I doubt they could do it any other way. What would it do to their public image and their stock price if they refused to deal with their own country’s military?

                                        Problems with the US military-industrial complex should be resolved at the political level, not by refusing to buy MS Windows.

                                        Collaboration with NSA for illegal mass spying on innocent people

                                        Illegal mass spying? If the spying were illegal or unconstitutional in the USA (which is not the same thing as ‘bad’) then it presumably wouldn’t be happening and would have been challenged in court by now. Whether or not the US law is good or bad, it still is a country with rule of law, and that law is set through democratic processes, flawed as they might be, and settled through courts that respect the rule of law. The US government loses court cases all the time.

                                        Collaboration with the NSA for evil mass spying? Perhaps, you could argue that, and I’d probably believe you. Illegal mass spying? I doubt it very much.

                                        Collaboration with ICE who runs concentration camps

                                        Let me go on a little rant for a moment.

                                        The United States has a border, and it’s illegal to enter the United States without a visa. The United States seems to be the one country worldwide where a large segment of the population seem to not understand the very concept of a border. As a complete outsider to the US, if you want to allow people to enter your country from Mexico, create visas that allow people to come to the US to work from Mexico! But right now, they don’t exist, and thinking you can just enter a country with no legal justification because you want to is the height of entitlement.

                                        Immigration enforcement is an important part of a government’s responsibilities to its people. A country that runs an extensive public welfare system cannot afford to just allow anyone in that wants to come. People wait for years and years to get visas to go and work in the United States legally despite having extensive skills that are in demand in the US, while unskilled labourers just waltz in through the southern border unhindered and then a large voting bloc seems to want to defend their ‘right’ to do so despite everyone agreeing that doing so is illegal.

                                        Like, if you want open immigration, make it legal. Open the border, pass legislation to do that. That’s your sovereign right as a country. But it’s not a human rights issue. People don’t have a human right to just wander the world going to whatever country they like. If the vast majority of your population doesn’t support having an open southern border, then that’s tough luck for you. You’re not in the majority political opinion and you’re just going to have to deal with that just like any other outnumbered political group. I vote for the New Zealand Green Party, who get 6% of the vote in a good election year, and that means I recognise that everything I support isn’t going to just happen because I want it to. I’m not going to boycott companies that work with the government to implement government policies supported by the vast majority of the population.

                                        The unfortunate result of the laissez-faire policies the American left have been advocating with regard to immigration in America is that when there are genuine issues where there SHOULD be more open borders (like with regard to refugees, which are a completely separate issue from general immigration), they get ignored. If you say ‘we should have open borders’ the natural response from your opponents is going to be ‘we should have closed borders’. That’s how political discourse works. A good compromise would be ‘we should not allow unskilled immigration, but we should accept refugees and skilled migrants’ just like every other western country. But can you do that? Can you actually agree to a compromise on anything in America? No. You have to go around being overly dramatic about everything. Internment of illegal immigrants that have broken the law to enter a country that aren’t refugees? Pretty reasonable everywhere else, but in America you have to paint it as ‘concentration camps’. Come on, that’s just offensive and it waters down what concentration camps actually are.

                                        The Chinese have concentration camps for Uighurs and other “undesirable” peole. The Nazis had concentration camps for Jews and other “undesirable” people. The Americans do not have concentration camps, and any comparison to real concentration camps past or present is pretty offensive in my opinion.

                                        To illustrate how little they care about the amount involved, GitHub donated $500,000 to nonprofits working to support immigrant communities. (Make no mistake: this is about Microsoft sending a clear message to the US government: You’ve never anything to worry about from us. Please continue with business as usual.)

                                        GitHub is pretty immaterial to the US government. The US government giving them $200,000 for hosting services and then turning around and spending $500,000 to nonprofits working to support (hopefully legal) immigrant communities is probably having a bigger positive impact on immigrant communities than if GitHub took $0 from the ICE and gave $300,000 to those nonprofits. ICE indirectly funding those nonprofits is pretty funny, actually.

                                        1. 0

                                          During the Second World War, we incarcerated over a hundred thousand citizens. We did it because were suspicious of their country of origin. This action was undeniably racist and an abridgement of human rights.

                                          Right now, our government forcibly orphans thousands of children by separating them from their family members. We have facilities designed to hold families for indefinite periods of time.

                                          To quote from the Wikipedia entry on internment:

                                          Internment is the imprisonment of people, commonly in large groups, without charges or intent to file charges, and thus no trial. The term is especially used for the confinement “of enemy citizens in wartime or of terrorism suspects”. Thus, while it can simply mean imprisonment, it tends to refer to preventive confinement rather than confinement after having been convicted of some crime.

                                          Interned persons may be held in prisons or in facilities known as internment camps, also known as concentration camps. This involves internment generally, as distinct from the subset, the Nazi extermination camps, commonly referred to as death camps.

                                          These are concentration camps. They are places where we have neglected at least some few people to death. Both the internment and the neglect are violations of human rights; the right against internment has centuries of legal precedent behind it, and in the USA, child neglect is criminalized, as is death by negligence.

                                          Stop being part of the problem.

                                          1. 5

                                            During the Second World War, we incarcerated over a hundred thousand citizens. We did it because were suspicious of their country of origin. This action was undeniably racist and an abridgement of human rights.

                                            Yes, that was definitely racist. It was also what, 75 years ago? What does it have to do with the current situation?

                                            Right now, our government forcibly orphans thousands of children by separating them from their family members. We have facilities designed to hold families for indefinite periods of time.

                                            Do you think the United States government wants to spend millions of dollars locking people up? Of course not. What other choice do they have, though? There’s a legal process for applying for asylum, and you can’t just let people into the community until that has been approved, or bad actors will just never turn up when you send them a letter saying ‘application denied’. You can’t deport them until you’ve declined the application for asylum either.

                                            There are also people that have crossed the border already but are awaiting deportation. Obviously you need to keep them somewhere.

                                            Children are separated unless they’re with their parents. Who knows if someone that claims to be their ‘uncle’ really is.

                                            These are concentration camps. They are places where we have neglected at least some few people to death.

                                            That’s terrible. That doesn’t make them concentration camps.

                                            Both the internment and the neglect are violations of human rights; the right against internment has centuries of legal precedent behind it

                                            Interning people that are in your country illegally is not a violation of human rights and never has been. If it were, guess what, it would have been challenged successfully in the courts some time in the last many decades it’s been going on.

                                            1. 2

                                              Yes, that was definitely racist. It was also what, 75 years ago? What does it have to do with the current situation?

                                              History gives us tools to explain current events. Sure, the Tuskegee experiments were a long time ago, as were Jim Crow, the Trail of Tears, the 3/5 compromise, and “40 acres and a mule”, but they happened and we can’t just hand-wave them away because they didn’t happen in our lifetime. The world didn’t begin on the day that we were born.

                                              1. 2

                                                we can’t just hand-wave them away because they didn’t happen in our lifetime

                                                Nobody is saying they didn’t happen. What I’m saying is that mentioning them in the same comment that mentions other things you think are bad doesn’t automatically make those other things bad. You haven’t given any actual connection between the bad things of the past and the things of the present. You haven’t explained how the trail of tears existing somehow makes ICE camps “concentration camps”.

                                                1. 2

                                                  I explained that “concentration camp” is synonymous with ethnically-motivated internment. Internment without due process is not just a violation of human rights, but it is illegal in the USA due to the concept of habeas corpus. Follow my links in my original comment for more details.

                                                  Japanese-Americans were interred during the Second World War because they were suspected of being politically aligned with their country of origin, with whom we were at war. Mexicans, Hondurans, Guatemalans, and Salvadoreans are being interred today because they are suspected of being members of violent gangs, drug-runners, or criminals. These policies are rooted in similar racist beliefs.

                                                  Court challenges to the executive’s position already exist. Here is a summary of the situation. While some challenges have succeeded, not all have, and they have been brought not by those detained, but by those with sufficient freedom to make such challenges. You see (and I must say this, because I don’t believe that you have firsthand experience with the USA’s legal system), once somebody starts to lose their freedoms under the custodianship of the government, those freedoms become incredibly difficult to reestablish. Worse, when challenges have succeeded, the executive often has no idea how to undo what it has done and make whole what has been ripped apart.

                                                  The connection between the past and the present is in the people and the culture and the country. Americans haven’t changed that much in a century. The same horrible rhetoric is spit from the same disgusting political positions, the police are still killing minorities in the streets, recreational drugs are still illegal, and socialism is seen as a great danger to our way of life. The main difference is that we can’t go to Cuba these days, although we nearly got a reversal on that one.

                                                  1. 3

                                                    I explained that “concentration camp” is synonymous with ethnically-motivated internment.

                                                    I think you’re confusing ‘explained’ with ‘stated’. It in fact is not synonymous. The Nazi concentration camps would still have been concentration camps if they had “only” sent disabled people, gay people, intellectuals and communists. Even then, the ICE camps are not ethnically-motivated. It doesn’t matter what your ethnicity is. Ethnicity doesn’t afford a right to enter the United States, nor does it take one away.

                                                    Internment without due process is not just a violation of human rights, but it is illegal in the USA due to the concept of habeas corpus. Follow my links in my original comment for more details.

                                                    It’s not ‘internment without due process’. The link in your original comment is to the Wikipedia article about habeus corpus. I’m not sure why you’d link me to that article, I already know what habeus corpus is. You haven’t actually explained how or why it applies to this situation, though. What about the internment of illegal immigrants is unlawful? I assume you’d rather they just sent them back across the border immediately, even if their refugee applications are pending?

                                                    Japanese-Americans were interred during the Second World War because they were suspected of being politically aligned with their country of origin, with whom we were at war. Mexicans, Hondurans, Guatemalans, and Salvadoreans are being interred today because they are suspected of being members of violent gangs, drug-runners, or criminals. These policies are rooted in similar racist beliefs.

                                                    No they are not. People illegally entering the United States through its southern border are being interred today because they’re breaking the law by doing so and have no right to be in the United States. Interring legal residents and citizens on the basis of their ethnicity is abhorrent. Interring illegal migrants on the basis of their lack of a right to be in your country is obviously not the same thing.

                                                    Court challenges to the executive’s position already exist. Here is a summary of the situation.

                                                    That’s specifically about family separation, which was ended as a policy almost two years ago and is not actually the topic of our conversation. You’re alleging that ICE camps are concentration camps, which is a separate issue from family separation policies.

                                                    I’m not sure, by the way, why you think that children should be put in cells with adults they happened to have crossed the border with but who can provide no evidence they’re actually their parents.

                                                    The connection between the past and the present is in the people and the culture and the country. Americans haven’t changed that much in a century. The same horrible rhetoric is spit from the same disgusting political positions, the police are still killing minorities in the streets, recreational drugs are still illegal, and socialism is seen as a great danger to our way of life.

                                                    Ah, I see! Cannabis is illegal therefore camps for housing illegal migrants while they await deportation are the moral equivalent of Nazi death camps. Gotcha! I didn’t understand why ‘gassing people on the basis of their ethnoreligious identity’ and ‘interring people while they are waiting to be deported’ were morally equivalent until now, but it must be because cannabis is illegal. That makes a lot of sense.

                                        1. 10

                                          I don’t know if I found it myself or just sufficiently internalized it, but: always discard your prototypes. A prototype is more about the lessons than the result - it’s more work to try and massage a prototype into a production-quality program than it is to just start again with the knowledge you now have.

                                          Oh, and it doesn’t really work if you’re being paid, but: if you get stuck, give up. Dozens of times recently I’ve wracked my brain for an hour before shutting down and walking off and then figuring out the perfect solution. L’esprit de l’escalier, but in code, I guess.

                                          1. 6

                                            I agree about the second point but I prefer to call it “pausing” rather than “giving up.” It helps to have more than one thing to work on, so you can switch to your other project for a while to give your subconscious a little time to chew on the problem.

                                            1. 2

                                              I never understood that sentiment. I have thrown away quite a lot of code in my life, but every time it was because the prototype shown that the initial idea was fundamentally wrong. If the algorithms and program design are fundamentally correct, the code will still need extending and refactoring before it goes to production, but that’s a normal development process.

                                              If kind of issues in your prototypes warrant a rewrite from scratch?

                                              1. 2

                                                You’re right, “prototype” isn’t quite the right term. Maybe more like proof-of-concept, where the aim is to just show that it can be done without knowing from the start that it can, but I’ll still keep calling it a prototype for now.

                                                The main issue is usually that a decent chunk of the code is exploratory, written by someone (e.g. me two weeks prior) who has no idea of the problems that have yet to be solved. The end result is full of special-case conditions and corner-case bugs, and pretty much inextensible. At least, that’s my experience with my own projects and with prototypes I’ve been handed and told “here, I’ve done 80%, now you just finish the other [80%]”.

                                                Of course, if you do get everything right first try, great! But that’s probably because you thought you needed to write a prototype when you actually knew everything you needed to just start writing the first version. That’s why the kind of prototype I’m thinking of is more about the lessons - if you got everything right, you didn’t learn anything, and you didn’t make any mistakes you need to throw away, so you were just writing normal (production) code.

                                                There’s probably a skill there, though, in not overestimating yourself and assuming you’re not writing a prototype, and that’s why I’ll scrap any new code where I think “this works, but now I could do a better job in a fraction of the time”.

                                            1. 6

                                              Saturday I’m heading up to New Hampshire to learn about motorcycle suspension.

                                              1. 2

                                                Did you ever read Trevitt’s book?

                                              1. 3

                                                I set up a pihole instance at work a couple of years ago and except for having to whitelist a few domains it worked great!

                                                  1. 4

                                                    I broke my right clavicle in a motorcycle crash about 4 weeks ago so I’m going to try to shoot clay pigeons left-handed. I expect to make a lot of noise with very little result, but it should be fun!