91³Ô¹ÏÍø

Watch CBS News

Watertown's "library of things" offers creative community workspace. Here's a look inside.

The library in Watertown, Massachusetts is providing the tools and a space for people to get creative and learn new skills.

"A lot of libraries have started a 'library of things' collection, but they don't have necessarily a space to allow people to just make and create and build community," Watertown Public Library director Kim Hewitt said. "We have a big Hatch-maker space and that was one of the first in the area."

The "Hatch" facility on Summer Street is right around the block from the main library.  The workshop is stocked with tools, materials and expertise for everyone to learn in a venue that fosters creativity.

"See what appeals to you"

"We have scraps of material to play around with, the sewing machines, or create something, jewelry making. It doesn't have to be prescriptive. You can go there and see what appeals to you," Hewitt said.

The Hatch space is a standout amongst similar programs in Massachusetts, and it just celebrated it's tenth birthday. It has button makers, laser cutters, and even 3-D printers.

Volunteers ready to assist

Talented expert volunteers are on hand to assist patrons with their projects, which is how Seth Deitch first started making things in the space.

"We're very lucky to have the people that we have who volunteer here. Many of them are extremely talented. Lots of people with advanced degrees," Deitch said.

Hatch also offers workshops that more and more people in the community are getting involved in.

"It's nice having a space for the entire community that's free to come to and work at," Deitch said. "Nowadays, people spend a lot of their time staring at screens, not enough working with their hands."

Open to all Massachusetts residents

The best part is, anyone in the state can get in on the fun.

"As long as you're a Massachusetts resident, you can get a library card at the Watertown Public Library," said Ran Cronin, the library's access services supervisor.

The library is hoping to expand the Hatch space. It also has one of the largest English language-learning programs, called Project Literacy, which serves 900 students per year. 

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });