Unix make vs Apache Airflow
In an IEEE Software “Adventures in Code” column titled
Modular Data Analytics
I describe the benefits and use of
simple-rolap,
a tool suite for relational online analytical processing.
I have built simple-rolap based on the Unix make tool and a few
shell scripts.
With make approaching its 50th birthday,
before writing the column
I looked for possible modern and better alternatives I might be ignoring.
Continue reading "Unix make vs Apache Airflow"Last modified: Tuesday, October 15, 2024 2:19 pm
A key part in scientific writing is a description of related work.
This section establishes what is known in the given area
and the new publication’s contribution.
It also provides a signal to reviewers and readers regarding the study’s
innovativeness, credibility, and thoroughness.
A paper with a shallow related work section may well have overlooked
important relevant work that would have supported its theory building,
methods, or conclusions.
A mistake often made in related work sections is to present them as
a laundry list (A did X, B did Y), often in chronological order.
Continue reading "How (and how not) to present related work"Last modified: Monday, August 5, 2024 1:43 pm
An exception handling revelation
I’ve been working with exceptions offered by languages,
such as Java and Python,
for more than 20 years, invariably as their consumer:
catching them when raised by an API and then doing my thing.
For the systems I worked on, exception handling mostly involved
either quitting the program with an error or re-prompting the user
to fix some input.
Consequently, my view of them was as a fancy error handling mechanism:
syntactic sugar and static enforcement for checking a function’s
successful completion.
Recently,
I refactored
the error handling in
Alexandria3k,
a library and a command-line tool providing efficient relational
query access to diverse publication open data sets.
Through this the full power of exceptions clicked for me.
I suspect that others may share my previously limited appreciation
of exception handling,
so here is a brief description of the refactoring.
Continue reading "An exception handling revelation"Last modified: Monday, February 5, 2024 5:48 pm
Extending the life of TomTom wearables
TomTom recently announced
it would stop operating their supporting infrastructure by the end of September
following its earlier decision
to exit the wearables market.
This means that its products, such as sports watches, will become effectively
useless, as they will no longer be able to export their activities and
sync them with tracker sites.
Throwing away an otherwise fine watch only because its maker decided to
shut down its proprietary infrastructure seems like a sad waste.
Here is how you can download the watch’s data and
upload it to Strava, a popular activity tracker,
using open source software.
Continue reading "Extending the life of TomTom wearables"Last modified: Friday, November 3, 2023 5:57 pm
How AGI can conquer the world and what to do about it
We have seen many calls warning about the existential danger
the human race faces from artificial general intelligence (AGI).
Recent examples include the letter asking for a six month pause in
the development of models more powerful than GPT-4
and
Ian Hogarth’s FT article calling for a slow-down in the AI race.
In brief, these assert that the phenomenal increase in the
power and performance of AI systems we are witnessing
raises the possibility that these systems will obsolete humanity.
I’ve already
argued that some of the arguments made are hypocritical,
but that doesn’t mean that they are also vacuous.
How credible is AGI’s threat and what should we do about it?
Continue reading "How AGI can conquer the world and what to do about it"Last modified: Friday, April 14, 2023 9:12 pm
Many of us are worried that
Twitter’s increasingly erratic post visibility and user verification policies
will curtail our ability to disseminate our work and ideas to a wide audience.
Having spent years to attract followers on Twitter,
setting up shop on
Mastodon
sounds like a tough call.
Fortunately,
anecdotal evidence suggests that dissemination via Mastodon can be
more potent than Twitter, even with a fraction of a follower base.
Continue reading "Twitter’s overrated dissemination capacity"Last modified: Sunday, April 2, 2023 8:26 pm
The hypocritical call to pause giant AI
The recent
open letter calling for a pause in giant AI experiments
correctly identifies a number of risks associated with the development of AI, including job losses, misinformation, and loss of control. However, its call to pause some types of AI research for six months smacks of hypocrisy.
Continue reading "The hypocritical call to pause giant AI"Last modified: Thursday, March 30, 2023 8:15 pm
AI deforests the knowledge’s ecosystem
Big-tech’s dash to incorporate ChatGPT-like interfaces into their search engines threatens the ecosystem of human knowledge with extinction. Knowledge development is a social activity. It starts with scientists publishing papers and books that build on earlier ones and with practitioners, journalists, and other writers disseminating these findings and their opinions in more accessible forms. It continues through specialized web sites, blogs, the Wikipedia, as well as discussion and Q&A forums. It further builds upon our interactions with these media through web site visits, upvotes, likes, comments, links, and citations. All these elements combined have yielded a rich global knowledge ecosystem that feeds on our interactions to promote the continuous development of useful and engaging content.
Continue reading "AI deforests the knowledge’s ecosystem"Last modified: Thursday, March 16, 2023 3:18 pm
How I fixed git-grep macOS UTF-8 support
As a speaker of Greek, I’ve been fixing issues in the handling
of non-ASCII characters for over 40 years, using techniques ranging from
simple lookup tables to dynamic patching of in-memory images.
Here’s how I debugged and fixed the handling of UTF-8 characters
in the git grep
command, which was broken for almost a decade.
Continue reading "How I fixed git-grep macOS UTF-8 support"Last modified: Sunday, October 9, 2022 7:19 pm
The sorry state of software quality
Thanks to a tweet
by Aaron Toponce I learned about the Linux
/dev/full
pseudo-device.
Write system calls to it always fail with a ENOSPC
(no space on device)
error.
With it finding software that doesn’t check for failed writes is a
piece of cake.
Let’s see this in action.
Continue reading "The sorry state of software quality"Last modified: Thursday, March 10, 2022 9:43 pm