Perhaps it would be even nicer if the "advent" theme was more prominently present, e.g. using the Bible as
the target data file to be used.
Here's three examples tasks from me:
(1) Write an sh script (using only POSIX standard commands) to create a Keywords in Context (KWIC) concordance of the new testament.
(2) Write a bash script that uses grep with regular expressions to extracts all literal quotes of what Jesus said in the New Testament.
[Incidentally, doing this task manually marked the beginnings of philology and later automating it marked the beginning of what was later called literary and linguistic computing, corpus linguistics, computational linguistics, and digital humanities.]
(3) How many times is Jesus mentioned by each of the four accounts of his life (Matthew, Mark, Luke, and John)?
(You may begin by extracting the New Testament from the end of the Bible with a grep command.)
Respectfully, many would find that off-putting. "Advent of X" in tech is entirely decoupled from religion. Keeping it neutral seems to me the "nicest" approach. That said, something like what you described might be a cool exercise for your bible study group. Finally, I appreciated your "incidentally" aside about the origins of philology.
Yes, but bureaucracies make this impossible. If you have worked at a bank before, you'll know how difficult it is to make a change to some in-house piece of software. And that's a bank, not a gov't institution. Think how much more friction there will be in the latter.
At a certain size (and government departments are absolutely large enough) it makes sense to manage software deployment centrally, from an internal package repository/cache.
Once that’s in place, the process for populating that repository can easily adopt locally modified versions of upstream software: defaults changed, bugs removed, features added, etc.
No one in a big business/government blinks at changing group policies for internal deployment. Changing the code is really very little different once the ability to do so is internalized.
The culture can only change when it actually becomes possible to make any changes to the systems.
If all the software one institution uses comes in the form of proprietary binaries, there is simply no need to even think about making policies about fixing those systems in-house.
These institutions don’t bother making fixes where they can, so it seems unlikely that giving them more options will change much. Ironically, things like windows auto-update being the default probably actually help their IT departments maintain some level of security
Yeah and it is better. Most things can be updated without a reboot and even for the kernel, you can either live-patch it (not always possible) or reboot only the kernel.
I wonder if it is in fact easier in a German region than a bank though. A bank has massive compliance complications, where the state insists on rules being met, so their are teams of people trying to make sure no rules being broken, and therefore anti-change. Germany is a Federal system, and the region has law making powers, a bit like a US state. Therefore it can set the rules to make sure migration to a new system happens. If big fixes are not allowed, they have themselves to blame. At a bank it is the state causing the friction.
- has designed the Mezzo programming language in his Ph.D. thesis and
- has worked on generating user-friendly C automatically. Most tools that generate C output pretty unreadable/unmaintainable code that you won't like to maintain, so this is a much under-researched topic.
I met RMS at a lunch in his honor at an Edinburgh vegetarian restaurant with very high ranking scholars/academics present, after an invited talk of his. Everyone was talking, eating, drinking and having a good time, whereas he was sitting at the head of the table doing email on his ThinkPad (yes, in text mode).
So I walked up, I introduced myself and asked a question about the freedom of _data_ versus the freedom of _software_, and without looking up to me he said "I don't do smalltalk". So I got back to my seat and told my "story" to my immediate neighbors, who were keen to learn what he'd said.
I totally get it. If I were famous I probably would do that all the time (fortunately I am not). I don't hate people, I just don't need to always talk to them. Sometimes I just don't want to talk to people, especially ones I don't know. I'd rather... well, do anything else, but by myself. Sometimes I am OK to talk to other people, but it's my choice, not one of a random person. Email is much better because you can choose when you send the mail, when you read the mail, and you don't have to perform on demand (for an introvert, social interaction is hard work).
When you do this, you get his "rider". Google it, it's real, it's infamous for the "don't buy me a parrot" section.
Anyway, in that, he makes clear that if people at dinner are not interested in talking about free software, he's going to pull out his laptop and get on with his work relating to free software.
He doesn't care about fancy food, drinks, etc. - he wants to raise money for free software, and work on free software. He did this in a restaurant when three others of us were chatting about something else, and we all just accepted that's what he does, and that's him. It was fine.
If you're not familiar with him or this, then it's going to be a weird experience.
He also struggles with social interactions in my limited experience, particularly when it's a "fan boy" interaction.
I've seen him not being super nice to other people who were trying to have a conversation with him, not because he's not a nice person (I found him quite personable one on one), but it seems to me that he struggles to know how to behave around people who don't know how to just talk to him about things he wants to talk about.
I once saw him in the audience of a conference with quite a notable set of speakers [0], and I can't remember who it was who he started hectoring in the Q&A (I mean, look at the speaker list, whoever it was, it's somebody you've probably heard of), but he just diverted it into a little lesson about free software for the speaker and everyone else listening. It's the only thing he cares about talking about. It's either a super-power focus, or really annoying. I personally think at this point you just either need to meet him where he is, or avoid him if you don't want to. He's not going to change.
I'm glad I met him, I'm glad he does what he does, I know he's a little spikier than others around him and I'm OK with that. I also know plenty of people who never want to speak to him ever again and think free software needs a new figurehead.
> I've seen him not being super nice to other people who were trying to have a conversation with him, not because he's not a nice person (I found him quite personable one on one), but it seems to me that he struggles to know how to behave around people who don't know how to just talk to him about things he wants to talk about.
I'd argue that while he may be nice, it's also generally considered impolite to be someone who "only talks to him about the things he wants to talk about". It's meant to be a two-way street, generally. Someone who only wants to talk about what -they- are interested in, not what their conversation partner is interested in is not being nice or polite.
You don't owe random strangers your time, and it's so strange to me that people feel so entitled to other peoples time. Can also be argued that it's rude to engage a person on a topic they're not interested in.
I do, to an extent, agree. But I also think it's impolite to have relationships where "we're going to talk about what I want to talk about, but when we go to talk about what you want to talk about I'm just going to pick up my laptop and ignore you or tell you I don't want to".
You could argue, in your description, the same about RMS - he might feel entitled to someone's time to talk about free software.
There is no relationship if you're never going to see these people again. My time is my most precious resource, and I'm not obligated to give it away because someone thinks their initiation of a conversation needs to be reciprocated.
RMS set boundaries and that's perfectly reasonable.
I have met few famous devs and eventually it seems most turn like that.
One explained me that they are bombarded non-stop by people for years and years and at the end they'd rather be mean than "waste" their time on the rare chance of having a meaningful interaction.
The overwhelming majority of their interaction ends up with people asking them for opinions about their projects, collaborations, etc, and it gets so tiring that they statistically prefer to lose the chance of having a nice meaningful interaction rather than take the chance of yet another waste of time.
I know it's mean, but I get it.
Not saying they are all like that, just saying it's quite common among famous developers, they are bombarded non stop by people wanting to chat.
The problem is that re-defining definitions brings in chaos and inconsitency in science and publications.
Redefining what a "planet" (science) is or a "line" (mathematics) may be useful but after such a speech act
creates ambiguity for each mention of either term -- namely,
whether the old or new definition was meant.
Additionally, different people use their own personal definition for things, each contradicting with each other.
A better way would be to use concept identifiers made up of the actual words followed by a numeric ID that indicates author and definition version number, and re-definitions would lead to only those being in use from that point in time onwards ("moon-9634", "planet-349", "line-0", "triangle-23").
Versioning is a good thing, and disambiguating words that name different concepts via precise notation is also a good thing where that matters (e.g., in the sciences).
A first approach in that direction is WordNet, but outside of science (people tried to disentangle different senses of the same words and assign unique numbers to each).
Write a short memo that saying you are very concerned, and describe a range of things that may happen (from "not much" over medium to maximum scare - lawsuits, brand/customer trust destroyed etc.).
Email the memo to a decision maker with the important flag on and CC: another person as a witness.
If you have been saying it for a long time and nobody has taken any action, you may use the word "escalation" as part of the subject line.
If things hit the fan, it will also make sure that what drops from the fan falls on the right people, and not on you.
From the report, it sounds like a good thing, for the product and the team morale.
Strangely the math looks such that they could hire nearly 1 FTE engineer that works full time only on "little issues" (40 weeks, given that people have vacations and public holidays and sick time that's a full year's work at 100%), and then the small issues could be addressed immediately, modulo the good vibes created by dedicating the whole group to one cause for one week. Of course nobody would approve that role...
The unkind world we live in would see this role being abused quickly and a person not lasting long in this role. For one, in the wrong team, it might lead to devs just doing 80% of the work and leaving the rest to the janitor. And the janitor might get fed up with having to fix the buggy code of their colleagues.
I wonder if the janitor role could be rotated weekly or so? Then everyone could also reap the benefits of this role too, I can imagine this being a good thing for anyone in terms of motivation. Fixing stuff triggers a different positive response than building stuff
I've had on-call roles where the idea was that in your spare time you worked on bug fixes (specifically the ones causing the most on-call noise).
Unfortunately, that on-call was so overwhelmed that you were lucky to be able to handle all the alerts/crises, let alone having spare time to fix the root causes.
There are also some charities that ship old PCs to Africa, install a small Linux distro on them, e.g.:
https://www.computers4charity.org/computers-for-africa
https://worldcomputerexchange.org/
reply