Category Archives: Maker

Libraries, 3D Printer management, and Octoprint

Way back in 2014 I wrote a Library Technology Report  called 3D Printers for Libraries, one of the first long form works that set out to explain 3D printing to librarians. It is licensed under a CC BY-NC license, and 2 years seems like plenty of time for me to avoid linking to a copy here on the blog, so if you’re interested, here’s a PDF copy of it for you.

Since then, the market for 3D printers has exploded, but there have emerged a few new leaders that weren’t as well established when I wrote the LTR. Since that report was released, my favorite printers and the ones that I recommend for libraries are the Lulzbot Mini and Lulzbot Taz 6…they are spectacular FDM printers, capable and easy to use. Even better, they are certified Open Hardware and use Open Source software top to bottom, which means that they are easily repaired and have a myriad of options for printer management, slicing, and control.

One of those options is something that I’ve not seen recommended for libraries, but that I feel like they and others could get a huge amount of mileage from. Octoprint is an open source control program for 3D printers that runs on a variety of hardware (there are install instructions for Windows, OS X, and Linux) but by far the most interesting and useful method for using it is via the OctoPi project that uses a Raspberry Pi as a host for the Octoprint system and all its requirements. You can download pre-built images for a Raspberry Pi, flash an SD card, boot up the Pi, and have a robust and flexible management system for your 3D printer ready to go.
Screen Shot 2016-09-04 at 11.23.48 PMWhat does Octoprint do? For compatible printers (which includes nearly any that use the industry standard gcode instructions to print), Octoprint can control every aspect of the printer, including:

Screen Shot 2016-09-04 at 11.23.36 PM

  • Print queuing
  • Slicing
  • Physical control (movement of printhead, temperature, etc)
  • Gcode previewing, including printhead movement
  • Start, stop, and pause prints
  • Full plugin architecture that allows for everything from cost estimation and filament usage, printer usage statistics, and integration with a variety of messaging apps (get Slack notifications when a print is completed, for example)
  • Native support for video streaming via an attached webcam, including the ability to use the same camera for time lapses of your prints

3D printing MtF Case Wood

The best part? All of the above take place in a web browser. No client software needed, no keeping up with installs of Cura or other printer-specific software. Suddenly you can start a print or monitor your printer from anywhere on your network, or from anywhere in the world if you forward the appropriate port externally. I recently uploaded and started a new print on the printer in my basement while in a different hemisphere…

You can preset the available plastic types and quality settings through printing profiles for slicing of uploaded STL files. For my part, since my primary printer is a Lulzbot Mini, I just downloaded the profiles directly from the manufacturer and uploaded them to Octoprint, and can now upload any STL that I find directly to my printer, from anywhere I am in the world.

Screen Shot 2016-09-04 at 10.49.43 PM

For most libraries, just the ease of statistics and usage tracking would be enough to make Octoprint useful enough to try out.

Screen Shot 2016-09-04 at 10.46.06 PM Screen Shot 2016-09-04 at 10.46.22 PM

But add in the ability to control your printer(s) from any computer, to video stream the printing and watch for errors remotely, to be alerted when a print completes…it’s just a much more robust way of managing your 3D printing. And for the cost of a Raspberry Pi and maybe an hour of setup, you can be up and running.

This isn’t to say that Octoprint solves all 3D printing problems. It’s largest shortcoming in my opinion is its lack of plating tools…if you have an STL, you are stuck with just printing that single STL with Octoprint. If you need to plate several STL files together on a single print plate, you would have to do that in Cura or other program (you could even do it in Tinkercad if you wanted to stay in-browser I suppose) and then either save the collection as an STL or go ahead and slice it to gcode and upload the gcode directly to Octoprint. It is technically possible for a single install and Raspberry Pi to control more than one 3D printer, but it isn’t built in to the system and is something I’d only recommend to technical users. RPi’s aren’t expensive, and having one per printer isn’t the end of the world, but hopefully over time the OctoPi setup will evolve to handle multiple printers natively.

I’ve been using the latest version of Octoprint for months now, and it’s simplified so much of my work with my 3D printer. If you are responsible for running the makerspace or 3d printer service in your library, check out Octoprint. I’m guessing it will make your life easier.

I’m considering putting together a workshop on how to install and use Octoprint with your 3D printer…would anyone be interested in such a training? If so, leave me a comment and let me know, I’ll see if I can find a venue and do it sometime this winter.

Sexism, meeting dynamics, attention analysis: who talks during meetings

Yesterday, Andromeda Yelton posted this excellent blog entry, Be Bold, Be Humble: Wikipedia, libraries, and who spoke. It’s about the well-known social sexism dynamic of meetings, where in a meeting that has both women and men, men speak more frequently, use fewer self-undercutting remarks (“I’m not sure….” or “Just…” or “Well, maybe…”), and interrupt others speech at a much higher rate than women in the same meeting.

The post got passed around the social nets (as it should, it’s wonderfully written and you should go read it now) and one of the results was this great exchange:

 

Which prompted me to reply:

I couldn’t get the idea out of my head, which basically means that it needs to show up here on the blog. I thought all night about how to architect something like that in hardware/software as a stand alone unit. There is always Are Men Talking Too Much?, which Andromeda linked to in her essay, but it has the downside of requiring someone to manually press the buttons in order to track the meeting.

I’ve been basically obsessing over attention metrics for the last couple of years as a part of bringing Measure the Future to life. The entire point of Measure the Future is to collect and analyze information about the environment that is currently difficult to capture…movement of patrons in space. The concept of capturing and analyzing speakers during a meeting isn’t far off, just with audio instead of video signal. How could we built a thing that would sit on a table in a meeting, listen and count men’s vs women’s speaking, including interruptions, and track and graph/visualize the meeting for analysis?

Here’s how I’d architect such a thing, if I were going to build it. Which I’m not right now, because Measure the Future is eating every second that I have, but…if I were to start tinkering on this after MtF gives me some breathing room, here’s how I might go about it.

We are at the point in the progress of Moore’s Law that even the cheapest possible microcomputer can handle audio analysis without much difficulty. The Raspberry Pi 3 is my latest object of obsession…the built-in wifi and BTLE changes the game when it comes to hardware implementations of tools. It’s fast, easy to work with, runs a variety of linux installs, and can support both GPIO or USB sensors. After that, it would just be selecting a good omnidirectional microphone to ensure even coverage of vocal capture.

I’d start with that for hardware, and then take a look at the variety of open source audio analysis tools out there. There’s a ton of open source code that’s available for speech recognition, because audio interfaces are the new hotness, but that’s actually overcomplicated for what we would need.

What we would want is something more akin to voice analysis software rather than recognition…we don’t care what words are being said, specifically, we just care about recognizing male vs female voices. This is difficult and has many complicating factors…it would be nearly impossible to get to 100% success rate in identification, as the complicating factors are many (multiple voices, echo in meeting rooms, etc). But there is work being done in this area: the voice-gender project on Github has a pre-trained software that appears to be exactly the sort of thing we’d need. Some good discussion about difficulty and strategies here as well.

If we weren’t concerned about absolute measures and instead were comfortable with generalized averages and rounding errors, we could probably get away with this suggestion, which involves fairly simply frequency averaging. These suggestions are from a few years ago, which means that the hardware power available to throw at the problem is 8x or better what it was at that point.

And if we have network connectivity, we could even harness the power of machine learning at scale and push audio to something like the Microsoft Speaker Recognition API, which has the ability to do much of what we’d ask. Even Google’s TensorFlow and Parsey McParseface might be tools to look at for this.

Given the state of cloud architectures, it may even be possible to build our gender meeting speech analysis engine entirely web-based, using Chrome as the user interface. The browser can do streaming audio to the cloud, where it would be analyzed and then returned for visualization. I have a particular bias towards instantiating things in hardware that can be used without connectivity, but in this case, going purely cloud architecture might be equally useful.

Besides gender, the other aspect that I had considered analyzing was interruptions, which I think could be roughly modeled by analyzing overlap of voices and ordering of speech actors. You could mark an “interruption event” by the lack of time between speakers, or actual overlap of voices, and you could determine the actor/interrupter by ordering of voices.

Once you have your audio analysis, visualizing it on the web would be straightforward. There are javascript libraries that do great things with charts like Chart.js or Canvas, or if working in the cloud you could use Google Chart Tools.

If any enterprising developer wants to work on something like this, I’d love to help manage the project. I think it could be a fun hackathon project, especially if going the cloud route. All it needs is a great name, which I’m not clever enough to think of right now. Taking suggestions over on Twitter @griffey.

SXSW 2016

I attended my first SXSW conference this past week, and have been struggling about how to describe it. On one hand, I was able to find interesting things and have a great time. On the other, the conference felt so very desperate, like a marketing team and a brogrammer had a kid. It was a non-stop barrage of things that were really-well-known being well-known (Game of Thrones, Mr. Robot) and things that weren’t well-known trying desperately to be so.

Libraries and librarians were, as always, the saving grace in the midst of the chaos. I spent time with the Library IdeaDrop house this year, and all I can say is that they run a tight ship, full of interesting people and awesome events. I would be a part of it again in a heartbeat.

I wrote up my experiences for American Libraries, here’s the three-part story:

And here are all the interviews that I did with IdeaDrop this year:

SESSION 6 from Idea Drop & ER&L on Vimeo.

Jason Griffey @ #IdeaDrop from Idea Drop & ER&L on Vimeo.

Knight News Challenge from Idea Drop & ER&L on Vimeo.

SESSION 8 from Idea Drop & ER&L on Vimeo.

Copyright and Creators: 2026 @ #IdeaDrop from Idea Drop & ER&L on Vimeo.

Digital Content and the Legality of Web Scraping from Idea Drop & ER&L on Vimeo.

Knight Foundation News Challenge Semi-Finalist

I found out this morning that my Knight Foundation News Challenge entry (Make the Things that Measure the Future: Libraries & Open Hardware) was chosen as a semi-finalist! Out of 680 initial proposals there are now 41 proposals left in the “Refinement” stage. We have a week to answer a new series of questions, along with responding to any comments or questions that were generated by our initial proposal.

The Knight questions are:

  • Who are the users of your project, and what have you learned from them so far?
  • What are the obstacles to implementing your idea, and how will you address them?
  • How much do you think your project will cost, and what are the major expenses?
  • How will you spread the word about your project?

I have good answers to all of these, I think, and will spend the next week making absolutely sure that the answers are as clear and precise as I can make them. What I don’t have just yet is a lot of comments to respond to from the public. This is where you, Internet people, come in. What feedback do you have about my proposal that needs comment, or questions that need answered? Please comment on the Knight proposal page, and I will take those comments and questions and use them to hopefully move my proposal forward into the next round!

Code4LibDC Unconference Workshop

Monday and Tuesday of this week I had the opportunity to attend the 2014 Code4LibDC Unconference, where I had been invited to lead an introduction to hardware hacking workshop. Thanks in large part to the generosity of SparkFun Electronics, whose Education arm let me borrow the hardware necessary to run the workshop (15 sets of the Sparkfun Redboard Arduino clone, breadboards, wiring, LEDs, and sensors).

I decided that I wanted to try and reverse the normal order of pretty much every “Learn Arduino” workshop that I’d seen, so rather than start with a blank slate and have the students build a circuit to blink an LED, I decided that I wanted them to start with a working circuit that was a bit more complicated and then deconstruct it. As a result, I spent most of a day late the week before building out a dozen or so circuits that would light a series of 4 LEDs dependent on the value of a potentiometer, and then packing them up and hoping the TSA didn’t find them “interesting”. The idea was that the participants would immediately have a working thing, and then could break it, alter it, change it, and they would have something that was immediately useful rather than struggle to make it work from the outset. Judging from the reactions I got, I think that was a good call…the participants seemed to have a grand time deconstructing why the circuit did what it did. It also provided an example of how something very simple could be useful in a library…you could, with very little change, basically replace the potentiometer with a thermistor and have a temperature gauge, or with a microphone and have a noise indicator for “too loud” rooms.

We weren’t without problems (no hardware session ever is) but overall I felt like it went well, and I can’t wait to work on making this particular workshop even better. I really want to teach more and more librarians how to hack on hardware to benefit their libraries. A few of the participants really had a field day, with one group altering the simple 4 LED series to instead be a 4-bit binary counter, and another working out an algorithm that allowed for soft fades instead of simple on/off of the lights.

If anyone is interested, below you will find my slides from the workshop. They need work before I try to give this again, but I think they are a good start.

SparkFun @ ALA Annual 2014 – Hardware and Coding!

ALA Annual 2014 in Las Vegas is going to be a fantastic conference for a ton of reasons, but at least one of those reasons is that there is a new exhibitor that anyone interested in technology, coding, and general hardware hackery should get to know: SparkFun Electronics.

SparkFun is a company that not only makes awesome hardware and hardware kits, they have an amazing educational wing that works with schools and libraries to teach Maker skills to people across the country. I had the opportunity back in February to visit and learn from Sparkfun along with a handful of other Chattanooga librarians you may have heard of. Their educational materials are top-notch, and they are happy to work with libraries who want to teach Arduino, coding, soft circuits, and a few dozen other projects.

At ALA Annual they will be in the exhibit hall, Booth 1870, and will have a ton of interesting stuff to look at and play with. Sparkfun’s Jeff Branson along with Nate Hill from the Chattanooga Public Library will also be taking part in the LITA Library Code Year Interest Group Technology Speed Dating event on Saturday, June 28, in the Las Vegas Convention Center Room N119. That looks like an incredible lineup of presenters, and will be a great program.

In addition to all of that, they will be hosting a number of short classes in the Networking Uncommons if you want to get a quick 1/2 hour introduction to Arduino, AruBlock, Scratch, or Processing…or if you want to stick around for the whole shebang and have a 2 hour block of technology awesomeness. They will be doing two classes of each:

Saturday, June 28 – Networking Uncommons
3-3:30 Ardublock
3:30-4:00 Arduino
4:00-4:30 Scratch
4:30-5:00 Processing

Monday, June 30 – Networking Uncommons
10-10:30 Ardublock
10:30-11:00 Arduino
11:00-11:30-Scratch
11:30-12:00- Processing

If you have any interest at all in Maker technologies, I recommend showing up for one of these…Jeff from Sparkfun is a great instructor, and I guarantee it’ll be a good time. I hope to see you all there!

LibraryBox Installfest @ ALA Annual 2014

Are you going to be at ALA Annual 2014 in Las Vegas? Would you like to build your own LibraryBox for yourself or your library, but aren’t sure how to make that happen? Well step right up, I’ve got your answer!

On Saturday, June 28th from 11:15am until 12 Noon in the Networking Uncommons in the Las Vegas Convention Center, I will be holding the fist ever LibraryBox Installfest! What does that mean? It means that you buy the hardware and bring it with you, and I will walk you through the install process, show you some tips and tricks for customizing, and generally answer any questions about the LibraryBox Project that you might have. I’ll be there helping anyone who shows up, so just drop by anytime during that 45 minutes.

What you DEFINITELY need to bring with you

The install process, from beginning to end, will take about 10-15 minutes. If you show up with the equipment listed, I will make sure that you leave with a working LibraryBox.

Join me in the Networking Uncommons for the first ever LibraryBox Installfest, and learn how to build your own LibraryBox. Or just swing by and ask questions. Or heck, just come say hello and grab a LibraryBox sticker.

See you in Vegas!

IMLS, Maker Faire, and Montana Academic Library Symposium

IMLS_Logo_2cStarting Wednesday, I’m heading out for a couple of really exciting events. The first is an IMLS Stakeholder meeting in San Francisco, CA on May 15th that is dedicated to a discussion of how library spaces are changing. From the press release:

The San Francisco meeting will focus on current trends, challenges and opportunities to consider for framing future investments in this area. The discussion will cover the following:

  • The Shift to Participatory Learning
  • Approaches to Technology and Space
  • Staffing and Mentorship Models
  • Connected Learning
  • Community Engagement: Partnerships and Programming
  • Measuring Success: Evaluation

I’m really excited to be a part of this discussion, and can’t wait to meet everyone involved. The event is going to be livestreamed, and they are looking for lots of community involvement, so please join in. The twitter hashtag is #imlsfocus and if you’d like to tweet me directly at @griffey, I’d be happy to ask questions on your behalf.

makerfaireThe incredibly awesome side-effect of being in San Francisco on Thursday and Friday of this week is that Saturday is Maker Faire Bay Area 2014, the largest Maker Faire in the world. This will be my first time being able to attend the grand-high-holy of maker faires, and I’m completely excited. I will of course have a few LibraryBoxen with me, and will be hanging out with Sparkfun showing it off when I can. Sparkfun is going to be located in the Intel booth, so come by and say hello, or just download some free books from the LibraryBox that will be stationed there.

And to round out the awesome week, I’m going to be heading over to Bozeman, MT for the Montana Academic Library Symposium 2014: Makerspaces, DIY Culture, and the Emergence of the Smart Library Building, where I’ll be delivering a keynote about…Library Spaces! I’ll be talking about how the digital devices that are coming over the next 5-10 years will impact the use of our physical spaces, how we can react to that, and how we can bolster our efforts in appropriately marketing ourselves to stakeholders regarding these issues. I’m really excited to meet the fantastic librarians in Montana, and talk about the future of our spaces.

As always, if you’re going to be at any of these events and want to meet up, drop me an email at griffey at gmail.com, or send me a message on twitter. I’d love to continue any of these conversations, or if you just want a LibraryBox demo, I’ll be happy to do that as well. Let me know!

LibraryBox v2.0 & the Kickstarter Campaign

ledge wide

Way back in February and March of 2012, I had an idea that was to basically try and take the “pirate” out of the PirateBox project, and make it more friendly to use by libraries. I called this fork LibraryBox, and I rushed during those two months to finish it in time to take it with me to Computers in Libraries 2012 to test it.

That initial 1.0 version was very rough, absolutely a bespoke build and wasn’t something that was easily replicated. It was a proof of concept, though, that was interesting enough that some began to use it, experiment with it, and find it valuable enough to stick with despite its difficulties. But it was clear that making the installation process easier and less error-prone was the primary goal for moving forward.

So I plugged away as I could, and in October 2012 I was able to release v1.5 of LibraryBox, and a complete redesign of the accompanying Web site. The v1.5 was faster, easier to install, and a huge improvement, but only a small step towards what the project could be. The community that sprang up around the v1.5 has also been more robust, and as it grew the list of enhancements grew alongside it. These included the need for anonymous usage statistics, even easier installation, alternative energy sources such as solar, and more direct editing of the pages that LibraryBox serves.

The project has grown from an idea to something that is being used in 14 countries on 5 different continents, by educators, librarians, and technologists trying to distribute digital information in places off the grid. There is a huge list of things that should be done with LibraryBox, and it’s gotten to the point where I simply can’t do them…for both technical proficency and simple logistical reasons. But the project is something I believe in, something that I want to see succeed and be used in even more places. The only way forward that I could see was to find money that could be traded for the expertise and time of someone other than myself.

Thus it is with great excitement that I announce the launch of a Kickstarter campaign to support LibraryBox v2.0. It is a meager amount of money that I am asking for ($3000) and I could easily use 3-5x that amount in various ways…but I wanted to ensure that the project stays true to its open source roots. If you think that LibraryBox is worth supporting, back it for some amount…but more importantly, spread the word. LibraryBox is much larger than just libraries, and the more eyeballs that see the campaign page the more likely it is that it could gather some attention outside of the LibraryLand that we all know and love.

I’m incredibly excited about the project. I’m terrified of seeing how it does on Kickstarter, and if people can grok the potential in the way that the LibraryBox community has. And I’m really looking forward to continuing to work on the project.

Help make LibraryBox great along with me.

Make the Tools that Measure the Future

Here are the slides from my presentation from Computers in Libraries 2013 about Open Hardware & Libraries. The overall concept is that in the same way that libraries have benefited from open source software, we should now be examining how open hardware could benefit us. The open platforms of the Arduino and the Raspberry Pi are empowering us to collect data in new and interesting ways, and this could be very, very valuable for libraries. We should start now.