• Weeks 167-169

    18 March 2016

    And, just like that, I fell off the Weeknotes horse.

    I think 166 weeks on the go, though, is pretty good going. I imagine the slippage began when we moved onto what were, effectively, fortnightnotes: the routine was beginning to disappear.

    And as I get worse at something, I tend to try to push it under the rug. It’s often easier to try ignoring it and hope the problem will just go away, isn’t it?

    It’s also a way of not drawing attention to other things: the fact that Selworthy has stalled a little, pending delivery; the fact that Twinklr has been occasionally neglected, or occasionally more problematic than I’d like.

    But those things are all, really, part of the process. They’re part of the work. Weeknotes are about work, not success.

    So let’s get back on the horse. Since early Feburary, what’s happened?

    Selworthy has had a fair amount of wrapping up, as I bring it into land and hopefully, handing it on to a larger team. That’s involved fettling Ansible scripts and server deployments, solving minor bugs, adding a few tiny features that make all the difference to end-users. So that’s been good.

    Twinklr has been lots of two-steps-forward and one-step-back. I should write more on the notebook about it – another place that’s not seen the updates it should. But suffice to say: the shape of the project has surprised me at times, and I’ve not always been good at handling that surprise.

    The CAD work and hardware has largely gone very well – except some simple oversight and confusion on my part mean that the object doesn’t quite, at the moment, fit together properly.

    The software was all great, but it turns out the target platform really isn’t happy running that much stuff in a browser, and if we’re making a musical instrument, it should probably be snappy and responsive. So I’m rewriting it – in Processing, rather than Javascript. That feels drastic – a total rewrite – but so many of the hard problems have been solved already, and I’m now just re-implementing in a slightly different platform. It turns out it is going to have its own ‘exciting’ issues, but if they can be surmounted, then it was definitely the correct choice.

    I’ll write a little more over the weekend on the Twinklr notebook.

    And then, what else other than the two major projects?

    I spent three days in Newcastle running a workshop for Northern Film with David Varela. Over the workshop, we took four teams of feature film-makers – each with a film in the can – and looked at how they could use the internet to promote, distribute, or do anything interesting with and around their film. Four great teams meant that the workshop went to lots of interesting places, and was really involved from all directions – everybody brought interesting, unique experiences to the table. It was a good reminder of how much I can enjoy that environment, too – it’s a while since I’ve done any teaching – and it’s started some thinking around a potential workshop I might run in the late spring. Thanks in particular should go to Roxy at Northern Film, and to David, for (as ever) being a wonderful workshop partner.

    The electronics front has mainly seen tinkering – I think I’ve got a revision of Walton that solves some mechanical issues ready to send off – but there’s a potential project for later in the year budding, and occasionally being scrawled into notebooks.

    And I think that’s it, for now: mainly, it’s been head down, working, or teaching, or thinking, and remembering that lack of forward velocity now doesn’t imply that that isn’t the trend in the longer term.

    Last week put a lot of things in perspective, for me. We had a crit for Twinklr on the Friday, and I was nervous: here I was with nothing to show, hardware and software in pieces, and nearly halfway through. So I showed the decision-making instead. And it all turned out to be fine: several of us were despairing that the stage of the work we’d got to seemed to be further back than when we begun.

    As we each said this, the others in the same place seemed to relax. Or, at least, realise it wasn’t just them.

    This wasn’t failure: this was doing the work. We were in the middle of the project, which is when you are surrounded on all sides, and you just have to push through, and do the work. Sometimes it doesn’t feel like this, down here – but when it does, it doesn’t mean everything is terrible.

    And that meant that it didn’t matter that weeknotes had stalled a little. What was important is that I just carried on.

    Next week is week 170.

  • Weeks 165-166

    3 February 2016

    Twinklr is moving on very nicely. At the end of this fortnight, I wrapped up a first pass of rewriting the existing code. The music box now happily plays in a wide variety of scales, with any note selectable as root: that makes it much easier to play in key with other musicians, or to improvise around existing pieces of music. It already makes the whole thing much more instrumenty.

    I also worked together a simple save/load mechanism with eight memories: the instrument stores not only the position of notes, but also the scale, root, and length of the stave, maing it easy to restore a state you once had.

    And finally, at the end of this three-week period, I rewrote my code for spitting MIDI out of the device. There's now a simple-to-use MIDI preference panel, making it easy to reload available inputs, alter the length of notes that you'll send out, and a ‘panic’ button to reset all output. It's really coming together.

    Selworthy is being tightened into place for a new deployment: that means shoring up some minor issues, and lots of little improvements based upon user feedback. I'm also overhauling the code to make it easier to bring other developers into the project.

    I spent a quick hour of lunch assembling the latest revision of the Walton PCB and we finally have a fully functioning version. I'm thinking about replacing one of the components – there's some mechanical tolerance I'm not happy with – but now the whole shebang is working, it's worth working out what to do next with the project: is it something to keep to myself? To open source? To offer for purchase as a kit? I might talk to some people about it shortly.

    And finally, I spent some time tinkering with some electronics as a spin-off from Twinklr: exploring an aspect of its interactions and translating them to a slightly different environment. That involved first just breadboarding up some components to discover how they worked; this went surprisingly well, and I think I'm going to keep pursuing this angle of the project in odd moments.

  • Weeks 163-164

    19 January 2016

    Most of my weeknotes for 163-164 have already been published: over at the notebook I'm keeping for Twinklr, I wrote about the beginning of the year on Twinklr. Since the year began, I've pushed the code forward a fair bit, started to get to grips with some of the new materials and techniques I'm using, and getting involved with some of the other elements of the MV Works programme that go alongside our projects. We also had our first crit of our projects; it was great to get feedback from the other members of the cohort, as well as to see what they were up to.

    I spent some time with the team on Selworthy, closing some minor issues, and beginning to implement new branding for the project. The client are beginning to really push taking the product to a wider market, and so I'm helping them along that journey.

    I had a variety of interesting meetings: a debrief and presentation on a short piece of work I did with George at Good, Form & Spectacle just before Christmas, and a discussion with a potential new client around music and visualisation.

    I spent a morning down at the Oubliette Adventure Shop helping fettle a final few technical issues before their launch weekend. The Escape Room is now open, and you can find out more about the game at their website.

    I shipped off another revision of Walton PCBs to OSHpark, and should have v1.10 of that built by the end of January.

    And I think that's about it: I'm really beginning to settle into the groove of 2016, learning how to divide time between a client and the self-initiated funded work, and making sure the latter has the space not only to hit all its targets, but also to breathe a little. Onwards!

  • Weeks 161-162

    4 January 2016

    Last weeknotes for 2015!

    The end of the year isn't always quiet for me: I'm often pounding on until the end; may as well make use of all that time. And in some ways, this year was no different. There was various client work to wrap up, and remaining time to get Twinklr underway.

    I added one new feature to Selworthy, altering the domain model to make it easier for the standalone version to handle multiple clients with different needs. Didn't take long, but will definitely make it more useful even for internal usage. The tool is beginning to see internal usage in anger, which is great: the client are finding important issues much faster as a result, but are also seeing marked productivity gains that we hoped it'd lead to. As a developer, that's exciting and rewarding.

    I went over to Brixton to install Roshill for Oubliette: getting the electronics from the workbench into the room and the final enclosures. Mike and Dave gave me a good hand with this and, after some hairy installation moments, we ended up with a working puzzle. A quick board of pull-down resistors I'd built up beforehand made all the difference.

    New PCBs for Walton arrived. I'd hoped these would fix the bug and in one sense, they did – but another bug still remained. I've now sussed what it is, though, and the only way around it is Ordering The Right Part. So I've got some 3PDT switches coming from Germany – along with some more equipment for the workbench – and we should have a final revision in early January.

    I got inducted on the laser cutter at Makerversity, and put it to use. First, I built a test front panel for Walton; the good news is my new workflow for doing so works, and everything fitted. The engraving still needs some work, but I think it's definitely going to be a goer for prototypes.

    I also spent some time beginning to try fabricating some useful odds and sods for Twinklr. At the end of the year, I designed a test jig in Fusion 360 – in 3D – and then worked out how to bring it down to cuttable flat pieces, which I then produced. A big leap for me: CAD is not my natural environment, but now I can see how that workflow might work, and I know that one more thing in the project will be doable.

    I rewrote the Twinklr software. Already? Well, it turned out that the Raspberry Pi wasn't hugely happy with endless 800*480 Canvas rendering, so I rebuilt the code to render in SVG. This had lots of neat side effects: it makes a few new feature we're interested in much easier, and it begins the ‘tidying’ of the code to make it easier to work on. It also makes a few other things easier – in particular, animation – which is always good.

    On a less successful note, I spent a long while wrestling with Raspbian Jessie and USB audio, and am coming to the conclusion that before I spend any longer on it, I'm going to start again on Wheezy. The Pi is a frustratingly… idiosyncratic beast. I'm considering other options for Twinklr – not very seriously, given how suitable the Pi+Touchscreen combo is – but a day of messing around with Linux audio config really did make “not very” become a bit more seriously.

    As ever, more Twinklr notes – and scrapbooking – are on the Twinklr Notebook.

    And that was 2015. Yearnotes to come likely, but in the meantime: happy new year.

  • Weeks 157-158

    24 November 2015

    Two more weeks have pasted, which means two more weeks of contiguous weeknotes to write up.

    I finished my first pass at Roshill – a puzzle I'm building for Oubliette Escape Rooms. Dave provided a second frontpanel for it, after the first had a few holes cut too small, and this one was much better. My new approach to wiring paid off, and by the end of Week 157 I'd wired the puzzle together and written most of the microcontoller code. I also met the mechanical engineer working on another critical part of the prop, and we worked out how we could piece our work together. There's a second pass of work to come, but everything's in a really good state, and it's nicely maintainable – very easy to swap out individual components if they fail, thanks to an awful lot of spade connectors I crimped on.

    My PCBs I ordered for Walton arrived, so I set about assembling one. The good news is that the PCB broadly functions correctly: I'd read the datasheets correctly, and the custom parts I'd had to make from scratch in EAGLE were all entirely correct. However, there was a significant flaw in the circuit (mainly to do with how negative voltage behaves) and so I'm going to need to take a second pass; I made my learning smile and moved on. Fortunately, some debugging (ably assisted with insight from James) solved the main issue.

    I also took the opportunity to lasercut another frontpanel for that project. This too had some issues, largely down to my design process. I've resolved those by finding a workflow to get from EAGLE to SVG – namely, using the handy gerber2svg, which does exactly what you might think, and has the added bonus of being a command-lne tool. That's all helped me have 100% confidence in the frontpanels from here on out. By the end of week 158, I had a second design of the PCB with the error corrected that was just about ready to send off for manufacture – although I have a sneaky feeling some last-minute tweaks (or even functionality) might be added before then.

    Selworthy is gearing up to be handed over to new developers and deployed; I've been reviewing how some of its dependencies are packaged, and building out a secondary command-line tool to support it.

    Richard playing

    Most excitingly, I went up to Richard's studio in Belper for a day of playing with Twinklr, filming and photographing it to document the end of the first phase of the project. It was by all measures a success; we got done what needed doing, but, more importantly, we lost ourselves in it. It was a joy to watch Richard just playing this instrument we'd built. After we had fixed a few minor issues and demonstrated basic functionality, we then plugged Twinklr into an analogue synthesizer I'd taken up, and thence into a long effects chain. And then I just watched as Richard explored and composed, writing patterns and melodies on Twinklr that played out on the synth, and the time just passed. A really good couple of days; I'm looking forward to sharing this project more properly with you in the immediate future.

  • Weeks 155-156

    9 November 2015

    Again, a quick flurry of notes to explain what's going on:

    • Selworthy has been called in to land, so we're working through plans for that – how best to approach, what needs tidying up, and what the next steps are.
    • Roshill is an electronic puzzle I'm building for Oubliette Escape Rooms and Adventure Society – their kickstarter has now been announced! I spent the two weeks sourcing parts, testing wiring and Arduino code, and after a fairly poor initial wiring layout, I've settled on something much more solid. We've also done a first prototype of the enclosure for it.
    • I sent PCBs for Walton off to OSHPark for fabrication, after finally settling on routing – many thanks to James for input. I also took delivery of the first prototype frontpanel for it, which has already been made obsolete, but that also gave me some useful feedback on the Inkscape diagram I'd been using; really handy having Makers’ Café right down the road!
    • I spent some time tinkering with ONN Studio, to help them explore some work.
    • I popped along briefly to Hardware Coffee Morning; always interesting to see where other peoples’ heads are.
    • And I spent a morning helping Good Form & Spectacle migrate some infrastructure to a more robust platform.

    Lots of electronics at the moment, along with setting up future work and tinkering. Once the final burst of Selworthy kicks off, I'll be knee-deep in software again, so in the meantime, good to have a concentrated period of time to wrap up these hardware projects. Onwards!

  • Weeks 154-155

    26 October 2015

    A fragmented fortnight, but lots of things moving in a variety of directions:

    • Selworthy is in a holding pattern whilst we wait for a few pieces beyond my control to fall into place.
    • Twinklr is pretty much at the end of its initial phase – some painting, staining, and filming to do – but there's a possible future for it that I've been doing some work applying for.
    • Roshill and Walton have had me staring into the maw of electronic component retailers: how many thousands of flick-switches are available? Now, it turns out, I know. I've been testing a variety of switches for Roshill, and Walton's seen me staring at EAGLE, moving many things around a PCB as I test a variety of ideas.
    • Lots of meetings – potential future work, catching up with peers; all very positive, and lots of things to chew over.
    • And, to cap it all, I spent a pile of week 155 just being ill at home; much-needed bed rest made me functional again pretty fast, and saved the studio my sniffling.

    Walton and Roshill will perhaps become more evident over time, but for now, they're going to keep me ticking over. So whilst it was an interesting fortnight for me, there's not a vast amount to report publicly. Hopefully that'll change soon!