Monday, August 14, 2023

Some New Papers

My website has been acting up a bit, so it's been redesigned somewhat. That's finally allowed me to post a few new papers. These are:

  • Self-Reference: The Meta-Mathematics of the Liar Paradox (PDF)

    Central to the liar paradox is the phenomenon of 'self-reference'. The paradox typically begins with a sentence like:

    (L): (L) is not true

    Historically, doubts about the intelligibility of self-reference have been quite common. In some sense, though, these doubts were answered by Kurt Gödel's famous 'diagonal lemma'. This paper surveys some of the methods by which self-reference can be achieved, focusing first on purely syntactic methods before turning attention to the 'arithmetized' methods introduced by Gödel. It's primary lesson is that we need to be more careful than we usually have been about self-reference.

  • Sense as Mode of Representation (PDF)
    There are two main models for explaining Frege's notion of sense, both of which have their roots in the work of Sir Michael Dummett. One, nowadays most familiar from the work of David Chalmers, is broadly internalist and descriptivist in character. The other, most familiar from the work of Gareth Evans, is externalist and anti-descriptivist. I first consider the former project, arguing that Dummett anticipated Chalmers's version of the view, and that no version of this view is going to be defensible. The arguments are somewhat different from those familiar from the literature. I then consider Evans's view and argue that, while it is not vulnerable to many of the objections that have been made to it, it does not really succeed as an account of sense, because it forces us to abandon Frege's view that sense is an aspect of representational content. 

I've also updated the paper "Chalmers on Analyticity and A Priority", which will now appear in my book Modes of Representation, and "Speaker's Reference, Semantic Reference, and Intuition", which will appear in expanded form in the same book.

Tuesday, August 8, 2023

Musical Tempo Markings

I've not found an easily printable list of these online, so here's one. 

 

Larghissimo Very, very slow 20 bpm or slower
Solenne/Grave Slow and solemn 20 - 40 bpm
Lento Slowly 40 - 60 bpm
Lentissimo At a very slow tempo 48 bpm or slower
Largo Broadly 40 - 60 bpm
Larghetto Rather broadly 60 - 66 bpm
Adagio At ease, slow and stately 66 - 76 bpm
Adagietto Rather slow 70 - 80 bpm
Tranquillo Tranquil, calmly, or peaceful 80 bpm
Andante At a walking pace, moderately slow 72 - 76 bpm
Andantino Slighlty faster and more light-hearted than Andante 73 - 83 bpm
Andante moderato Between Andante and Moderato 92 - 98 bpm
Moderato Moderately 108 - 120 bpm
Allegretto Moderately fast, but less than allegro 100 - 128 bpm
Allegro moderato Moderately quick, almost Allegro 116 - 120 bpm
Allegro Fast, quickly and bright 120 - 156 bpm
Vivace Briskly, Lively and fast 156 - 176 bpm
Vivacissimo Very fast and lively, faster than Vivace 172 - 176 bpm
Allegrissimo or Allegro vivace Very Fast 172 - 176 bpm
Presto Very, very fast 168 - 200 bpm
Prestissimo Faster than Presto 200+ bpm

Monday, July 10, 2023

Creating New Divisions (New Types of Sections) In LaTeX

For those who just want the answer:

\newcounter{postsection}[chapter]
\renewcommand\thepostsection{\thechapter.\Alph{postsection}}
\newcommand\postsection{\@startsection{postsection}{1}{\z@}%
   {-3.5ex \@plus -1ex \@minus -.2ex}%
   {2.3ex \@plus.2ex}%
   {\normalfont\Large\raggedright}}
\newcommand*\postsectionmark{\sectionmark}
\newcommand*\l@postsection{\l@section}

 


For the book on which I'm currently working, I want to have special sections, labelled with letters rather than numbers, in the Postscripts. So, e.g., there will be sections 9.A and 9.B. This seemed like it would be easy to do. The book.cls file, on which my custom class file is based, defines sectioning commands like this:

\newcommand\section{\@startsection {section}{1}{\z@}%
    {-3.5ex \@plus -1ex \@minus -.2ex}%
    {2.3ex \@plus.2ex}%
    {\normalfont\Large\bfseries}}

The \@startsection macro is provided by LaTeX for precisely this purpose. It's documented here. So the obvious thing to do was just replicate that definition:

\newcounter{postsection}[chapter]
\renewcommand\thepostsection{\thechapter.\Alph{postsection}}
\newcommand\postsection{\@startsection{postsection}{1}{\z@}%
   {-3.5ex \@plus -1ex \@minus -.2ex}%
   {2.3ex \@plus.2ex}%
   {\normalfont\Large\raggedright}}

This defines a new counter, formats it, and then tells the new \postsection command to use it.

Unfortunately, this led to two problems. The first is that I got an error when generating the table of contents. LaTeX uses a series of commands like \l@section and \l@subsection to do that, and so it was trying to call \l@postsection to format these ones, and that wasn't defined. That's easy to fix:

\newcommand*\l@postsection{\l@section}

The second problem was weirder. The postsection headings were being printed like this:

9.A Against Russellianism
   Against Russellianism

I.e., the title of the section was being repeated. It took me a while to figure that one out. The problem turned out to be that LaTeX was, in effect, calling \postsectionmark to set the heading of the pages with the title of the section. And, again, that wasn't defined (though, given how it is called, it didn't throw an error but just printed the argument). So solving that problem, in the end, was also easy:

\newcommand*\postsectionmark{\sectionmark}

It's a bit unclear to me why \@startsection doesn't just define sensible defaults, but there you have it.

Sunday, April 16, 2023

Convert XZ File to GZ File

I've been having some trouble with XZ files when modified through KDE's ark program. So I decided to convert them all to GZIP files. To do that one at a time, by hand, would take forever. Hello shell scripting.

#!/bin/bash

#DEBUG="echo";
CWD=$(pwd);

XZFILE="$1";
if [ -z "$XZFILE" ]; then
   echo "No file given!";
   exit 1;
fi

XZFILE=$(realpath "$XZFILE");
TARGETDIR=${XZFILE%/*};
GZFILE=${XZFILE##*/};
GZFILE="${GZFILE%xz}gz";
NEWDIR="/tmp/xz2gz.$$";

echo $XZFILE;
$DEBUG mkdir "$NEWDIR";
$DEBUG tar -Jxvf "$XZFILE" -C "$NEWDIR";
$DEBUG pushd "$NEWDIR";
$DEBUG tar -czf "$GZFILE" *;
$DEBUG mv "$GZFILE" "$TARGETDIR";
$DEBUG popd;
$DEBUG rm -Rf "$NEWDIR";


Sunday, March 19, 2023

Compiling Ardour on Fedora

Ardour is an open source Digital Audio Workstation that runs on Linux, OSX, and Windows. They provide binaries, but require payment for them. I'll probably subscribe, just to help them out, but I decided to compile it myself first, so I could check it out. To do that, I had to install a number of libraries. Namely, these ones:

boost boost-devel glibmm2.4-devel sndfile-devel sndfile libsndfile-devel libcurl-devel libarchive-devel libcurl-devel liblo-devel taglib-devel vamp-plugin-sdk-devel rubberband-devel aubio-devel lv2-devel serd-devel sord-devel libudev-devel libusb-devel libusb1-devel cppunit-devel  libwebsockets-devel pangomm*devel liblrdf-devel sratom-devel lilv-devel lilv-{devel,libs} gtkmm*devel

I don't think I needed absolutely all of that, and you may need to install other things, too, but that will get you going.

Once the headers were installed, compilation was pretty painless.

Tuesday, February 28, 2023

Bash: Looping Over Filenames With Spaces

 The common:

for F in *; do ...; done

will fail if the files contain whitespace in their names. At least for files with just spaces, this works:

find -iname GLOB | while read F; do
   ....
done

https://stackoverflow.com/questions/7039130/iterate-over-a-list-of-files-with-spaces

 


UPDATE: It appears that newer versions of bash solve this problem and do what expect it to do:

#> for i in h*; do echo $i; done
ho ho

Monday, January 9, 2023

The Loudness War

Many years ago, record companies realized that most people prefer music when it sounds louder. (See wikipedia and this article.) This isn't just a matter of turning it up. Rather, what people respond to is the average loudness, and you can increase that by compressing the music: making the quiet parts louder, basically.