coding

progress report 2

We’re over three-quarters of the way through 2016: A Creative Year, and it’s been a long time since my last progress report so here goes:

In March, I increased my working hours so I’ve less time and energy to devote to creative activities.

I recently spent a weekend sorting through the accumulation of stuff in my garden office. It was desperately in need of a clean, but in doing so I found a lot of stuff that I’ve never used so it was time to send it somewhere it could be utilised. I found it hard to get rid of things like sketch pads and paint brushes, that I’d acquired in the hope of achieving some creative dreams, and it was an effort to remind myself that getting rid of them isn’t the same as abandoning those dreams.  Anyway the space is more usable now, even if I’ve still to set up all the equipment again, so that’s a benefit.

Music

In May, I took part in the Duxford Saturday Workshop’s members’ concert. It was an enjoyable day, with several hundred people of all ages performing in their groups, so the primary school corridors were full of people waiting their turn, practicing nervously. The mixed abilities ukulele group played Brain Damage from Dark Side of the  Moon. I’d been careful to practice in good time to warm my fingers up but unfortunately the knuckles of my left hand locked as they sometimes do, so I could only pretend to play along, which was frustrating.

Shortly after the concert, I started attending weekly music therapy sessions at Anglia Ruskin University through Cambridgeshire Music.  This is a fantastic safe environment to explore and experiment, so I’ve tried playing guitar, saxophone, piano accordion, and piano, sometimes solo but sometimes Susan accompanies me on guitar or piano. She’s very talented and can improvise effectively around whatever sounds I’m producing.

As a result of her patience and encouragement I finally bought a guitar, an electro-acoustic Washburn which I practice on at every opportunity. I particularly enjoy it when Susan and I make music together.

With the onset of the new school year, the Duxford Saturday workshops resumed, and adjustments to the timetable meant that I was able to join the beginners’  guitar group as well as return to the mixed abilities ukulele group.

The structure provided by weekly music therapy sessions and Saturday workshops  provides very helpful encouragement to practice, though I find that I’m neglecting the ukulele in favour of the guitar.

Drawing/painting

I’ve sketched a few times at lunchtime at work. It’s been pleasant but during the summer I spent too long sitting in the direct sun, and fainted on my return to the office.  no painting

Coding

I’ve still to complete the god’s view labyrinth sketch but I’ve devoted a lot of time trying to develop a path-following algorithm. I’m tempted to hard-code the sketch by running it once and saving the co-ordinates for the ‘people’ to follow, but that would lose the ability to pick randomly from a set of vector paths representing different labyrinths, so I’m loathe to take that route.

Websites

In what I now think of as ‘my ‘other’ job, I’ve been training other people on setting up websites using WordPress, but it’s not creative.

Photography

I’ve made several After Dark photography expeditions, exploring the streets of Cambridge city centre at night, which reminds me: I’ve still to post the shots from what I call the Dark Rain expedition.

I still haven’t done any light painting, and I have several other projects I want to try but I’ll keep those to myself for now. Off-camera flash offers a lot of interesting potential.

Friday, October 21st, 2016 coding, creativity, music, photography No Comments

progress report

We’re over half-way through February, so it seems high time for a progress report on 2016: a creative year, so I’ll take a brief look at each area:

Ukulele, guitar

I’ve attended all four sessions of the Duxford community music group in the first half of the spring term, and the list of pieces to practice has grown each week. During this current half-term break, I’m concentrating on Frere Jaques, Everything Stops For Tea, Messing About on the River, 12 Bar Blues, and Brain Damage (yes, the Pink Floyd track from Dark Side of the Moon). It’s good to have a variety of numbers to focus on, but this has distracted me from  following the programme of exercises in Ukulele Aerobics by Johnson Chad.

On a more practical and slightly more public note, I’ve accepted an offer from one of the volunteers in the Cambourne Timebank scheme to help me develop my ukulele and guitar playing. We’ve provisionally arranged to hold our first session one evening this week.

Photography

The nights are still long so it’s a good time of year for low-light photography, but, although it’s been a relatively mild winter so far, I find it too cold to go out taking photographs without a specific event to reach, so I keep postponing my tentatively-planned expeditions. I got as far as buying two small torches for light painting but haven’t used them yet. Instead, I’ve read two of my photography books on using off-camera flash guns: Studio Lighting Unplugged by Rod and Robin Deutschman and Speedliter’s Handbook by Syl Arena. Yes, I know that reading about something isn’t the same as actually doing it, but I’ve hardly used my flash gun and feel very unprepared to start using this versatile piece of equipment without a lot of guided practice and experiment.

Coding

I seem to be bombarded with ideas for coding projects. Everywhere I go, I want to create a code version. The latest two ideas are: a drawing programme with a kaleidoscope feature, based on an exhibit at the Camera Obscura World of Illusions in Edinburgh that Mandy and I visited last week. Mandy found it very therapeutic, so a browser-based sketch written in p5.js seemed a perfect way to create one for her.

The second recent idea is a representation of a visual metaphor used in The Brain with Brian Eagleman, a documentary series currently showing on BBC. The metaphor was to illustrate the impact of multiple minute differences, and consisted of a box with several rows of mousetraps, each primed with a table tennis ball. Brian dropped another table tennis ball into the box which triggered a mousetrap into releasing its ball which then flew up then landed on another trap which then released its ball. Within seconds the box was full of colliding balls all landing on traps and releasing yet more balls. It seemed a perfect opportunity for some OOPs coding, but I’m daunted by the idea of trying to simulate the physics of spinning balls. This calls for a simplification.

Drawing and painting

No activity to report.

Websites

I’ve offered to help Laura, the organiser of Cambourne Timebank to set up a website for the scheme, and to illustrate the scheme by taking photographs and editing a video of activities.

In conclusion, I have achieved little finished output for the first seven weeks of 2016, but I have plenty of material to work on in the coming weeks. To keep myself on track, I need a thorough review and overhaul of my Trello board dedicated to 2016: a creative year.

Tags:

Saturday, February 20th, 2016 coding, creativity, music, photography 2 Comments

a creative year

I’m giving 2016 a theme: a creative year. My focus for the year is to: develop creative skills.

I’n recent months, I’ve posted the results of my night photography expeditions, and I plan to continue these, branching into experiments with light painting.  In addition to photography, I’m keen to extend my ukulele playing, and I’ve arranged to start in a community music workshop that meets on Saturday mornings in Duxford. I’m also looking at other creative skills: drawing, painting and coding.

Prompted by a post on the Trello blog, I’ve created a Trello board for specific goals and tasks to help me focus on developing these creative skills.

Tags: ,

Thursday, January 7th, 2016 coding, creativity, drawing, music, photography 1 Comment

more p5.js

I spent most of a day this week watching p5.js videos by Daniel Shiffman on YouTube. He has long been a favourite coding author of mine, and I have two of his books: Learning Processing and The Nature of Code, which I backed on Kickstarter. His style of delivery isn’t as polished as those on the Introduction to Programming for the Visual Arts course on kadenze.com but I like Dan’s enthusiasm and energy. I was particularly keen to learn about OOPS in p5.js.

As a result of watching Dan’s videos, I now have a sketch for my maze project that generates blob objects at random intervals which then set off in their allocated direction.

My next steps are to:

  • re-watch the section on loading images so I can pick and load a labyrinth path at random
  • re-read the sections in my Processing books on basic trigonometry
  • develop my findTarget() function, which is my attempt at a path-following algorithm
  • upload my sketch to a server so I can have it running live on the web

My copy of Make: Getting Started with p5.js arrived in the post today, so there’s lots to keep me busy over the next week or two.

 

Tags:

Thursday, November 26th, 2015 coding No Comments

p5.js

I’m excited to have discovered p5.js, the recent implementation of Processing in JavaScript. Kadenze is currently running a free UCLA introductory course in it, which I’m enjoying. The prospect of using Processing in a browser environment is great. It would have made the interactive elements of the Erasure exhibition at The Potteries Museum & Art Gallery much easier.  I haven’t signed up for the paid version of the course, so I have less direct access to tutors. Nonetheless, I’m looking forward to the sessions that cover the elements that p5.js can do that Processing can’t, though with the recent introduction of Processing 3 I’m slightly out of touch with its newest capabilities.

I still have the mandala project ticking away in the back of my head, and the possibility of achieving it online may be sufficient stimulus for me to make some real progress at last, but while writing this very paragraph, an e-mail arrived from Kadenze informing me of a new course starting on graphic illustration. I succumbed and am now enrolled. There was no session this week on the p5.js course so  I thought ‘why not?’ Of course, there are lots of reasons why not, most of them listed on cards on my Trello boards, but it could be interesting and useful. There’s nothing to lose if it doesn’t work out as long as I keep focused on the other things I want to achieve.

Tags: ,

Thursday, November 12th, 2015 coding No Comments

willen park

An unexpected day trip to Milton Keynes resulted in a very enjoyable day out. We walked the labyrinth by the peace pagoda in the park around Willen Lake, to find a deflated hot air balloon draped across the labyrinth path in preparation for an evening flight.

Milton Keynes031_small

It took us nearly an hour to walk the whole way to the centre, a suitably peaceful and serene time, leading to meditation and contemplation. The experience provided me with another labyrinth route to incorporate in my mandala coding project (previously based solely on the turf path in Saffron Walden). Unlike Saffron Walden, though, the Milton Keynes path isn’t unicursal. There are unexplained cross bars joining sections of the path(or emphasising the quadrants, depending on your point of view). I haven’ t yet decided how to handle these in the path-following algorithm, but ignoring them would be simplest.

willen lake maze

I should make it clear that this image was not taken from the balloon flight that evening, it came courtesy of Google satellite view.

Tags:

Sunday, October 4th, 2015 coding No Comments

on the unexpected benefits of algorithms

I was recently talking to one of the volunteers at work, discussing the well-known exercise in probability theory where there’s a game show with three doors. Behind each door is a prize, one of which is very valuable while the other two are worthless. The contestant has to pick one door, then one of the other doors is opened to reveal a worthless prize. The contestant then has the opportunity to change his/her mind and choose the remaining door. What is the contestant’s best strategy?

The answer, perhaps counter-intuitively, is: switch and pick the remaining door.  Precisely because it seemed counter-intuitive, I decided to write a simple programme to show the results of a large number of iterations, but, while planning the code, I proved to my own satisfaction that changing your mind is the better strategy. So I had the strange experience of learning through preparing to code, with the outcome that I didn’t need to write the code!

In effect there are only two courses:

  • either the contestant picks the door with the valuable prize (a 1 in 3 chance), in which case it would be unwise to switch; or:
  • the contestant picks one of two doors with the worthless prize,  (a 2 in 3 chance), in which case it would be wise to switch.

Since the latter course is more likely, the better strategy is to switch. QED. The revelation of the prize behind another door is merely a distraction.

Conclusion: the discipline of writing an algorithm helps to think logically about the problem.

Monday, February 9th, 2015 coding No Comments

confessions of a first time web developer

I’ve made my first foray into the murky world of web development. It started oh so innocently when I embedded a Google map into an .html page, creating a marker on the map that was centred slightly away from the venue location, and zoomed at an appropriate level. Then it suddenly escalated firstly to creating a Twitter follow button, then creating a Twitter timeline which I then embedded in another .html page. I blame Twitter for making it so easy and tempting me in. All I had to was cut and paste the code into the correct <div>. Now that I’ve started down this slippery slope, where will it all end?

Tags:

Friday, August 15th, 2014 coding, Uncategorized No Comments

changing horses mid-stream

Yesterday was the first day of Week 1 of Creative Coding offered by Monash University through Future Learn. The free course introduces complete beginners to Processing, taking a fascinating visual and philosophical approach to the subject. It offers great resources as supporting material, so although I’ve already completed the tasks for week 1, I’m already impatient to get started on the remaining five weeks.

Coincidentally, yesterday was also Apple’s Worldwide Developers Conference in San Francisco, where the company announced a new language for creating apps: Swift.

On first inspection, Swift appears, at least to an innocent like me, to be far more approachable, like Processing, than Objective C, on which it’s built. I can see that while battle-weary developers may groan at yet another proprietary language, this could be a good time for a beginner to get to grips with Swift.  I’ve looked round to investigate some of the options for creating apps such as Appcelerator , but I remain unconvinced.  I’m still keen to learn more about Processing, but perhaps I’ll hop on board Swift, though it feels like I would be committing myself to a life-changing decision, like someone deciding which football team to support.

Tags:

Tuesday, June 3rd, 2014 coding No Comments

‘i’ve been a miner for a heart of gold’ – neil young

After yesterday’s post about my version of the 1975 work ‘Shutter Interface’ by Paul Sharits, I’ve been inspired to resume work on another generative piece I started last year, and thinking about it last night kept me awake for several hours. Eventually I had to get up to make some notes before I forgot my solution to the problem I was struggling with.  i remember this pattern of disturbed sleep from the days of my coding sessions with Ollie Glass, which, in turn, reminded me of my genetic algorithm coding. Food for future projects perhaps.  To keep me awake today I’m listening to ‘Here Come The Warm Jets’ and ‘Taking Tiger Mountain by Strategy’ by Brian Eno, no doubt the consequence of reading ‘Brian Eno: Visual Music’ by Christopher Scoates. Ah the 1970s, derided by many for their excesses, but I see them as a rich mine of inspiration.

I can’t remember when I first visited the turf maze at Saffron Walden, but it may well have been the 1980s. Anyway, no matter which decade it was,  it’s still part of the relatively distant past to be mined,  because it was on that first visit that I ‘saw’ the image of the pattern that would be created by people traversing the different sections of  concentric loops when seen from above. And that’s the starting point for my latest project: blobs revealing a pattern by following an otherwise invisible path. It’s been lurking at the back of my head ever since. Which means devising a path-following algorithm, and that’s where I stumbled when I worked on it before. I’m convinced the solution is within my grasp. Last night I struggled with the code to control the ‘release’ of blobs at random intervals but I have an idea how to do it now.  So simple once inspiration strikes! A mere matter of interpreting my late-night scribbles and testing them. I’ve also thought of ways to test a path-following algorithm. So much to do, but fun. Now, on with the digging!

Tags:

Thursday, February 6th, 2014 coding, generative art 1 Comment