Sign in

Diomidis Spinellis

@coolsweng.bsky.social
754 followers 124 following 91 posts

Professor of software engineering at AUEB and software analytics at TU Delft, programmer, technology author. www.spinellis.gr (Tech tweets here. Follow @DSpinellis for Greek/Greece tweets.)

PostsRepliesMedia
Diomidis Spinellis @coolsweng.bsky.social · 04/09/2026
Human developers still highly relevant! It took me six days to fix a subtle but critical bug. The issue's and fix's complexity make me think AI couldn't possibly handle it. If you want to prove otherwise though your prompting, access, and credits to a frontier model, drop me an email.
040
Diomidis Spinellis @coolsweng.bsky.social · 29/08/2026
Extracting information to aid debugging (here a binary tournament merge failure) can often be productively automated with Unix command-line tools. awk '$4 == "BEGIN" && $8 { print $8 " -> " $7}' file.log | dot -Tsvg >diagram.svg
Failed binary tournament merge
010
Diomidis Spinellis @coolsweng.bsky.social · 19/08/2026
The rg (ripgrep) command, popularized by #Codex, violates so many tenets of the Unix philosophy it makes me want to cry. Its added functionality could be a “find … | grep … | xargs grep …” shell script. Its implementation effort should have focused just into making grep faster at its original job.
en.wikipedia.org
Unix philosophy - Wikipedia
041
Diomidis Spinellis @coolsweng.bsky.social · 18/08/2026
Many prestigious scientific venues have suffered from papers containing hallucinated citations. We can throw tools at the problem (I provide an example) but I think it's more important to fix its root cause. www.spinellis.gr/blog/2026081...
041
Diomidis Spinellis @coolsweng.bsky.social · 12/08/2026
Apart from confidentiality concerns, another risk of reviewing papers with GenAI is hallucinations. Here are two examples from ChatGPT's (5.6 Sol) review of my own work with *a given PDF*. It took me several minutes to uncover each, so a long AI-generated review could take hours to verify.
010
Diomidis Spinellis @coolsweng.bsky.social · 03/08/2026
According to today's FT, “Wall Street learns to love blockchain”. But the article provides only a very fuzzy picture of the technology. To help, I summarized the absolute essentials of blockchain technology in fewer than 500 simple words at www.spinellis.gr/blog/2026080...
spinellis.gr
blog dds: 2026-08-03 — Blockchain technology in 500 simple words
000
Diomidis Spinellis @coolsweng.bsky.social · 15/07/2026
For decades the accepted management wisdom has been for managers to delegate tasks and for organizations to outsource activities that aren’t core to their operations. Here's my take on how AI agents enter the picture of delegation and outsourcing. www.spinellis.gr/blog/2026071...
122
Diomidis Spinellis @coolsweng.bsky.social · 08/07/2026
Over the past few days I used #OpenAI #Codex to perform a fairly extensive and demanding software code change. Here you can find all my 78 prompts documented and classified, and, based on them, my take on the role of experts in the age of agentic AI. www.spinellis.gr/blog/2026070...
spinellis.gr
blog dds: 2026-07-08 — Why agentic AI needs better experts
051
Diomidis Spinellis @coolsweng.bsky.social · 03/07/2026
Artificial intelligence seems to be increasingly matched with marketing stupidity.
Suggestion to use AI summarization on a document containing an abstract.
042
Diomidis Spinellis @coolsweng.bsky.social · 02/07/2026
Properly documenting AI-generated code commits is essential in both industry and education. Here is my proposal for a suitable set of Git commit headers. www.spinellis.gr/blog/2026070...
010
Diomidis Spinellis @coolsweng.bsky.social · 30/06/2026
This is the pocket computer-history museum I use for introductory presentations: 7AK7 computer vacuum tube, metal-can transistor, SSI chip, exposed EPROM and CPU chip, RAM / SSD storage and RPi zero. Demoed it yesterday to high-school students in YES, our Youth Entrepreneurship Seminar. yes.aueb.gr
020
Diomidis Spinellis @coolsweng.bsky.social · 27/06/2026
What a time to live in! We're discussing about AI recursive self-improvement and AGI. And we're also managing IT systems with cryptic tags and by adding "000_" to first names so that they appear on top of the list. (The list is from icse2027.hotcrp.com/users/pc)
010
Diomidis Spinellis @coolsweng.bsky.social · 27/06/2026
A recent report on falsely-attributed research papers www.jmir.org/2026/1/e104934 and a commentary on it www.luxuriousmagazine.com/false-author... paint a bleak picture. Here are the @erictopol.bsky.social incident retractionwatch.com/2026/04/23/e... and my case study doi.org/10.1186/s410....
Digital human in a classroom
120
Diomidis Spinellis @coolsweng.bsky.social · 23/05/2026
Have you noticed that reviewing AI-generated code is devilishly hard? Cognitive psychology and the workings of large language models give us four clues on why this happens. Read more at www.spinellis.gr/blog/2026052...
095
Diomidis Spinellis @coolsweng.bsky.social · 16/05/2026
Highly ironic that a published peer-reviewed journal article on AI hallucinations and the trust crisis in artificial intelligence contains (probably AI-generated) orphan in-text citations. doi.org/10.1016/j.te...
doi.org
Redirecting
022
Diomidis Spinellis @coolsweng.bsky.social · 12/05/2026
Can you see the image smudges? I thought that my screen was dirty, but it turns out that the smudges are part of the Microsoft Office toolbar (visible in Word, Excel PowerPoint). Can't imagine what development process and bloat resulted in what looks like freehand drawing being part of it. Ideas?
010
Diomidis Spinellis @coolsweng.bsky.social · 07/05/2026
Today we launch a new run of the popular and award-winning MOOC on the use of Unix Tools for data, software and production engineering. This year follow the course to improve your understanding of AI Agents' actions and your interaction with them. More information at www.spinellis.gr/unix/?utm=bs...
011
Diomidis Spinellis @coolsweng.bsky.social · 13/04/2026
Generative AI upends the goals and nature of empirical software research. Here are my notes from Emerson Murphy-Hill's MSR's keynote talk on the topic. www.spinellis.gr/blog/2026041...
030
Diomidis Spinellis @coolsweng.bsky.social · 02/03/2026
Vibe coding toward the incident horizon We are living through a golden age of generative AI: a time when progress is both breathtaking and somehow still unable to reliably open a PDF without hallucinating the author’s middle name. […] Read the complete text at www.spinellis.gr/blog/2026030...
spinellis.gr
blog dds: 2026-03-02 — Vibe coding toward the incident horizon
030
Diomidis Spinellis @coolsweng.bsky.social · 02/02/2026
The video of my #FOSDEM 2026 talk on integrating the Fourth Research Edition Unix tape into the GitHub Unix history repository is now available online: ftp.belnet.be/mirror/FOSDE...
083
Diomidis Spinellis @coolsweng.bsky.social · 23/12/2025
Several news outlets reported the amazing discovery of a 1970s Fourth Edition Research Unix magnetic tape. I incorporated the tape’s source code into the Unix History Repository hosted on GitHub and studied the code’s composition. Here's what I found. www.spinellis.gr/blog/2025122...
The discovered Fourth Edition tape (photo credit Rob Ricci)
0188
Diomidis Spinellis @coolsweng.bsky.social · 04/12/2025
The LaTeX Korrektor: A funny video series addressing serious LaTeX style infractions. Andreas Zeller (a German), like Dr. Strangelove, convincingly fakes familiar stereotypes. (He also suggests compounding German words as an alternative to the em-dash.)
Rindfleischetikettierungsüberwachungsaufgabenübertragungsgesetzeßentrwurfsbedatirklibdißkussionßstandsberichterstattungßgeldantragßformular
130
Diomidis Spinellis @coolsweng.bsky.social · 07/11/2025
I just received an AI-generated GitHub pull-request that incorrectly replaced 450 test code lines with a comment. Be VERY CAREFUL when reviewing out-of-the-blue PRs these days. AI-generated ones are likely to contain difficult-to-spot faults hidden as plausible fixes. github.com/dspinellis/g...
PR diff
0113
Diomidis Spinellis @coolsweng.bsky.social · 01/11/2025
Στις 5 Νοεμβρίου λήγει η διορία της διαδικασίας έκδοσης του Προσωπικού Αριθμού.Με τη γεννήτρια γραμμάτων προσωπικού αριθμού μπορείτε να επιλέξετε εσείς έναν καλό συνδυασμό γραμμάτων για τον προσωπικό σας αριθμό. Θα τη βρείτε στο www.balab.aueb.gr/genpa/
034
Diomidis Spinellis @coolsweng.bsky.social · 27/10/2025
I just added a note in the advice for writing LaTeX documents GitHub repository to avoid using the “itemize” environment, when you're describing elements. The “description” environment is better for this purpose. github.com/dspinellis/l...
041
Diomidis Spinellis @coolsweng.bsky.social · 22/10/2025
A feature in Nature journal published today takes us through the fascinating and frightening world of fake authors, reviewers, and articles. It mentions my recent work on fake articles attributed to known scholars. www.nature.com/articles/d41...
nature.com
How to spot fake scientists and stop them from publishing papers
Journals are considering doing identity checks to expose fake authors — but there are downsides.
082
Diomidis Spinellis @coolsweng.bsky.social · 18/10/2025
Fun, fun, fun! I'm running a binary tournament merge to combine 64 SQLite databases (83 GB in total) into one. More details in doi.org/10.1109/MS.2...
Process tree output.
1383
Diomidis Spinellis @coolsweng.bsky.social · 09/10/2025
A big problem with reviewing GenAI-written text is that it is often (by design) very plausible but it can also be incorrect or superfluous, therefore requiring substantial concentrated effort to detect.
182
Diomidis Spinellis @coolsweng.bsky.social · 07/10/2025
Following the permanent loss of 858TB data due to a fire in a South Korea government datacenter, here's a reminder on the several technologies that are NOT backup solutions: koreajoongangdaily.joins.com/news/2025-10...
koreajoongangdaily.joins.com
NIRS fire destroys government's cloud storage system, no backups available
A fire at the National Information Resources Service (NIRS) Daejeon headquarters destroyed the government’s G-Drive cloud storage system, erasing work files saved individually by some 750,000 civil se...
172
Diomidis Spinellis @coolsweng.bsky.social · 03/10/2025
Saw the following hidden deep inside the Linux kernel arm compilation commands. I don't think that the arguments were arbitrarily ordered 😃 ar mPiT init/main.o vmlinux.a arch/arm/kernel/head.o
052
Diomidis Spinellis @coolsweng.bsky.social · 26/09/2025
Why I Choose Email Over Messaging My colleagues and friends know that I prefer to communicate with them via email rather than chat messaging. There are many benefits in such a choice. You may want to consider them and adopt the same stance. www.spinellis.gr/blog/2025092...
094
Diomidis Spinellis @coolsweng.bsky.social · 19/09/2025
With all the GenAI buzz we tend to forget the value of 100% correct deterministic tools. Thank you Rust clippy!
    Checking uu_sed v0.0.1 (/xfs/dds/sed/src/uu/sed)
error: manual implementation of `.is_multiple_of()`
   --> src/uu/sed/src/fast_io.rs:869:8
    |
869 |     if (out_off + head_align) % block_size != 0 {
    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `!(out_off + head_align).is_multiple_of(block_size)`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of
    = note: `-D clippy::manual-is-multiple-of` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::manual_is_multiple_of)]`
0134
Diomidis Spinellis @coolsweng.bsky.social · 06/09/2025
TIL that setting Turnitin checks to *include* bibliographic references (a check typically disabled, as it generates false positive matches) can help identifying hallucinated generative AI references (as these are less likely to appear elsewhere).
051
Diomidis Spinellis @coolsweng.bsky.social · 30/08/2025
A special place in Hell is reserved who those who create in their programs custom editing areas where the operating system's keyboard editing bindings, copy, paste, and our macros stop working.
061
Reposted by Diomidis Spinellis
Hannah Shelley, MLIS (Metadata, Lattes & Impostor Syndrome) @hannahshelley.site · 13/08/2025
Since search is dead, how soon do you think Google Scholar is headed for the Google Graveyard? I'm betting it's soon, and academia is NOT prepared
hannahshelley.neocities.org
Google Scholar Is Doomed
Academia built entire careers on a free Google service with zero guarantees. What could go wrong?
54960409
Diomidis Spinellis @coolsweng.bsky.social · 24/08/2025
That's a first! As I write a program's error message, I catch myself thinking whether GenAI will be able to understand it and produce a useful suggestion. (It does.)
That message means your script `fetch-uspto.sh` is expecting an environment variable named **`MYODP_KEY`**, which hasn’t been set in your shell.

This usually happens when a script needs an API key to authenticate against the USPTO Open Data Portal (ODP).

To fix it, you need to:

1. **Obtain the API key**

   * Go to the [USPTO Open Data Portal](https://developer.uspto.gov/data/bulk-search) and sign in (or register).
   * Generate an API key.

2. **Set the environment variable** before running the script:

   ```bash
   export MYODP_KEY="your_api_key_here"
   ./fetch-uspto.sh
   ```

   Or prepend it inline:

   ```bash
   MYODP_KEY="your_api_key_here" ./fetch-uspto.sh
   ```

3. If you want it to persist across sessions, add the line to your shell config (e.g., `~/.bashrc`, `~/.zshrc`):

   ```bash
   export MYODP_KEY="your_api_key_here"
   ```

---

Do you want me to show you how to modify `fetch-uspto.sh` so that it gives clearer instructions (like printing how to set the variable), instead of just failing?
030
Diomidis Spinellis @coolsweng.bsky.social · 14/08/2025
Many years ago I contributed to #GraphViz code for several new node shapes, including UML notes. Now #ChatGPT advises me how to use them! 😃
— In UML create a comment note.

— In UML diagrams, a **comment** (or “note”) is shown as a rectangle with a dog-eared corner.
Graphviz can mimic this by using `shape=note`.

Example in DOT:

```dot
digraph UML_Comment {
    rankdir=LR;
    node [fontname="Arial", fontsize=12];

    // Regular UML component
    A [label="«component»\nOrder Service", shape=component];

    // UML comment
    Cmt [label="Processes orders\nand handles payments", shape=note, style=filled, fillcolor="#ffffcc"];

    // Dashed association from comment to element
    Cmt -> A [style=dashed, arrowhead=none];
}
```

**Key points:**

* `shape=note` → dog-eared corner rectangle.
* `fillcolor` → makes the note background match UML style (light yellow is common).
* `style=dashed, arrowhead=none` → matches UML’s “annotates” relationship from a comment to a model element.

---

If you want, I can insert UML comment nodes into your **O1/O2 Graphviz diagram** to annotate entire clusters or specific tasks, so they look like sticky notes connected to the relevant part. Would you like me to do that?
050
Reposted by Diomidis Spinellis
Peter Hilton @hilton.org.uk · 09/08/2025
This kind of thing looks like an opportunity for a new generation of developers to make their mark in open source
051
Diomidis Spinellis @coolsweng.bsky.social · 08/08/2025
What are the challenges and gains when porting legacy systems software written in C into #Rust? Here's my own experience porting the BSD Unix / macOS stream editor sed into Rust as part of #uutils. IEEE Software article: doi.org/10.1109/MS.2... Source code: github.com/uutils/sed/
github.com
GitHub - uutils/sed: Rewrite of sed in Rust
Rewrite of sed in Rust. Contribute to uutils/sed development by creating an account on GitHub.
0176
Diomidis Spinellis @coolsweng.bsky.social · 07/08/2025
I'm sure psychologists have a diagnostic name for this disorder.
010
Diomidis Spinellis @coolsweng.bsky.social · 09/07/2025
Ever wondered why car ergonomics have gone down the drain as touch screens replaced buttons to drive down costs? This reader comment on an @financialtimes.com article on the topic says it all.

	Please use the sharing tools found via the share button at the top or side of articles. Copying articles to share with others is a breach of FT.com T&Cs and Copyright Policy. Email licensing@ft.com to buy additional rights. Subscribers may share up to 10 or 20 articles per month using the gift article service. More information can be found at https://www.ft.com/tour.
	https://www.ft.com/content/b46311ba-a5a1-4754-8d40-eaae475f01eb

	I’m an industrial designer and I used to work in the design department at a major car manufacturer. I’m a petrol head, and have been my whole life. By now, I’ve probably driven over a hundred different vehicles across various generations of interface technology.

Here’s the thing: the user experience designers in my team — the ones tasked with designing the digital interfaces now frequently deployed and rightly deplored in this article — had little-to-no interest in cars. In many cases, they were only working for a car maker because they couldn’t get the jobs they really wanted in tech companies. But the kicker was that many of them didn’t have drivers’ licenses, let alone any interest in how cars really work. All they saw was a screen, abstracted from the broader reality of operating a 2-tonne projectile in a world of sometimes moving, sometimes fleshy, and sometimes immovable targets.
2111
Diomidis Spinellis @coolsweng.bsky.social · 27/06/2025
My LLM coding interactions taught me that their benchmark results vastly overstate their capabilities. The paper by M. Mancoridis et al. “Potemkin Understanding in LLMs” explains and formalizes my feeling. Benchmarks derived from human tests are unsuitable for LLM assessment. doi.org/10.48550/arX...
0122
Diomidis Spinellis @coolsweng.bsky.social · 26/06/2025
This week two US courts ruled in favor of AI's use of copyrighted works to train LLMs. How is such a use legal? Should it be legal? Two questions with very different answers. More (and an explanation of the audio cassette's relevance) at www.spinellis.gr/blog/20250626/
A Sony compact cassette. https://en.wikipedia.org/wiki/Cassette_(format)#/media/File:Sony_C60_Low_Noise_Compact_Cassettte.jpg by Mikus
052
Reposted by Diomidis Spinellis
Dorothy Bishop @deevybee.bsky.social · 19/06/2025
Predatory journals should not mess with Diomidis Spinellis (@coolsweng.bsky.social) doi.org/10.1186/s410... N.B.this journal, full of AI-generated crap has DOIs and is listed in Crossref, but not DOAJ.
doi.org
False authorship: an explorative case study around an AI-generated article published under my name - Research Integrity and Peer Review
Background The proliferation of generative artificial intelligence (AI) has facilitated the creation and publication of fraudulent scientific articles, often in predatory journals. This study investig...
0148
Diomidis Spinellis @coolsweng.bsky.social · 13/06/2025
The fascinating story of how Microsoft Office developers moved from a proprietary version control system to Git. danielsada.tech/blog/carreer...
danielsada.tech
Part 7: Office Migration from Source Depot to Git, or how I learned to love DevEx. | Daniel Sada Caraveo | Developer Productivity & Culture
Part 7 of my software journey, getting to know developer experience.
011
Diomidis Spinellis @coolsweng.bsky.social · 11/06/2025
Here's how machine learning can be applied to detect risky software changes and thereby increase the reliability of a large bank's IT systems. medium.com/ing-blog/lev...
medium.com
Leveraging AIOps for Enhanced Change Reliability at ING
From an Idea to Moving to Production
010
Diomidis Spinellis @coolsweng.bsky.social · 29/05/2025
Wow! The Rust compiler correctly guessed the correct method I should be calling. Helpful and very impressive error handling!
091
Diomidis Spinellis @coolsweng.bsky.social · 27/05/2025
In 2023 a fake AI-generated scientific article was falsely attributed to me. I was not the scheme's only victim. My study, just published in the Research Integrity and Peer Review journal, analyzes what going on and who profited from the mass publication of AI-generated articles. rdcu.be/enQqG
Falsely attributed AI-generated articleTitle and abstract page: False authorship: an explorative case study around an AI-generated article published under my name
0115
Reposted by Diomidis Spinellis
Adolfo Neto @adolfoneto.elixiremfoco.com · 23/05/2025
Manifesto on Technical Debt published🚀. It was the result of a Schloss Dagstuhl – Leibniz-Zentrum für Informatik (LZI) workshop.
We value:

Psychological safety and trust between technical and business stakeholders.
Simple, actionable, value-based communication of Technical Debt to all stakeholders over excessive, minute, overwhelming details.
Transparency, explainability, and replicability in the identification, measurement, and prioritization of Technical Debt.
Both objective and subjective data collection and research methods to identify, measure, and prioritize Technical Debt over single-method approaches.
Architecture understanding across the team.
We believe that:

Sustainable software delivery requires proactive and continuous Technical Debt Management.
The most effective Technical Debt Management is as automatic as possible and as manual as needed.
Technical Debt must be managed irrespective of how the software system is created, including generation of code and other artifacts by AI-assisted tools.
Items that developers observe as Technical Debt should be addressed, even when they are not supported by metrics.
Not all all issues identified by stakeholders or tools are Technical Debt.
And we adhere to the following principles:

Share Responsibility for Technical Debt Management.
Manage Technical Debt in Alignment with its Context.
Collect Comprehensive Data for Technical Debt Management.
Avoid a One-Size-Fits-All Technical Debt Metric.
Build Seamless and Integrated Technical Debt Management Toolchains with Human Oversight.
Make Technical Debt Visible.
Elevate the Role of Architecture in Technical Debt Management.
Develop Fit-For-Purpose Technical Debt Benchmarks.
Make Intentional Technical Debt Trade-off Decisions.
111
Diomidis Spinellis @coolsweng.bsky.social · 20/05/2025
Long time due! I’m removing the BSD advertising clause from any software I wrote in the past. www.spinellis.gr/blog/20250520/
010