Hi, Merrick, so this is a bunch of ... I'm just going to talk about things that we've done in a little bit coin, kind of since the beginning, but also been doing a lot more recently in terms of making a scalable node implementation. There's a lot more to the bit coin and don't have a lot of time, so I'm just going to kind of quickly go through and really just enumerate things that we're doing. Some of them are kind of mundane, but some of them are really different, and anybody who's ever tried to make or understand a node will scratch their heads and go, what the heck, how do you do that? Anyway, so first of all, what's scaling? Add hardware, hopefully get a linear improvement in whatever you're trying to increase. More hardware, more performance. Okay, now how do I get back? There we go, got it. There we go. Okay, so Amir actually started a bit coin. Who knows Amir Taki? All right, yeah, Amir's awesome. Those are the three principles he laid out on the first post in Bitcoin talk about what we were after. I focus your attention on the center one there, the second one, scalability Bitcoin built today for the future of mind. And so we have a definition and objective, and I'm just going to go through the different components, see if I can zoom this, that's not touch screen, is it? No, all right. There we go. Wow, this Prezi thing's cool. I'm a PowerPoint guy and I'm trying this Prezi thing and it's kind of freaking me out. All right, so gray boxes are external dependencies that the Bitcoin's a set of libraries, but it also has command line implementation for node and client side stuff. We call it the Explorer. Left side is client stack, right side is server stack. Gray is external dependencies. We worked really hard to shrink those down. I don't know, William, do you remember how many, how hard it was, right? This is as small as you can possibly get and do something like we're doing, as far as dependencies. And the dotted lines are optional. So they're only used in a very narrow set of circumstances. You don't even need to build them. And the blue boxes are the libraries and this is a build system repo down here. It's just for the maintainers. And you'll notice there's three libraries that are the same on both sides. The base library, Libitcoin, network and protocol, okay? So I'm just going to be talking about the server stack, the right side. When it comes to scalability, it kind of affects both. So we have a database, there's a repository called Libitcoin database.  Okay, so the database is not a database that you buy. It's a database that we make, it's memory map files. There's actually, I'll talk about that, will you? What we end up with is logically contiguous byte array. So just a big array of RAM, essentially, and it gets mapped in and off the disk by the operating systems. Virtual memory, paging systems, very efficient. And the most recently accessed parts of the data are generally memory resident, if you have enough memory to store the entire chain, it will probably not all be stored in memory because some of it just won't be accessed, but it can be. And I test with a couple of machines, Windows machine, the Linux machine that are 256 gig RAM and super fast. And it's just nice to see the whole block chain just and the server and indexing of the payment addresses all stored in RAM. So add more hardware, get more performance, again, that's what we're after. Up until you hit the limit of maximum RAM performance and then you start hitting bottlenecks in other areas. It outperforms explicit cache, right? So other implementations will have a cache for this and a cache for that. And I'm gonna go over that a little bit. There's all kinds of caches. Maintaining the cache costs money. And you don't want a cache if you don't need it and we don't need it. The block chain is a cache, right? Everybody sees the same chain. So it's a public cache of data and you can dump it if you want. Okay, so there are some limitations and current implementations which I'm gonna, we're probably gonna spend some time on in our V5. Our V4 is coming out probably in the next few months. One of these is right flushing. In other words, you write some stuff to the RAM. You gotta flush it to the disk before you shut down or you gotta corrupt database, right? Used to be you didn't know when the database was corrupt.  And now we actually know definitively. We have a very reliable knowledge of whether you've actually shut down with an unflushed write, like a hard power off or something. But we also have a configuration option to allow you to flush after every write. The problem is if you're flushing it to disk after every write, you really slow down like initial block download. Significantly slower, maybe 5x slower, right? On the other hand, once you're fully synced, it's hardly noticeable. So we'll probably do some dynamic configuration there to make that a little bit more optimal for home users who might be more likely to hard shut down. For servers, though, it's pretty good and very reliable. Okay, so we have the reliable detection. Okay, so we go into the next aspect of the database. It's append only. We only write to the ends of the file. So we don't delete data from a file and squish it up and refactor the file. We just write and these are a mirror's original implementation things. So all new objects are appended to the memory maps. There's like seven files, they remain indexed indefinitely. So you index something by its hash, it's always there. Even if it gets reordered out, it doesn't matter. It's still valid, it's just not on the strong chain, right? Objects have metadata, so this is kind of came along in V3. We update state on certain objects to reflect, say, the height that their transactions confirmed at. But we don't delete state from the files and so you're probably thinking, okay, well, that's going to lead to a lot of bloat and fragmentation. You're going to have to defrag this stuff and that's going to be an expensive operation. Actually doesn't lead to noticeable bloat at all. We've run these things for months with full transact. I'll talk to you about what we do with memory pool, but just dumping tons of data on the disk. Everything that's coming at us across the chain that's valid, we put on the disk and basically most of it gets confirmed and it has no real consequence. But in the amount that maybe is fragmented, in other words, kind of dead data that's still indexed, doesn't end up mattering. But if you want to defragment it, what do you do? It's a cache, just resync it. You can do that in two hours, so not too bad. And if you have a checkpoint in store, you can obviously do it much quicker. So defragmentation cost is fully deferred. We don't defrag. If you want to do it, you can do it, but we're not doing it dynamically, so we're not slowing down your validation and all sort of stuff. Okay, I think I covered, yeah, resync to defrag and then. So we don't support pruning. The objective is not to make non-nodes.  You can't support sync on other nodes. So that's not a goal, but this technique wouldn't be too friendly for pruning because how do you get rid of the data if you're only appending, you'd have to write some defragment or really hurt performance. So what's the cheapest resource you have on a computer? Hard drive, right? So what do you optimize for? Not the RAM, you optimize, I mean, not the hard drive, right? You don't care how big it is, really. I mean, not in the range as we're talking, cheap. So now we can start getting into more interesting v4 stuff, concurrent write. The database can support parallel block downloaded write. We can write all blocks from multiple peers to the store at exactly the same time on multiple threads. So the system can run, the node can run on one thread. It's asynchronous, but it can also run on, I run on 64 threads. It's great. I've run, not normally, but I've run thousands of peers as well. So we have certain things that you do have to guard against. If anybody's done concurrent programming, and sorry, I'm talking fast, this is kind of technical stuff. But memory allocation rate is configurable. So in other words, when we allocate memory to these files, we pre-allocate a big chunk, right? You can configure what's the ratio of that reallocation. You can also just cause it to allocate the entire size of the blockchain initially, and you never have to reallocate any memory. So when a new object comes in, you have to reserve some memory to write that object. That's just a little math. There's not even any reading or writing going on. We just lock, do some math, give you the data. So there's a lock there, remap. So the operating system decides it wants to move all the memory to somewhere else where it has more space. All the pointers become invalid. Everything you're doing on all the other threads goes haywire. It's a disaster, right? We actually had this problem in earlier versions. And so that's guarded. If there's a remap due to a reallocation, everything that's got a pointer is now either working or ends up locked until the remap occurs, and then it continues. So it's safe, it rarely happens, and it's very fast. So it's kind of inconsequential. Metadata updates. So if you're writing data into a transaction, like it's been confirmed at this height. We already wrote the transaction, now we're gonna say it's confirmed. We have to guard that because something could be reading the transaction at the same time we're writing, so there's locks there. But not during the heavy load process where we're just downloading all the blocks, nothing's being written there. But that's the extent of locking in the database. Everything else is atomic pointer swaps. So we put an object in the database, we allocate some memory, we write the object to memory. Nothing can see it yet, it's not indexed. We then create a pointer to it. That pointer update is atomic, it's locked. After that, everybody can see it and it never goes away. So we never have to worry about any problems with concurrency. Okay, and so there's no defrag, so all data remains valid. If you reorg a block out, the block's still there. It's just no longer what we call confirmed. Okay, so fast, right? So this is another original aspect of the database, and this has become better over time, but in theoretical terms, it's the same as it's always been. We have two types of tables, hash tables, and arrays. Constant time, right? Technically, hash tables are constant time best, normally in worst case linear, but what we see because of the evenness of the spread of the data, because it's all indexed by hashes, by block and transaction hashes, and then re-indexed as 64-bit hashes. Is that the data spread pretty well and depending on how you can configure the bucket count for each hash table, so actually in our config volume, you start up the first time, and you just, more buckets, less buckets, you'll have more or less collisions. And so you can kind of tune it yourself. And we did that so people could kind of help us get the optimal bucket sizes for different chains. So you have very low, normally we end up with like one and a half collisions per entry in the hash table, which is pretty low and it keeps the hash table header size small. But anyway, you've got block height indexing in arrays, which is lightning fast, constant time, and everything else is indexed by hashes, which is lightning fast. So query speed on the Bitcoin has always been faster than anything out there. But what we've worked to do is really compact the size of the data and eliminate locks on the data, as we talked about before, so everything can be parallelized. So I'll read, write updates to the store, our constant time, and I kind of covered everything else. OK, so linear growth, this is pretty much the case with most implementations, the state size doesn't grow non-linearly. It does to a very small degree. So what you want is you add more data from the network, you want the store to kind of grow linearly with that. You don't want a kind of a 2X, 3X type growth where every time you add something. So we actually do really well, I did some checking recently synced with Bitcoin D on BTC mainnet. And if you don't use transaction indexing, which is an optional switch, their sync is faster than if you add their transaction indexing. But we always index all transactions. So it's kind of not fair. But if you look at our store, it's smaller now than Bitcoin D, even with full transaction indexing, which I didn't actually do in that example for them. And the server, which is a layer over our node, indexes all payments. So every single payment that occurs in Bitcoin gets indexed so that you can query it for wallets and things like that. So Electrum X does something similar. We're actually working to become fully compatible with Electrum. I've been talking to Thomas V about it a little bit. Some of the people working on it independently. But we'll end up, I think, pretty soon with API compatibility. And I looked recently at the Electrum X state size, and we're actually about the same size, which is pretty good. So in other words, all this performance, what I'm not showing here really is I'm just showing important scale differences. I'm showing that we haven't made compromises on the store size to achieve these performance gains. We actually are doing better than other implementations. And it doesn't matter how many UTXOs are, it doesn't affect their state size. And we'll talk a little bit more about that here. OK, so now we move on. That was database. This is blockchain. Everybody with me so far? Am I going too fast? Am I running out of time? Yeah, OK. I'm probably going to run out of time. OK, so blockchain is implemented in these two libraries, Libitcoin, Blockchain, Libitcoin consensus, which is optional. That's really just taking the consensus libraries from the Bitcoin de-implementation and making it so you can link them. But we have our own, and that's generally what I test with. So we have these other characteristics that are interesting in terms of scale, and this is where I think it starts getting really interesting. So there's no pooling in the Bitcoin. There is no transaction memory pool. There is no block orphan pool. Let's talk about caching as well. So how do you do that? We'll just write everything to the disk. So we validate it, write it to the disk. And in v4, we've added a DAG directed as a graph of transaction metadata so that we can rapidly generate a block template. But that's only for the block template. It has nothing to do with validation. Actually, it will give us some further optimizations and validation as well. So yeah, we just save them right to the store. And so when the block comes in later and we've got those transactions in a block, they're already validated and they're already written. And if anybody's really smart about this stuff and running, well, geez, what if there's a soft work and the rules change and you validate it? I mean, yeah, we deal with that. So no time to explain.  I don't know, William, if you remember that, it was a nightmare, right? That's gone. That's gone. So we have a, similar to the transaction DAG, we have that big O of 1 there. That means that anything in the DAG is indexed by hash in constant time. So even though it's a graph, if you want to find out whether we already have this transaction or we already have this block, it's constant time lookup because it's kind of a complex data structure that has a hash table creating a tree. So we have a header pool, which is pernable, kind of necessary. And what that does is that maintains the reorganization aspects of Bitcoin. So headers are coming in. It's header first. So we're not doing this with blocks anymore. We're doing this with headers. Heads comes in. We're trying to figure out where the strong chain is. We're doing that in a data structure that has nothing but about 100 bytes per block that we haven't written to the disk yet. As soon as you write it to the disk, it's no longer in this data structure. So no transactions in memory, no blocks in memory, a small amount of headers at the tip in memory so we can do reorgs. Generally, that thing's empty. There's like one as it's transitioning through. So we get into downloading blocks. So that's great, right? We get 250,000 blocks in the mempool, and blockchain info is crashing. And I go over to Cancoin, which runs a block explorer on our node. And it's just lightning fast and blazing through that. And we had a long chat about how funny this was. It doesn't matter how many blocks are in the mempool because they're not in the mempool. They're in what we call a transaction pool, which is on disk, which, by the way, is in memory, right? I already talked about that. So you get the model right and everything works out. So we're uncashed. There is no UTXO cache. There's no UTXO store. We just store the UTXOs. They're just part of the transactions that are on the disk. They're easy to look up because you look them up by the transaction hash, right? And then the offset. So you have constant time look up for one. There's a fixed size, so you know, constant time look up for the output. So no big deal. Lightning fast. So as long as you're not pruning the store, UTXO count is irrelevant. And we don't cache signatures or script because, again, we validated the entire transaction and written it to the disk. The whole thing's cached, right? Cached. Unconfirmed transactions, again. So the unconfirmed transactions are immediately validated and stored. If we're going to transition on a consensus fork, which might happen like 100,000 blocks or so, we have to do revalidation of that small number of transactions that have transitioned across validation rules. OK. And so transaction count doesn't matter. Everything's simple, great. So those are some of the big ones. This is a little bit more esoteric. Anybody that's ever kind of worked in a node has to deal with this fact. You have to look back through block header history to do things like look at the versions on the blog. Yeah, look at the versions and the bits field so that you can do things like soft work activation and proof of work calculations retargeting, et cetera, right? So those can be very costly lookups. In testnet, you can go back 2,000 blocks and read all these every time you're validating a block, right? So we don't do that. We do this thing called state propagation. We maintain chain state in a data structure that's very small and has the necessary data going back. And every time a new block gets built on the previous one, we roll the chain state forward. We propagate it forward. So we take the new data, we push the old data off the bottom of the stack, and now we just keep pushing it forward. So we never need to hit the disk. And that basically allows us to do validation rapidly against the transaction pool, new blocks, and any block in this tree that we're building in memory, the header tree, has chain state for itself. So any block comes on any of those branches, we immediately, we don't have to go back to the disk to find anything. So the goal is to never hit the disk, even though it's not really a disk, it's just random. So this is really cool. This is something I'm working on right now. And this was actually proposed by one of the Electrum guys I was talking to. Concurrent validation. So we're doing, and before we're doing continuous concurrent or parallel block download. In other words, we get the header, we get the strong header chain, and it comes to the current time frame within, say, 24 hours, whatever is configured. And now we start downloading those blocks. So say Bitcoin, Mainnet, 520,000 blocks. Send them out to all your peers, all the hashes, start downloading them all in parallel. There's no blocks in flight, none of that complicated nonsense. We just divide them up and ask the peers to give them to us. So as they come in, we just write them to the disk. And once we've got the whole chain, we've got the whole chain. So we kind of move up the point in the chain that's complete as we're getting them filled in. And if we're validating as we're doing this, depending on where you have checkpoints or milestones set, we just move the validator up. So initially, that validator was moving up linearly, right? You can't validate a block until you validate its previous block. But that's not actually true. You can do the most expensive parts of the validation in most cases in parallel, without looking up the outputs for the inputs. So that's pretty cool, right? So that's what this is. Not only do we have concurrent block validation, but we have concurrent block download and storage, which obviously requires a parallel store, where you can accept all the data at the same time. But we also have concurrent validation going on for the most expensive part of the validation. OK, so this stuff is going to get less interesting. So what does this mean? We're not at the point where I have really good objective metrics to compare. But I give you a feel for it. So again, I have this Windows machine, a Linux machine. I was able to fully sync mainnet a couple of weeks ago consistently several times on my Windows machine in three hours. On the Linux machine, it took about two hours. There's differences in the memory map on the Windows machines and also the serializer that we haven't figured out what the performance issue is with them. But they bring us down a little bit. And those are fast machines. But on the Windows machine, to just compare, Bitcoin D took over 12 hours. And it's not validating anything, right? It's using the well-known blocks, whatever. Ours wasn't validating all the blocks, either. That part is still being hooked up. But it's a pretty good apples to apples comparison. And then remember, we're indexing all transactions in that case. And they're not. Once you add in the transaction index, which it becomes even much slower. So currently, we're apples to apples maybe four to six times faster to do additional block download. And this is without any optimizations. This is just initially getting it working. Do we want? So pretty cool, running out of time. So the network has, for a long time, been based on Boost ASIO, Pro Actor. It's asynchronous. You can run on one thread, but it's still asynchronous. This is the parallel so you can configure it to run as many threads as you've got, physical threads as you've got, or you can just configure it to run on one if you want. And the parallel block download takes advantage of that. So the more threads you've got, the more blocks you're downloading in parallel. But again, you can have thousands of peers if you want. Generally, we configure for eight outgoing. And so as we're doing the parallel block download, you're going to get actual concurrent downloading and storage if you're running on more than one thread. Work is going to be divided among the peers. And so you always have this problem like, what if I have slow peers, and that's going to really drag me down. So we worked out this way to determine what's a slow peer, standard deviation. So we track the deviation of all the peers. If one falls below, by default, I think it's negative 1.5 deviation from the norm. We drop it and pick up another one. You can configure that. If you didn't want to drop peers at all, you'd just make it two or three, and it won't drop peers. So channel finishes up. It's got all its blocks downloaded. It needs more work. It just steals work from the channel that's got the most peers downloaded. And then that peer drops, because we don't want all those blocks coming in redundantly. And then it continues on. So also, since we're dropping peers pretty frequently, because they're slow, they're not responding, we've stolen work from them, we do a batching of connections. And this is true, this is continuous. It's not something we do during initial block downloads, just to see how the system works. So batching is, you can configure it, by default, I think it's five. So every time we go to connect to a peer, we grab five addresses, we broadcast it out in parallel. And the first one to come back gets connected, the other gets dropped. And that's because, on the average, one out of every five addresses in the address pool is good. So it really doesn't affect the network at all, on the average. But it makes your node run a lot faster. And finally, the server. So the client server protocol is implemented in the Bitcoin protocol. That's kind of a zero MQ abstraction. And the Bitcoin server exposes a query interface over the node. So really, that's all the server is, is configured to zero MQ interface over the node implementation. So you've got zero MQ, which is itself a synchronous protocol independent, by default. The endpoints are TCP, but you can make them whatever you want. You can run in proc, out of proc. And extremely low overhead, and it does connection management for you, timeouts, and keep alive, things like that. Extremely efficient, fastest stuff out there. So this is kind of analogous to the JSON-RPC interface. But this is internet scale, extremely fast. So we have constant time lookup going directly to a zero MQ interface. CurveCP, so CurveCP is, there's an implementation called CurveZMQ, and that's what we use. CurveCP is kind of like the equivalent of TLS, who likes TLS. So there's no HTTP, there's no web servers, none of that stuff. This is just an ECDH implementation over Sodium. Modern crypto, elliptic curve, 32 byte keys in the config file, that's it. You self-generate the keys using our Bitcoin Explorer app, and that's it. You get everything you'd expect, server identity, privacy, if you enable it, and client off if you want, so you can just do that with your config file. Workers internally to the implementation are decoupled from the endpoints. So there's a worker for every endpoint. And on the query endpoint, which kind of does the most complex work, it's not just pushing, it's actually responding to requests. You can configure as many threads to spin up as workers as you want. I've tried it, I can't generate enough load to make more than one thread worthwhile. So millions of requests, hardly notice it. So I'm going to kind of skip over this, because I'm almost out of time. Oops, queries, right, blocks. So there's query endpoints, and then there's block notifier, and transaction notifier, and there's a heartbeat. This is the kind of really important thing. So when you're ranking a high-scale server, one of the problems you run into is your clients don't always want to accept your data, or they don't want to give it to you fast enough, one or the other. So you end up getting throttled by your clients. Not good. So we use one of 0MQ's capabilities called high water. If you're pushing data out to your clients and they're not responding, you just drop the data at some point. You have to. Otherwise, you're going to fail over. And that's not what you want. You want the clients to suffer the cost in this case. So it's absolutely necessary, and you don't see a lot of implementations of clients or applications that do this properly. You can configure the limits. So you want to start dropping messages once you've queued up $100,000 or a million or whatever rate you can do that. But what we do is we provide the client a sequence number for everything that's droppable as sequence. So there's a counter in there for the connection of it's query-based or for the broadcast, for globally, if it's push broadcast-based. So a client can see if it's lost something, if it hasn't gotten it, and go back and get it again once it catches up. So it's perfectly reliable, but fast and doesn't drag down your server. OK. So I used up all my question time. Perfect. All right. Woo! Yes! Woo! OK. Everybody's still here? Firehose, there you go. Whoa. All right. 0MQ. I mean, God, Lord. OK. Are there questions worthy of the presentation? Yes. All right. Let's do it. What did you say? Thank you very much. Very interesting. A bit of a practical question, maybe. But is it compatible with Bitcoin Cash or plans to do that? That's good. I figured that would come up. I meant to actually mention that up front, but I didn't have it on my slide, so it gets lost. So if you go on the Bitcoin site under the server wiki, there's a server repo wiki. And under there, there's an FAQ. And in the FAQ, it kind of got policy on forks, splits, all these things we could work on. And the policy has been, we work on BTC stuff that's active, like we don't do soft forks before they're actually active and being used for a while, say what came out about three months after it was activated. And it's expressed as a resource limitation on our part, right? So it's not a political statement. But we've worked really hard. I don't know, William, if you were around, when we did test net, we used to recompile, right? I got rid of that around the time you were still using it, right? And they really sucked up to recompile. They just do a little fork. So we made that configurable. So all the soft forks and hard forks that are on BTC are in the config file. You can turn them on or off. So if you want test net, you turn difficulty off.  If you don't want to accept seglet, you just turn seglet off, right? And you don't broadcast the seglet service bits. So some people using the Bitcoin recently said, hey, we made a Litecoin fork. So Cancoin, and I think maybe BitPrim did a Litecoin fork. And then I think BitPrim did a Bitcoin cash fork. And I think Feathercoin is going to build their whole thing on the Bitcoin. And they've got some pretty simple forks against BTC. And there's a couple others, too. So what I've done is told people, if they implement the forks and just give us the code, and get a branch that works and everything's good, then we'll incorporate those forks as configurable forks just into the main code base. So it's not a recompile now, it's just a configuration setting change. So you can do Litecoin test net or Bitcoin cash test net. As long as you use the same test net rules. So there's only one thing I have to do, or we have to do, to make that possible and easy. So it's probably going to ship, I've said it will ship in before, which is all the numeric parameters, not the forks, but the genesis blocks, the big number, the time between blocks, things like that. There's a stack of a list of numbers that go into a header file that we need to put into config. So once we've done that, now we can accept the code forks. If they're reasonable and small, they're not going to corrupt the whole implementation with changes. Then yeah, it's pretty straightforward. So that's the plan, is that we will be able to, with a single binary on the same machine, fire up using a command line argument to a config file, which implements an entirely different coin in, say, a different directory. So if you're doing like a mobile wallet, which some people are working on, one binary. Or if you're doing testing, you don't have to recompile into Red's test for your Bitcoin cash or whatever. So that's pretty cool. So my idea is I want to provide a platform stack that everybody can use. And the kind of main requirement is it just doesn't drag us down into not being able to get things done because we're supporting too many things. Sorry, a long answer, I know we're out of time. Wow, header files for whatever consensus you want. OK, cookie cutter blockchains, any other questions? Help me here. Somebody, give me something. Come on, Paulie. Where's Paulie? Back. Oh yeah, Paulie, we're coming for you. So as someone in the mobile wallet space, accessing TCP sockets really sucks on a lot of different platforms on mobile. Any talk between you or the electron guys to put in web sockets? OK, good. We didn't talk about this ahead of time. Seems like my straight man in the audience. So one of the things that one of the companies that user software did is they put a lightweight web socket implementation over the server. So there's a 0MQ client for just about every language you can possibly imagine, even one for JavaScript. But in the browser, you'd have to add a plug-in. So that's the one scenario where you need something else. Plus, we wanted to be able to do an admin interface like you can do with a router with an integrated web presentation. So there will be, in v4, a single file web socket implementation that it's embeddable. We just put it in the source for the server. And all the endpoints are exposed through web sockets. Hey. It was really cool when I saw that. And so Cancoin, by the way, if you want a really high performance web front end on top of the Bitcoin, go to Cancoin. They have a Voyager. They have a thing called Voyager, which is in a block explorer. There's several block explorers built on Bitcoin, but I don't want to diss any of the other ones. But this is amazing. They did it right. They built a decoupled front end. And it queries directly into the 0MQ interface, which goes directly into the RAM of the store. And it's the fastest block explorer you'll ever see. It's amazing. They did a really good job with it. So if you want something like that, like for industrial use, that's what I'd recommend. And it's open source. You can grab it. Awesome question. Any other questions? Eric, I think you beat us up. All right. Thank you. Eric, a round of applause. Woo. Thank you very much.


Okay, so welcome back to Big Talk from Small Libraries 2018. If you did take lunch break, we are starting our afternoon sessions now, our first one for the day, which is actually a very appropriate one, for if people did go here in the middle of the country in Nebraska, it was just lunchtime. So a good idea to have something that is physical to get us out of our chairs after sitting for our lunch. Get your community moving, physical literacy programs for all ages. With us, we have Jen Carson. Hi, Jen. Hello. She is joining us from the Fisher Public Library in Woodstock, New Brunswick, Canada. Yay, international speaker. I traveled so far to get here. It was great, it was hard to get here. Oh, but we're glad we got here. And along with her is Noah Lenstra. Good morning. Good afternoon, Noah. Good afternoon. Hi, and he is actually on the East Coast in Greensboro, North Carolina, at the University of North Carolina at Greensboro. And together they have this presentation for us about getting out of your chair and getting going and combining that with literacy. So I'm just gonna hand over to you guys to take it away and tell us all about what you got first. Yeah, sure, thanks a bunch. So first, Noah and I were gonna talk a little bit about how we got involved in physical literacy, because obviously it seems a bit weird that me and Canada and Noah in North Carolina are working together on this project. So I'm just gonna give you a little backstory. So I started about 10 years ago working in schools, libraries, and museums. I'm a librarian by trade, but I'm also a yoga teacher. And so I was working, giving presentations in libraries about doing yoga because prior in a previous life I worked with kids with behavioral problems. And I used a lot of yoga and physical movement techniques to help them de-stress and deal with their problems sitting still in the classroom. And I found it really effective. And then I translated that to my work with patrons at the library and the classes were really, really popular. And parents just kept bringing their kids back and being like, this is great. And then they were asking me like, can you teach adult classes too? And so I just started teaching more yoga in libraries and schools and teaching it to teachers and teaching it to the other librarians. And then I started thinking, well, why can't we use other physical literacy programs in libraries? Like, why can't we have dance classes? Why can't we have Zumba? Why can't we have like other different things running in walking clubs? And so I just started slowly adding things to my repertoire. I mean, I'm no Olympic athlete, but I just started learning about stuff and introducing other people from like community members into the library. And then I accepted a position here in Woodstock as the director about two and a half years ago. And our program numbers when I started here were really low. They were pretty much only doing like a children's story time, a preschool story time, and not much else was going on. And this seemed like a really active community. The kids were really involved in sports. And I was like, well, why can't we get more kids that are really interested in hockey and baseball and soccer into the library by appealing to maybe more of their sporty natures. And so we started just incorporating more physical and movement stuff into our programs. I got my staff trained. We have a program here called Superhero Training in New Brunswick, and it teaches physical literacy skills to community facilitators. And I got a bunch of them trained on that. And so we just started involving more movement into our existing story times and other programs. And it took off.  So that's pretty good. We're a small town of about 5,000 people. So our count, you know, and our circulation numbers went up, our program numbers went up, everything. So I was really interested in it. And then Noah kind of out of the blue contacted me. I think it was sometime last year, maybe the year before and the year before. And then asked me because he had heard about, I think it was, Noah, you can correct me, but I think it was my website or maybe programming librarian, which one was it? Anyway, you tell me. I can't remember both. Okay, right. He had just heard about the work that he was doing and Noah teaches at the university in North Carolina at Greensboro and was talking to his students, his MLS students about physical literacy programs and libraries. And my name was coming up. And so he reached out because he was more interested in doing research in the field. And we talked about designing a survey which Noah put together at the university and delivered, which he's gonna talk about in this presentation and did a survey of libraries in North America to see just, because obviously I'm not an anomaly, like there's other people doing physical literacy programs. It wasn't just me. And the more we kind of parsed the internet and started searching and asking people questions on social media, we found out there was tons and tons of librarians all over the place. Like I'm not the only yoga librarian, doing stuff like this and that it's actually, pardon the pun, a movement that's happening in libraries and we got really interested in it. So that's kind of how we came to work together on this project. Noah, did you have anything else to add? Did I get most of that? No, that's perfect. I just wanted to add really quickly that I see Rafaela Tes is actually in attendance right now. And so I wanted to give a shout out to her.  And so it's been amazing in the course of doing this research of finding people like Rafaela and Jen and others who are kind of leading the way in terms of getting their communities moving through public libraries. Yep, Rafaela is at a Shadrin Public Library way out in Northwestern Nebraska. Yeah, great. Awesome. So we're gonna get moving, talking, doing the presentation. Let me just make sure we're moving ahead here. So physical literacy. Why should librarians care about physical literacy? We already deal with textual oral literacy. We've got a lot to do. But first, what's physical literacy? So I kind of think of physical literacy as like bodily intelligence. If you think about literacy as being able to read and understand symbols, this is a physical interpretation of your environment. So it's your body's ability to read your environment and respond accordingly. And it's not based on a skill set in the sense that you have to be an Olympic athlete in order to have a high degree of physical literacy. It's based on your capacity. So I put a definition up here that it's understanding how to move your body through time and space over the course of your life. So it's going to change how you move in time and space when you're a toddler is radically different from how you're gonna do it when you're 90. And it's appropriate to each person's capacity. So not everyone is born with a great capacity for physical literacy, depending on their own limitations. And so it's what you are able to achieve within your own personal capacity. And then it also changes based on your environment. For example, walking. You're gonna walk completely differently in the snow as you would on sand, as you would on ice, as you would on a tile floor.  So physical literacy is not just being the ability to walk, but it's also the ability to walk and change your walking based on where your environment is or if you're in a wheelchair, it's using your wheelchair appropriately for your environment. So that's kind of like a general overview of physical literacy. And then why should libraries care about it? Well, because it affects everything. So physical literacy, for example, like in this slide, I just gave a quick example of, okay, in childhood, an infant learns how to grasp a ball. So grasping is one of those first kind of gross motor skills. And then as they get older, they learn how to throw a ball and catch a ball. And then as they get older into like middle childhood, they learn how to throw and catch with more accuracy and precision. And then in young adulthood, they get to be more proficient in changing environments.  They adapt their needs and skills to the environment. And then in adulthood, we think about how you would use the throwing the ball or the catching a ball differently in different environments and how it builds confidence. So if you go back down my steps here, if you never learned to hold a ball properly for whatever reason, you're much less likely to engage in those activities in adulthood.  If you're ashamed or embarrassed of the fact of the way that you throw or catch, you're much less likely to play Frisbee or football or dodge ball or baseball or any sports that involve throwing because you're not gonna feel confident in your ability to throw. But that doesn't mean you can't improve. My 60-something year old mother, if she practiced enough, would get better at throwing just like I would just like a child would. It's a matter of throwing based on your capacity. Obviously, if you have a rotator cuff injury, you're not going to be able to the same range of motion as someone who doesn't. But so that's kind of like an example of how physical literacy builds on itself in the same way that learning to recognize letters or shapes or symbols, you string those together to form words, then you string the words together to form sentences, you form the sentences together, and then you can read anything, right? And so you can play any sport, you can do any physical activity once you start with the very basic building blocks. So that's kind of how physical literacy mirrors regular, what we think of as typical literacy. So I have a handout here that I created that's all about physical literacy and how it works with our other processes in the brain like body awareness and temporal awareness and things like that. I don't have time to go over it all right now because we have such a short period of time, but I'll make a link to this PDF available. And so when this conference is being recorded and you can get the link for it and you can print it off and use it in your programs, it's really helpful. We'll post that right along with your archive afterwards. Yeah, perfect. So I thought what we could do is we could all practice having a little moment of physical literacy. So I have my singing bell here. So this is a singing bell that's used, I use in my yoga and meditation programs. You can also just put like a dinger on your phone or set one on your computer. And so one of the things that I teach librarians and patrons about is mindfulness and breathing and taking care of our bodies in that way. And so it's really important to take little breaks during the day to check in with your breathing because we breathe really shallowly up here in the top part of our chest. And so you have five lobes in your lungs. You've got two on the left side and three on the right side. You only have two on the left side to make room for your heart. And so what happens is that when you breathe up here in the top part of your chest all day, it sends out a message to your body that you're in fight or flight mode. So your adrenal glands get fatigued because they're pumping out cortisol and adrenaline all day long because you're breathing really shallowly up here in the top part of your chest. The same way you would be out in the wild if you're being chased by a polar bear or whatever. But the problem is we're not being chased by polar bears. We're sitting in the car at a stop side or we're like waiting in line at the grocery store.   So like their little bellies stick out. Like they have little Buddha bellies and they go in and out. And if you watch someone sleep, the same thing happens like their belly will go in and out because they're breathing down here in their thoracic, let's take my belly up, my thoracic spine, which is where their diaphragm is. So we have to, as adults, we have to teach ourselves to breathe properly again because we're so used to breathing up here that we send out all those messages to our body that we're in distress. And so eventually that adrenal fatigue leads us to getting all sorts of problems, depression, anxiety, fibromyalgia, chronic pain, chronic fatigue, all kinds of stuff, all just because we're not breathing properly. So one of the most simple techniques you can teach anyone that's alive that can breathe is how to breathe properly. So that's what we're gonna do. So I'm just gonna adjust my webcam so you can see my belly.  So when I'm teaching it to students in yoga, these are some bean bags my kids made and we put these on the belly for weight.   We think about like pushing our back against the back of the seat, but that's really hard on the lumbar spine if it's rounding at all.   And then you're gonna take your right hand. Yeah, take your right hand and put it right on your belly, okay? And then you can just take your other hand and maybe put it on your thigh or whatever is comfy for you. And we're all just gonna close our eyes. We'll do this together so we all look silly together.  Exhale, belly comes down. Inhale, belly goes up. And exhale, belly comes down. Inhale, belly goes up. And exhale, belly comes down. And we're just gonna continue breathing like that with the hand moving in and out on the belly. So with each inhale, the belly expands making room for the diaphragm. Exhale, pull the belly button in. Try not to have judgments about your belly as your hand rests on it.  Inhale, belly goes up. Exhale, belly comes down. One more time, inhale, belly goes up. And exhale, belly comes down.  So even just taking like five seconds a day, 10 seconds, 20 seconds a minute to just breathe properly can really help us refocus because it lowers all of those hormones and allows our body to be like, oh, hey, we're not being chased by a polar bear. Things are cool, we're in a safe place. And you'll notice your shoulders will lower a little bit. You'll feel a little bit more chilled out, a little bit more ability to focus. So that's an example of using a really simple mind, body, awareness technique. And you can use that in any program with anybody because everyone can breathe no matter what their physical abilities are. And you can do that with kids, you can do it with adults, people in wheelchairs, blind, deaf, doesn't matter, everyone can breathe. So that's something that we can all do together that's accessible. And then the other thing is just talking quickly about meditation that can sometimes scare people like meditation, they think it has to do with religion or it might be scary. I don't know, I can't clear my mind but meditation isn't clearing your mind. Meditation, that's a misnomer. Meditation is just watching the thoughts come and go. So it's the idea of it being like a sky and you're watching the clouds come and then you're watching the clouds go. And then you're watching the clouds come and you're watching the clouds go.  And so practicing during the day of just watching that and then noticing your breathing as you're doing it, like, ooh, my thunder clouds are making me all tense. And then just, oh, they're thunder clouds, they're just clouds and then watching them go. So that's kind of an example of being aware of your body in time and space and physical literacy. So now we're gonna talk moving back into our heads and out of our bodies. We're gonna talk a little bit about bringing movement into libraries. So I stuck some pictures up here. This is at my library. So this is the people on the picture of everyone wearing reflective gear. So that's my running club. Some of those are staff members. Some of them are board members and some of them are volunteers.  We run in the dark. And that's something I do with my staff. And it's also something that I do with my patrons is getting people out running and walking. And then if you see the picture of the kids hula hooping and playing outside, we often have free play days. And I mean, we don't have a nice green space. We just have a crappy parking lot next to like this building that looks like a crack house. But we just bring the kids out and we play anyway. And you know, we block off the parking lot so they don't get hit by cars. And you know, we play in whatever spaces we have. And you know, you just do the best you can with what you have. So Noah's gonna talk some more now about the survey that he created that we worked on and distributed and all of the amazing results he got. And then we'll talk a little bit about the stuff I've been doing here at my library, just kind of for inspiration. But know that you can see by all these dots there's like a gablean library is doing awesome stuff all over the place. So, okay, go Noah. Yeah, so just really quickly, this is a map of the more than 1000 libraries that self-identified as offering some form of movement-based program with some regularity throughout the US and Canada. And yes, this is not an error. This is actually Barrow, Alaska at the very, very top. So this is a public library serving the North Slope of Alaska and they offer things like parachute play during the winter months. And then during the brief summer they have up there they actually partner with local scientists to take the kids out walking and kind of walking and exploring nature and understanding ecosystems. And so it's just really what I found in the survey is that there's a huge amount of innovation and experimentation taking place all throughout the continent. And no one library is gonna look identical to any other library. It's every library that's doing this is kind of customizing what they do to the local community. And you don't necessarily have to be a yoga instructor or a Zoom instructor to get started in this. And in fact, one of the things that I've been finding is that a lot of these programs really rely on partnerships with others in your community. So just really briefly here in North Carolina there's a town appropriately called Rural Hall. So it has rural right in the name of the town. And so for the last 10 years they've actually been partnered with the regional public health department to offer a sitter size class. So this is a chair-based exercise class that happened at the library twice a week and it's been going now for 10 years and has been really, really popular. And so rural and small libraries are the perfect place for this type of activity. And this is just the website you can go to for more information or follow me on Twitter. But Jen, do you wanna go to the next slide? Absolutely. Okay, so yeah, the images are kind of large. So this is just kind of showing what different libraries are offering. And you'll see kind of in response to the survey was actually a fairly even split between urban and suburban and town rural library. So by no means is this merely an urban phenomenon. So there's lots of rural and small libraries all throughout North America kind of doing this, doing these types of programs. Yoga is definitely the most popular program is the first chart shows of the libraries that are doing these types of programs. Around 60% have offered yoga either as a one off or maybe they do yoga story time. There's lots of variations on how yoga can be incorporated into your programs. Lots of libraries are doing movement-based early literacy programs, music and movement where the focus is less on kind of getting through the story and more on kind of engaging those growth and fine motor skills. The gardening is a popular one working with master gardeners. And the other chart here on the bottom I really want to highlight is that libraries are doing these for all ages. I think sometimes there's kind of when you start talking about movement in libraries people's minds kind of go to very young children which of course makes sense. I mean, very young children are kind of learning everything is new to them. So they need to learn how to move the body be aware of the body. But actually what we're seeing these types of programs for all ages and I'm actually most interested in programs that are targeted at senior citizens which is actually where my research lies. And one entity that I would really encourage you to take a look at the National Institutes of Aging here in the US has an initiative called Gopher Life. And I've been working with them for this is an entity that's focused on trying to increase physical activity among older adults. And they have a lot of great resources that could be used by public libraries seeking to engage older adults in physical literacy program. And many already are but I think there's a lot more opportunities. And so if you want to stay engaged in kind of what this research is showing or looking for any more information about this you can go to this website here to sign up for my newsletter. And really quickly I wanted to just before I turn things back over to John I wanted to make a quick plug. One of the things that I've been working on is collecting waivers of liability forms because pretty much every time I've ever presented on this topic, especially when I start talking about adults people wonder, well, what happens if someone falls down or injures themselves? Are they going to do my library and what kind of legal liability am I going to be on? So my response is don't worry. We got this library since there's already so many libraries all over the continent that are doing this we basically worked out the kinks at this point. So I have been gathering examples of liability forms of libraries throughout North America including Jen's library are using to protect themselves in case of liability. And that will be circulated after the event but it's also on the website. And so the main thing is, yeah, I'll turn things back over to John. I was going to start talking about your book but I'll let you do that. That's fine, thank you. We do have, can I interrupt for just a second? Can you repeat, Noah, the National Institute of Aging website that you'd mentioned earlier? Yeah, so it was. It's G-O and then the number four and then life. So if you just type in just G-O for life and that's probably the easiest way. Just search for that. G-O and then the number four and then life altogether in those spaces. And so it's focused on increasing physical activity among older adults and so they're very interested. I've been having conversations with them and they're extremely interested in working with libraries to kind of get their message out. So yeah. Thank you.  We still have to worry about that but we don't have as many lawsuits but we still cover our butts for sure. So what I wanted to talk about now was, okay, what do you do next, right? Like I'm sure you have all kinds of questions. I noticed in the audience questions on the side and I was gonna get to this, what do you do with community groups that are already offering fitness? Or if you have a local rec program or a national rec program that's doing stuff in your community, how do you stop from competing with them? Okay, so for me, it's partnerships. It's all about communication. That's the most important thing. So for example, I put up here some stuff to do with our local jujitsu club. So you can see me in the glasses in the middle there. Yeah, trying to sweep Matt Trites. So we have a local jujitsu club here in Woodstock, small town, but we happen to like martial arts. So that's something I participate in. And it's a small club. It used to be a much smaller club. We had four or five kids that went. My son, one of my sons would go. And I was like, hey, this would be a really good thing to demo at the library to get more people interested in it. And also, maybe it'll get more traffic to the club. So I started having kind of semi-regular demos at the library or I would do self-defense classes or things like that. And I would always invite the guys from the jujitsu club to come give demos or teach classes or things like that. And it became a partnership in the sense that we were advertising their club. You can see the poster here. I'm showing for information to contact the club. I've got their website up there. And people come and see their demos and learn what jujitsu is about. It generates more interest in jujitsu, more people go to their club and become members and everybody wins, right? We get to do awesome programs. We have free volunteers that teach the programs for me. So I don't have to do it. I can just help. And they get the payoff of having a bigger club and more people interested in the sport. Yay, everybody wins. So that's kind of in my approach as opposed to kind of working in my silo doing my own little thing is reaching out to the community and finding out who's already doing stuff that I care about or I think would be fun to do here. So like I mentioned earlier, the running club, we already had a running club. When I moved to Woodstock, I'm a runner. That's one of the first things I did, find the running club. And so I found those guys and I said, where do you meet? And they said, well, we used to meet at the air motor center, but we don't really have a place anymore. I was like, you can use my meeting room for free whenever you want, just let me know and I'll book it. And they're like, really? We kind of need like a new treasure or something. Would you want to be on the board? Yes, I would. And so I joined the board and I let them use my meeting room for free.   What do you think about having one at the library? Would you be okay with that? It's like a nice central location downtown. And they're like, that's a great idea. I'm like, you can use the washrooms at the library. People can come in here and hang up their coats, drop up their keys, do whatever and they're like, that's perfect. And so it just became like a mutual collaboration where I met their needs. They met my needs and we worked together and all of a sudden the library had a running club and then we had a walking club. And then we started doing a whole bunch more programs to do with running and walking, like having, you know, clinics to do with posture and all that kind of stuff. We taught Qi running here, which is about like using Tai Chi for running. It's really cool. Look it up. So, you know, I did that with, you know, someone asked about other businesses like yoga, for example. I teach a yoga class here every Wednesday at noon. I also teach a yoga class on Saturdays. It's free. We don't charge for it. None of the programs have any fees here at the library usually. And so I'm directly competing with the business. Oh, you know, am I taking away from that business? Well, the first thing I did when I moved to town and I wanted to start teaching yoga at the library is I contacted all of the yoga studios, believe it or not, we have three yoga studios in a town of 5,000. And you can see why I moved here. It's a cool place. So, you know, I contacted them and I said, hey, I'm thinking about running a yoga program at the library. What's a good day that you guys aren't already teaching? And then I worked my schedule around when they weren't already offering classes. So I wasn't competing with them. The yoga studio across the street doesn't have a Wednesday noon class. We have a Wednesday noon class. So the people that are going to our classes aren't not going to their classes. In fact, if anything, I often promote the other yoga teachers in town and I'll ask them to sub for me. So if I'm away at training or I'm sick or something happens, I'll say, hey, can you come in and teach a class for me? Or I'll go teach a class at one of their studios. And so the people in town get to know me, get to, and the people at the library get to know them. And they're like, hey, I really like your class. Do you teach anywhere else? And so it sends traffic to the businesses and the businesses sends traffic to us. And so it's a mutually beneficial agreement that we have based on a loose non-binding partnership that just works when everybody gets along, right? And so... People have the same kind of concerns sometimes about competing with local bookstores. Yep, exactly.  Exactly, exactly. So it becomes, diplomacy is one of the most important parts of being a good librarian, right? Is being diplomatic and being able to approach a situation from, not a manipulative way, but in a, and not in a seductive way, but in a way where you're finessing the situation so that it appeals to everybody. It's a win-win, it's a partnership as opposed to one person or one entity kind of having the upper hand and the other person building up resentment and then getting angry.  You know what that's like? Lots of back-biting and gossip and na-na-na-na-na. And that's no good. It's better to just have lots of communication. So then budgets, I have to say, like I barely pay for anything. Most of my stuff is donated time or supplies like the jiu-jitsu guys come and they teach classes for free. The other yoga teachers will come and sub my classes for free because I will go and do the same thing for them when they need someone to fill in.  So I have a teacher that come and teaches ballroom dance classes for free at the library and she didn't want anything for it.  So I'll get her like a huge bouquet of flowers or I'll get her and her husband a gift certificate to go to a local restaurant. And I'm supporting the local businesses by buying flowers from them. I'm supporting the local businesses by buying a gift certificate to the local restaurant. I'm not going to McDonald's, I'm going to like the mom and pop restaurant down the street. And so we keep the money in the community and it just fosters that feeling that the person is appreciated. And then marketing, as you can see here, my graphic designer, Brendan Helmuth who I think is listening in, he created this awesome poster for the jujitsu demo and he creates a lot of posters for us. So we get the logos from the people that are helping to partner with us. And then we put it with our logo or our information, we get pictures from them or we use pictures from the library, we put it together, we make a poster, we spread that around social media, put it up on Facebook, create a Facebook event, share it through newsletters or put it up on our website. And it just spreads, we had, I think the first time we ever had a ballroom dance class here, we had like over 7,000 views of the poster on Facebook which is insane because only 5,000 people live here. So they're obviously sharing it with like their friends and their friends are looking at it and sharing it like, cool, this library teaches yoga. So I'm looking at the numbers on the Facebook statistics and going like, holy crap. So social media has been a real boon in being able to share information about programs. So I know we're short on time so I'm gonna keep speed talking. I know that there's so much left to do. So I could talk all day about this stuff. So sorry guys. So here's some passive kind of like sneaky ways to get people moving. So some people don't feel like they have the ability, the time, the energy, the resources to teach fitness or movement-based classes in their programs or in their libraries or maybe they don't have the facilities, right? They might not have a big enough room or they don't feel like they just have any more time for it but there's all kinds of other ways that you can encourage people to move their bodies. So for example, I'm at a standing desk right now.  I just built a new computer desk. I didn't build it, I hired someone. Put a new computer access center in our lobby and it's a standing center. There are stools so people can choose to sit if they'd like to but it encourages people to stand because it's already at standing height. Then I also have a desk like this that goes up and down so it can accommodate people that need or want to sit but people can use it for standing up. I work with a ball chair. I don't know if you guys can see this. So I sit on a ball chair all day when I am sitting, if I'm in a meeting and there's some libraries that will actually buy those to have in their library. So it encourages good core strength sitting up properly on a ball as opposed to slumping in a chair. Libraries, you can find links to this on Noah's website the Let's Move Libraries website about different libraries that have bike and treadmill desks especially academic libraries are really appealing to students studying. They can plop their book open, sit at their bike desk and they can read their textbook and burn some calories. Yoga cards, so I have a little picture there. I don't think I have them in my office, hang on. So these are great, these yoga cards. I review them on my website, yogainthelibrary.com. There's a bunch of different ones you can get and they have pictures of the poses. And so what I'll often do is just put these out in the children's department or in a common area. And the next thing you know, you'll see some dad doing tree pose with his daughter and it's super cute. And you're not doing anything, they're just killing time or they're just hanging out in the library and will they get broken or bent or lost? Yes, they're 15 bucks to buy a new pack, totally worth it. Another option is having active equipment in your library or outside. So I bought recently, I bought a slide, just a little plastic slide like for toddlers. It was maybe $150. And I keep that up in the children's department. Those kids love that slide, they go up and down, up and down, up and down. I mean, it's just hanging out there but if you build a really cool place that keeps kids occupied, parents will bring them. And so you can just build a kind of like little juggle gym thing either in your library or outside of your library that encourages movement. Another thing I have is a hopscotch mat. You can get it through winter green or any of the other library catalogs.  You're not doing anything, it's just hanging out there. Another thing is having alternative collections that people can borrow like yoga mats, pedometers, snowshoes, gym passes, board games, fit kits. I could go on and on. There's all sorts of really cool alternative collections. That's an option. Movement stations. So up in my children's department, I have a dress-up center. I have sensory tables. I have a puppet theater. We have a stand-up counter where kids can make things, stacking blocks, all kinds of stuff. So it encourages that kind of movement without even thinking about movement. I'm in the middle of getting, I just got a grant, ooh, a big literacy grant to buy. Actually to get a local woodworker to make a weaving wall. So you guys can look that up. Just type in like nature weaving wall. It's basically wooden dowels. And you can weave, if you take it outside, I'm getting it put on casters so we can take it outside in the summertime. And you can weave like grasses or flowers or branches through it. Or you can, if you're having it indoors, you can weave ribbon or paper or yarn. And so kids are encouraged. It's that fine motor skill of threading things through while also the gross motor skill of standing up. And it becomes this wall that they can hide behind and use for dramatic play. And so just something like that, it's totally passive.  Then there's other health related programs. So they might not necessarily be movement programs. You're not doing jumping jacks but stuff that still encourages wellness like digestion or healthy sleep. I had a doctor come in and actually do acupuncture here in the library, we had liability forms and be like stuff needles and volunteers and they loved it. It was great.  But like something that just encourages your people in your community to take better care of themselves. Another thing I do is like, we had a family day recently last week. And so I gave out these, if you guys, it's probably doesn't get that cold in Nebraska, maybe it does, but it's really cold here. Like minus, it does. Yeah, okay. So it'll get down to the temperature and then when she'll we get that, yep. Okay, okay, good. So these are, I don't know if you guys have these there but these are heat packs. So these ones are light activated or air activated. Like as soon as you open the pack to air they get really, really hot. And they will stay hot for like eight hours. So I'll give these out at the library for free and they encourage people to go outside, go sliding, go skating, go snowshoeing. We didn't have to do a program but it just encourages people to get outside when it's like really, really cold here in February and January. And then another thing would just be like a display of active materials. So put out a display about, there's a million running movies, like movies about famous runners, put a bunch of those out or cookbooks for fitness or cookbooks for runners or yoga books. Oh my God, there's a million yoga movies or yoga books. Put those out. So that's a way of like just a smattering of things that you can do that encourages activity without actually having to plan programs. So now really quickly, what time are we? 3.45. I'm gonna talk briefly about a couple of different programs we have here at our library just for inspiration. I don't have time to get into the details but I review most of these programs with detailed program models in my book and also at programminglibrarian.org which is the ALA blog. And so ALA has a blog for programming which you probably know about. Anyway, I do like a kinetic blog where I blog about active programs and so it's all there. So one of the things we do is try and have lots of intergenerational programs that's in my strategic plan to encourage my staff to offer programs that appeal to all ages. So families or whatever you consider to be a family, people can come together and old people, young people, everyone in between. So we have a Kids Kilometer fun run every July where we encourage everyone of any ability to run one kilometer or walk. And then we have all kinds of fun stuff we do afterwards. We do some yoga stretches and we have prizes and we give out books. So one of the local daycares donates books and that's the prize. So crossing the finish line, they don't get a medal. They get to take a free book home and keep it. And we have a big display table and there's like young adult books, everything down to like board books. And the kids are so excited to get their prize at the end. And then local businesses donate, you know, water bottles and the local grocery store gives us fresh fruit that we cut up. And so it's really a partnership with the community. And it's a fun thing everybody looks forward to every year. Another thing we do is a bike clinic. So we offer free tune-ups. We have local bike experts come and volunteer their time. I usually buy them lunch afterwards and they come and they fix bikes for free. And if it's something that costs money to fix or it's like a big deal, then they'll just recommend like, oh, you're going to need a new blah, blah, blah, blah. But if it's just like tightening things up or lubing things up, they'll do that for us right in the parking lot. And then we have the local police come and they teach bike safety at the same time. And sometimes we'll have like a little obstacle course or whatever and the kids can ride their bikes around. And it's a great and easy and cheap event. Kids programs, I've done a good billion kids programs but here's just two ones that I thought of off the top of my head was a Nerf battle.  And my summer reading club student last year, Ebony designed a whole Nerf war thing program for them and they did obstacle courses and they shot at targets and they played capture the flag and they did, they had so much fun, like so, so, so much fun. And I was so impressed by how many girls came and they were like awesome shooters. So like they did a really good job. And then we did a library mini golf here one year. So you can see on the, I guess it would be the left, right hand side for me of Kate, one of my staff members clapping because one of the little girls from the library just got, you know, she got her hole in one. So we just set up stuff right in the stacks and we just used books and other things we had plants, things we had sitting around the library to create an 18 hole golf course in the library. And we just buy plastic dollar store golf clubs. I think the whole program cost us $20. We had 80 people come to play mini golf in the library. So super fun, super cheap, really easy. Didn't take that much time to set up. Teens, sometimes teens are not the easiest to market to or get interested in coming to programs. Yoga and meditation seems to be a really good draw I find in our library for teens. Something I did when I worked at, I ran the Hampton High School Library in Hampton is called the library guild. You can see that there on the left, we were doing archery in the gym. So I actually created a medieval guild style thing at the library. It started as like a volunteer program. Like, you know, you come to the library, you volunteer to work as a page and you belong to the guild and you can like rank up. I kind of set it like a video game or like that to get them interested. But really it just became about having fun to do with medieval stuff. So we built medieval models. We had a like, we got, I even got the cafeteria ladies and they made us a whole medieval feast and we dressed up for it in medieval clothes and we ate with our hands like cause we would wear a lot of these spoons and like we had so much fun. And so it started off as being like, yeah, you're going to come in and volunteer at the library and you know, get some volunteer hours. And it just became this huge thing. We did like pool noodle jousting and you know, we just had a great time. And then the like, this was kind of, I started by doing it with the like more socially awkward kids, some of whom were on the spectrum. The kids that were always hanging out at the library, but like we're talking to each other, they would maybe like one or two would play magic in the corner and others would just like read by themselves. And I could see all these kids and they like desperately wanted friends, but they just were having such a hard time connecting and I was like their best friend. They would come in and talk to the librarian, but like they really were having a hard time connecting with their peers. And so this was a great opportunity. I kind of asked them all first, like what are you guys interested in?  And so I was trying to think of like a theme, a common theme and we went with medieval stuff and that got them all in costumes because they love cosplay. And so that got them really interested. And then by the end of it, they were all friends. And I even found like the jock kids coming in and wanting to like pool noodle joust with us and do some stuff with us. And it became like the library became a cool place to hang out. I don't know how that happened, but it did. You know, and so finding what the teens were interested in and then working from there. And then of course grown up still like to play. So here's an example of our running club. We had some people come down from Montreal and teach us how to do chi running and chi walking. You can check it out. They have a website. Danny Dreyer is the guy that started it. And it's a way of running though to lower your risk of injury. And then on the right here, you can see this is me teaching seated yoga to knitters. So there's a knitting conference that happens in Woodstock every year. I taught at it this year too. And I go over there. It's called the winter wool gathering. And I go over and I teach yoga to the knitters. And so, you know, these are not people that do a whole lot of many of them. Don't do a whole lot of physical activity, but I help them, you know, limber up their hands and their shoulders while they're knitting all day. And then I get to talk about library programs while I'm there and show off all our library knitting books. So win, win. And then, of course, we always do lots of dancing programs. So we do lots of ballroom dance, belly dance. I have had kids after school dance programs here. Noah, I don't know if we have time, but if you look on Noah's website, he has lists to other libraries that are doing all kinds of fun dance and aerobics programs and all kinds of stuff. So there's lots of inspiration to look for if you're interested in teaching dance classes at your library. And I just use local dance instructors that are willing to volunteer their time. I'm not a dance teacher. I've taken the dance classes. They're hilarious.  You can find those people in your community. And then another thing that I wanted to mention is in reach and outreach. So we go out into the community. It's really important to not just do stuff at your library, but to go and, you know, I'll go and teach yoga programs at daycares. I will go and teach programs, like I said, at the wool gathering, or I'll go to nursing homes and teach teriyoga. I went to the colostomy clinic at the hospital and taught people how to do gentle yoga that all had ostomies. And, you know, that's important. And they got to find out about library programs and what services were available to them. So don't be afraid to go outside of your walls of your building. And then also, I don't have time to get into it right now. This would be a whole other workshop, but how to adapt your programs to people with limited mobility or people that have cognitive disabilities. There's a whole section in my book about doing that. I've written some blog posts about it, too. You can also email me and I can help you if you have specific patrons you need to modify things for. I'd be more than happy to. But yeah, don't be afraid that you won't be able to appeal to everyone because people have different abilities. Everyone has exceptions. And so trying to make your programs as accessible as possible is really key. And also keeping the cost down so that there is no cost to your programs because there's so many members of your community that probably can't afford a gym membership. They can't afford to join the rec club. They can't send their kids to baseball camp. So having opportunities in your community to offer people this ability to use their bodies is a real service that we're providing as libraries. These were community centers, right? And so we're appealing to the whole person. I consider it whole person literacy and not just appealing to kind of textual literacy that we're used to. And then don't forget your staff. So I have a webinar that I did for the American Library Association. It's at the bottom there. There's a link taking care of us. And that's a webinar you can watch all about things that you can do for self care. I also have, I'll put this up here. This is like a little handout of tips that you have that you can do to take care of yourself because librarians were givers, right? We're people pleasers. We love taking care of people even when we resented and get stressed out and overwhelmed. That's our natural bent, right? That's why you go into library because you're service oriented. But the problem is, is that we don't take care of ourselves. We're spending so much time taking care of other people. We forget to look after ourselves. So these are just some stats. I used to teach a yoga break when I worked at the York Provincial Office when I ran the Bookmobile Service. And you can see just 15 minutes. I would teach yoga 15 minutes once a week. And 100% of the participants felt more focused afterwards after just 15 minutes once a week. They felt more connected. They felt more grounded. They had, they were more mindful and they had more energy. So it really boosts productivity. So if you're a library director like I am or you work in administration, it's to your best interest to get your staff involved in physical activity as well. Like my staff, one of my staff's husbands who's not an active fit guy by any stretch of the imagination now comes to my Saturday morning yoga classes. And his wife, who's my staff member who's also not a physically active person just talked about joining a gym. And I was like, whoo, okay.  And so you'll be surprised at how much more engaged your staff will be when they're feeling good about their bodies. And then we don't have time to do a lot of yoga. We've got like four minutes left. But I have a video here and I also have a handout. So this is a handout of de-stress at your desk. Some stuff you can do right at your desk. And then I also have a link to a video that I made de-stress at your desk. And so you can watch the video and follow along with me and do the movements or you can get the PDF, which we will send you and you can print off the PDF and stick it up next to your workstation or give it to your staff. And that's something they can do. So we're just gonna do one thing really quick together just to work out our hands because librarians use their hands all the time for taping. So if everybody wants to stick their hands up with me.  It's a time delay. That's what we'll say. And up and down and up and down. Good.  Send them out. Send and pull them in tight. Send them out. And then do that a few more times. Just flick them like you're flicking water at somebody you don't like. Flick, flick, flick, flick. Yeah, 10, 10, 10. And then flick like as fast as you can. You'll feel it in the tendons in your arms. Flick, flick, flick, flick. I know it kills, right? When I used to work at the College of Craft and Design I taught this like six times a day and my hands would be, I was like a motorcycle mama by the end of it. My arms are so tight. And then, okay, shake that out.  Okay, and we're gonna do little circles with the wrists. This is for those, for that carpal tunnel. Yeah, and then circles this way. Good. And then you're going to, ready? Okay, you're gonna scrunch those shoulders up and drop. Scrunch them up and drop. You have to make that face while you do it. Scrunch, scrunch, scrunch, and drop. Good, and then bring your hands back up and then we're gonna flick the wrists back and forth. This is for these guys. Yeah, and then you flick the wrists back and forth. And you can see mine moving. Flick them back and forth. There, and you just roll your shoulders a little bit. So even just taking, would that take a minute? Just taking a minute to just work out your hands and work out your shoulders before you get back to your, you know, keyboard warring. We'll just, it's great. So feel free to check out that video and print off that PDF and do some exercises at your desk. Share it with your staff. Noah and I put some links up here for you guys. So Yoga in the Library is my website. Programming Librarian is where I blog for the American Library Association. Active for Life is this great resource. It's a Canadian company. I've got some bookmarks from them right here to show you. They will send you these bookmarks for free and they'll send you t-shirts and all kinds of stuff. They're a nonprofit that's dedicated to promoting physical literacy. And these are great. They have them in French and English. We speak French here in Canada. I'm sure there's some parts of the States where you guys speak French. I don't think they have them in Spanish, but you could ask. But these are great to hand out and put them in people's books and get physical literacy on their mind. Let's Move Libraries is Noah's website. Sport for Life is a manitoba-based initiative for encouraging physical literacy and physical literacy for life as well. And then you can see my youngest son here talking to a banana. That banana is my friend Sarah, who is an author who talks about nutrition. So that's another example is you can have authors come into your community, come into your library and talk about their books that they write about nutrition and health and wellness and things like that. Sometimes they'll even come in costume. And segue into talking about books. If you wanted to learn more about offering physical literacy programs in your community, I recently released a book on the subject from the American Library Association. It's not coming out until June, but you can pre-order it now. I even have a coupon from the publishers. So my email is on the bottom there. If you wanna email me, I will email you a coupon. And Noah wrote an awesome forward for it. And Dr. Denise Augusto, who specializes in youth programs from Drexel University, where I'm an alumni, she wrote The Afterward for me and it's an excellent afterward. So you can check that book out if you would like. Great. That's it. Okay. Thank you. Finish on time. Thank you very much, Jenna and Noah. That was great. A lot of good info getting me feeling more energized from my workout, but also a little guilty that I don't do it often enough. No, no guilt, no guilt. Move forward. We have one person commented that they are doing with along with the Olympics. That's perfect connection. Their library's youth department has been doing all Olympic events during the Olympics. They've got a child record is of a child hula hooping is 20 minutes. Wow. Wow. I would die from that. Yes.  Great, great. That's awesome. All right. All right. Thank you very much, guys. All right. We are going to switch over.


Hey everyone, you're about to watch a video that's going to get thousands of views. Very cool, but your ad needs to be right here. Give me a call. Pike County Libraries have partnered with the Pikeville Fire Department to offer an emergency first aid course Thursday, April 6th. The class will include basic first aid techniques, how to build a first aid kit and more. So tomorrow we're going to be holding a first aid event for the public. It's going to be held at the Pike County Library. Basically it's going to be more for the adults and teens. And what we're going to be talking about is just general first aid. So mainly bleeding control, burns, anything that might be good to have, basically what the first aid kit should have in it, good things to keep in the first aid kit. The class will also go over environmental emergencies, stings and bites and ways to prevent injuries. If you know first aid yourself, it makes you aware you're an asset to your community, but also it allows you to not have to rely on other people. So if you are alone, if you have an emergency that occurs or something happens in one of your family members gets hurt or sick, then you can provide that basic life safety. And again, you're only as good as what you have to work with. So if you don't put together a good first aid kit, you don't have those resources available, then you're not going to have much to work with and you can only do very little. So we always try to teach people, you know, try to keep a basic first aid kit in your vehicle and in your home, that way you have something to work with, especially when it comes to a lot of the bleeding control stuff and things like that. The class is free to attend and will be held at 5 p.m. at the Lee Avenue Library. For more information, go to Pike County Libraries on Facebook. Reporting for Mountain Top News, I'm Brianna Robinson.