News for hackers. Stuff that matters.

DSpinellis

Re:Thinking will become a hobby on Tuesday October 13, 2026 @05:21AM (#50068914)
Same here. I used to hit back LLMs with refactoring ideas and prompts to use better APIs or reduce duplication / increase abstraction. Ever more they're doing such things without being asked.
Re:Thinking will become a hobby on Tuesday October 13, 2026 @05:09AM (#50068800)
We stopped learning how to calculate the square root with pencil and paper (I learned that; never used it).
Re:Thinking will become a hobby on Tuesday October 13, 2026 @04:36AM (#50068525)
There has been a dramatic shift in the role of agriculture in the US economy. As a share of it, in 1820 72% of workers were in agriculture, in 2017 this had shrunk to 1.6%. Tractors played a big role in this transition.
Re:Why reviewing AI-generated code is devilishly hard on Sunday May 24, 2026 @04:30AM (#48255596)
Given that AI-generated code is not 100% perfect, we need to take into account the time and cost of reviewing when we discuss the productivity boost AI developers receive from code.
Re:A Repository with 44 Years of Unix Evolution on Friday November 28, 2025 @12:36PM (#46080789)
I convinced a software company to use a version control system (RCS on shared disk) back in 1993. To make it work we had to setup a network — Ethernet over (thin) coaxial cable at the time. This was so new to us that we didn't know we needed to use terminators on the two cable ends.
Re:A Repository with 44 Years of Unix Evolution on Friday November 28, 2025 @12:06PM (#46080482)
Indeed! The repo includes some v4 elements: https://github.com/dspinellis/unix-history-repo/tree/Researc...

The provided kernel predates the actual edition by a few months. It is based on https://www.tuhs.org/Archive/Distributions/Research/Dennis_v..., which matches V4 more than V3.

Re:A Repository with 44 Years of Unix Evolution on Friday November 28, 2025 @09:40AM (#46079044)
I don't think the concept of a rebase existed before Bitbucker and Git.
Re:A Repository with 44 Years of Unix Evolution on Friday November 28, 2025 @08:24AM (#46078423)
30 years ago (1995) open source offerings: mostly CVS for large projects and RCS for smaller ones. On the proprietary side, the aged SCCS was available and used, while Perforce and Microsoft Visual Source Safe were being launched.
Re:A Repository with 44 Years of Unix Evolution on Friday November 28, 2025 @06:55AM (#46077848)
I published an updated extension of this post's linked article in Empirical Software Engineering. You can read it without a paywall at https://rdcu.be/b7FzE. You may also be interested to see the actual GitHub repository at https://github.com/dspinellis/unix-history-repo.
Re:dgsh – Directed Graph Shell on Tuesday September 30, 2025 @04:24PM (#45430767)
That's the point: non-dependant tasks can run concurrently in Airflow. In sh/BAsh/dgsh dependant tasks can also run concurrently, as in tar cf - . | xz.
Re:dgsh – Directed Graph Shell on Tuesday September 30, 2025 @04:22PM (#45430745)
A nicer syntax and a lower probability of deadlocks.
Re:dgsh – Directed Graph Shell on Tuesday September 30, 2025 @04:20PM (#45430719)
And, more importantly, assign a name to a process, so that it can appear multiple times in the graph.
Re:dgsh – Directed Graph Shell on Tuesday September 30, 2025 @02:55PM (#45429629)
Admiring your multi-tasking!
Re:dgsh – Directed Graph Shell on Tuesday September 30, 2025 @02:31PM (#45429295)
I'm curious: what do you mean by "dgsh will use iteration under the hood too"? Dgsh does several things under the hood, but I wouldn't characterize any of them as iteration.
Re:dgsh – Directed Graph Shell on Tuesday September 30, 2025 @02:01PM (#45428898)
Manually playing around with fds is definitely unmaintainable. My hope is that a clean syntax can help create maintainable complex pipelines.
Re:dgsh – Directed Graph Shell on Tuesday September 30, 2025 @01:59PM (#45428864)
Thank you for the suggestion. This would mean that you'd also then create some mapping from each name (like git_log) to its implementation, right?
Re:dgsh – Directed Graph Shell on Tuesday September 30, 2025 @01:29PM (#45428446)
Nice benchmark! This is a (not at all efficient) awk one-liner.

awk -F\; ' $2 > max[$1] { max[$1] = $2 } !($1 in min) || $2 < min[$1] { min[$1] = $2 } { sum[$1] += $2; count[$1]++} END { for (n in sum) printf("%s=%.1f/%.1f/%.1f, ", n, min[n], sum[n] / count[n], max[n])}'

Can't see how dgsh could be applied to it.

Re:dgsh – Directed Graph Shell on Tuesday September 30, 2025 @01:10PM (#45428189)
I've found creating pipelines with Python to be messy and intuitive. Other than creating a DSL to express them I can't see how DAGs can be expressed naturally with Python's syntax.

Even creating tools in Python that can be connected together in a Unix shell pipeline isn't trivial. By default if a downstream program stops processing Python's output you get an unsightly broken pipe exception, so you need to execute signal.signal(signal.SIGPIPE, signal.SIG_DFL) to avoid this.

Re:dgsh – Directed Graph Shell on Tuesday September 30, 2025 @01:06PM (#45428138)
I went through two iterations before adopting the current syntax. Truth is neither me nor Doug McIlroy, the inventor of Unix pipes, who kindly and generously provided feedback during dgsh's development, had something better to propose.

What syntax would you propose?

Re:dgsh – Directed Graph Shell on Tuesday September 30, 2025 @12:59PM (#45428060)
Author of dgsh here. This is definitely not what I had in mind.
Re:dgsh – Directed Graph Shell on Tuesday September 30, 2025 @12:58PM (#45428049)
Apache Airflow solves a very different problem. Its DAGs are static dependencies between sequentially executed processing steps, whereas the DAGs of dgsh express live direct data flows.
Fifty years ago Marc Rochkind wrote SCCS, the first version control system, which later inspired RCS, CVS, and Git. In the March issue of the IEEE Transactions on Software Engineering he provides a retrospective of SCCS: its innovations, its problems, and how subsequent systems improved on it.

Older »