Years ago, I was a member of the Z39.50 Implementers’ Group. We’d gather from all around the world, maybe 30 or 40 of us, and meet for several days to discuss and vote on possible extensions to this venerable (and still important) information retrieval standard.
A common item of business was approving a new diagnostic code. Continue reading
Those of you who have been reading this blog since 2nd March 2010 — just three days after the blog was born — might remember the fourth post I ever made here: Learning a language vs. learning a culture, on my switching from Perl to Ruby. Way back then, I wrote about “ScottKit — my first non-trivial Ruby program”. Here it is!
This just in:
Failed context type: Invalid context `paneset` of type `Paneset` supplied to `Paneset`, expected instance of `Paneset`.
Oh, the joys of front-end development!
(My best guess: I have two slightly different version of stripes-components library that provides the <Paneset> component in my application, and somehow I’ve got hold of one from the wrong instance.)
My colleague Jason Skomorowski and I (and many others) work together for Index Data on the FOLIO library services platform. There is a ton of work to do — fascinating work at that, so that I often find myself working on it in the evenings, not because of deadline panic but just because it’s fun to do.
Often when a request for a new feature comes in — whether it’s user-visible functionality, or more exhaustive test coverage, or better continuous integration support, or improvements to documentation — Jason often asks this key question:
“What should I prioritise that ahead of?”
Back in the early 1990s, when I was working on Sun’s Unix boxes, it was routine for them to be up for multiple years at a time. A reboot was a big event.
Now here we are in 2017, and every single update to the Linux kernel — of which there are several every week — requests a reboot.
A colleague asked me a couple of days ago: “So we roll version numbers forward only with breaking changes, right?”
Well, the best approch for any sane project in 2017 is to follow Semantic Versioning. That is not a long document to read, but here is a summary. In a nutshell, version numbers have three facets, major.minor.patch.
- If your new release breaks something that used to work, increment major.
- If your release adds new functionality that clients might want to rely on, increment minor.
- If your release only fixes a bug, increment patch.
This is an excellent, simple and battle-proven system.
However. Continue reading
But Stripes is made up of several NPM packages: stripes-core, stripes-connect, and so on. And they use each other. In particular (let’s make things simple by picking a single example), stripes-core uses stripes-connect.