Posts tagged as weeknotes (page 4)

  • Week 325

    1 April 2019

    At the beginning of the week, I made headway at Highrigg with a code integration. I don’t normally go in for code generation, but for a quiuck prototype, feeding someone else’s Swagger-based api into swagger-codegen feels like exactly the right thing to do (and, of course, just what Swagger is designed for. And: it largely worked! By which I mean, we had a command-line Typescript demo in around an hour. That means I can take a stab at prototyping something else in due course, and perhaps move to something more bespoke in time. But it’s a starting point, and nice to see all the moving pieces working.

    I also continued to work on wrapping up the workshop from the week before with some review work, as well as pushing a web project a little further forward.

    Thursday was first non-client day in the studio in around a month. I put together some new boards of an internal electronics project that’s been going on for ever. for the first time, I managed to solder QFP packages without a hitch (mainly thanks to a good magnifier and a lake of flux).

    The QFP package in question is a SAMD21. I’m making a board that has a microcontroller on it, but also a USB port. Thanks to Microsoft’s UF2 bootloader (which is a brilliant bit of engineering), it should then be possible – once i’ve correctly flahsed the bootloader to the chip – to either program the board from inside the Arduino IDE… or to just drag a .uf2 file over to it and let it flash itself automatically. The idea is that hobbyists can hack on the object, but people uninterested in code can patch firmware with a usb cable and drag/drop – a nice way of doing post-launch patching.

    After a few hours of soldering in the morning, I then spent an afternoon working on trying to get UF2 bootloader onto the board. SAMD21 For Dummies has been a useful port of call but it was Tod Kurt’s notes that got me over the hump (along with remembering a key detail from an earlier error message). I spent ages with no avail trying to flash it with an STLink debugger; a Segger JLink proved to be just the ticket. And then, having flashed it with the debugger… it appeared on my desktop and behaved over USB.

    Like this:

    NewImage

    A good victory to end the week on.

    Week 326 is a vacation. I’m actually writing this from a sofa in the Lake District, where I can say I did a first: I climbed the hill an active project is named for! Yesterday, I took myself to the top of High Rigg. I wonder if that coincidence will ever a happen again.

  • Weeks 323-324

    18 March 2019

    As expected, the past couple of weeks have been really intense: Monday and Tuesday up in Manchester, teaching the Digital Technologies module up at Hyper Island, before three days at Bulb back in London.

    Teaching has gone well. Lots of content delivery up-front in the first week – skewed that way perhaps more so than was ideal, owing to time. As well as my usual lectures on Innovation & Trends (picking apart how technological trends are perceived and the major ones that have really underpinned the past decade) and AI (“How Computers (Don’t) Think”, a favourite of mine) I ran an afternoon workshop on programming.

    I’m always wary of teaching programming and coding – especially in short periods of time. It can be really unsatisfying to deal with syntax errors or tooling issues early on when you have a very limited window; I’d rather spend that time usefully learning something. So what I did was focus on the feel and practice of programming. We used Google’s Blockly visual language, and, having learned a little about it, focused on its visual interpretation of Logo.

    It’s no secret I’m a huge fan of Seymour Papert and his team’s work on Logo. It’s such a smartly designed domain-specific tool – but it also manages to take us on some useful journeys. By using it with the visual Blockly language in a browser, we avoid needing development environments or having ugly syntax errors. My idea then was to anchor what was happening in the Logo world back to programming practice. To that end: we learn about algorithms, and iteration, and variables and function (nouns and verbs) – before going into problems that require more conceptual modelling. Logo even gets you to debugging and ultimately refactoring quite nicely – going from describing individual turtle movements into abstracting them into verbs like SQUARE, or HOUSE, and then improving those to take sizing as a variable. You go on a useful journey without having to do too much tooling.

    As a first run of a new workshop, it was alright – it’s a little longer than I realised, and it’s appropriate to spend a good while on the first few training runs to get everyone up to the same level. But hopefully some insight emerged, and it’s certainly something I’d like to revisit.

    We also got a brief from our client in the first week, and much of my time in the second week was spent coaching the teams on their responses, helping them focus their discovery and ideation phases. In week 325 I’ll be doing some more coaching and then visiting their client to watch their final pitches.

    Back in London, Highrigg entailed a moderate amount of coding and refactoring, a decent number of (useful and/or interesting) meetings, prepping a short talk for an offsite workshop, an excellent day workshopping with a good number of colleagues, and beginning to write that workshop up. Hopefully I’ll finish that delivery in week 325.

    And that was it. A circuit board arrived for build-up, but I’m not going to have space to do that til at least week 326. In the meantime, it can sit on my desk, tantalizing me.

  • Weeks 321-322

    4 March 2019

    I’m sat in a hotel bar in Manchester. I’m teaching at Hyper Island for the next two days, and for a handful of days across March. The same course as before, but with the full-time students (in Manchester) rather than the part-time students (who come into London once a month). Looking forward to it. I’ve just revised a pile of talks, and a new workshop on programming, and I think we’re good to go.

    Another couple of weeks on Lambrigg: reading documentation, writing code, having meetings, moving office, inching software closer to deployment.

    I sent off the SAMD21-based circuit board to America for fabrication – that should be back in a few weeks’ time, to bash together, and see if I can make a micro-USB port work on it. But for now, waiting for factories to do their thing.

    Otherwise, I spent the days between Lambrigg prepping for teaching, and having some impromptu meetings: I caught up with Charlie from Museum In A Box to talk audio, electronics, acoustics, and fabrication; I also spent some time with a few friends talking about sound and augmented reality, and have been continuing to think on that ever since.

    And now: bedtime, before an intense couple of days.

  • Week 320

    17 February 2019

    Weeknotes are quite (deliberately) simple this week.

    Over at Highrigg I did a little writing, a lot of talking – some meetings, and one meaty design chat that got us to a good place – and a moderate amount of programming. That code took a project to some much better places: it’s now working off live data, which is easily replaced over time. To do that I had to wrap my head around Knex‘s approach to migrations and querying (which turned out to be largely sensible). I also discovered that whilst I still flail a little in lots of deeply nested React, Typescript on the backend is working out OK for me. I still miss Ruby, though.

    And then, not on Highrigg, I:

    • finished bagging a bunch of kits and posted them to Thonk (after having my bacon saved by Clerkenwell Screws – what a shop!
    • nearly wrapped the design of this SAMD21-based circuit board, and ordered the rest of the parts for bringing it up.
    • kicked the tires on some ideas for a programming workshop I’ll be running next month. Nothing massive – 1-2 hours – but using some visual programming tools to explore some key ideas around programming, whilst telling a meaningful story about it at the same time. We’re going to be doing a bunch of logo-ish work in a Scratch-like language, and hopefully go from ‘driving the turtle’ to ‘making programs that make sense to other people’. I think some of the pillars of the session are emerging. I should be writing that late next week.

    And look: I did my Weeknotes on time, too.

  • Weeks 318-319

    10 February 2019

    A lot of Week 318 spent writing on Highrigg. For a lot of my work, writing is a solitary activity. I’m writing for myself, or I’m writing to deliver to someone else. Here, it’s more important that it’s a team sport: something that origins within our team, but passes a series of eyes to fettle, fact-check, and generally improve it. I’m learning to navigate this process, but also working out how best to embrace it and write for a team. By the end of the week, the piece was looking up and had been through some good drafts.

    The team’s also been deploying code, which is exciting. Pull requests are getting approved, other colleagues are commenting on them, and by Thursday of week 318 I had a whole back-end tool going through the wash (that is, continuous integration), getting deployed, and working correctly. Small steps, but I’m always a big fan of getting to end-to-end fast, and this is a big chunk of this.

    Back at the studio, I started putting together a new Foxfield order from Thonk. Stock levels meant it just required some new parts from Europe – which is good, because Chinese New Year means that anything coming from there would take a while. Those parts should be arriving towards the end of week 319, and then there’s a morning of kitting to be done.

    I also returned to the project with the EFM32… and set about replacing the EFM32. Yes, this is yakshaving, but there’s a plan behind it. My plan is to make the final product easier to hack or update. To that extent: something you can hack in the Arduino IDE is an order of magnitude easier than getting going in Simplicity Studio. And: something that you can upgrade firmware on just by dragging it over a USB connection, rather than having to use the Arduino IDE. To do that, I’m moving to SAMD21 and UF2. The SAMD21 is what’s in a lot of the new Adafruit boards (and the Arduino Zero), and UF2 is a magic bootloader that handles all manner of IDEs and platform and seems to Just Work. An afternoon in EAGLE had a new layout routed; another morning had the firmware ported back to Arduino. So that’s something to get fabbed up soon.

    Over at my personal site, I wrote up an e-ink display I made for my living room, a continuation of years of interest in e-ink displays, and something to keep tinkering with.

    I spent a lot of Week 319 being ill – the dangers of working in a large office, I fear, as there’s definitely something going around. A couple of days on Highrigg made some good progress with pairing on code, and continuing some comms work.

  • Week 317

    27 January 2019

    Finally, a week with the regular number of days in that began on a Monday! (From my perspective).

    Over at Bulb Labs, there was a good groove of thinking, writing, and talking. Sounds so vague, doesn’t it? I worked on a pile of research and writing, where synthesis – writing – was as key as the research itself, so that felt good. I’m looking forward to seeing how that went down next week. I also spent some time just talking to colleagues on Slack as a way of building work-relationships; there were some fire-emojis by the end of the week, so perhaps I was doing something right.

    Thursday, I went back to CaptionhubSelworthy – for a day I owed them prior to Christmas, that illness got in the way of. Nice to see the gang again – I managed to wrap the feature I was working on end-to-end, leaving it in a good place to get to deployment. I also helped debug a slightly strange feature in code relating to a file format I’m reasonably expert in now – turned out the bug was just some naive code I’d written a long while ago, and the fix wasn’t too hard to roll out. Exciting to see lots of other developments there, too – so nice to drop by.

    I paid my taxes. Boring, slightly stressful, but out of the way. And now there’s some time in the coming week to sort out some accountancy. Admin has been a bit of an overhead recently: there’s not been too much, but finding space in the week to do it has been more challenging than normal. Hoping to get back on top of that fast enough.

    16n got featured on Hackaday, which was pretty nice!

    And finally, at the end of the week, I went along to Parallel Worlds at the V&A. I had a great day out, and it did what I hope conferences will do: blow some cobwebs out of my brain and open up some new ideas. My notes are reminders of small projects to pick up and continue with, alongside things I learned from the sessions. It was also great to catch up with friends across the London games scene, and hear what they’re up to. A good end to a good week.

  • Weeks 313-316

    20 January 2019

    Let’s do this again.

    Weeks 313-314

    …were Christmas. No news, as a result.

    Weeks 315-316

    … and we’re back in the saddle.

    First up: prepping and delivering a second weekend of teaching on Hyper Island MA. I like the second weekend; the students are deep into the brief, we can deliver some more challenging (and unusual) talks and content, and push them a little more in general. Again, loads of great questions and discussions; some great guests, with a workshop from Ultra IOT and a talk from Wesley; and then, at the end, some excellent presentations. So pleased to see how they’d all developed. Every project had at least one straight up “quiet-round-of-applause” from me: some new insight, or technique for presenting material I’d not seen, or an idea for interaction. It was highly satisfying, and I was wiped out by the end of the three intensive days (after a full week of client work).

    Somewhere in week 314, before I went back into work proper, I wrapped up the work necessary to launch 16n – an abstract music controller. It’s sixteen faders, that output information in a variety of ways, and it’s up to musicians as to how to integrate it into their setups. Here, have a picture:

    Faderbank

    Rather than shipping this as a product, I’ve instead made the entire thing open source. The electronics schematics and board designs are CC-BY-SA, as are the panel designs; the firmware is MIT licensed. It means I can still bring them to market in a way, if I’d like, in due course – but for now, the community that’s eager to have them (because this has been in progress for a long while) can get on with making their own. Or, indeed, making them for each other; it’s very much fanufacture made flesh. There’s certainly been a nicely positive response so far – and we made Mouser sell out of the faders, for the time being…

    Around that, I’ve been settling into the gig at Bulb Labs: making contacts, meeting people, and thinking by writing and listening. The team is coming together, as are the inklings of the first few projects there. It’s going to be a difficult gig to write about even in my slightly obtuse manner, but perhaps there’ll be a way into it in due course. We’ll make the path by writing, so to speak.

    Hello, 2019. Let’s get on with this.

  • Weeks 312-313

    21 December 2018

    The final two working weeks of the year. In the midst of kicking off at Bulb, wrapping up at CaptionHub, and Christmas party season… I got a truly horrendous cold and spent several days in bed. Yuck.

    So there’s not a vast amount to report. My personal Trello account tells me I spent much of those two weeks when not at clients mainly just doing admin. Otherwise, I tried to wrap up one last feature at CaptionHub – as well as a bit of troubleshooting around STL file formats – and started getting my handle on the role at Bulb in the few days I had there. So far, there’s been a lot to take in, but the little team in Labs is great, and I’m looking forward to getting underway a little more next year.

    When I wondered why I was ill, it turned out that moving house, a long weekend of teaching, and a new gig all at once is a lot to take on board, and I think my body just said ‘no’. Endoftermitis is real: it’s like technical debt for your body, where you can no longer stave things off and it all comes crashing down. The only thing to do is to roll with it: accept you don’t want to get colleagues ill, do what you need to recover, remember that’s what the rainy-day funds are precisely for.

    A quieter end to the year than perhaps I envisaged, then, but an end nontheless. Next up: two weeks out of the studio and the office, resting up, getting ready for 2019. And then we start again.

    Onwards!

  • Week 310

    2 December 2018

    Busy week, in and out of the studio.

    On Selworthy, I spent some time wrapping up work on a new ingest format, and then spending time staring into the maw of character encoding – and, in particular, working out what our policy on ‘smart quotes’ is – and coming to the conclusion that rather than doing something automatically, we should offer up an option to end-users as to what they want the default to be. And so there’s some more work to wrap up next week on the UI for that.

    I continued with a bunch of work for next week’s teaching at Hyper Island – overhauling another talk, refining the brief with our pretend-client, going over what our guests would be doing. It’s going to be a bit nip and tuck to get things into place for next week, but it’s all going well, so that’s a relief.

    As I hoped, the metal panels for 16n arrived – and they’re beautiful. Perfect fits, really gorgeous objects, ties the thing together. Good to know all my CAD worked out. Had to order some 1mm longer standoffs to fit the underside screws into, and so come week 311 I’ll have a final thing for myself.

    And that was all there was time for: I moved house at the end of the week, which took me out of the studio. Hopefully we’ll return to normal service quickly.

  • Weeks 306-309

    25 November 2018

    Time is elided at the moment: I’m having a deliberately quiet period between projects and whilst lots of non-work life is all rather busy. So weeknotes are a bit more spread-out. But still worth doing.

    I’ve also started work on a new piece of personal process to perhaps make this – and a few other things – easier to manage. (Nothing magic: just using Trello to treat ‘myself’ as a project). We’ll see how that works out.

    Sharphaw didn’t end up happening – at least, not in the planned format. There might still be some work there in the future, but for now, that codename and work is on ice.

    I’ve been dealing with some metal suppliers from Germany and Poland, who are making prototype panels for 16n. It looks like the panels will be arriving in week 310, which is exciting for that project (and also to determine if my CAD work has come out correct).

    In week 309, I spent the afternoon at After The Flood, taking part in a quick workshop. Always good to work with the teams they put together, and I think we got to some useful places in it.

    I’m gearing up for the Digital Technologies module on the Hyper Island MA I’ll be teaching on at the end of the year. Some of the work has needed minor touch-ups, although there’s one talk that’ll get more of a rewrite in week 310. I’ve also been securing final guests, and nailing down the project brief for the students.

    Longer-term plans are emerging, too. My time on Selworthy is winding down. I’m going to wrap up there by the end of the year. And I should really explain it properly, after 3.5 years! I’ll write it up in depth soon, I hope. Great ride.

    And, in the meantime: dotted the _i_s on Highrigg: a part-time contract that’ll kick off at the end of the year, and we’ll see how we go from there. Meaty, a new set of challenges for me: exciting and scary at once. Sounds like a good thing to go into 2019 with.

  • Weeks 298-305

    29 October 2018

    Lots of time without weeknotes. Oops. But: lots has been going on.

    Notably, Lambrigg wrapped up. The final weeks weren’t too crunchy, thankfully: just somesome busy, intense days to get to the finish line. In the final week we designed and wrote a new demo, re-coded both demos so that they could be more easily shared with colleagues, finalised two hardware prototypes, wrote our report and presentation deck, and got the whole thing into a shippable state. Phew.

    It’s been a really nice shape of project. A research and development piece beginning – about three months ago – with background research, interviews, design reporting, a bit of strategy, and helping colleagues in the management team develop strategy further. Then, we moved into prototyping some preferred approaches in a manner that could be taken further if needed.

    Across the project, I’ve conducted research interviews, done desk research into design and technology, explored possible technical approaches, designed some game prototypes, built software and firmware in Python, Ruby, Java/Processing, and C++. I’ve designed, fabricated and built up two different custom circuit boards that interface with one another, and built end-to-end prototypes that interface with a computer. I’ve produced CAD models for those boards for Tim to design around. By the end, we had turned all that into coherent physical prototypes with working demos.

    That feels like a lot. Meaty work.

    And then, I promptly got ill with endoftermitis: the come-down after pushing perhaps a wee bit hard. So I was off for a bit, and I think that threw my weeknotes muscle.

    Since then, I’ve been working on a few things.

    Firstly, decommissioning Holmfell – Erica Scourti’s _Empathy Deck_ – now that the Twitter API no longer supports, well, doing anything fun. We’ve said goodbye, and now we’re working out how best to properly archive a web project. That’s entailed not just taking dumps, but writing documentation for future users on what they are and how to interact with them. For instance, I’ve been turning some of the most significant Postgres tables into CSV – after all, as I say a lot, Excel is the prototyping tool everybody has on their desk, so it’s good to leave things in a state that doesn’t require me.

    It also turns out the project generated around 17gb of images in its lifespan, so I’ve been trying to archive that in the most space- and time-efficient way possible. Unsurprisingly, it turns out that a little rsync goes a long way.

    Over on Selworthy, we’ve been thinking a bit about infrastructure and operations, and choosing our next focus for incremental, ongoing improvement. I’ve also been prototyping some new interactions, which are going to be much easier to integrate with the existing front-end after the overhaul the team made to our front-end stack more recently.

    I’ve started the work around preparing for this year’s Hyper Island Digital Technologies module. This year, it’s more of an incremental overhaul on last year, but it’s been good to start thinking about the structure and narrative of the module up-front. There’ll be more work on that in the weeks to come!

    I’ve started conversations about a small R&D project called Sharphaw, which ties together some of my experience and expertise to help a company explore taking the objects they make and connecting them to internet services – a bit of IOT prototyping, a bit of thinking about service design, and fabricating a few things.

    And, over on the music technology side: a small production run of kits for Thonk, and wrapping up an open-source community project I’ve been working on for a good while. I’m hoping to release that in week 306!

    Phew. That’s a lot. Let’s try to do this more often.

  • Weeks 296-297

    3 September 2018

    Fortnightnotes, owing to a long weekend away over the bank holiday.

    At the end of week 296, Lambrigg had its own internal demo; Tim and I were cranking fairly hard to get that done – three days of code, audio recording, hasty art direction and game design.

    The demo went very well: really well received, clearly understood, and loads of good questions (which is always a good sign). Initially I was relieved – everything worked, we met our goals – but I also left the demo highly satisifed with the positive response and enthusiastic feedback: I thought we’d done a fair pile of work to get it to where it was, and the team communicated that they could see that. So that’s great. Tim and I regrouped at the beginning of week 297 to set direction for the final phase of the project, and that’s now underway.

    Only one day on Selworthy this fortnight. I sat down with Erik and we went over his first spike of some heavy front-end replacement work he’s been doing. This ended up being a great day of remote pairing, with two notable successes. Firstly, the brief feedback I had so far was resolved easily and by the pair of us, and this proved that the new code was much more maintainable. We could add features and develop atop it easily – one of the things we hoped would be true already proving itself. And secondly, I managed to transfer a lot of knowledge to Erik about the next steps for that code – not just what would need doing, but how the systems he was replacing would work. Lots of things trapped in tangly Javascript and my head now out and shared in the world. I’m really looking forward to seeing the team’s progress with this pile of code in week 298.

    The bank holiday weekend extended a few days either side for family obligations, and then, just as I got back to work in week 297, I had a day sick at home with a brief headcold. Annoying! I recovered over the weekend, so week 298 begins on Monday (with these notes).

  • Weeks 294-295

    20 August 2018

    Weeknotes are quiet at the moment, mainly because I’m fairly head-down and there’s just not a lot to see or show.

    Over on Selworthy, I’ve been fettling some issues that involve interfacing remotely with other people’s tools and workflows. That makes the feedback loop a little slow, but we’re getting there, and I’m pleased with the route we’ve taken. More excitingly, we’re working at overhauling some front-end code I wrote a long while ago and bringing it in line with our more modern tooling – notably, better data-binding and more efficient DOM interactions. It’s the last really large piece of legacy code: a significant chunk of the app we’ve just left alone for a while, and now’s a good opportunity to rework it – not just for rewritings’ sake, but also for performance optimisations, and importantly – from my perspective – passing on this large chunk of knowledge to the team. Like much genuine technical debt, it’s been worth holding onto for a while, and now it’s the right time to pay it off.

    Lambrigg marches on to an interim deadline towards the end of the month. There’s been lots of fabrication and prototyping – this week, I’ve been wrangling Python, C++, and the finer details of I2C busses to bring things closer to life. I made a decent breakthrough at the end of week 294 that turned week 295 into a week of good pace and functionality development. I even finally taught myself to write C++ classes, which, it turn out, I should have done long ago: they work exactly like classes do in my head, and they’re making things a lot tidier. Hopefully my embedded code in future will become tidier!

    And finally, in the minutes between things, I wrapped up a few prototype components for Musuem in a Box; I’m hoping to deliver those for week 296. Some time evaluating specific ICs was well spent, and I think they’ve come together well.

  • Week 293

    5 August 2018

    What the stacks I’m working across currently contain:

    • Ruby, Rails
    • Javascript
    • HTML/CSS
    • the depths of AWS infrastructure(s)
    • C++ / Openframeworks
    • Java / Processing
    • Python
    • Embedded C
    • CAD/CAM
    • PCB EDA and manufacture

    and, of course, they all join together: breadboards turn into schematics and circuitboards, which get exported to CAD tools for colleagues to design around; firmware for those boards gets written and ends up talking to Processing demo harnesses on my desktop. Software written on the laptop turns into code hosted on more complex, automated AWS infrastructures.

    Some days, it feels like a lot to wrap my head around. When I write it out, I’m reminded that it is.

    The week’s work took in some dives into performance work on Selworthy, going over some quite old code of mine and working out how to either improve it or mothball it – and if so, how to do so most efficiently.

    Over on Lambrigg, I spent some time working up microcontroller code and hardware prototypes, exploring a new-to-me technology that we hoped would prove fruitful. So far, things are going well: a quick mechanical prototype and code demo works how I hoped, the simple circuit boards I ordered up for it have all gone together smoothly, and I’m hoping to carry on that work next week.

    I also spent a lot of time just thinking on Lambrigg: moving jigsaw pieces around in my head. Frustrating, in that there wasn’t a lot to show for it, but I’m slowly understanding how pieces might fit together in future.

    In other words: a busy week that’s quiet from the outside and fairly complex from the inside – not helped by the heat, which is making the act of thought truly challenging at times.

  • Weeks 290-292

    29 July 2018

    I took week 290 off from Lambrigg whilst the team regrouped, based on our presentation at the end of Week 289. But come 291, I was back into it, and we were really diving into a period of thinking-through-making: ideating again, but this time with our hands, rather than via deskthinking.

    And as a result, just right now, I’m a bit in the weeds. Which is to say: in this period of thinking-through-making, the thinking and the making are both proving equally hard.

    The hot weather hasn’t helped with the former – I just haven’t had enough brain on tap some days. But the latter has become very fine-grained: I’m exploring techniques and materials by working with them, and it turns out that they are difficult materials to work with. So the progress is slow, as I try to bring my knowledge – no, my understanding – of what’s going on up to speed. Trying to get good enough at something for my sense of smell to kick in. I’d hoped that’d have happened by now, but it hasn’t quite. But I got some good steers from Tim at the end of week 292, so have a few things to try in 293.

    Still, a busy few weeks, jumping around a big stack: writing some OpenFrameworks, waiting for said C++ to compile, spending some time collaborating on CAD via Fusion 360, designing prototype circuit boards (and CAD models of them), and getting those fabbed up. But the hard stuff is the programming – right now, anyway.

    Selworthy marches on – a successful end to an initial R&D spike there (namely: we want to take it forward, and continue our QA tests on it) – and then back into some file format hexadecimal fun.

    I’ve spent some time catching up with colleagues and peers in the past few weeks, and that’s been really useful. A long lunch with Nick from Playdeo; some good chats with Jim; and a long-overdue catchup with Mike. Lots of different perspectives to apply to the world and chat about – technologies and teams; narrative and design; objects and design processes. Really good for the brain, and lovely folks one and all.

    I also spent some time meeting some Interim CTOs and talking about that particular role. I’m thinking a little about what broader shapes of work might look like in the future, and testing my appetites. This certainly helped put some of my own other work in perspective – understanding what I’ve grown at and where I’m going to have to get over some of my own tendencies or preferences if I want to move into a particular direction.

    And all this after Matt W wrote a prehistory of weeknotes over on the Job Garden medium. I would apologise for the whiplash perspective shifts in my notes – from nice high-level progress down to a surprising amount of detail about chips or code or whatever – but I’ll be honest and say it’s semi-deliberate: a whole bunch of my work is about thought and abstraction and applying a long history of knowledge… but there’s also a lot that’s still about thinking with my hands, about developing skills and understanding through doing, and some weeks, I’m just stuck in the doing, so that’s what you’re getting in my notes. If you get whiplash… well, so do I, some days! But it’s some of the fun of the work, too.

    Let’s get back on the wagon, though, because weeknotes become less useful at a distance: monthnotes have such a different feel. The point of this isn’t just sharing progress; it’s also for me, and being able to keep a closer eye on the shape of my weeks. If that means making the time to do them faster… that might be the way they get done for now.

    Anyhow. That’s enough to catch up on these three weeks. Good progress all around, but it’s all making my head feel very full right now. Onwards!

  • Weeks 286-289

    8 July 2018

    It’s been a while without notes. That’s mainly because I have a lot on: Lambrigg has been fair motoring, and multiple clients filling an entire working week means notes and admin get pushed to the weekends, and some days, that means weeknotes just don’t happen. My bad.

    Fortunately, things are in a loosely steady state:

    • Lots of work on Lambrigg over at Sensible Object to get through the first main phase of the project. That’s mainly mean I’ve been in a research mode – lots of searching, reading, thinking, writing, and also conducting a lot of interviews in person and on the phone. We got to a good place at the end of Week 289 to present our research to the team, and I’m very pleased with how that turned out. We’re regrouping, and then working out what comes next.
    • Selworthy is moving apace: the team made some chunky infrastructure changes that all went very smoothly, and I continued some spelunking on more experimental work. The tech team is really solid – and growing – and my very limited time there is now down to advisory work or ‘special projects’. Which, at the moment, are proving to be challenging (the good kind) and challenging (the bad kind) in equal measure.
    • I made a small but useful MIDI controller for Richard, which was a nice way to use some CAD work to push out a simple tool for a friend to control virtual instruments with.
    • The other musical tool I’m working on, 16n, has moved forward a little, and in week 290 I should be building up the latest prototypes. More to report before the month is out, I hope!
    • And finally, in other Sensible Object news, the team there launched When in Rome, their travel trivia boardgame for Amazon Alexa. I had a very small part to play in this – Selside was a piece of back-end tooling around content management and production for this game. It’s exciting to see it in the world and in the hands of strangers – who seem to be enjoying it. Congratulations to the whole team; it was a hectic final month and they pulled off something good.

    And that’s everything. Let’s see if I can’t get these notes into something more regular for next week.

  • Weeks 282-285

    10 June 2018

    Four weeks to write about.

    Since returning from holiday, existing projects have motored forward, and a notable large one has emerged to take me through to the autumn.

    First, my own work – Longcrag prototypes arrived, and I assembled them and flashed them. Excitingly, they worked entirely first time. So that’s really positive: no bugs on the software, no bugs on the hardware. The only question now is to refine the BOM, address any oversights in the hardware, and prototype a front panel. Then I have to consider if I want to manufacture the object.

    I spoke to Emma about decomissioning our art project – we came up with a process we’re happy with.

    I fettled some issues that emerged on Selside, dealing with feedback, and looking into moving it into production infrastructure. It appears to have continued to be a useful tool, so I’m pleased with that.

    Selworthy motors as ever. I wrapped work on a feature that’s had me deep in Hex Fiend and building an internal library, which ended up using Braid to manage the dependency, and that turned out to be a tool I’ll use again in future.

    Finally, a new project emerges: it’s called Lambrigg, and it’s a longer project with Sensible Object. It’s going to be several months of R&D in a space that combines lots of my interests and expertise – games, toys, interaction design, connected objects, embedded hardware. As an R&D project, I’m going to have to be fairly obtuse about it here, but it’s going to be a good few months of work, hopefully going from exploration through to prototyping. I’m excited.

    And that means I’m pretty busy for the next few months, in lots of nice spaces: a little web and software work on Selworthy, my own music/electronics projects, and my main focus on Lambrigg for a few months. Good stuff.

  • Weeks 280-281

    16 May 2018

    No weeknotes. On vacation!

  • Week 279

    16 May 2018

    A very busy week before vacation.

    I spent my Selworthy time wrangling Javascript and discussing infrastructure with the team – finalising swapping out a major library before I went away.

    Selside was a fairly crunchy race to deliver a fair few features. As the recording process went on, lots of necessary tweaks emerged, to match both the human processes and the needs of the developers. That meant adding new fields in the system, adding pages and functionality to make the users’ lives easier, altering the data model to match the needs that weren’t immediate at the beginning, and so forth. One thorny issue kept me busy on Saturday morning, but other than that, enough was in place to make the work whilst I was away possible.

    I spent Wednesday and Thursday with some of the Makerversity crew supporting an internal hackathon for a corporate client. This turned out to be a lot of fun: helping teams develop and design product ideas, introducing them to some design methodologies, and in my case, supporting a lot of people’s electronics builds. Lots of people designed their first serial protocol, and my major takeaway was discovering how good the Node serial tools are for working with Arduino boards. Definitely enjoyable, and great to spend some time with some of the extended MV family.

    Finally, I ordered various prototyping parts for some Longcrag projects: the revised version of the Corex-based board, and some final drafts of boards and panels to arrive whilst I was away.

    With all that out of the way, I stuck the out of office on, shuttered the studio, so to speak, and headed out for a two-week holiday. Normal service resumes in week 282.

  • Week 278

    23 April 2018

    Firing all cylinders this week, with a full slate of work and good progress.

    A day on Selworthy spent discussing infrastructure with the team, fixing some minor issues, and continuing the work last week on replacing a key video library.

    Several days on Selside with the Sensible Object team. Lots of features added including on-the-fly transcoding, helping the content team preview that transcoding, working to integrate the management tool with development, and chatting to the audio and content teams about quality-of-life improvements. It’s really become an end-to-end tool already, which is great – what it needed to be – and it was satisfying when, after a lot of measuring twice before I cut once, we successfully back-transcoded all the files that had been uploaded before I added that functionality.

    After last week’s slightly unsatisfying end to the week on the Longcrag R&D, this week was much more successful. On Monday I sat down with a hot-air gun to debug the shorts on the board I’d made last Friday, and sure enough, it was paste that had flowed under the chip. So I started fresh, using the Makerversity stereo microscope to triple-check my work. The microscope helped, but now I’m definitely happier about soldering QFP packages by hand! I added the few patch wires I knew I needed, and still no joy.

    I returned to the EFM32 datasheet. Bear in mind that when we say ‘datasheet’ for a 32-bit microcontroller, these things can be hundreds to thousands of pages long. Anyhow, early on, it was made clear that regardless of whether or not I was using the ADC, I needed to be supplying the analog voltage reference with power as well for the chip to even function. I was a bit stumped on how to do that – the two pins weren’t connected to anything. It looked like it was time to tweak the board layout and order a new prototype.

    After bashing heads with a friend on Friday lunchtime, I realised that we could just bridge a whole pile of pins on the south-side of the chip to connect the AVDD pins to VCC. So one more big blob of solder… and all of a sudden, the J-Link I’d connected to the headers I’d broken out detected the chip. One click from the Silicon Labs IDE and the code was flashed to the chip.

    This was hugely exciting, and I quickly populated all the remaining parts on the board to confirm functionality. Sure enough, everything worked as expected: backwards. I’d added transistors to all the outputs for protection and to lift the voltage… so all my outputs that were driving them high now needed to drive them low. I rewrote some code, and it just compiled, flashed to the board… and worked first time.

    After Monday’s debugging, Friday’s fixes were only an hour or so after office hours, but hugely successful: I had confirmation that, largely, the board layout was fine and the only issues were my understandings of MCU power requirements. I had the confirmation that my code works, and the confirmation that my custom programming header was fine. I also had confirmation that for all the pain points, this was definitely the best 32-bit MCU environment for my needs for now – I was seriously considering junking all this and moving to STM32.

    So now the board looks like this:

    Photo 20 04 2018 18 34 54

    …and it works. All those jumper wires and that huge solder blob at the bottom of the chip are my fixes and patches – what hardware bugfixing looks like!

    Whilst last week’s R&D was frustrating, I know that the plan of attack I formulated for Monday was the right one, and as expected, it was a minor error on my part that was leading to major frustration. Firmware and hardware always demand a calmer mind on my part, and good to see it paid off. And, best of all: I immediately know what the next steps are, and I have the platform to build upon.

    So: some successful days of client work, and an eventually-successful period of R&D with some good learnings; that feels like a strong week.