12 March 2017
A short week, after returning from a short vacation, but lots of progress in a few areas.
- Some work on developer provisioning on Selworthy – wrapped up the work of using our existing Ansible scripts, with minor modifications, to provision a development environment inside Vagrant. Should make it much easier for new developers to come on board. Oh, and we shipped a small, useful addition to the internal metrics tools.
- Started working with our content designer on Gisborough; this ended up with me trying to narrate the journey through the OSI Stack when you
POSTa form, to work out how to explain this more plainly. That was a deep dive of “remembering all the stuff that’s really going on”!
- Longcrag started its journey into reality, with ordering packaging and also some key parts from overseas; I also spent some time filling out forms and paying customs invoices, wearing a learning smile throughout.
- Finally, I broke ground proper on Wapley, a new tiny project with Richard that takes some of the work we explored in Rubato and pivots it into an interesting direction. After some simple prototypes in earlier weeks, a few hours of staring down some node code got us an exciting alpha.
No wonder I feel a little like I have whiplash. Aaaand breath out.
06 March 2017
Week 218 began with a Chinese PCB manufacturer sending me a picture of boards about to be DHLed to London. I was testing out overseas manufacture for Longcrag, and seeing what the process would be like.
They arrived later in the week. I’ll be honest and admit I was disappointed, but my disappointment was behind a learning smile: the manufacturer had made everything to the tolerances they specified. What I hadn’t twigged is that they were much lower than the tolerances of my US prototype manufacturer. It turns out that OSHpark boards are ridiculously high-quality, in terms of the precision of the silkscreen. Given these boards are for DIY assembly, and the silkscreen needs to be clear, they weren’t going to be good enough.
So that led to two conclusions: firstly, spending a bit more on the boards, and manufacturing them in Europe, at a supplier friends have had good experiences with; and secondly, reading each manufacturers’ tolerances better. I redesigned the silkscreen on all the Longcrag products to be much more legible, and within tolerance. Fingers crossed!
Over on Selworthy, I continued wrestling the SCC format to the ground; it’s a difficult challenge compounded by the challenge of testing it. At some point, I should possibly write this up, or extract it to a library. But for now, just getting the output files right is the correct challenge.
And Gisborough metamorphosed into a slightly different project, that should begin in earnest in week 219.
A short week this week.
Selworthy saw me spending the afternoon with a new colleague to start the process of handing the project over to a new lead. That’s right: after nearly two years, of the little-five-week-project-that-could, I’m planning to move on.
I really should write the whole thing up.
Anyhow, we spent the afternoon trying to build up a development environment, and this time around, decided to make use of all our Ansible collateral, rather than building a complex environment by hand. This was perhaps not the pace that was expected, but I’m sticking to my guns that it’ll be good in the long run. Sometimes, communicating the dreariest kind of technical debt – things that are only going to be debt if we have to do them again. When that’s unlikely, but not impossible, it doesn’t always feel like the most obvious investment, so you have to hold fast to the knowledge that all it takes is one unknown in the future to change your perspective. I’m hopefully going to wrap up this process in Week 220 and then we can get back to the land of features and fixes.
Gisborough mk2 kicked off, with some thinking and writing and talking and it feels like it’s moved to a reasonably natural place; next week, I start talking to a content designer about heavily involving them in the concept and giving them what they need to start thinking through it.
And Longcrag saw some big developments. Firstly, I spent some timing costing up production runs over on Eurocircuits. Eurocircuits are good value, though more expensive than the Chinese manufacturers I looked at; they primarily manufacture in Hungary and Germany. However, their tooling for uploading, configuring, and pricing boards is excellent, and hugely confidence-inspiring; it’ll make it easier to order repeats in the future. So I’m thinking of going with them, if only for the quality and speed of service; it’ll impact my costs a little, but better than the risk of longer turnarounds and more unknowns in the process.
A new prototype under the Longcrag umbreall arrived this week, and I quickly built it up – to be pleasantly surprised that it all worked as expected first time. Which felt like a big deal: a custom PCB containing a microcontroller chip alongside other circuitry, and an in-system programming header, flashed with my own code, and all behaving itself. And more importantly – it wasn’t just working, it was exciting – the possibilities for it as an instrument revealed themselves quite quickly. I’m going to try to get a couple of prototypes to other musicians soon, to see how they feel about it, but this one feels good.
And finally: I received an order for some Longcrag kits. A small order to begin with, but it’s going to entail kits for 5 different products going on sale from a retailer, and means I’m putting this stuff into the world. Shipping (unassembled) hardware! Blimey. Long list of things to do around all the other projects. It’s going to be a busy few weeks.
But for now: week 219 ended early, and I headed out for a long weekend; a small break to top up the energy reserves, before heading into a crunchy month or two. It’s going to be exciting.
20 February 2017
A busy couple of weeks, which is why I appear to be writing them for two weeks, not one. Ah well.
Selworthy saw a deployment that integrated and released a pile of new features – that was good to get out, and thorny, given it involved changing some of how we stored data on it. I also started working on a new export format for the application, which is probably the most painfully difficult file format I’ve ever worked with. We’ve certainly had an ‘interesting’ time testing it – it turns out the edge cases are very badly documented, so that’s been a lot of publish/test/fix going on.
menting it; it turns out the edge cases are very badly documented.
Over on Longcrag, I made another spreadsheet. Not a BOM this time: instead, a burndown chart of all the products in the range and what’s left to do on all of them. It’s… only moderately intimidating. I’m concerned some of the later tickboxes actually hide a lot of work, but for now, the goal is to get BOMs, PCBs and panels all completed so that I’m ready to send a large order to Elecrow.
That is, if they prove satisfactory. So to test them, I ordered a set of prototype boards from Elecrow: a baby step towards manufacturing in Asia. We’ll see how they turn out. Finally, I sent some emails inquiring about wholesaling the products, which is the other big GO/NO GO step for the project – hopefully we’ll hear about that soon. But a GO from a wholesaler and a quality board from manufacture means three or four products are probably ready to go.
I also took the sketch I made the previous weekend and built it up on a breadboard and microcontroller. The MCU code I wrote on the sofa worked first time, and led to a huge grin as I realised quite what this thing could be. So I continued to bash out a first pass at a front panel and get to a circuit board that could be made. A slight digression from the products I should be focusing on, but it’s very exciting, and good to have things in the pipeline. By the end of Week 217, a prototype of this was ordered up, and a few friends I showed initial footage to seemed excited by it.
Gisborough hit a bit of a speed bump; some things that felt clearly defined turned out not to be, which has led to me taking a step back briefly whilst the project refocuses itself – more to come in the near future, I’m sure.
And to cap it all, I failed to do weeknotes last week. So a fortnight’s worth this week, and let’s get back on the wagon next week.
06 February 2017
Continuing the theme of doing weeknotes for a single week almost on-time:
- A few days on Gisborough with dotEveryone, carrying out some research trips, sharing our findings, and trying to creep up on the project from a variety of angles. I’ve been reminded that when I get stuck, I probably need to make things, even if all I’m making is words. Writing-to-explain has been one way out of holes, as has making hypothetical posters. Better to have something to disagree with than nothing at all.
- On Selworthy, I liased with another developer about merging our two strands of work, and also about changes to the data we’re storing that’ll require transforming everything in the system. It’ll enable a nice chunk of new functionality, but definitely something to measure several times and cut once. Also lots of UI finessing and research, although my time on this was curtailed at the end of the week by slight illness.
- On Longcrag, I revised the two prototypes with minor bugs from the week before. One took a good half hour of prodding and staring at the oscilloscope until I found the glaringly obvious problem: an output connection normalised to ground that shouldn’t be. When the normalised connection was broken, everything behaved itself. So a single change to the schematic and board, and that one’s good to go.
The other board needed a more comprehensive redesign, it turned out, which I breadboarded up and confirmed worked well; I quickly laid the thing out and ordered a second pass of it from OSHPark.
And finally, at the weekend, I sketched out some code for a new Longcrag idea that came to me in the shower at the weekend. It should be a really interesting device – I can see lots of fun applications for it.
Friday finished early as head-cold and winter lurgy did for me, so a largely quiet weekend in order to prepare for another busy week. Onwards!
01 February 2017
I’m into some crunchy, busy weeks now, so keeping weeknotes brief:
- The project I’m working on with dotEveryone got underway. We set out some framing for the first patch of work, and I went on a quick research visit. Next week, we’ll kick off working in the office proper and try to wrestle the brief to the ground a bit. (I’m calling this project Gisborough, for reference).
- Selworthy – I continued work on making some the UI slicker and simpler (at least from the end-user’s perspective). I also spent some time with another developer planning out how best to attack a new feature, and doing Just Enough Ops to help our sysadmin on the side.
- Longcrag – more prototypes arrived this week. I spent some time putting them together, and whilst they’re largely successful – they’re about 90% correct in terms of electrics – there are a few bugs that need understanding and then ironing out. These two were on their first ‘pressing’ – I’d not built them up before – but there’s always the hope they won’t need a second revision. In addition, the prototypes confirmed two fixes to the panels for the whole range of products – good – and revealed a mistake in my understanding of the silkscreening that would need to be revised across the range – bad. Still, progress.