Thursday, 4 November 2010

Tomorrow still doesn't know

This was asked on the TC-Helicon facebook page by Joey Elkins (a fabulous singer, e.g. I really like this):
Music - where do you think it's headed in the future both vocally and instrumentally? How has it changed over the time you've been alive?

I kinda went to town a bit for a FB post, and it's a bit off the cuff, so not terribly well thought through - however, I thought it was worth posteritising it.. so here is my reply!

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Interesting question. From the point of view of a chap who grew up in the south of England in the 70s & 80s, and went to an all boys school (as an opening disclaimer!)..

It feels like the changes I've seen through the years are from diversity in style to diversity in distribution.

From the mid 50s to the mid(ish) 80s saw bands and individuals be more willing to borrow from other genres, cultures, etc. Rock and pop drew inspiration from India, from the Andes; lifting sections of 'classical' music; high art would borrow from jazz, and emulate rock & disco; the boundaries of what can be done, and rules about what is allowed to be juxtaposed and superimposed on what were broken down. We got progressive rock, we got minimalism pervading popular culture, we got world music. Probably the last innovation was rap, which had already debuted by the 80s.
I love that time, my central love is the progressive rock of the early to mid 70s. You have Gentle Giant, Yes, King Crimson, Family, Stackridge, Penguin Café Orchestra, etc all sipping from a melting pot of music. Today it would probably be given that frightful badge of 'mashup'..

Time moves on.. whilst other musics have developed, they haven't seemed as embracing as previous periods. House music and its derivatives are largely just dirty disco; Techno and it's sub genres has its roots in the electronica of years ago; grunge was arguably just folk with louder guitars, in the same way that punk was rockerbilly played more aggressively. Even prog now has been reduced to rehashing what others did before, rather than forging their own path.

The diversity that was present within albums appears to have given way to more narrowly defined musics, but there is more of it in each bucket, and more ways of getting it out. Maybe its a natural extension of how to get heard - be really good at one thing, refine its essence, and push it through particular channels. 30 years ago the distribution channels were quite fixed, and companies were more prepared to invest in the development and creativity of their 'roster'; time has made the distribution more fluid and the very idea of a roster seems like fairy talk.

Where is is going to..? For the moment, I can only see things getting more segmented, with individuals focussing on niches where they feel happy to create, without reaching beyond too many boundaries. Artist development will be a personal thing, funded individually. I believe that greater diversity per artist will re-emerge, but it'll take some time. Even tho' we have reduced the world to a small café with the internet, the crossover and cross-pollination of styles has barely started - I think there will be a renaissance of the spirit of musical adventure that was seen 30-50 years ago, but it won't happen overnight.

We'll still be playing the same instruments (things like the Chapman Stick, and Eigenlabs wonderful Eigenharp will remain on the margins), we'll still be singing the same notes (microtonal stuff still hasn't caught on, despite various efforts); it's just, perhaps, our method for choosing those notes and the spaces between them needs to relax again.

Feel free to shoot me down.

Tuesday, 19 October 2010

Tomorrow never knows

I've been reflecting on a bit of code I've had to write recently, and it's got me thinking about how far ahead one should think in designing things - whether it be software (as with me) or anything else..

For a current piece of work, I have inherited a code base which is well suited for its intended use. It doesn't appear to have much fat/ bloat/ unneeded features. It has structure, it has an apparent internal parsimony which holds it together as one would hope. The user interface of the software is primarily mouse driven, and as such the controls are well set up for the various interactions that the modern computers tend to offer when it comes to pointing devices - move over, clicking with any of three buttons, mouse wheel support, etc.

A new feature was added just before I got the code, something that required accepting keyboard as well as mouse input. This is cross platform code, supporting Apple Mac & Windows. The Apple code was working as hoped, but the Windows code wasn't. So I went to have a look.

It was very clear that the keyboard-based enhancement given to the Mac side of the code was very much an afterthought - something bolted on to the fairly tight code that was already there. It stuck out, not in an ugly fashion, but like a new extension on a house where the bricks haven't been matched to the original structure. The corresponding Windows code had not been written at all, and so my task was to write it. The nature of the framework/library presented certain challenges, based on how the original code had been designed. It had been designed with just the purpose of getting the job in hand done (that is, mouse based input), and so weaving new functionality was not as simple as it could have been if there had been an eye kept open to the future.

My observations are not a criticism of the original developer (be they one or many), but more about the nature of what should be included during the design phase of a project.

The term 'Agile' has been a buzzword in many circles for a number of years, and software development has not been shielded from it. In software it frequently manifests itself as a strategy for getting done only what needs to be done at a given time, and if needs change in the future, then you just adapt what you did previously. There is some sense to this - why prepare for something that may never be needed?

I must confess, I've never been totally sold on the whole 'Agile Development' thing (with a capital 'A'). Being 'agile' (lowercase 'a') seems a good idea to me - being able to respond quickly to change, and building the tools & libraries with which one can meet those challenges looks like reasonable sense. But an ethos of 'do today what you need today' often comes across as a little shallow. Does it work, or does it just commoditise development in an unhelpful way? Many places seem to swear by it, but it's largely the developers who blow that trumpet: might I suggest that there's a hint of MRDA about this - they are the ones who benefit the most, since (perhaps) it is a way of ensuring longievity of employment, as "built-in obsolescence" doesn't really factor with software in the same way that it does with physical products..

hmmm.. Getting a little sidetracked here, I might return to that topic another day (I might not).. However, the question remains - to what extent should one have an eye on the future when making something today?

When a carpenter designs a standard rectangular table, should they make allowance for a possible fifth leg to be added? Would experience suggest that this may be rather pointless excercise?

When purchasing land to build a road, should allowance be made in advance for potential escalation of traffic numbers and the possible need for future widening? Would experience suggest that this may be a prudent thing to at least explore.

My guess is that it's the 'experience' which would dictate these things. Carpenters will generally have some idea how many legs will be needed to support the weight of wood they have before them. Transportation Planners have access to all kinds of statistics of traffic flows & growth rates for more types of road than any of us could be interested to know existed. Based on my time sat writing software I know that, had I been one of the original designers of the library I have been working on, I would have put in some provision for keyboard input. However, I may have well been very wrong to do so, since experience of this type of product would suggest that it was an unnecessary design feature (given that it's a totally mouse driven environment in over 99% of this niche market), and I would be putting fat where it wasn't needed.

It would have made today's job a lot easier though.

Tuesday, 5 October 2010

The past comes calling

One of my favourite corners of the internet, known as KvR, runs various competitions.

There is a monthly writing comp in which a piece must be written & recorded within certain defined boundaries (mostly a limit to the length, must stick to a given theme, but occasionally others). The first three weeks of a month are devoted to the writing and recording, then the last week all the entrants (and other forum members) vote on the pieces to decide a winner. I've never won, but have entered many times through the years; generally there are 50-70 entries. Worst I did was last, best was 4th, generally I'm in the first quarter. I do it more for fun than chart position. Some of my entries can be found here.

KvR also runs 'Developer Challenges,' where independent developers get the chance to enter a new creation each, and the community gets a ton of new free stuff! There have been three (DC06, DC07 & DC09); I (both uniquely and cheekily) have entered 4 times.. I have faired averagely, which I don't mind; the things I have written have been devised & created during snatched moments and so their ranking is probably a fair assessment. However, they have garnered attention away from the arena of competition, being recommended by folk at varying intervals. This has been very pleasant. From checking server logs (in the way that one does), I have found a new reference to my DC09 entry 'SynecDC.' It's from the myvst website and can be found here.



I enjoyed making SynecDC, and there is an idea for a big brother to it which will add further modulators; but it's not coming any time soon! My favourite patch is "DragonCity" which can be heard at 1:29.

Saturday, 25 September 2010

Mixed Emoticons

Some time back, well I can place it between Oct 1997 and mid 1998, I went looking for information about 'smilies,' or 'emoticons' as the are now often called. The internet was a much smaller place, so finding information was (in some ways) easier; but equally, search engines weren't everything we might expect today, and so finding information was (in some ways) harder [www.altavista.digital.com was my weapon of choice, tho' I used others].

In 1995 a friend had printed on A4 the symbols *:O) and stuck it to her fridge. This was my first encounter with the idea of making faces using ASCII. Whilst I had known about Bulletin Boards and the like, they weren't something I'd had much opportunity to play with; though I was computer minded, I had not been exposed to various esoteric elements that we now take for granted.

So there I was, on a dull Friday afternoon, working for Seele (UK) Ltd, looking after their network at the London Fruit and Wool Exchange (lovely place, actually); I dialled up to wander the web, something that wasn't really a common thing to do. I typed in Penny's hieroglyphic to see what else there was about of a similar format. Scott Fahlman's Smiley Lore page already existed, which was a good read - this was before the concerted effort by Microsoft and others to find his original post in 1982 which suggested :-) as a way of highlighting that a thought should be taken lightly.

I also found a few pages which listed out known derivatives - those we know well, like wink ;-) tongue out :-p etc, but also a collexion of many and varied peculiar and artful items. However, I saw a gap. Something was missing. Thus I submitted my contribution to the smiley world, and it made it on to a number of pages which have long since disappeared.

It was 'Davy Crockett'

Q:-)

I give it again in support of all those whose frontiers are wild - may they become kings (and queens) in such places.

Friday, 24 September 2010

Heck is other people's code

It's been a couple of weeks since my last post, so whilst Bill Bruford's Earthworks captures my aural attention, I will vent a little about one of the main hassles that can beset a jobbing programmer - received code.

I am currently engaged in 3 projects (yay! I have some work!), two of which are longer standing than my recent redundancy. But all three are causing me grief in one way or another...

In most lines of work, one can generally pick up where another has left off. One will mumble and grumble about certain things that have been done before, or be pleasantly surprised by other bits of what is found. A clerk might despair of their previous incumbent's filing incompetence; a solicitor may be pleased to see the last person to touch a case made a note about an often overlooked piece of law; handymen will often have little praise for the last person to lay hands on the items that they have been called to 'fix.'

Software is little different from any other discipline in this respect. When one starts a new project, or returns to work on something that one hasn't touched for a long time (even six months can be a long time in programming), there can be many "err.. Qu'est-ce qui se passe?" moments (I'll refrain from the more common exclamations..). Equally there can be a number of 'oh, that's pretty neat' epiphanies, but they are generally fewer and farther between.

So I have three projects. The latest I have received generally seems of a reasonable standard, and certainly does what's its supposed to (it's code for two products which have been on the market for some time); however, getting the thing to compile on the various platforms for which it's specified has been a challenge, and one I have not been able to get through without some very gratefully received help. Most places I have worked, the received code will at least have the decency to be able to construct itself if you tell it where to look for its component parts. Alas this one has been an uphill struggle; it's almost there, but not totally done yet, hence taking a break to reflect here just to regain some clarity.

The other two projects are conversion projects of work I have previously undertaken (MIDI Madness and a vocal plugin written for the NTrack software studio). Both pieces of kit work well and are 'in the wild', but the respective clients asked me to make them available for the Apple Macintosh [a 'mac' for those unaware of the history ;-)]. This has meant a complete ground-up rewrite for one, and a switch of libraries for another. Dealing with my own code is alright, here and there I notice things and wonder what I was thinking, (let's call it a 'QQSP' moment, or maybe just 'QSP' for brevity); but getting it to grips with yet another person's (or company's) idea of how something should 'work' and how I can stitch something that was perfectly solid onto can be.. well, a long and quite windy road. The odd thing is that at the end of the day, both these projects will just do what they did before!

Right, well, back to it...

Monday, 6 September 2010

Signing

Thursdays will be my day for signing on at the DHSS. My first was last week. I attended as requested and was asked what I had done to find work. I listed the things I had done - trip to Reading, phone call with Rough Diamond Productions, a few job sites, etc. The lady seemed happy with this, typed it into her PC and handed me a slip to sign.

The previous day I had spent 5 billable hours playing with some source code, attempting to get it to build with some (but not enough to call 'moderate') success. I was quite happy to tell her, however the subject never came up, I was free to go after putting my pawprint to paper. I thought that it a little odd.

From 1993-1994 I signed on and did temp work. Each alternate Wednesday I attended the DHSS in Staines and declared my hours worked, and the payment received for my labours. Rarely was I asked what I had done to find more permanent work. I seem to recall every 6 or 8 months there was an interview to chat about it, but largely they were happy with the fact that I was getting work, and that they were able to support me during the more lean weeks. But last Thursday they seemed more interested in my pursuit than my success. Maybe it's because of the volume of folk seen in a post-industrial city compared to a smaller suburban town that time must be condensed to crunch the queues; maybe the focus is more on getting folk off the lists rather than helping them through; maybe the lady didn't think that anyone would sign if they'd been working; maybe she just forgot.

It was a pleasant enough experience, but there was something missing I'm sure.

Investment

So my redundancy money came through... Must confess, there isn't a great deal of it left, I've been investing.

Firstly a set of drum-mics, 7 mics, I'll still need a couple more to completely mic my own standard kit (7 piece), but I also have the roto-toms which, well, one day..!
Then there's been a matter of a couple of guitars, a PRS SingleCut in Grey/Black, and a Yamaha BBG4 (blue, as pictured). The bass needs the pot on the neck pickup replacing, but that's not a complicated job.
There's been a few sundry other items, a WiFi dongle for a PC, plus a graphics tablet to come. I've set up an account on RedBubble for some graphic work I intend to sell [on the subject of RedBubble, my friend Nicola (also recently redundanted from the same establishment) has various cards and posters avialable - go look :-)]

So there it is. There was a 6string fretless bass available as well, which I can't quite justify the expense of, tho' it would be most exceedingly nice to have..