Mozilla Firefox, Web browser
Warning about Google Chrome: it does not (and cannot be told to)
automatically look for the latest version of a Web page when
you click on a link that you've visited before; you need to
do a Refresh to get the latest version
Google in their wisdom do not consider this to be a bug
Zotero works within Firefox
to grab bibliographic information from Web pages and
store it in a searchable database along with
notes and attached files; a Zotero extension for
OpenOffice.org Writer allows one to insert formatted
citations and bibliographies into a Writer document.
Good for viewing PostScript (PS), Encapsulated PostScript (EPS)
and PDF files. Ghostscript itself is a command-line viewer.
Once you've installed it, you can install GSview which has a GUI.
Alternatively, once Ghostscript is installed, you can
set it up as a plug-in for Gimp by copying
gswin32c.exe to some directory specified in
the Path environment variable or by defining
an environment variable GS_PROG which points
Tools for collaborating on text
(these look interesting but I haven't used them):
open-source project-management software, meant to replace
Microsoft Project. ProjectLibre is a fork of the
older OpenProj. They have a .org URL but it forwards
to their .com site. They are actively working on
a cloud version, which will not be free, but in the meantime
are asking for donations. A login is required to read the
documentation on a wiki. They claim a very large number of
downloads from many countries, but the Bug List and General Discussion
forums are low-activity and many posts are never responded to,
and the blog has very few posts. I have no current need for
project-management software and haven’t tried this software
is a vector drawing application.
is a diagramming and flowcharting application.
The are descendents of the KDE KOffice suite.
I haven't tried either one.
is a 2-D drawing programme specifically for
diagrams such as flowcharts and circuit diagrams with symbols
connected by lines and arrows. Many different
symbols are available, and custom symbols can be created.
The native file format is XML, normally compressed with GZip.
I haven't tried it yet;
an open-source ‘community edition’ is available.
Gravit is a free vector-graphics
now, and there is a confusing jumble of free (at least zero-cost)
and non-free products (Gravit Designer, Gravit Designer PRO,
Gravit Klex and Gravit Cloud) and URL’s.
It seems that the free version doesn’t support off-line use.
I haven't tried it.
is a vector-graphics translator using the engine from
Input formats include CDR (CorelDraw), output formats include SVG.
As of 2007 Jun 22, not yet available separate from sK1.
open-source CAD software written in JAVA;
the built-in help didn’t work (2009 Aug 30) but
there’s on-line documentation.
‘An architecture open CAD’.
Last update 2018 Oct 27, labelled as abandoned.
flexible general data-plotting software.
Matplotlib is a
‘library for creating static, animated, and interactive
visualizations in Python’.
(I haven't used it yet.)
‘is a WYSIWYG 2D plotting tool’, primarily for
*n*x; the download link times out (2021 Jan 24).
GPL. Available in Debian (based on version from 2015 Feb 17).
Multiplatform versions include
(forked from grace-5.1.22 in 2009;
last update 2020 Dec 24, as of 2021 Jan 24)
(last update 2017 Feb 5).
The plot layout can be edited using a GUI, and then saved in
a text file separate from the data.
Graphics Subroutine Library,
‘a Fortran- or C-callable, device-independent graphics package
for making simple scientific graphs’.
Mainly for *n*x and MacOS, some support for Windows.
Copyrighted but ‘freely available for non-commercial use’.
Latest version 5.2.2 dated 2001 Feb 26, as of 2021 Apr 4.
Versions for MS Windows include one using GrWin as the driver.
‘a graphics programming environment on 32/64-bit Windows platforms
composed of the GrWin Graphics Server, grwin.exe, and the GrWin ToolKit,
from which free graphics routine libraries for Fortran and C/C++
can be created’.
Latest version 1.1.1 dated 2016 Mar 25, as of 2021 Apr 4.
The server is ‘free for non-commercial use’ but the
source is not available;
the toolkit is ‘free open source’.
visualizing data using HTML, SVG, and CSS.
(I haven't used it yet.)
Free & open source.
Company based in Montréeal, also has commercial products.
(I haven't used it yet.)
ImageMagick for MS Windows is available in
Q8 and Q16 versions,
for 8 or 16 bits per pixel component, respectively.
The Q16 version can handle 16-bit images without loss
of information but requires more resources.
*n*x and Mac versions seem to always be Q16.
The QuantumRange constant is
255 for Q8 or 65535 for Q16.
Problem (as of 2011 Feb 12, version 220.127.116.11):
the 64-bit version of imdisplay crashes if invoked
with a filename on the command line or via a context menu, but
works OK if invoked from the command line with no filename;
problem report and developer's response from 2010 Nov.
There are several related options for adjusting
brightness and contrast:
(specifying values between zero and QuantumRange.
(= -level operator
with minimum & maximum pixel values used)
(a combination of -contrast-stretch
A print-out of the image’s
histogram can be produced with the command
convert filenameIn -define histogram:unique-colors=true -format %c histogram:info:-.
An image of the histogram can be produced with the command
convert filenameIn -define histogram:unique-colors=false histogram:filenameOut.
To look at the histogram or adjust levels for a DICOM file,
must be given first to override the window-center and window-width
settings specified in the file.
DICOM images often have more than 8 bits/channel.
To extract JPEG images from such a file, it is necessary to
collapse the pixel data down to 8 bits/channel
(i.e., 8 bits/pixel for grey-level images,
which have a single channel).
One approach is to examine histograms to determine what the
grey-level distribution is. For example, if there is a separate
DICOM file for each slice of a stack, the ranges of minimum
and maximum values can be obtained with 2 commands that dump
the values into text files:
identify -define dcm:display-range=reset -verbose *.dcm | grep -A 2 "Overall:" | grep min > min.txt
identify -define dcm:display-range=reset -verbose *.dcm | grep -A 2 "Overall:" | grep max > max.txt
The overall range can be determined by examining the
.txt files, possibly sorting them.
(There is probably a more elegant way of doing this.)
The files can then be converted to JPEG by giving the command
mogrify -define dcm:display-range=reset -level 48%,55.5% -quality 95 -format jpg *.dcm
Some trial and error may be required to determine the best levels.
The value of 95 for -quality
probably results in negligible information loss for most applications
(especially given that the reduction to 8 bits has already thrown away
a lot of information).
See note below about
video handling in ImageMagick.
nomacs is primarily a nice image
viewer, with some editing capabilities. GPL, multiplatform.
XnView is an image viewer
and editor that read hundreds of formats and writes tens of formats.
Free for non-commercial use, multiplatform. I thought it would be
useful but I ended up falling back on GIMP and ImageMagick.
Krita (which I haven't used yet)
is intended to be more a painting and sketching programme than
an image-editing programme. It is part of the KDE-based Calligra suite.
Jeffrey Friedl's Web-based
Image Metadata Viewer
uses ExifTool to provide an on-line viewer of meta data, including
an indication of the camera's location, direction and field of view
based on Google Maps (see example at right). (As of 2017 Jan, and
still the case in 2019 Feb, the display of location on a map is
still available, with other map sources in addition to Google Maps,
but the direction and field-of-view are not shown.)
(I haven't yet tried either of these)
panorama photo stitcher.
As of 2018 Aug 6, latest release is 2018.0.0 dated 2018 Feb 03.
Generating random noise: see
which looks ‘natural’ but apparently includes
‘a lot of 45 and 90 degree parts’
Simplex noise, also by Ken Perlin, patented for 3-D and higher;
OpenSimplex noise, created to avoid the patent issues.
‘cuts a raster image into pieces which can afterwards
be printed out and assembled to a poster’.
VLC media player:
free, open-source, cross-platform.
See also VLC for audio below.
To make the player stop at the end of a video clip, do
Tools ► Preferences ► Interface
and check the box Pause on the last frame of a video.
Type n to then play the next video.
screen recorder for Unix, Microsoft Windows and Mac. Once installed,
it is run from the command line. See the Web site for clear
instructions. Requires a VNC server (e.g.,
to be running.
List of open-source video downloaders.
I have tried youtube-dl,
a Python-based command-line application;
it has many options, but in the simplest
case just run the executable and on the command line
specify the URL of the video to be
downloaded to the current working directory.
If the resulting file produces audio but not video, it may be because
separate video and audio files were downloaded and then the
post-processing merge process went wrong;
use of the -f best option forces a combined
video+audio file to be downloaded. youtube-dl-gui
(installed as Youtube-DLG)
provides a GUI for youtube-dl.
GPL, available for Linux, MS Windows and Mac.
It is in main Debian repository.
It can separate audio and video; the result is a bit confusing
at first because the multiple resulting clips are on top of
one another in the same track.
To remove a segment of a video:
right-click at one point in time and use the
Slice tool with
Keep both sides;
do the same at a second point in time;
then select the segment to be removed and
press the delete key.
GPL, available for Linux, MS Windows and Mac.
It is in main Debian repository as of Bullseye.
GPL, primarily for Linux; it's possible to build for Mac;
support for MS Windows was due ‘later in 2019’
but is not available yet as of 2021 Apr 14.
Latest version as of 2021 Apr 14 is 3.2.0 dated 2020 Nov 8.
specializes in converting AVI files to animated GIF's.
Executable is provided for MS Windows, as well as the source code.
Licence is GPL.
As of 2015 Jun 21, latest version is 0.6 dated 2014 May 20.
For one set of AVI's it worked very nicely; for another set it produced
garbage but ImageMagick succeeded.
free/open-source, for Linux, MS Windows and Mac OS X;
as of 2011 May 17, latest version is 3.00.1 dated 2010 Nov 5.
gImageReader is a nice GUI for Tesseract;
as of 2011 May 17, latest version is 0.9-1 dated 2011 Mar 24.
Tesseract comes with zero, one or more language-specific
‘trained data’ files, depending on how it's installed.
Language data can be
downloaded and installed, or languages can be installed
from within the installer for Windows, either when first installing
or by rerunning the installer to specify different languages
to do more than just put the .traineddata files in
place, since gImageReader didn't work with Japanese after I'd
tried adding it by doing that).
gImageReader comes with no spelling dictionaries installed.
The manual describes how to install the required .dic
(dictionary) and .aff (affix) files.
based on Cognitive's Cuneiform, which was made open-source
2007 Dec 12. As of 2011 May 17, latest version is 0.1.0
dated 2009 Feb 14. I've used this quite successfully.
Binary download for Windows only.
free/open-source, no binary downloads provided;
as of 2011 May 17, latest 'official' version is 0.4 dated 2009 May,
but there is a version 0.4.4 dated 2010 May and
active development is going on.
I haven't used this.
See DIY Book Scanner
for information about book scanning, both hardware and software,
Select the Disc tab,
select Audio CD, make sure the
correct disc device is selected.
Under Starting Position set the
desired track number. If the track number is set to zero,
it will rip all the tracks; sometimes I seem to get all of the
tracks into a single file, and sometimes only the last track.
Click on Convert/Save
In the Convert dialogue window,
use Browse to specify the destination
file. (It doesn't remember where you went the last time.)
Specify the filename extension (e.g., .ogg.
Under Settings specify the
profile corresponding to the filename extension
(e.g., Audio - Vorbis (OGG)).
Edit the profile if desired. Click on Start.
There doesn't seem to be a way to get it to rip all of the tracks
into separate files.
music player and library organizer: free, open-source, cross-platform.
Amarok is an alternative.
Apparently some people didn't like the changes in Amarok 2, and
Clementine is ‘inspired by’ Amarok 1.4. Clementine
uses Qt, Amarok uses KDE. See Bruce Byfield's
As of 2011 May 8, Clementine can't play or rip from an audio CD.
I chose to use Clementine because Amarok doesn't yet really
support MS Windows. The edit-track-information feature
seems a little flaky: in addition to some transient issues, I could
not get some manually entered album-artist information to stick.
Scripting and Programming Languages,
a concise overview aimed at graduate students
needing to do scientific programming
(contains some language errors; doesn't mention Octave/MATLAB)
provides free lessons on coding in multiple languages,
with optional paid features.
See Matthew Hughes’
post (2015 Dec 2) on the disadvantages of learning to code using Codecademy:
it teaches syntax but not things like approaches, style,
algorithms, philosophy, and the coder’s ‘mindset’;
and it doesn’t review and reinforce topics.
VirtualBox is a virtualizer
for x86 and amd64/intel64 hardware, that is, it allows one to run
a guest operating system under a host operating system.
free ssh client by Simon Tatham. Also includes sftp and scp
clients. Download installer for Windows and run it.
Or download putty.zip for Intel x86,
unzip it in, e.g., \Program Files\PuTTY\ and
(if desired) set up an icon for putty.exe. Run PuTTY.
Right-click on window title bar to get PuTTY Configuration dialogue
box. Set desired default settings within different categories, e.g:
Session: Protocol = SSH
Close window on exit =
Always, if desired
Rows = 36
Lines of scrollback = 2000
Window ▶ Appearance:
font = Lucida Console, size = 9
Window ▶ Colours:
Default Foreground = 0/0/0
Default Bold Foreground = 255/0/0
Default Background = 255/255/255
Default Bold Background = 255/255/85
Connection ▶ Data:
Auto-login username, specify if desired
Seconds between keepalives = 300, if desired
Select category Session, select
Default Settings, click on Save.
To create a profile for a particular host, using the current
enter a host name, then type a profile name under
Saved Sessions and click on Save.
To create an icon which runs a PuTTY session with a particular
saved profile, create an icon for
putty.exe and then add @profilename to the
command line within the shortcut definition. Certain settings
can be changed
during a session by right-clicking on the title bar and selecting
Change Settings. To get to the full Configuration
dialogue box from within a session, right-click on the title
bar and select New Session.
Note that a host may well have security settings
that prevent connection unless, for example, a VPN session is used.
is a free implementation of the Secure Shell protocol
for encrypted communication between computers. The Debian
packages ssh-client and ssh-server
provide the ssh, scp and sftp clients
and the sshd server, respectively.
The -X option for ssh
enables X11 forwarding, so remote
applications can display their graphics on the local machine.
A *n*x client that uses SSH FTP to permit mounting a remote filesystem.
Available as the sshfs package in Debian.
is a similar client for MS Windows.
SSHFS seems to be very vulnerable to freezing, and thus freezing all
Nautilus windows and sometimes even terminal windows,
presumably because it encounters
some kind of problem with the network connection, although it's
not always clear what the problem is. Things can be unfrozen
by using kill -KILL on the sshfs process.
is an open-source SFTP (SSH File Transfer Protocol) and
SCP (Secure CoPy) client for MS Windows.
Tip: To delete a session
from the list of stored sessions, do
in the list of sessions on the
left, select one and do Manage ►Delete.
Note the semantic overlap (not to say confusion)
between session and site.
Tip: To be able to open files in the normal way by double-clicking,
go to Options ► Preferences
► Editors, click on Add
and choose Associated application.
including Zip and UnZip, and also WiZ,
a Zip/UnZip graphical front end for Windows.
may be a bit hard to find sometimes.
Note that a self-extracting archive can be created just by
concatenating a special version of UnZip
(unzipsfx.exe for Windows)
with a regular .zip file. For example, to build a Windows
executable under *n*x:
cat unzipsfx.exe name.zip > name_sfx.exe.
UnRAR is a
unpacking utility for the RAR format; freeware, source is available.
‘is a file archiver with a high compression ratio’.
Its main claim to fame is the 7z format but it also supports
other compression formats and claims better compression
than other software.
Executables are provided for MS Windows and (unofficially) for
Linux and Mac OS X, as well as the source code.
Debian packages p7zip, p7zip-full
and p7zip-rar are available.
Licence is GPL.
As of 2020 Dec 3, latest version is 20.02 alpha dated 2020 Aug 8.
Meld: for graphically displaying
2- and 3-way comparisons of files and directories, also does merges
and can handle version-control systems; free, open-source, cross-platform.
As of 2014 Oct 25, the latest release is 3.12.0 dated 2014 Sep 26.
In 2014 there was a transition with overlap between the 1.8.* versions
and 3.11+ versions.
Comparison of file comparison tools on Wikipedia.
(visualizing the contents of a disk;
* indicates inclusion in Debian)
Conceptually related to
(commercial but inexpensive,
of which I have 1 copy) and
both being for MS Windows only.
free, open-source, for *n*x.
This is a descendant of
is a clone for MS Windows. I can't figure out how to tell it
to process the entire file system starting from the root.
GNOME (and MATE)
Disk Usage Analyzer
(Baobab)* (I can't figure out how to tell it not to cross
has a setting to prevent crossing of file-system boundaries
but it doesn't seem to work
GdMap*: doesn't display
directory tree in addition to the map
The locale-gen and bleachbit packages may be
useful for cleaning up unnecessary files.
T-Clock is a
nifty free and open-source utility that modifies the Windows taskbar
clock so it very flexibly displays the date as well as the time.
It also provides timers, timed alarms, a configurable pop-up calendar
and other features.
Apparently it was originally written by Kazubon in the early 90's,
and was later worked on by Dale Nurden, Two_toNeStoic Joker and ygoe,
and, most recently as of 2019 Jan 4, as far as I know, by White Tiger.
(Windows 7 itself can display the date along with the time
in the system tray but only if the taskbar is set to double height.
Windows 10 can squeeze the date and time into a single-height taskbar but
without the day of the week, and overall much less flexibly.)
I installed it by unzipping the downloaded file and running
It provides an easy option to be
automatically started when Windows starts.
CapsLock Indicator is a
‘small, free utility that indicates the state of the Num lock,
Caps lock and Scroll lock key[s]’ for MS Windows.
It is useful if one’s keyboard doesn’t have lights for the
caps-lock and num-lock keys.
In addition to the other possibilities for customization,
customize its system-tray icons by placing
appropriately named .ico files in the same directory
as the executable. I have created what I think are more visible icons
(assuming a dark background for the system tray) for
Caps On and
‘provides Win32 (MS Windows 95 / 98 / ME / NT / 2000 / XP) ports
of tools with a GNU or similar open source license’,
including grep, gzip, tar, and many others. After installing
one or more of the utilities, add
to the system environment variable Path.