1. It is partly because the typical metrics used for software development in big corporations (e.g., test coverage, cyclomatic complexity, etc) are such a snake oil. They are constantly misused and/or misinterpreted by management and because of that cause developers a lot of frustration.
2. Some developers see their craft as a form of art, or at least an activity for "expressing themselves" in an almost literary way. You can laugh at this, but I think it is a very humane way of thinking. We want to feel a deeper meaning and purpose in what we do. Antirez of redis fame have expressed something like this. [0]
3. Many of these programmers are working with games and graphics and they have a very distinct metric: FPS.
1. Totally agree that the field of software metrics is dominated by clueless or outright bad actors. I can say with complete certainty that I do not know the right way to measure software quality. All I know is that quality is handled as a metric in most hardware companies, not an abstract concept. When it’s talked about as such an ephemeral thing by software people, it strikes me as a bit disconnected to reality. (If I was going to try, I’d probably shoot for bugs per release version, or time from first spec to feature release.)
2. With respect: that’s a bit of an exceptionalist mindset. There’s nothing precious about software’s value to a business. It’s a vehicle to make money. That’s not to say craft isn’t important - it is, and it has tangible impacts to work. The point I’m making is that: my boss would laugh me out of the room if I told him “You can’t measure the quality of my electronics designs or my delivery process; it’s art.”
3. I’ve never heard of FPS but I’m very interested in learning more. Thanks for sharing the link.
Edit: oh ok duh yeah of course you could measure the frame rate of your graphics stack and get a metric for code quality. D’oh. Whoops. XD
> The point I’m making is that: my boss would laugh me out of the room if I told him “You can’t measure the quality of my electronics designs or my delivery process; it’s art.”
You can find some kind of objective metric, e.g. bug count or time spent developing new features. That alone is super hard to get right, but even if you could, it wouldn't necessarily tell you which techniques lead to a better result. People have tried studying such things (e.g. do static types help) and the studies rarely come up with any effect.
I don't think that's necessarily because these things don't have an individual effect, but because there are humans involved and so, personal ways of thinking probably play an outsized role, so technique X might be a very good fit for person A, but not for person B.
Whatever the reasons are, decent countries should not fall for the temptation to launch embarrassing campaigns to rise the fertility rate. That is what totalitarian countries do. And all these campaigns seem to fail anyway. Sure, low fertility rates (if they prevails) will cause disturbances on society, but then societies must adapt.
Entire generations of women have been told that it's not OK to have children unless you're in a stable relationship and can afford them, which requires waiting.
Are you really going to run the "we need more eighteen year olds to be welfare mothers" campaign?
Humans are unusual: we live long enough to be grandparents. It is suspected that this is because we evolved for them to be an important part of raising the next generation.
Working with the grain on this rather than against it, it wouldn't matter that new parents were kinda noobs at adult life, so long as they were actually adults.
Yes, I read that some scientists believe that the reason women go through menopause and can longer have kids, and also lose their ability to attract male attention (relative to younger) is so they can focus on grand kids
The problem is that human being used to live in family clans, and the western state institutions deliberately pushed the nuclear family as family clans were powerful.
And then as cities became popular for jobs, kids moved away from family.
And presently the parents buy a house and raise kids, but with ever increasing house prices and gentrification many can't afford to then live down the street from their parents.
Me and the wife had our only child past the age of 40. Only then our finances were in order that we could properly raise a child, to our own acceptable definition of "properly".
Life sucks in the best of times. I was not going to bring a human to the world so she would suffer, replacement levels be damned.
If I was unable to give my daughter a comfortable life, I would rather have no child.
I think many people would agree with this sentiment. If we want more people to have children in early adulthood, we need a major social upheaval so that people can achieve financial stability earlier in life.
Most people that seem overly concerned with fertility and population replacement, also happen to consistently vote against any policy that could nudge things in a direction where people would be able to achieve financial stability earlier in life.
Kids don't care about a comfortable life, as long as they are loved and supported.
I've worked with Devs in the west who came from tiny rural villages in India, and with love and support got into the leading universities in India and did well.
Lots of middle class western kids get screwed up, despite 'having everything'.
Money, a bedroom not shared with a sibling and so on do not matter to a child.
I remember this blog! It was posting diary entries 70 years after they were written. This was a good time in the history of Internet and the diary/blog ended at the dawn of the golden era of the "blogosphere".
George/Eric paid a lot of attention to how many eggs his hens laid. It almost became somewhat of a joke in the comments. But good content!
I really understand your frustration. Everyone developing in Python for a long time has felt it a bit too often when breaking changes (even between minor version updates) once again ruins the day.
But I also understand that the world is not perfect. We all need to prioritize all the time. As they write in the rationale: "The team has limited resources, reduced maintenance cost frees development time for other improvements". And the cgi module is apparently even unmaintained.
I guess a "batteries included" philosophy sooner or later is caught up by reality.
What do you mean by "character assassination" carried out against Tim Peters? Not anything in the linked article I presume?
Alright. Another case when "code of conducts" trumps manners or actually being a grownup. It really is a shame. Happened to a friend of mine on a rather big technical mailing list just for arguing for something that some people disagreed to. It would be nice to get back to a system based on manners and respect. That system worked for years.
Maintenance costs... that only exists because other parts of Python do not keep a stable and backwards compatible API? Same problem as everywhere else, but particularly silly when there are different parts of the same organization that is ruining it for each other internally. Not that I think it is ever defensible. A small cost-saving in one place that is causing more extra work in many other places.
They have limited resources because the inner circle chased away most active people in order to secure their own corporate positions (which hilariously failed since companies caught on and fired some of them anyway).
So the remaining people periodically launch some deprecation PEPs or other bureaucratic things in order to give the appearance of active development.
Python is for everyone, not just the PSF Cabal. Like the Democratic party, there is a huge need for new leadership. We have all seen what a little brigading can do.
> Everyone developing in Python for a long time has felt it a bit too often when breaking changes (even between minor version updates) once again ruins the day
No, not everyone. I've been using Python as my primary language since 2000 (that's 1.5.2 days). It has been the least troublesome language that I work with, and I work with (or have worked with) a bunch (shell, perl, python, ruby, lua, tcl, c, objective-c, swift, java, javascript, groovy, go and probably others I'm forgetting).
Even all the complaints about the Python packaging ecosystem over the years... I just don't get it. Like, have you ever tried working with CPAN or Maven or Gradle or even, FFS, Ruby Gems/bundler? The Python virtual environment concept is easy to understand and pip mostly does its job just fine, and these days, uv makes all that even faster and easier.
Anywho, just dropping a contrarian comment here because maybe I'm part of the generally silent majority that is just able to use Python day in and day out to get their job done.
> There are only two kinds of languages: the ones people complain about and the ones nobody uses. --Bjarne Stroustrup
I've used CPAN, Maven, gem, and bundler, so I'm also always a little puzzled when people complain about Python's packaging system. However, I've also used npm, so I can kind of understand it.
Python was great in 02000, but some of the things that made it great then are gone now. Stability was one of those; simplicity another; reasonable performance a third; but the biggest issue is really social rather than technical. And I feel like we have alternatives now that we didn't have then.
A long time ago I was working in a big project where the PLs came up with the most horrible metric I've ever seen. They made a big handwritten list, visible for the whole team, where they marked for each individual developer how many bugs they had fixed and how many bugs they had caused.
I couldn't believe my eyes. I was working in my own project beside this team with the list, so thankfully I was left out of the whole disaster.
A guy I knew wasn't that lucky. I saw how he suffered from this harmful list. Then I told him a story about the Danish film director Lars von Trier I recently had heard. von Trier was going to be chosen to appear in a "canon" list of important Danish artists that the goverment was responsible for. He then made a short film where he took the Danish flag (red with a white cross) and cut out the white lines and stitched it together again, forming a red communist flag. von Trier was immediately made persona non grata and removed from the "canon".
Later that day my friend approached the bugs caused/fixed list, cut out his own line, taped it together and put it on the wall again. I never forget how a PL came in the room later, stood and gazed at the list for a long time before he realized what had happened. "Did you do this?" he asked my friend. "Yes", he answered. "Why?", said the PL. "I don't want to be part of that list", he answered. The next day the list was gone.
The danish flag is a white cross on a red background. If you cut out the white cross, you will be left with four rectangles of red, which can be pushed together and sewn up again, forming a solid red flag
This is true, but only if you try to achieve the exact workflow that Office 365 offers. Maybe it is time to try to be a bit more subversive. Do we really need everything that Office can do? Is Microsoft's abstraction of office work really the holy grail of modern office work or is it causing "empty work"?
This is an important point but often it's existing docs and files that cause the most grief, with subtle issues like differences in font rendering or line spacing.
For example, I wanted to make a simple change to a Word doc in Libre Office that included a side bar/column of text in a fixed size table on multiple pages. In Word the layout looked great.
Unfortunately due to font subtleties, in Libre Office the side texts overflowed the tables and the last sentences were cropped. It took some fiddling to make things fit and look as good as the original, but in the process I had to make the font smaller which lost some clarity. I did play with line spacing but that got fiddly.
In summary, a 5 second edit of an existing document laid out 'just so' perhaps 5 yr ago ended up becoming 20 minutes of hassle.
New docs could be laid out better and differently to make future edits easy, but that ignores the large legacy of existing stuff that many will have.
They were hooked until the end. It was quite late for them, but school vacation so I didn't push them to bed.
I didn't know the story going in.
At least if I was their age, I wouldn't have reacted to the end. I didn't become sensitive to tragedy until I was in my 20s, except that I cried when I read Bridge to Terabithia when I was 10 or 11.
1. It is partly because the typical metrics used for software development in big corporations (e.g., test coverage, cyclomatic complexity, etc) are such a snake oil. They are constantly misused and/or misinterpreted by management and because of that cause developers a lot of frustration.
2. Some developers see their craft as a form of art, or at least an activity for "expressing themselves" in an almost literary way. You can laugh at this, but I think it is a very humane way of thinking. We want to feel a deeper meaning and purpose in what we do. Antirez of redis fame have expressed something like this. [0]
3. Many of these programmers are working with games and graphics and they have a very distinct metric: FPS.
[0] https://blog.brachiosoft.com/en/posts/redis/