Posts in 2019

 

Convert file I/O into pipe I/O with /dev/fd

Some Unix commands read data from files or write data to files, without offering an obvious way to use them as part of a pipeline. How can you write a program to interact with such a command in a streaming fashion? This would allow your program and the command run concurrently, without the storage and I/O overhead of a temporary file. You could create and use a named pipe, but this is a clunky solution, requiring you to create and destroy a unique underlying file name. Here's a better approach.

Continue reading "Convert file I/O into pipe I/O with /dev/fd"

Pia Betton on Service Design

I attended an excellent talk by Pia Betton on service design, which according to Wikipedia is the activity of planning and organizing people, infrastructure, communication and material components of a service in order to improve its quality and the interaction between the service provider and its customers. Here are my notes.

Continue reading "Pia Betton on Service Design"

How to monitor MySQL / MariaDB query progress

The progress indicator of MySQL or MariaDB long-running commands and queries is extremely extremely and frustratingly coarse. In an index update I'm running now it was stuck in the same state for more than three hours. Thankfully, the pmonitor tool allows us to precisely monitor the progress of many commands. Here's an example of its application on MariaDB.

Continue reading "How to monitor MySQL / MariaDB query progress"

So, you're chairing a conference session?

Earlier today a first-time session chair asked me for tips on chairing his session. With conference presentations becoming shorter and more packed, I realized that the task of the session chair has become more demanding. Here's some advice.

Continue reading "So, you're chairing a conference session?"

Become a Unix command line wizard
edX MOOC on Unix Tools: Data, Software, and Production Engineering
Debug like a master
Book cover of Effective Debugging
Compute with style
Book cover of The Elements of Computing Style
Syndication
This blog is also available as an RSS feed:

Category Tags
AWS (4)
Android (2)
Apple (9)
C (20)
C++ (16)
COVID-19 (1)
Cloud (1)
Computers (58)
Databases (4)
Debugging (8)
Design (1)
Discussion (6)
Electronics (15)
Environment (1)
FreeBSD (26)
Funny (14)
GSIS (5)
Google (6)
Government (3)
Hacks (26)
Hardware (25)
History (9)
Information systems (1)
Internet (12)
Java (26)
Linux (7)
Machine learning (1)
Management (27)
Microsoft (11)
One Laptop Per Child (3)
Open source (57)
Opinion (28)
Parenting (11)
Perl (13)
Photos (13)
Politics (4)
Programming (108)
Python (2)
R (1)
Raspberry Pi (5)
Risks (6)
Scala (1)
Science (33)
Security (26)
Sights (19)
Smartphones (3)
Software (22)
Software engineering (90)
Standards (7)
System administration (46)
Teaching (9)
Technology (28)
Testing (2)
Tips (43)
Tools of the Trade (52)
Travel (9)
UML (6)
Unix (47)
Web (31)
Windows (15)
Writing (45)
XML (10)
vim (5)
Archive
Complete contents (366)
2020 (12)
2019 (4)
2018 (5)
2017 (20)
2016 (7)
2015 (6)
2014 (5)
2013 (13)
2012 (17)
2011 (14)
2010 (13)
2009 (40)
2008 (40)
2007 (41)
2006 (48)
2005 (44)
2004 (30)
2003 (7)

Last update: Thursday, August 27, 2020 7:26 pm

Creative Commons Licence

Unless otherwise expressly stated, all original material on this page created by Diomidis Spinellis is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.