Tuesday, 28 November 2017

A useful configuration file for abcde

If you're here, you probably know what this is. I like using abcde ("a better CD encoder", apparently) to encode my CD collection for storage on my laptop/NAS, and playback on various devices and media players. I like to tag my music using Musicbrainz, so I changed that setting.

I thought about the formats that might be useful, for anyone wanting to archive their CD collection. FLAC is a given, I think, if your music is important to you, and you want to lose absolutely none of the detail within the recording. Opus is included, because it's open and it's awesome, basically but, for wide device support, I've included MP3 and AAC as well. With the FDK encoder, AAC clearly sounds better than MP3 at the same bit rate, at least to my ears, but MP3 is more widely supported, and at the time of writing has recently become patent-free.

It would be quite easy to delete the formats that are not needed, and edit the file in any other way you choose. You know where to store it but, if you don't, I'd suggest reading the documentation. Me, I just copied the sample configuration file when I first started to use abcde (as you can see from the comments in the file), and have simply kept editing it over the years, as my needs have changed.

# System defaults for abcde version 2.2.x
# Nothing in this file is uncommented by default.
#
# If you wish to override these system-wide settings, create your own
# .abcde.conf file in your home directory.

# CDDB options
# Choose whether you want to use CDDB or Musicbrainz. Default is CDDB
CDDBMETHOD=musicbrainz

# If you wish to use a different CDDB server, edit this line.
# If you just wanted to use a proxy server, just set your http_proxy
# environment variable - wget will use it correctly.
#CDDBURL="http://freedb.freedb.org/~cddb/cddb.cgi"

# The CDDB protocol level.
# Right now 5 is latin1 output and 6 is UTF8 encoding.
#CDDBPROTO=6

# The CDDB protocol requires hello information, including a valid username
# and hostname. If you feel paranoid about giving away such info, edit this
# line - the format is username@hostname.
#HELLOINFO="`whoami`@`hostname`"

# This controls the email address CDDB changes are submitted to.
#CDDBSUBMIT=freedb-submit@freedb.org

# The following options control whether or not fetched CDDB entries
# are cached locally in $CDDBLOCALDIR
CDDBCOPYLOCAL="y"
CDDBLOCALDIR="$HOME/.cddb"
CDDBLOCALRECURSIVE="y"

# If NOSUBMIT is set to y, then abcde will never prompt asking if you
# wish to submit your edited cddb file.
#NOSUBMIT=n

# If NOCDDBQUERY is set to y, then abcde will never even try to access
# the CDDB server; running abcde will automatically drop you into a
# blank cddb file to edit at your leisure.  This is the same as the
# -n option.  NOCDDBQUERY=y implies NOSUBMIT=y.
#NOCDDBQUERY=n

# Select here if you want to use the locally stored CDDB entries.
# This is useful if you do a lot of editing to those CDDB entries.
# Also, other tools like Grip store CDDB entries under $HOME/.cddb,
# so they can be reused when ripping CDs.
CDDBUSELOCAL="y"

# List, separated with a comma, the fields we want the parsing function to
# output. Defaults to YEAR and GENRE, for a complete list of fields provided by
# CDDB.
# The fields are not case sensitive. Actually, "y,g" will work as fine as "Y,G"
# or "YEAR, GENRE"
#SHOWCDDBFIELDS=year,genre

# Specify the style of encoder to use here -
# oggenc, vorbize - for OGGENCODERSYNTAX
# lame, gogo, bladeenc, l3enc, xingmp3enc, mp3enc - for MP3ENCODERSYNTAX
# flac - the only supported for FLACENCODERSYNTAX at the moment
# speexenc - the only encoder for SPEEXENCODERSYNTAX
# mppenc - encoder for MPPENCODERSYNTAX
# default is a valid option for oggenc, lame, flac, speexenc and mppenc.
# Currently this affects the default location of the binary, the variable
# to pick encoder command-line options from, and where the options are
# given.
MP3ENCODERSYNTAX=lame                     # Specify encoder for MP3
FLACENCODERSYNTAX=flac                    # Specify encoder for FLAC
AACENCODERSYNTAX=fdkaac                   # Specify encoder for AAC
OPUSENCODERSYNTAX=opusenc                 # Specify encoder for Opus

# Specify the syntax of the normalize binary here - so far only 'normalize'
# is supported.
#NORMALIZERSYNTAX=default

# CD reader program to use - currently recognized options are 'cdparanoia',
# 'icedax', 'cdda2wav', 'dagrab', 'cddafs' (Mac OS X only) and 'flac'.
CDROMREADERSYNTAX=cdparanoia

# CUE reader syntax for the CUE reader program to use.
# abcde supports 2 CUE modes: 'mkcue' and 'abcde.mkcue' so you can set the
# MKCUE variable accordingly. The 'abcde.mkcue' uses an internal
# implementation, without the need of an external program.
#CUEREADERSYNTAX=default

# Specify the program to convert a CUE sheet back to a CD disc ID for CDDB queries.
# Select between '/path/to/cue2discid' (provided as an example) or
# 'abcde.cue2discid', implemented internaly.
#CUE2DISCID=abcde.cue2discid

# Keep the wav files after encoding. Set it to "y" and remove "clean" from
# the list of default actions, since we purge the temp directory as default.
#KEEPWAVS=n

# Track padding: force abcde to pad tracks using 0, so every song uses a two
# digit entry. If set to "y", even a single song encoding outputs a file like
# 01.my_song.ext
PADTRACKS=y

# Define if you want abcde to be non-interactive.
# Keep in mind that there is no way to deactivate it right now in the command
# line, so setting this option makes abcde to be always non-interactive.
#INTERACTIVE=n

# Specify 'nice'ness of the encoder, the CD reader and the distmp3 proc.
# This is a relative 'nice'ness (that is, if the parent process is at a
# nice level of 12, and the ENCNICE is set to 3, then the encoder will
# run with an absolute nice value of 15. Note also, that setting these
# to be empty will result in some default niceness increase (4 in tcsh
# and 10 using the bsdutils' nice).
#ENCNICE=10
#READNICE=10
#DISTMP3NICE=10

# Paths of programs to use
LAME=lame                                 # Path to MP3 encoder
FLAC=flac                                 # Path to FLAC encoder
FDKAAC=fdkaac                             # Path to the AAC encoder
OPUSENC=opusenc                           # Path to Opus encoder

#ID3=id3
#ID3V2=id3v2
#CDPARANOIA=cdparanoia
#CDDA2WAV=icedax
#CDDAFS=cp
#CDDISCID=cd-discid
#CDDBTOOL=cddb-tool
#EJECT=eject
#MD5SUM=md5sum
#DISTMP3=distmp3
#VORBISCOMMENT=vorbiscomment
#METAFLAC=metaflac
#NORMALIZE=normalize-audio
#CDSPEED=eject
#VORBISGAIN=vorbisgain
#MKCUE=mkcue
#MKTOC=cdrdao
#DIFF=diff

# Options to call programs with:

# If HTTPGET is modified, the HTTPGETOPTS options should also be defined
# accordingly. If HTTPGET is changed, the default options will be set,
# if HTTPGETOPTS is empty or not defined.
#HTTPGET=wget
# for fetch (FreeBSD): HTTPGETOPTS="-q -o -"
# for wget: HTTPGETOPTS="-q -nv -O -"
# for curl (MacOSX): HTTPGETOPTS="-f -s"
#HTTPGETOPTS="-q -O -"

LAMEOPTS='--cbr -q0 -b256 --strictly-enforce-ISO --add-id3v2 --clipdetect'                                         # Options for MP3
FLACOPTS="-f --best --qlp-coeff-precision-search"   # Options for FLAC
FDKAACENCOPTS='-b256'                               # Options for fdkaac
OPUSENCOPTS="--vbr --bitrate 128"                   # Options for Opus

CDPARANOIAOPTS="-z"
#NORMALIZEOPTS=

# Actions to take
# Comma-separated list of one or more of the following:
#  cddb,cue,read,normalize,encode,tag,move,playlist,clean,default
#   encode implies read
#   normalize implies read
#   tag implies cddb,read,encode
#   move implies cddb,read,encode,tag
#   playlist implies cddb
# An action can be added to the "default" action by specifying it along with
# "default", without having to repeat the default ones:
# ACTIONS=default,playlist
# The default action list (referenced as "default") is defined in the following
# comment:
ACTIONS=cddb,read,encode,tag,move,clean

# CD device you want to read from
# It can be defined as a singletrack flac file, but since it might change from
# file to file it makes little sense to define it here.
CDROM=/dev/sr1
# If we are using the IDE bus, we need CDPARANOIACDROMBUS defined as "d"
# If we are using the ide-scsi emulation layer, we need to define a "g"
#CDPARANOIACDROMBUS="d"

# If you'd like to make a default location that overrides the current
# directory for putting mp3's, uncomment this.
OUTPUTDIR="$HOME/Music/"

# Or if you'd just like to put the temporary .wav files somewhere else
# you can specify that here
WAVOUTPUTDIR="/tmp/"

# OUTPUTTYPE can be either "ogg", "mp3", "flac" or "spx", or a combination
# of them separated with ",": "ogg,mp3".
OUTPUTTYPE="mp3,flac,m4a,opus"  # Encode to 4 formats!

# Output filename format - change this to reflect your inner desire to
# organize things differently than everyone else :)
# You have the following variables at your disposal:
# OUTPUT, GENRE, ALBUMFILE, ARTISTFILE, TRACKFILE, and TRACKNUM.
# Make sure to single-quote this variable. abcde will automatically create
# the directory portion of this filename.
# NOTICE: OUTPUTTYPE has been deprecated in the OUTPUTFORMAT string.
# Since multiple-output was integrated we always append the file type
# to the files. Remove it from your user defined string if you are getting
# files like ".ogg.ogg".
OUTPUTFORMAT='${ARTISTFILE}/${ALBUMFILE}/${TRACKNUM}.${TRACKFILE}'

# Like OUTPUTFORMAT but for Various Artists discs.
VAOUTPUTFORMAT='Various Artists/${ALBUMFILE}/${TRACKNUM}.${ARTISTFILE}-${TRACKFILE}'

# Like OUTPUTFORMAT and VAOUTPUTFORMAT but for the ONEFILE rips.
#ONETRACKOUTPUTFORMAT=$OUTPUTFORMAT
#VAONETRACKOUTPUTFORMAT=$VAOUTPUTFORMAT

# Define how many encoders to run at once. This makes for huge speedups
# on SMP systems. Defaults to 1. Equivalent to -j.
#MAXPROCS=2

# Support for systems with low disk space:
# n:    Default parallelization (read entire CD in while encoding)
# y:    No parallelization (rip, encode, rip, encode...)
LOWDISK=n

# If set to y, enables batch mode normalization, which preserves relative
# volume differences between tracks of an album.
#BATCHNORM=n

# Enables nogap encoding when using the 'lame' encoder.
#NOGAP=y

# Set the playlist file location format. Uses the same variables and format
# as OUTPUTFORMAT. If the playlist is specified to be in a subdirectory, it
# will be created for you and the playlist will reference files from that
# subdirectory.
#PLAYLISTFORMAT='${ARTISTFILE}-${ALBUMFILE}.${OUTPUT}.m3u'
# If you want to prefix every filename in a playlist with an arbitrary
# string (such as 'http://you/yourstuff/'), use this option
#PLAYLISTDATAPREFIX=''

#Like PLAYLIST{FORMAT,DATAPREFIX} but for Various Artists discs:
#VAPLAYLISTFORMAT='${ARTISTFILE}-${ALBUMFILE}.${OUTPUT}.m3u'
#VAPLAYLISTDATAPREFIX=''

#This will give the playlist CR-LF line-endings, if set to "y".
#(some hardware players insist on CR-LF line-endings)
#DOSPLAYLIST=n

# Custom filename munging:
# By default, abcde will do the following to CDDB data to get a useful
# filename:
# * Translate colons to a space and a dash for Windows compatibility
# * Eat control characters, single quotes, and question marks
# * Translate spaces and forward slashes to underscores
# To change that, redefine the mungefilename function.
# mungefilename receives the CDDB data (artist, track, title, whatever)
# as $1 and outputs it on stdout.
mungefilename ()
{
    echo "$@" | sed s,:,\ -,g | tr \ / __ | tr '#*%' '___' | tr -d \'\"\?\[:cntrl:\]
}

# Custom genre munging:
# By default we just transform uppercase to lowercase. Not much of a fancy
# function, with not much use, but one can disable it or just turn the first
# Uppercase.
#mungegenre ()
#{
#    echo $CDGENRE | tr "[:upper:]" "[:lower:]"
#}


# Custom pre-read function
# By default it does nothing.
# You can set some things to get abcde function in better ways:
# * Close the CD tray using eject -t (if available in eject and supported by
#   your CD device.
# * Set the CD speed. You can also use the built-in options, but you can also
#   set it here. In Debian, eject -x and cdset -x do the job.
# KEEP IN MIND that executables included in pre_read must be in your $PATH or
# you have to define them with full /path/to/binary
# Uncomment and substitute the ":" with your commands.
#pre_read ()
#{
#:
#}

# Custom post-read function
# By default it does nothing.
# You can set some things to get abcde function in better ways:
# * Store a copy of the CD TOC.
# KEEP IN MIND that executables included in post_read must be in your $PATH or
# you have to define them with full /path/to/binary
# Uncomment and substitute the ":" with your commands.
#post_read ()
#{
#:
#}

# post_encode
# By default it does nothing.
# You can set some things to get abcde function in better ways:
# * Move the resulting directory over the network
# * Compare results with a previously made run, for tests
# KEEP IN MIND that executables included in post_encode must be in your $PATH or
# you have to define them with full /path/to/binary
# Uncomment and substitute the ":" with your commands.
#post_encode ()
#{
#:
#}

# If you'd like to have abcde eject the cdrom after all the tracks have been
# read, uncomment the following line.
EJECTCD=y

# To encode on the remote machines foo, bar, baz, quux, and qiix, as well as
# on the local machine (requires distmp3 to be installed on local machine and
# distmp3host to be installed and running on all remote machines - see README)
#REMOTEHOSTS=foo,bar,baz,quux,qiix

# Set to 1,2, etc. to obtain some information about actions happening in the background
# Useful if you have a slow network or CDDB servers seem unresponsive.
#EXTRAVERBOSE=0

Monday, 23 October 2017

Maybe if I just close my eyes and breathe...

I told her that I'd see her on Thursday, at Salsa. In truth, I didn't know whether I would be there or not. Recently, I've started to feel that I might turn my back on dancing for a while. To get away, and avoid too many questions, I said I'd be there. Being so economical with the truth didn't sit well with me.

As it happens, I'm feeling quite ill, and it looks unlikely that I'll be able to go on Thursday. The question is, if I was well, would I go? As much as I love dancing, there's a sense that, for me, it may be coming to an end. I have an event to attend in January, with a very good friend, but after that...
 
I've considered just going to that event, taking a break from dancing in the time between now and then; I've considered just going to the classes and taking a break from the other events; I've considered going to the events and taking a break from classes.

I can't honestly tell you whether I'm feeling like gradually reducing my involvement, with a view to leaving it behind at some point, or I just need to take my foot off the accelerator for a while. All I know is that, right now, I don't love dancing as much as I once did, and it's wholly based on feelings that I bring to the classes and events with me, due to things that have been going on in my life.

I recently recorded a video, in which I danced with a friend with whom I love to dance, and danced my favourite style with her. When I watch that video, I remember how that dance felt. The problem is, that dance reminded me of what it was like to fall in love with dancing, and too many dances now feel like I'm just going through the motions.

Friday, 1 September 2017

Two years of dance

I've been learning to dance for two years now. I started with modern jive and, a few months later, I started learning salsa. I still don't consider myself a good dancer, from a purely technical perspective, but the amount of times I get asked to dance seems to contradict that.

I'm not the best at learning new movements, especially if they're part of a long sequence and involve multiple changes in direction. When I'm shown a new movement, I watch, and I try to take in where my left hand should be, where my right hand should be, what my feet should be doing and, most importantly, where my partner is. Unfortunately, that's not one of my strengths. In effect, I have to translate all of that visual input into a form that works for me, and that's how the move feels.

What I end up with is an approximation of the movement that's a little fuzzy around the edges, but it's enough for me to work with. Maybe being a little different is a good thing, and maybe it contributes to me being asked to dance. I don't know. Maybe it's a question of attitude. I'm always mindful that a lady will want to dance with other men, and that being asked to dance is quite flattering, so I keep her as the focus. If I can help her to show what she does that is unique to her, rather than restricting her by dictating what she does, then I think it's reasonable to expect that men will ask her to dance. After all, that's likely to be what prompted me to ask her to dance, or put a smile on my face when she asked me.

If I'm paired with a relative beginner, I try to imagine what it must be like for her to dance with me. Remembering how it was for me as a beginner is useless, because that was my experience, and her experience will be different. What I try to do is to focus on what she does well, as there will always be something I can highlight as being particularly good. The last thing I'd want would be for her to give up: that's ultimately her decision to make, but it seems a little sad if she gives up out of a belief that she's not capable of being a good dancer.

To me, dancing is about sharing those few moments with someone. I'm not there to show what I can do, or to make anyone else feel bad. I'd rather do a few things well than many things badly. It's not about having a carefully choreographed, set sequence of moves either, and my mind seems to rebel against that anyway. I'm very much about how a move feels, and all of them feel slightly different to me, and some of them feel wildly different or are associated with a specific feeling. Consequently, even with the comparatively limited number of moves I'm able to remember, there's a whole lot of expression in the way I dance, and how I move will depend on who I'm with as much as how I'm feeling. Apart from anything else, the two of us need to conspire to show the rest of the room what she can do.

I've seen leads dancing with two followers at once. If I'm honest, I regard that as showboating, and it doesn't interest me. I have less interest in rueda and birthday circles too, than I have in dancing with one partner for the duration of a song. It feels like an extension of how I prefer one to one conversations to group interactions.

I think that's probably how I should sum this up and bring it to a close. Whether I'm talking to someone when I'm dancing with them or dancing silently, I'm communicating with them and, whether they realise it or not, expressing a whole lot of feeling.

Tuesday, 15 August 2017

Fortitude

“If you have made mistakes, even serious mistakes, you may have a fresh start any moment you choose, for this thing we call "failure" is not the falling down, but the staying down.” ~Mary Pickford

I needed to go circuit training. I needed to be in that room, with people who were mostly half my age, and struggle to keep up with them. I needed to sink to my hands and knees, gasping for breath, and to get back up again and keep running. Maybe they questioned why I was there, when I was running at half the speed they were running, and it was obvious that I was finding it difficult. The answer is, I was there because I found it difficult.

I was there to remind myself of a fundamental aspect of my character.

A few years ago, I did something that would usually be unthinkable for me: I started to open up about what was happening in my life, and how I felt about it. I can't tell you that it was a conscious decision, though. With the benefit of hindsight, I can see that I was carrying more emotional baggage with me than I could have been reasonably expected to hold.

What's important is that, when I started to open up, I wasn't seen as weak. The friends I chose to confide in painted a very different picture of me than the one I was expecting. What I heard was that they realised I was closing off a lot of myself, but they were okay with it, because they realised there must be a good reason for it. Importantly, they recognised that opening up was a sign that I'd reached a point where I was finding it impossible to cope. Then, one friend said something that took me by surprise:

"I admire how strong you are. Life keeps knocking you down, but you keep getting back up again."

Those may not have been her exact words. In truth, a few people expressed the same sentiment around the same time, so it's difficult to be sure who said what, but she was the first to say it.

When I started learning to dance, I thought I'd never get it right. It didn't matter how many people told me I was making good progress; what mattered was my own view of my progress. I stuck with it, though, because I wanted to dance, and I was determined to get it right.

It was the same thing that pushed me to keep going during circuit training. It didn't matter that I had to stop and catch my breath; it didn't matter that I ran at a slower speed than the others. It was embarrassing, maybe even a little humiliating, but I wasn't going to let it beat me.

Recently, I've been feeling the need to disconnect for a while. I've not been my usual self for a long time, and the main thought behind shutting myself away is that it can't be pleasant for other people to see me like this. I'd stacked everything I'd been dealing with into a neat pile, you see, and then the death of my sister, a few months ago, brought it all crashing down. I don't honestly know whether isolating myself will be good for me, but there's still that sense of protecting others from the effects of my grief.

Add the above to me being massively, massively introverted by nature, and you can see how much I feel the need to not be around people, as much as that's possible.

A popular self-help book says that, when the thought of something scares us, we should feel the fear and do it anyway. Some fears are rational, and some just hold us back.

I told friends that I'd be withdrawing for a while. I suppose I have to ask myself how long I'm prepared to stay down, before I get back up again.

Tuesday, 8 August 2017

A crisis

The words "mid-life crisis" have sprung to mind a few times. Apparently, I should be buying a sports car or a motorcycle right now. Instead, I'm in the process of becoming a counsellor and learning to dance. It feels less like a crisis and more like a continuing exploration of identity: in person-centred counselling terms, it's a time where we're aiming for greater congruence, and moving ever closer to our organismic selves. Yeah, you have to be careful how you say that last one.

It's likely that I always had a love for dance, and a desire to help others. The thing is, we bury so much of who we are, due to a misguided sense of who we should be, must be, or have to be. Our search for identity can feel like trying to paint with watercolours in the rain, or that we're forever pushing against a door marked "pull". Are we being our true selves, or the person we think we have to be?

It's particularly difficult if we were given the message, early on in our lives, that we weren't good enough, and that nothing we did would ever be good enough. This is damaging, as it leads to us setting impossibly high standards for ourselves, and labelling ourselves as deficient in some way, should we fail to meet those standards. At its worst, we may feel that we will get everything wrong anyway, so our motivation to try in the first place is affected. We might fear failure, because the consequences of past failures have been the disapproval or judgement of people who were important in our lives, which in turn affected our view of ourselves.

Maybe this isn't just about finding our true selves. Maybe this is just as much about throwing off the shackles of the expectations of others.

Wednesday, 19 July 2017

Croatia

According to a receipt I've just found while trying to sort my papers, it was 37 minutes past midnight, on the 12th of July in 2016 when I bought a chicken tortilla from a shop on the seafront in Makarska. I remember that most of the sauce dripped onto my shirt, as I tried to dance salsa to the house music coming from a nearby club.

I remember keeping time with the music, as fast as it was. Then again, I'd had a few pints of the local beer earlier that evening, so I might be wrong. I was with a friend, and she was my reason for being in Croatia in the first place. From my perspective, a friend needed me, and I got a plane to Croatia without a second thought. Well, if I'm honest, there was a second thought, a third thought, a fourth and so on... but I got on the plane anyway.

It was in a bar in the town square that I'd consumed large amounts of the local beer. The bar had been quite a find. Actually, it was recommended by a guide I'd downloaded to the e-book reader I'd brought with me. There was little room inside, but plenty of tables outside.

There was something about drinking at a table in the town square... It was a nice, warm and pleasant evening. The beer tasted much better than I thought it would. Importantly, I was with a friend who'd reached a similar level of inebriation. There was a lot of laughter: some of it from me. It felt good to be away from everything that had been dragging me down, in the company of one of my very best friends.

It was only when the bar was closing that we decided to leave, via the seafront, and I saw somewhere that was still serving food. While I was waiting for my order, my friend started swaying to the music from the nearby club and reminded me that I'd recently started to take salsa lessons - well, five months earlier, to be precise. She wanted to learn some basic steps. In retrospect, the conditions weren't ideal, and I probably wasn't the best person to teach her.

"1-2-3... 5-6-7... 1-2-3... 5-6-7..."

I could barely keep up with the music. I was struggling to even count in time with the music. I got the numbers out of order a few times, due to the alcohol in my bloodstream. Somehow, I picked out a salsa rhythm in a hard house track. With a chicken tortilla in my hand, I demonstrated the basic forward step, back step, cucarachas and opening out step.

It was the early hours of the morning; I was in a beautiful country; I was with a friend; to be honest, I was quite drunk, but I was dancing. I didn't care about the sauce dripping onto one of my favourite shirts. It felt good. I thought, in that moment, that I should have more moments like that in my life.

I guess that my enthusiasm was contagious. My friend said she wanted to learn salsa. She managed to imitate the basic steps I was showing her. I looked around me a few times. The reflection of the moon was rippling across the water; above, the stars were clearly visible; not far away, a party was going on into the early hours of the morning. There I was, moving to the music with a great big smile on my face.

On the seafront in Makarska, under the stars, so drunk that I could barely stand, I fell in love with dancing.

Sunday, 9 April 2017

No sweat (I wish)!

I was at a dance last night, and it was fun, as it always is. Unfortunately, there's something that has been happening since I started dancing, and it happened again last night.

The evening started with a lesson, in which some of us learned a few new moves. As usual, I couldn't pick them up very quickly, but I started to get them towards the end of the lesson, only to forget them once I started asking the ladies to dance.

During the lesson, someone noticed that I'd started to perspire. I'd felt it myself before she'd noticed, but she confirmed what I'd felt. After the lesson, I noticed that a small patch on my shirt had become noticeably damper and darker than the rest of the shirt. For a while, after the class, I was approached by various ladies I'd met at these dances before. I prefer to take a break between dances, but I also have a rule that I never refuse a dance. The damp, dark patch on my shirt spread outwards, and my face became noticeably more wet as the evening wore on.

Why do I need to take breaks between dances? Why do I sweat so much? I remember the Christmas party in early December, where I made the mistake of wearing a Christmas jumper and not bringing a change of clothing, and I paid dearly for that mistake. A few ladies said that I looked hot, and I jokingly thanked them and told them they didn't look so bad themselves. Obviously, in that case, I suffered due to my own lack of foresight, but I still perspire heavily whenever I dance, even in the lessons.

I received a big clue as to why this happens, back when I was still doing modern jive. Someone was watching the other men dance, as he was trying to learn the style, and he later told me that he could understand what was going on when he saw the other men dancing, but when he watched me, he didn't understand.

All of us have our own way of moving. I know this from the many years I spent learning various martial arts. Although an instructor teaches us a specific way of moving, there will be a point where we take ownership of the movements we've learned, and they become ours through the modifications we make so that the movements feel more natural to us. This is how we get to the point where we can perform the movements with little conscious thought.

In my case, it was my early exposure to various Japanese martial arts in particular that would go on to affect how I learn movement and think about movement. Imagine the explosive speed and power which is seen as the ideal in the martial arts I'm talking about, but imagine it being expressed through the medium of dance. Imagine having to do that for three or four minutes at a time, repeatedly. Imagine that you're having to perform movements which are bigger, and not as efficient or direct as those you learn as a martial artist, yet you are so used to putting a certain kind of energy into your movements that you struggle to turn it off.

I'd considered that I was just getting old; I'd considered that I might be unfit; I'd considered many other possibilities. The bottom line, actually, is that I'm putting a lot more energy into dancing than is necessary.

The question is whether I'm able to change the way I've been moving for most of my life. The only way I'll find out is to keep dancing. I'm okay with that.