So yeah, so this talk is called It's All Functioned Variables, and it's my perspective on what makes programming programming. So I'm Zypher, it's pretty much what everyone who knows me knows me as, because all my friends are on the internet. But since we're all friends here, you can call me Michael because Zypher is really hard to say. And so I love community stuff as part of this. I'm one of the co-organizers, I'm the CSSConf AU, and I run one of the, with a friend of mine, I run one of the bigger frontend meetups, or CSS specific meetups in Melbourne called Melbourne CSS. And I'm a big fan of open-source stuff. I've been doing it for probably six or seven years now, and the most relevant to this, I guess, is I work on Libsass, which is the C++ implementation of RubySass. They try and give SAS a bit of a speed boost. And I am now the project lead of NodeSass. So this is not a talk about SAS.  This talk is actually a story. And it's a story about how my life got flip turned upside down. So I'd like to take a minute, just sit right there and tell you how I became a real programmer. So I wanna start with a quick question. Can I, everyone, just raise the hands to start? And how many of you would consider yourselves programmers? And how many of you have written a function or a mixing or if statement in SAS or less or JavaScript? So if you don't need those things, put your hand down. So who is not a programmer who has never written a loop or a function? Awesome, so you're all experts.  And this is kind of a little story about my background in programming. In Australia, we have a thing called the pen license. So in your final year of primary school, so grade six of about age of 12, every week you sit kind of a test. And that test is to test your handwriting skills and your cursive, because at this point you're only written in pencil in school. So you have to earn the privilege to use a pen. And so I was the last to get this and I'm pretty sure I got it purely out of obligation not because I earned it. And the funny thing about this is before I was allowed to write my homework in pen, I was fluent in two programming languages. So it's kind of this thing where I've gone through this journey where I've been writing code for about 15 years and people being full should be paying me to do it for about 12 years. So I started, I was really lucky to start at like stupidly young programming. And I was writing in variations of basic and then I kind of discovered this HTML thing and I've used a notepad and I was pretty excited. And then we hit like the first years of high school and we started working on things like visual basic and Python and looking into C. And that were interesting to me. So that later on I got obsessive interactive thing. I wanted to build things that moved and animated and you could do really cool things with. And this were like things like Macro Media Flash which before Adobe was Flash, was really exciting. It's like animate things and see them come to life. Then comes the university and come to university and graph to learn Java. But in all of this time I started doing PHP and like that was my gateway to the web. Like PHP was so approachable, so easy. And then I got a job and that job required me to learn jQuery. Not JavaScript, jQuery. I'll be honest about it, like my first foray into like front end was doing a lot of jQuery with PHP. And this same job meant I did some C sharp and how these things too related, I didn't know. People were paying me to do these things. So, I have code up there that's C sharp but I don't recommend anybody using. Later in that job I started hacking on some Ruby code. And then like this transition happened over the space of like two or three years. I just really got back into the web. I wanted to move towards the front end. That's where I saw the harder problems and where the fun came into it. And then it's like a really short burst of time. You know, I was learning CSS3 and HTML5 and JavaScript and then when you start doing these things you start using node because you don't even use your grunt and your gulp.   It'll be awesome, be fast. You know, you just skip to today and we're using, ah, react, it'll fix all my problems. It's great. And like, this looks like a crazy amount of stuff to be doing, how many languages? And it's not to say anyone is fluent in all these things. Like, it takes them like 10,000 hours to be like fluent in a language, understand how language works. But a lot of these languages are a thing called C-style languages. Like languages evolve over time and a lot of these evolve from like the C roots which is from like 1989 is like the first major, major C I think, 86. So this is C++ code but it's just because strings and C are hard and my slides won't begin off. So it's kind of like a simple image URL function. We see them in Compass.  And you take a base image and it's like, ah, you know, I want to find an image to foo but in my environment my base string might change between different production. So we just kind of, you know, we got a function and image URL, we're passing a string, a canning two strings or a coding that string. And like all is well. But if you look to like JavaScript, like the difference here is so tiny. Like we've removed type so you no longer saying this is a string but just you put the word var to say this is a variable. You know, your function is almost exactly the same. You're only calling with the same syntax. You know, you then move to like PHP and it's almost exactly the same. You've dropped the var, put dollar sign. And this is how people are able to like pick up new languages. Like it's always your first one that's hard. You know, we look at things like sass now and sass is exactly the same. Like we kept the PHP dollar signs and in front of function we put app symbols. But all in all, these things are kind of the same thing. Like there's a lot of learning curve. Like every language has its own ism which is like this is how you should program in this language. You know, in JavaScript use prototypes. You know, try not to use classes, use decorators. You know, PHP is now, you try and use lots of classes but procedural if you can. And then we come to like the next level. These are all C based languages. This is like Ruby and they've just dropped all superfluous stuff. You know, you don't like a var as a dollar sign. You don't like to have the function key where it's replaced with def because it's shorter. You know, your return statements are optional. But you're calling the function in the exact same way. You're looking at all these languages. You can kind of figure out what's going on pretty quickly. So it's kind of gets you thinking. It's like, how hard can all this stuff really be? There are a lot of the ideas of programming from this kind of branch of languages which is like most modern languages now are all kind of C, you know, children of the C, descendants of C languages. So it gets pretty easy. Like the difference is really syntax and is in this but you can get there pretty quickly. So over time, a lot of my, I gave a lot of talks for a lot of years and did a lot of open source work and the tone of those projects change from like backend stuff to like front end stuff. And I start going to meetups and talking about this stuff and how exciting it was. And the tone of my conversation started to change. I started getting questions like, are you a designer? Why don't you do some real programming? And this was super weird to me because like I'd written production code for about 10 years at this point in a lot of these languages. And in the front end, we have a lot of the same problems. Yeah, we have the same maintainability, scalability balance, you know. This code works, but can I maintain it in two years time? Can someone ask to read this code? No, so the same kind of operations issues and performance issues, like is this using push memory? We have paints and layouts, but on the server, you have memory consumption and CPU cycles and am I blocking requests? But the thing we do have in the browser you don't see on the server side is that we have non-standard environments. Like we're writing code as one of the most hostile environments. You know, on the server, we're predictable. We have probably a bunch of machine running a version of Ruby or PHP that we know and like we know code is gonna run there because that's our environment. And here we're looking at browsers all over the world, very networking conditions. Like the problem set seemed a lot harder than the back end. So it was kind of weird to me that people thought this is like an easy child's play kind of thing. And it's hard to change people's minds without understanding their point of view. So you talk to them for a while and it kind of came to clear to me after a while that this was all a side effect of something called the Dunning Kruger effect or Dunning Kruger. And it's kind of two parts. And the two, and it's kind of like people who don't really know a thing or kind of know the basics of things can extrapolate from that. And look, I know the basics. Obviously the harder parts aren't that hard. It's like not knowing enough to know how hard something is. And a lot of us may have experienced this earlier today with our Lea's talk. And you see, ah, it's a pie chart. We have a circle. We use another circle. Like, how hard can it really be? And you start digging into details and realize it's actually really insanely complicated. But you have to give it that time and effort to get there. And the other flip side of this is people who really know something, yeah, conversely, people who really know something kind of overestimate everybody else's skill and say, well, this is easy. How come you don't know how to do this? Like, this has come second nature to you now over time. It's like, ah, well, we should be doing these things. It's really easy. These are the standard people don't see front-end as a really hard thing. If we look at the DAO, the DAO's web design article came out 15 years ago, since then we've had like, every couple of years we get something new like CSS3 and HTML5, then responsive development, then preprocessors, when that came, build chains like grunt and gulp. Then the big focus is on a web path. And then the extensible web manifestos and now we have like fluent comps and CSS comps. And then the 60 frames per second thing and now it's like HTTP2. These are a lot of things to keep up to date with if you have not touched front-end since IE6 or just kind of toyed around with some, seen some demos, toyed around with torels in your time being. So it's a really good article from Alex Sexton a while ago called front-end ops. And it talks about what it is to be like a front-end developer. And I hate quoting things, but I couldn't think of a better way of saying this. It comes out like a front-end ops engineer, if someone who cares about external performance, they're critical of like every new request and they're constantly measuring performance and page load time. They own everything past the functionality. They're the bridge between applications intent and applications reality. And their responsibilities like handle things like migrations of new versions and external internal dependencies up to date, security and stability or the gatekeeper's application. And this is like a wide berth like front-end. It's not just CSS and JavaScript. It's responsible for every byte from your server side code to the user and all the ramifications of that including the rendering performance after the browser, which we'll hear talks about later on. So we skip ahead now to modern era. And in 2011, I started coming to good 99 designs. And at this time we had no front-end team. The UI is called ad hoc. It's kind of evolved over like four or five years with a bunch of backend devs hacking on UI when they needed it. And we've gone through multiple rebrands. So the further you went through like certain pages, you can see older and older versions of the site. Just weird archeological digs, pretty interesting. So in 2012, we had to tackle responsive rebrand. So as this we decided, all right, let's fix all these issues. Let's really get serious about this. And we forked foundation. I started our own internal framework. And this all we kind of bet big on SAS. Pretty early on we ran the problems with foundation and we started building our own UI framework. And with this kind of stuff, when you start bringing in SAS, you start bringing in asset pipelines. And if you start doing a lot of Ruby stuff on asset pipelines, this is like early days of grunt. You realize things get really slow. The developer experience is slow. The UX is slow. Library loads don't really work. And we can no longer do like in request compilations. So 2014 comes around and now we're like multiple teams. And with multiple teams, we have multiple asset pipelines because each dev has the wrong way of doing things kind of forked in previous generation. And we just had more CSS, which means slower and slower compilations. Like at one point we're down to like eight minute compilation times on a fresh compilation. That's just our SAS and that was kind of crazy. It was, I'd had enough. I'd heard of Libsass and I made this card. It was kind of like a pipe dream. I labeled it, I have a dream that one day we'll have Libsass compatibility. And it really started with one to do item, it was just maps. And I figured if we have that, we're so close. It felt like that was missing. As you can see from this card, like it wasn't even the beginning what was missing. And this goes on for like another page of like all the little bugs we came into trying to get Libsass working and out thing. So it was kind of like this excitement and then this like disappointment. And we thought we were close, and then we weren't. You know, it was missing so many basic features that like polyfills weren't even possible. The development of the project was really slow. It was one person working on it in there on like company 10% time. It wasn't really going anywhere anyway quickly. And it was in C and this is kind of a problem that I thought could be worked around like surely if somebody rewrites this thing as a node developer, rewrite everything in node because node developers are rewriting everything in node that frontend devs no node. They don't know C, they'll start writing more node if we make it generic enough of a tool people start adding features in and like where would be one person's job would be a community job and we'll get that really fast. And so this is kind of my idea. I kind of, I got really serious about this. I did a lot of studying on compilers and interpreters and how it all works internally. But I kind of put it aside. It's something I kind of really thought about but didn't really have the motivation to start working on yet. So in 2014, we ran the first CSS Comp for AU in Australia and we had to hang out with Chris Epstein who is one of the core contributors to Ruby SAS which was the SAS at the time. And I used this opportunity as one of the organizers to practically stop this person. I was following him around asking him a question what are everything he knew? Like how could I make loops? How could we get there? Why was loop SAS, why was SAS slow? How could we make it better? So later that year, there was a thing called Camp SAS run by Hampton Katelyn who was the original inventor of SAS and the inventor behind Lib SAS. And at Camp SAS, Aaron Leung took and he was the person who actually writes Lib SAS. And I talked to these people and I asked them why is this thing in C? Like can we do this better as a community? Like what is the end goal here? And there are a lot of reasons for writing this in C now that I know and it was the right decision at the time. But I talked to Hampton Katelyn about my idea of like how could I write this in Node? Like would it be better if the project moved faster?  Like there are edge cases we don't even know about. I think we don't know about. And so I asked him why is this slow? Could we get faster? Will it ever be ready for us? And he came back with this which someone else mentioned earlier today. The intersection of people who write C++ and care about CSS at this point was exactly one person and that was Aaron and he had a job. So I went back to Australia. Really kind of thought about my Node SAS idea and eventually figured I just bought the bullet. Like I've done a bunch of languages of toilet C, like how hard can C++ be? But I didn't know C++ and I was afraid of it. Like to me, this was a realm of real programmers. People who write C++ write games and operating systems, like Windows and DOOM and this is like really intense stuff that I'd never even, I'd shied away from, like legitimately scared. So this was kind of a big off-putting thing for me. Like how can I contribute to this project? How can I get it where I wanted to get and not run Screaming for the Hills? So we figured we should jump into it, see how it goes. And so it's getting started. There's a lot of things in C that I vaguely remembered from like my time at university and playing around with it. And it's things like linters and linkers and the fact that it's compiled language. And this is different from every language I showed earlier was like interpreted. So you just kind of like run a command and it ran. You have to compile anything. There was no binary distributing about operating systems. If you had Ruby at work, they had PHP at work. But the cool thing about this is I realized, it's something that didn't have to know. You don't have to know these things to get started on these projects. They don't really matter. You can generally run like your make file and it would just work. So the challenge was make files. Like these are really foreign syntaxes. If you ever saw something on C, you do like slash configure and then make and then you have a library. And no one really know. Like a few people know how this worked. It's definitely not front end. It's now becoming a bit of a thing. But you know, you kind of link these things back to things you know. And make was kind of like grunt. In fact grunt was heavily inspired by make. It was the make for the front end. And it kind of made it easier. Once you knew like the idea of like how this thing worked, how that your knowledge, I think you have preprocessed directives. There's another scary thing. And if you look at code, you kind of, it seems simple enough. It's like a hash and include. Then you have like angle brackets. Sometimes you have quotes. And the approach interchangeable and that's kind of confusing. And they're not just simply includes. Like they not, you can think of them like as imports because in this case, include isn't at the import. It's the most common preprocessed directive. So it's generally why you have to worry about and screaming through the lip sass list code. It was the only thing that really kind of mattered. And the difference between like, sorry quotes and angle brackets is you think of like a bow or a node, a browser fly, load paths.  And the angle brackets mean, all right, well, if you can't find it here, go through my load path through the whole like require just thing or the node require and eventually find this thing in my path somewhere. So once you knew that was kind of pretty straightforward. And the other kicker is that this was strictly typed. None of the languages I'd used earlier outside of the C was strictly typed. And by saying I did see, I did see if like, I read a book on it and probably hacked on it for three months before I got bored with on the Python. So this is kind of a similar example we saw before. And you see, you're declaring what this thing is. You're saying base URL is a string and that matters because you're passing strings around and you're getting strings back, adding strings together. And this is essentially the same code here. So there's a lot of really great advantages in type safety that I'll go into later. It's kind of not the greatest thing for everyday work, but it's great for what I have to do here. And I made getting it this project really easy. They may have things like header files. And these are also kind of, never really understood them. They're kind of scary. And in Libsass, they mixed like, code that shouldn't be in header files. It's a header file, so maybe even more confusing. But if you think this is like your bar.json file, it's like, this is essentially kind of like dependencies, the thing that I'm gonna use later. This is, assume it'll be there and if it's not like really nothing's gonna happen. So you can kind of overhead it and nothing's gonna be bad about it. So I wanted to jump in and get this map. So I forget if I get maps, we're there. We're not in the way there. It's gonna be beautiful and everything's just gonna work. So if you don't know what maps are in SAS, we're gonna quickly into it. So CSS has a thing called the shorthand properties, which in SAS are called lists. You know, you're at one pixel solid red to list of three items that we commit later and rule throughout CSS. So we can get an item out of a list like this by calling the nth, getting the first item out of it. I like most programming languages, SAS is one index space or zero index space. So you have maps. And maps are like lists, but you kind of think of the long hand syntax of CSS where it's like a hash map or an array in PHP. You can kind of just get a key and get the value out. And you have a similar API where it's like, ah, get me this to the key. Like I can have the same flexibility as lists but I can name the thing I'm getting, which is much easier. So I wanted to get started. And the use way to get started is to write the thing we called SAS spec. SAS spec is a lib SAS test suite.  If it works, everything kind of magically works. So even if I can't get this sorted, I can write this PR and get somewhere. This got merged and it was PR44, which gives us to show how slow dev on lib SAS was at the time and how quickly contributors are in this project. And when this got merged, I think it was really important to celebrate the small wins. Like even if I couldn't do this code, I gave someone a leg up to be able to get there at some point. But then I really wanted to get to the C++ side of things. I figured I had some time I could solve this problem. So I followed an idea of like CPDD, similar to like TDD, and see if you can follow what this actually means. So this is real code from my original PR and it's worth noting that if you have a look at these things, you'll see a pattern. As anyone can spot the pattern on like how my map code works. How about now? Or this one. If you'll notice, everywhere you see the word map, you see the word list above it. Because maps are essentially lists, but rather than having like an integer-based index, you have the most part strings, but in sass or any object. So I did what was called copy, paste, driven development. I grep the lib sass, I grep the lib sass source code for the word list, duplicated it, changed it to map, and in some cases, the logic was a bit different. Instead of getting integer side strings, they're kind of like copy and pasted code where I saw what strings looked like and I just did it and it compiled. It was amazing. And of course maps didn't work because I haven't read the pos yet, but I got to compile and that was really exciting because that is hard. So then I went to the next step of my development which was cedd. And so when you get an error in a good error in sass or this is now lib sass, you get like a really descriptive idea of like oh, this thing is out of bounds, like I know where to look for this code. It gives me an idea. When you get errors in c++, it generally gets me like this. Which is like, this is broken. Figure it out. And there's a lot of that, especially when I know what you're doing. And eventually I figured out I could use gdb and get a lot of cryptic output with a lot of really scary looking things like syscalls and symbols and OS archive. But this looks scary with two or three commands. I now have this stack trace, the thing we had in original code. I thought the most easy thing to read but like it tells me that somewhere in this stack trace at eval, I had an error. I want you to discover that things got a lot easier. But it took a long time to get there. It was a lot of like what is happening? Why is this happening? Just screaming at the compiler. And this is what I call compiler error driven development. And this is the advantage of lib sass being statically typed is if it went to compiled, it generally worked. So I have like segfolds where you reach into memory that wasn't yours. If you could get it to compile, because it was strictly typed, things eventually just kind of worked. And that's kind of my philosophy today. I keep bashing it until the compiler stops yelling and then the test pass and magically it works. So ship it. I wrote a PR with the code I'd written over the last month of work. And foolishly it got accepted. People were happy and this got announced at saskon and everyone was excited. We all kind of piled it together. It was great. There was one kind of big problem. It was that I write my C like I write my sass because that's what's mapping it to. So a map get function is native. And if you ever get that a hash, you should know that if you get a key, you can just kind of pull that key out in constant time. But because I copied all the list code and list codes were lists or vectors and not hash maps, my presentation is kind of iterated. I did this where it's like, ah, here's the map and here's the key. Look through all the things in this list. When you find the key that matches, just pull that value up. So it's maintained like two vectors, one of keys and one of values. And this runs in like any complexity. This is super slow. And the bigger your map gets, the slower this gets. And I knew this was slow. On the PR I said it was slow. I was saying we probably should have merged this, but this will get someone who knows what they're doing closer. I think I'm pretty sure in the PR I said I don't write C++. Like you can do better, but you took it, you started. But they shipped it anyway, and I'm happy to do it. And this is because of the LibSas philosophy at the moment. And it's like performance is a feature. We wanted to, our main goal is to get LibSas to where SAS is. And performance comes mostly because like C++. And it's awesome. This is magically fast with no work. Once we're there, we'll start doing work. But it took very little time for this to happen. And this is actually me opening the bug, but I realized when I ran this over my code, at my where I worked, it was actually slower than Ruby SAS. It's significantly slower. Because if you do bad architecture and bad engineering, it's slow. Like C++ isn't going to save you. And I came out and said, I was very honest about this and said, like this is going to be a problem when I wrote it. And Aaron, the main developer at the time said, this is fine. C++ problem will deal with it later. Let's just get this shipped. And given our goal, that was like a great mentality. I'm just kind of where I go into like, yeah, this is linear time. Longer this is, the slower it is. And there should be a constant lookup.  And I go into this and say that performance shouldn't be an issue. It's an issue because I'm a terrible programmer at C. And like, this is my first poor question. Hopefully it'll get better. So I spent about another month or so on this, hashing my head with some help from some friends. And I'm sure we've all seen like this thing, generally referenced to CSS. But more generically, it's like things I don't understand are hard and why they're doing this thing to me. And I've had this in every language I've learned. I've had this seriously in C++ and in SaaS. But we kept iterating over weeks and months and eventually we had a new PR. And this shows like the before and afters. And you can see that we were running in 11 seconds where Ruby SAS was running on 1.2 seconds. So it was slow to really heavy map stuff. This PR got it down to like under a second which was faster than Ruby SAS was still insanely slow but we're happy that it was faster. That was half our job right there. So we got this shipped. And this is like the second or third version. Now this number is like 200 milliseconds. So it's crazy fast. That took me more months of work of finding things I still didn't understand. A lot of I still copy and pasted it in development but I tell you all. And there was partying. We had maps. Everyone was really excited. Almost there. And I thought, yeah, my code will run now. We're so close. And 30 or 40 bugs later, we finally got there. Skipped it today. We're now in the present day. Coming towards the end of the story. And through a series of poor decisions on other people's behalf, I am now a core member of Libsass. Don't know a lick of C. So this is, well, it's not true anymore. C is less scary. I'm also the node SAS project lead now, which is one of the main gateways to Libsass. The great thing about Libsass being in C is it's embeddable. So we have bindings in almost every language.  If I can test it out. And I'm up here on stage. Like people thought it'd be great if I'm across the world to talk about how I turned SAS into C++. We're just great. I think we should all do it.   So obviously this is happily ever after. What does this mean for Libsass and for programmers everywhere? Libsass is almost a parody. We keep saying this so we'll get close. I will get there and we will. But as for my designs, I've been on holiday for four weeks and during my holiday I got an email the last project got a photo of the Libsass. So now 100% Libsass. A year and a half, a year on after I started on Libsass development. And C++ is slightly less scary. There are parts of the code I don't touch when I do a copy and paste and everything kind of works. And I get there and I gotta thank these people. This is Hampton and Chris last week or two weeks ago in San Francisco at the Mixin. Or these are the people who made this possible. The philosophy of like, ship the code, then do better. If you care enough, you become a contributor and you'll start to care more. The more you use it, the more you'll care. And luckily I'm actually running under time. So demo time. Gonna try this live coding thing, wish me luck. And we're gonna live code C++. Yeah. And I'm gonna show you the true copy and paste driven development. So we have a, in Libsass, we removed the function called compact. It was never part of the spec, but it was encompassed originally. And the company who first wrote Libsass needed compact, so this chap didn't need it. And we eventually decided to remove it because we wanna be a SAS engine which means you can't do things SAS doesn't do. So I figured, all right, let's create a compact equivalent. And we can see the code here in SAS. We take a list. I knew it was a display, but I do. Oh, all right, that is not 1080p. I guess if it's gonna get with VGA, we'll go with it. So we have the compact function. We create a new list. If the list is empty, then we just return the blank list, so good. So a compact does remove falsely values, things that look like false, which in SAS is empty strings and null and false. So we kind of loop through this list. We sign the value and we check if that value is false. If it's not false, we add it to our array, add it to our list, then return the list. Pretty simple. We have a test here, like a bunch of items in a list. And the results, what we'd expect here is that false and null are removed from this list. So we just run. Cool, we can see false and null are removed from the list.  A recompiling lib.sas, exciting stuff. Cool, so this is running the SAS code. But if we want to, you know, writing these languages in the interpreter is kind of slow. So we want to write it in, if you're doing lots of compacts, you want to write it into the native language. So, you know, if you were so inclined, you could remove this function, try and run this code, and you see we spit out the compact string because in SAS, CSS has functions as well, so the function is not defined. We assume it to call the native function like calc or background URL, sorry, URL. So, all is well. So, the obvious place to start is the file called functions.cpp, and this is how I was developing in the start of lib.sas, that's a completely legitimate way to do things. So, there is a function similar to compact which is index, and it'll kind of find the first thing in the list. So, if we just kind of search for index. Yes, we have the index function. This looks close to what we're trying to do. You know, it takes a list, loops over that list, returns something at the end. It's pretty close to what we're trying to do. So, it's a copy-pacers, this is how it's done people. So, we're going to close compacts, that's the spring and not the compact. We don't need a value, we're taking a list so we just get rid of this and delete some code here. I have no idea what this does, but sure, it's safe. Go with it. What we do need is a new list. So, let's kind of have a look, how do we create new lists? Yep, this looks good, let's copy that. Let's create a new list here, we'll call it results. That's not compact, I do that every time. So, cool, so, the length is going to be different so we can just assume that it'll be zero. I'm going to keep the same separator. Right, so what do we want to do here? We want to, if we look at our SAS code here, we want to assign the value, in our loop, we want to assign the value to a value. So, let's go, how do we create things in this? Let's look at expression, expression v. Let's look at expression, value. I wish I needed the star there. Equals, cool, yeah, the value with L, looks legit. Cool, so now you want to, since you want to test if this is true, right? So, if this does have a value, we'll take our results and just add this value, I guess, got that. And then we'll return the results. So, if we have a look at this, if we don't have a list, we're creating a new list, I suppose, we're creating a new list, we're going to return, we loop through all the items in the list, we assign the item occur on the app to a value, if that value is truthy, we add that value to our new list and return that list. Looks pretty similar to this code, here's our loop, here's assignment, here's the if, here's the append, push it into the list, and here we return. Looks legit to me. Odds are, this won't compile, let's give it a shot. Oh, I think it'll compile. It didn't work, so we know we forked a thing called index, so it's kind of search for index in our code, and so it happens. These don't look relevant. Index, I'll see, that looks familiar. So let's duplicate that and change index to compact. Look in, it's a little too complicated. After far we're just in, I'm pretty sure we save the, oh, here we go, more indexes. Duplicate, oh, there's one more here. I think we're looking good. Yeah, I think I'm good about that, let's go. Recompile this, so it happens. Ah, so we still have false, but we don't have null, so we've got progress. Yeah, that should have worked, so. So, live coding for you, or partway there.  So, we laugh and we giggle, but that's how a majority of Libsass development happens. Don't tell your managers if you wanna keep using Libsass, they may have beef with that. Cool, so, I'm Zyfa, you can find me on that on anything, and stay sassy.


So in case you haven't noticed, Judaism has numerous occasions where our hands are washed ritually. Many times. For example, the first thing getting up in the morning, the custom, the tradition is to as soon as we wake up to wash our hands ritually. After leaving a cemetery, the custom is to wash our hands ritually. After cutting our nails to wash our hands. After getting a haircut. Now I go to a barber at Lawrence and Bathurst, where probably at least half the people going there are religious Jews. So at the barber, there is a special cup at the sink where you're able to wash your hands after the haircut. People wash their hands often before prayer is accustomed to wash your hands. And there are other times when hands are washed. Tonight what I want to focus on is the ritual washing of hands before and after a meal. Now strictly speaking, we don't have to wash our hands before any meal. Strictly speaking, the custom, the practice is to wash our hands any time we're going to eat bread. Bread is often the staple of a meal.  So what is the purpose of washing our hands before bread? So the reason requires us to go back in time to the temple that stood in Jerusalem. The priests that served in the temple did not work. They didn't have normal jobs. And the priests were supported by the tithes of the rest of the Jewish people. Jewish people had to give approximately 2% of their crops. 2% of their produce had to go to the priests. This was called truma. It was called truma. And that's what the priests would live on. This truma was considered to be holy. The truma was considered to be holy. And the priests were not allowed to eat it if they became ritually impure. If they came in contact with a dead animal, with a corpse, there are many things that could render someone ritually impure. And if a priest became ritually impure, they were not allowed to eat from their truma until they went through a process of purification. And even if they were pure, they were required to wash their hands before they ate their truma. The reason that hand washing became obligatory for all Jews is very interesting. Once the temple was destroyed, the system of ritual purity and impurity fell out of use. Because the main impact of ritual purity and impurity is that if you were impure, you couldn't go to the temple. Now that there's no temple, there's no real benefit, there's no real impact today of being ritually impure. As a matter of fact, today everyone is considered to be ritually impure. But the sages were concerned that if the priests got out of the habit of washing their hands, maybe they wouldn't do it more regularly when the time came for them to again resume the eating of truma. So in order to get the priests to keep them in the habit of washing their hands before they ate their truma, the sages decreed that all Jews should always wash their hands before they have bread, so that now all the Jewish people, we just as a routine, we get used to the idea that before we have bread, we wash our hands so that the priests, when the time comes, will certainly be careful to wash their hands before they have their truma. A second reason for giving, given for the hand washing, was that the priests didn't only wash their hands before they ate their truma, the priests would wash their hands before they did any service in the temple. If a priest was going to serve in a particular day, and let's say offer sacrifices in the temple, the priests would have to wash their hands before they served in the temple. And our sages teach us that today we don't have a temple, but today our tables in our homes are compared to the altar in the temple. The food that we eat at our tables is considered to be like the sacrifices that were brought on the altar in the temple. We're supposed to see our active eating as not just eating to satisfy hunger like a dog would do. We're supposed to see eating itself as a holy activity, as a ritual, as a spiritual activity. So we're supposed to think of our table as an altar. Our food is a sacrifice. We're supposed to see ourselves in some way, each of us, as a priest. And so in order to make the active eating more spiritual, we also wash our hands today every time we're about to sit down to a meal with bread. A third reason is given for why we wash before eating bread. The truth is that bread is different from many other foods that we eat.  You can dig a potato out of the ground. But bread is not such an easy thing to produce. There's a tremendous amount of work that goes into producing bread. A tremendous amount of work. It's quite an achievement from start to finish to have in front of you a loaf of bread. In effect, our hands represent the work that we do. We'll be speaking about why we wash our hands. So our hands, what do they represent? Our efforts and the work that we do. And what the bread represents is basically human ingenuity and human achievement. The problem is that we must not think for a moment that the bread comes from our hands. The Bible tells us that one of the great dangers of life, especially when we have things materially, is we're going to say, It's my strength and my might that have gotten me all of these things. So here, bread is something that took a tremendous amount of human effort. And the Torah doesn't want us to think for a moment that the bread comes from our hands even though a lot of our effort went into it. We must not think that the bread really comes from our hands. We have to always realize that the bread is a gift and a blessing from God. So washing before we eat bread symbolizes the idea that we're cleansing ourselves of any bit of human arrogance. Any bit that might think to ourselves, Look what I've done. Look what I've accomplished. And we seek to humbly acknowledge that God is the source of our bread, not our hard work. And we wash the same way that the priests washed in the temple. That's how we wash in the same way, with a vessel, with a cup pouring it over each of our hands. Why is that? Why do we imitate the washing of the priests? Because the priests certainly, we know, did not work. They didn't work in the fields to produce their food. The priests were supported by the tithes of the people. The priests were people who could not feel that they themselves worked hard for their bread. That was not something that the priests could ever fool themselves about. The priests knew that they were being fed from the gifts of others. And so we wash like the priests washed, so that we'll become aware of the fact that our food as well is a gift from God. Now that is the washing before we begin the meal, before we have bread. But there is a practice that we call mayim achronim. The last waters, the waters that come at the end of the meal. And this is a very curious practice. The Talmud teaches that the reason we wash our hands at the end of the meal, it's going to sound bizarre, is that after a meal there is a special salt that is present on the table called melach sedomis, saramite salt, salt from sedom. And the Talmud says if you get this into your eyes, you'll go blind. So the Talmud says that at the end of the meal, in order to make sure you don't get this saramite salt in your eyes, you wash the tips of your hands. You don't have to wash the whole hand. Just the fingertips are washed to make sure you remove this saramite salt from your fingers. Now, can we understand this on a deeper level? So I believe that we can. Salt, in many kinds of literature, represents the taste of something. Saramite salt is the taste of sedom. Now, sedom, we know from the beginning of the book of Genesis, was one of the wicked cities that were destroyed by God.  What was the problem with sedom? What was their sin? So the Talmud explains that there was a philosophy in sedom. They had a philosophy. And the philosophy in sedom was shali shali ve shalkha shalkha. What's mine is mine, and what's yours is yours. That was their philosophy. So in sedom, they believed that if you had stuff, you were fortunate. If you didn't have stuff, that was too bad. And so in sedom, they institutionalized cruelty. In sedom, it was prohibited to help anyone else. It was prohibited to give charity. It was prohibited to give people that were starving food. Because if they don't have it, that's their problem. What's yours is yours, what's theirs is theirs. This is the philosophy of sedom. And it led to cruelty. Now the Talmud teaches that before a person eats, they have two hearts. But after they eat, they have one heart. Talmud teaches this. Before you eat, you have two hearts. After you eat, you have only one heart. What does this mean? So what it means is that before you eat, you're hungry. And if you're hungry, you know what it's like when someone else is hungry. You can empathize with someone that's hungry because you know exactly how they feel. So the Talmud is saying before you eat, you have two hearts because you know how it feels to be hungry. And if someone comes to you that's hungry, you know exactly how they feel.  You cannot feel their pain anymore. You cannot identify with their hunger. You're not able to empathize with them. So the Talmud is teaching us here that after the meal is over, there's a great danger of sodomite salt. There's a great danger that this flavor of the cruelty of sedom will blind your eyes to the needs of the poor. That's what the Talmud is saying. And it says that there's a salt from sedom and it can go into your eyes and it can make you blind. What it's saying on a deeper level is that the danger after a meal is over is that you can become desensitized. You can become desensitized to people that are needy and hungry because you now are full. And there's this coarseness of insensitivity that becomes a form of cruelty. This is sodomite salt. And so the sages teach us we should be mindful of this. It's very easy when you finish your meal to walk away from the table and not even realize you've gone through this kind of transformation. Not even to be conscious of the fact that before I was hungry an hour ago and now I'm full. Thank God. And not to be aware of the fact that your sensitivity to others has been diminished. So the sages teach us to help us become more sensitive to the desensitation that takes place after we've eaten the meal. They say, wash your fingertips to remove that sodomite salt. It doesn't happen magically. It happens by focusing on why we're doing it and meditating and thinking about the fact that this ritual was designed to help us stay people that are sensitive to others.


The new Razer Plus arriving on June 23rd. I, as you recently got to spend a little bit of time with the Razer Plus, what are the biggest changes about the Razer Plus this time around? Motorola packed an insane 3.6-inch cover display on this. A lot of the tasks I would normally do, I could do them on the cover screen. The original iPhone had a 3.5-inch display.  It's got 144-hertz refresh rate on the cover screen. The new Razer allows you to put it in several different angles, so you can use it as a tripod, kind of like the Flip. I gotta say that the mini-phone experience on the outside made me appreciate the Flip form factor so much more. When it was open, I gotta say this, it didn't look like a foldable phone because that crease, once the screen is on, you're not really seeing it, so it's very impressive.


Think tech away, civil engagement lives here. Lens of history, history lens. Here on a given Tuesday with Professor John David Ann of HPU, a history professor. You know, they're all like special gifts to us. Thanks, Jay. History professors are special people. Jay, keep going. We have to prize them to take care of them. I love it. Have you hugged your history professors today? That's a great slogan. I'll take that to my class. How do we understand where we are if we don't know where we've been, really? It's a navigational issue. And for that matter, how do we understand where we're going if we don't know where we've been? Right, right, yeah. So today's a special show job because today we're going to parse out forward and backward the Gettysburg Address, which is a pivotal document in so many ways. That's right. Tell us about it. Well, so, you know, we were talking last time about American exceptionalism. And I thought, you know, one of the things we didn't discuss was whether or not American exceptionalism is actually true. You know, I described it as this kind of mythology. And what I would say is that American exceptionalism is true once in a while. That there are moments in American history and in American life where the United States has been exceptional. And I think that's probably the best way to think about it. And one of those moments was the Gettysburg Address. Because of course the Gettysburg Address was Lincoln's reframing of the purpose of the war. War that to that point had been about saving the Union. And now the war became about freeing the slaves. So in that moment, in the moment of the address itself, he was beginning to convince the American people that there was this new birth of freedom. And so if we can bring up the Gettysburg Address and we can look a little closer at it, it's really a great document. It's a brilliant document. So there it is in Fourscore and Seven Years ago. Of course, this is 87 years ago, which was, you know, seven years. Score is 20. That's right. Everybody knows that. 1776. So a new nation conceived in liberty. So Lincoln is talking about the Civil War, the testing of the Civil War. Now he's talking about the field, the battle of Gettysburg. And so the battle of Gettysburg, of course, the reason why Lincoln is there is because he has to consecrate this new memorial. There's so many battle dead from the battle of Gettysburg that the town and the people, they have to get these bodies underground. Otherwise, they will fester and they'll cause disease and the rest of it. And so Lincoln is there. It was a national cemetery. It becomes a national cemetery. That's correct. He becomes a national cemetery. And some of the other language, if you could bring that address back up, some of the language of the Gettysburg Addresses. So if you see the first line of the third paragraph, in a larger sense, we cannot dedicate, we cannot consecrate, we cannot hollow this ground. Those are religious words. And Lincoln is dipping into American exceptionalism with those words. What we sometimes refer to as American civil religion. This idea that the United States has a sacred mission. And so the address is a kind of classic statement of that. And Lincoln refers to the mission so nobly advanced, the honor dead, which is of course the war dead. And he's arguing that actually the reason to free the slaves, or the justification, the atonement for the sin of slavery, is the war dead. It's the sacrifice of the soldiers on the field. Which really resonates with the Civil War anyhow, because the Civil War really was about the battles. It was about the sacrifice of the men that really made the difference. It wasn't about the politics so much, but it was really the Civil War and the changes that the Civil War brought that was done on the battlefield. And so Lincoln recognized that in the Gettysburg Address. It's part of what makes it such an important address. So Lincoln, so the other thing about the address that's interesting, right? It says Lincoln scribbled this address in his hotel room. Well, he had been working on it. He worked on it on the train in Gettysburg. On the train, I recall that. Yes, the night before. And then he worked on it the next morning. But it is remarkable for its concision. It's unbelievable really. I mean, it's a two-minute speech. And the person before him, Everett Edwards, had gotten up and spoken for two hours. And that was much more typical of oratory of the 19th century, was to get up and talk and talk and make allusions to the classical battles and wars and everything. And so Lincoln just got up and said, look, here it is. This is what our forefathers sacrificed for. This is what the men on the battlefield sacrificed for. And it's a new birth of freedom. And that's how he ends the address. It's brilliant. It is. It's a brilliant address. Because he knew that they would read it far and wide. He knew that it would be a pivotal point. It would be an expression of the United States as it was emerging from this war. And he wrote it with the experience and the sensibilities of somebody who knew about public relations. And he knew about the English language. And he knew about speechmaking. And Gary Wills wrote a book on the Gettysburg address. And yeah, Wills talks about the classical structure of the speech where Lincoln took some from Greek and Roman oratory and actually used some of that structure in the speech. It's a fascinating book. But so yeah, Lincoln is really reframing the purpose of the nation at this point. And I think it's maybe the greatest speech in the history of the nation. Yes. And if you look at the text, you know, the copy of it, it's poetry. The best speeches are, in my view, they're poetry. There isn't a single word there that doesn't have some charge to it. And there are no wasted words, no extra words. It's boiled right down to the essential poetry of what he wanted to say. Exactly. What a guy. Yeah. This must have been distributed all over the country in the speech. Yeah, yeah. It was published in all of the newspapers. And so the speech and the ideas of the speech got out pretty quickly. And I think, you know, it, as I said, I think it ranks as maybe the best speech in American history. I would say Martin Luther King's, I have a dream speeches right up there. And another, I think, maybe another exceptional moment in the history of the country because, of course, after that, you get civil rights legislation and real movement on the issue of, you know, racial equality. So Lincoln makes the speech. He has done the Emancipation Proclamation earlier, you know, January 1st, 1863. And so Lincoln's intent with this new birth of freedom is moving towards freeing the slaves and making the war about freedom. And so this is, you know, Lincoln's ability to envision a future for the country is so important. His ability to kind of project forward what the country will look like. Big question. I mean, did the war make him more involved in that issue? Did it create a greater passion for him? Or was he like that before the war? And this, you know, was just a view that he held, but it was enhanced by the war. How did that continuum go? Well, Lincoln, of course, he's very concerned about the contradiction that slavery represents. And he expresses this as early as 1838 when he gives a speech at the Springfield Lyceum. He gives a speech there. He talks about the tensions that are ongoing over the issue of slavery, you know, conflicts between abolitionists and pro-slavery people, even then. So, yeah, I mean, this is something he's been thinking about for a long time. But for Lincoln, the real genius of Lincoln is that he has moved. He moves from a position of not touching slavery in the South at the beginning of the war to, by 1864, believing that slavery must be abolished as part of the purpose of the war. Yeah, and as I wanted to ask you about the connection, if there is a connection, and he must have been aware of it, of the race riots in New York in July of 1863, just a few months before. And, I mean, that was a very clear expression that the Union was not without racial prejudice and bigotry and hatred. What happened is, as I recall, it was a draft. They announced a draft in July of 1863. That's correct, yes. And you could get out of the draft for $300 American, which is a lot of time. Yes. A lot of money at that time. And people resented that. So, you know, the poor Irish in New York and whoever else was poor in New York at the time rose up and had a riot about the draft. That's right. The streets were dissembling. And everybody was, you know, on the streets. And then there was noise and commotion and riot. And all of a sudden, this became a race riot. It transmuted itself into a race riot.  And it was against the blacks who lived in New York at the time. And the rioters were hanging them. All I remember was the Saturday night. Remember this march? It was a Saturday night. Everybody was in a bar drinking. They used to do that pretty heavily in New York. And they all got wired up in the bar. And they came out of the bar. And they looked for somebody to hang. And they started hanging blacks from the lampposts all up and down Manhattan. And this was really a problem. And it took the military, Lincoln brought the military back to New York to quell it. It took him several days to quell it. So, you know, so he knew about it, obviously. So the question is, you know, did this have an effect on his thinking about race and about, you know, emancipation of the slaves? And did it affect his thinking as he expressed it in Gettysburg? Yeah, I suppose, honestly, we don't have good information on that, actually. So it's really kind of an open question. Lincoln didn't write down in his diary anything about this, you know, the uprising in New York City, the race riot that took place in July 1863. So we don't really know. But one could assume, since he clearly knew about it, I mean, he was the one who sent in troops to quell the riot, since he knew about it, then we can assume that it confirmed his understanding of some parts of America that were still very racist, very, you know, anti-black.  Including in the Union. That's correct. Abolitionism was still a minority game. And that's why the speech is so important, because Lincoln actually is changing people's minds. He's pulling the electorate along with him towards a position of abolishing slavery, an anti-slavery and a less, I'd say a less racist position.  It's very much a part of the fabric of the United States in the post-Civil War period. So... Well, I mean, it's very interesting to think that maybe, as I'm speculating, I don't know if you'll agree with me, that part of the reason for the pivot in the Gettysburg address, the expression of what he was saying, the high, noble idea he was expressing, is, you know, I just saw what happened in New York. That wasn't so good. I'd better say something and do something to, you know, make people realize that they shouldn't do that. Yeah. No, I don't think so, because the thing about Lincoln is, he did issue the Emancipation Proclamation. He's thought long and hard about the issue of slaves in the context of the war.  Should those slaves be freed? Should they be taken by the Union? Should they be handed back to their masters? So, Lincoln has thought long and hard about this before July 1863. So, this is really part of a larger hole for Lincoln. Yes. He's really, but he makes an explicit decision to extend the Emancipation Proclamation into an effort to free all slaves, this new birth of freedom that he talks about in the Gettysburg address. It shows you that one piece of paper, which we were looking at a minute ago, can have such huge historical moments. Exactly, exactly. And one person's ideas, with the talent, the skill base, the vision to see what a new America could look like, Abraham Lincoln did this. He reshaped our country, and he pulled the American people along. And he was pushed to, it should be said, he was pushed by abolitionists into this position. So, it's profound. It is profound, and I think we're going to take exactly one minute. Ah, okay. And let it sink in. Okay. And let it sink in right now. Hello, I'm Cynthia Lee Sinclair. I have a show called Finding Respect in the Chaos. It's all about women's rights and gender equality.  And a place for advocates to come on and share important resources so that people can get past the abuse and into the hope and healing that's on the other side. I hope you'll join me every other Friday at 3 o'clock for Finding Respect in the Chaos. I'm Cynthia Lee Sinclair on thinktecaboy.com. Hey, hey, baby. That's you. I want to know will you watch my show? I hope you do. It's on Tuesdays at 1 o'clock. And it's out of the comfort zone. And I'll be your host, R.E.B. Kelly. See you there. Okay, we've been discussing the Gettysburg Address with John David Anne of HPU, our favorite history professor for whom we put a little bumper sticker on since have you hugged your history professor today. Anyway, so we've been sinking it in. Yes, right. And here we are. It's been said, it's been distributed, it's been in the newspapers. Did the whole country rally around? Well, this is actually the problem of 1864, the year after the Gettysburg Address, is that not everybody agreed with this. In fact, there was entrenched opposition, especially among Democrats, to Lincoln's vision of a new birth of freedom. And Democrats wanted to end the war. Now, what happens is in early 1864, Ulysses S. Grant takes over the Army of the Potomac in the east, and he decides he's going to fight. And it doesn't matter how many casualties he takes, he's going to fight and fight. And he does, and he takes enormous casualties, so many that the public begins to turn against the war, the public in the north. And this is also a reelection year. So Lincoln is up for reelection. Big problem for him. That's right. And General McClellan is running against him. The guy who was a do-nothing general early on. That's right. That's right. And so Lincoln is concerned. He gets quite nervous, actually, and is quite open about his misgivings. He writes at one point, I think I need to plan for maybe losing this election. And so it's interesting that commentators respond to Lincoln's misgivings. And one guy named Louis Maurer, he actually creates a political cartoon about Lincoln's misgivings about this election. If we can bring up that cartoon, it's a bizarre and almost frightening cartoon. So Lincoln was very open about his belief that his dreams were prophetic, that when he dreams something, it's possible that it would become reality in the future. And so Maurer took this idea and then he extended it into a political cartoon. And so you see Lincoln is sleeping. He's dreaming. And this is Lincoln's nightmare going into the election of 1864, is that first of all, General McClellan is climbing the steps into the White House. You can see him there. And then next to McClellan is Lady Liberty who is holding the severed head of an African-American, presumably an African-American slave. Lincoln is off to the, our left, or your right, running away from the White House. And he's saying, this ain't no joke to me, paraphrased. And so what does this all mean? Well, this is Lincoln's nightmare scenario. And I think Maurer is probably trying to motivate people to go to the polls and vote because this is truly a nightmare to have McClellan walking into the White House to have the African-American attacked and maybe even beheaded of his rights taken away, his maybe future freedom taken away. So reversing what Lincoln had gained. Exactly, reversing the Gettysburg Address in many ways. So anyway, it's a fascinating political cartoon and we'll come back to this issue of Lincoln's dreams because it's quite important. Yes, yes, he had other dreams too. That's correct. So 1864 is this, it's a year in which it looks like the war could be lost and all of the gains therein lost. Lincoln is having, maybe having nightmares. Certainly political cartoonists are putting nightmares in Lincoln's heads in his head. But what happens then is that his generals bail him out. So if we can put up the battle map and this is the battle of William T. Sherman's army which is in Tennessee in, you can see in May 1864 Sherman's army is in Chattanooga and wins the battle there and then begins to march south towards Atlanta in the summer of 1864 and reaches Atlanta in September 1864. Now this is a huge army, it's over 60,000 men whether it's do not have an army that can touch this army. You can see they have armies that follow, Johnston is following Sherman's army but cannot attack Sherman's army because it's just too large. Johnson has less than half of that number of troops. So he can do nothing but harass Sherman. Sherman then lays siege to Atlanta and the commander in Atlanta could withdraws from Atlanta and so Sherman captures Atlanta I think on about September 8 and then burns Atlanta to the ground but the capture of Atlanta in the deep south, in the heart of the south Atlanta was a kind of a railroad capital there were I think eight different railroad lines that came into Atlanta so a major distribution center for the south. It was very important to the south and so now that Sherman's got it and actually the south actually burns down starts the fire that burns down Atlanta and then Sherman just continues it. Sherman takes his crew, his army pulls up railroad ties because you do this to prevent southern trains from running because the Confederates had gotten good at putting the ties back when they came back in then he takes these railroad ties his troops do, they heat them up in a fire and they twist them around they're called Sherman neck ties so that they cannot be used again if we can bring that slide back up Devastation trail so then Sherman decides what do I do next and he decides upon a march to the sea and so from Atlanta to Savannah in the month of December it's called Sherman's march to the sea he marches his army about 60 miles wide they cut a swath they destroy everything in sight they do not kill civilians so generally speaking there are no atrocities but there's lots of burning lots of destruction of property including private residences exactly big estates, plantations the message is clear that northern armies can march through the center of the south unimpeded and they can destroy at will demoralizing the south it was the greatest hit to southern morale of the war and then you can see later on Sherman in the next year in early 1865 he marches through South Carolina does the same thing trying to punish those who first started secession the South Carolinians and then of course marches through North Carolina same devastation that's right, wreaking devastation there's no choice now so the capture of Atlanta wins Lincoln his reelection interesting, but at the same time though, I recall right in that period there were signs by you mentioned this, there were signs by various groups in the north where they were really tired of war tired of losing their sons tired of the money the taxes, whatever and they wanted to stop, put a lot of pressure that's correct, one of the things interesting, one of the things Lincoln did was he released soldiers in his army his armies to go vote he released them from duty because they were quite supportive of Lincoln they understood the cost of war and the prize of war and had bought in fairly early to this idea that the war should be a war to end slavery and so at least a good majority of his soldiers and they voted unfortunately for Lincoln, helped Lincoln to win reelection and of course then Lincoln is re-elected the south is under great duress the south loses its army almost completely in early 1865 you have desertion rates that are up over 50% and so the north is going to win this war, it's very clear by early 1865 that the north is going to win and then in April April is the month in 1865 that we have to talk about because on April 5th 1865 the union enters Richmond Jefferson Davis and his government flee Richmond they essentially are giving up Richmond to the Union army and Lincoln tours tours Richmond with his son and so to see Lincoln walking through Richmond with his troops I mean of course it's inspiring to residents supportive of the African Americans in Richmond come out in droves and they celebrate what they see as the liberation of Richmond and then of course then were there any negotiations here I recall in the Spielberg movie Lincoln at some point there were attempts and Lincoln had a wrestle with this to negotiate a settlement rather than a surrender when was that happening this is happening between February and April 1865 so Lincoln has agreed to meet there are peace commissioners from the south who want to settle the conflict they made the gesture and Lincoln has agreed to meet Lincoln wants to show himself as being magnanimous so he agrees to meet with them but then they have to set a date and Lincoln keeps putting off the date and putting off the date he's playing both ends the peace commissioners sit and wait aboard this steamer Hampton Roads, Virginia they sit and wait and they wait and the Union Army racks up victory after victory and then eventually it becomes irrelevant there was no need to have a settlement when you got it all so then on April 9th Ulysses Grant and the Army of the Potomac catches up with Lee's Army the Army of Northern Virginia and Lee like a gentleman understands that for him the war is over he surrenders and his troops surrender it's an important moment because there could have been a bloodbath the Union Army could have really taken it out on the Confederate troops they could have treated them very badly but they didn't they allowed Confederates to keep their firearms because they knew they needed to go home and hunt that's correct and protect their families so it's an important moment I think in our history that shows after this horrific war where men are killing one another that men could also these same men could come together that was Lincoln they would not have gone down that way if he hadn't approved it well I'm not 100% sure that that's just Lincoln I think it's also those who believe that the war had created this terrible chasm that had to end they were tired of war so I think that's a part of it and then of course Lincoln goes back to Washington DC and he's beginning to prepare for reconstruction he even considers now that the black man black officer should have the right to vote and this is quite something because of course five years earlier they were all slaves in the south and so Lincoln is preparing for this and then he wants a break he wants to take an evening off he's exhausted but he thinks so a play, a musical maybe at Forge Theatre would be a good recreation for him and so Lincoln and his wife Mary Todd go to Forge Theatre and this is when he's assassinated and of course we know the story well Lincoln is he's in his booth with Mary Todd Lincoln and the soldier who's supposed to be guarding him is at a tavern next door with Lincoln's driver and his carriage driver so John Wilkes Booth enters the president's box, shoots him and then jumps down onto the stage and hollers you know death to tyrants and limps off because he is probably we think he broke his leg during this when he jumped yeah that's correct so this is really but what's really interesting about this is ten days earlier Lincoln had another dream Lincoln had all of these dreams and Lincoln had a dream in which he was in the White House and he was confused and so it sounded like there was gnashing of teeth and cries of grief and so he walks downstairs in the White House and he sees a casket laid out before him and there's a soldier next to the casket and he asks the soldier soldier who is this who has died and he said the president sir he's been assassinated wow yeah so in this case unfortunately Lincoln's dream came true and you know very powerful dream yeah it's interesting that you know it reveals I mean aside from the fact it was a dream it reveals that he knew there were people out there that didn't like him that would organize an assassination and he said to his armed guard look I'm gonna probably be killed someday but don't let them get away with it that's kind of a paraphrase but essentially that's funny what's saying punish the buggers if they kill me and we can see in back of us here is Lincoln on his deathbed with his cabinet gathered around his doctors and there he is and the bed's too short that's why he's all propped up like that the bed was too short for his frame and the next morning then he breathed his last breath this is a very positive portrait that was created later in 1865 and of course the nation went into mourning his body was taken from Washington DC and then on a train all around that's right went through in the south too I don't think so went up through New York City and then eventually to Springfield Illinois where his body that's where his body lays in state today and the nation at least the north was in mourning for quite some time over that what's remarkable so many remarkable things here John is that the world had changed Lincoln had been instrumental in changing it between 1861 and 1865 four years one term not even quite one term and what it shows you is that one term as president even in those days things moved a lot slower than they do now one president in one term can change the world as we know it it's even more possible now people think oh we can wait out this administration you know just wait it out and it'll go away no in four years you can do miracles you had to bring that up sorry same political party that's right so this is one of the great heroes of American history one of the great heroes of world history really and going back to your point about exceptionalism I think up until 1861 if you look for exceptionalism it's a mixed bag in this country that's true and as you said all through our history it's a mixed bag and some people will think this is exceptional and that's not but you know in this period of time with the moral positions he was taking the things he was doing the kind of analysis and presence that he put on things it was exceptional in that special period of time no that's right I mean he elevated the nation and was a truly great president well thank you John it's been great to talk to you about your stories and great to learn about this stuff and great to feel that there's some real historic resilience in the country yes there's hope we have to look back a little bit to find it thank you John we'll do this again


Wheaties presents Dimension X. Adventures in Time and Space, transcribed in Future Tense. On stage tonight, Dimension X, another in the Wheaties big parade of exciting half-hour presentations.  Good food builds good health, and Wheaties are good food. Now, I don't know what you've been doing about breakfast for the kids, but did you know that every Wheaties flake is a kernel of wheat? With the sunny, whole-hearted goodness of field-grown wheat in every flake? With the full strength of whole wheat vitamins, minerals, proteins in every flake? Well, it's true. Whole wheat in all its richness. That's what you furnish when you fill the cereal bowl with Wheaties. But don't slip up. See that they get Wheaties. Crisp, sun-shiny, good. Pour on the milk, put on the fruit, and know the youngsters are getting all that whole wheat can give. Do that now. Wheaties. Breakfast of champions. Now, tonight's adventure into the unknown, into the world of Dimension X. Somewhere in Europe, a man is walking through the darkness down a cobblestone street. It's early evening still, only a little past eight, but the street is strangely deserted. He pauses, looks behind him, then knocks quietly on the door. Yes? Is engineer Wensler in? What is it, please? Mrs. Wensler? Yes? I'm selling brushes. We have a nice line of brooms. They sweep well. Do they sweep the little or the large? Both. They're especially fine for the large. Come in. What cell are you in? I'm not with the underground. I'm an American. Newspaper correspondent. It's all right. Chief Nine said I should see your husband. He gave me the password.  Well, I don't know. My husband is not home at the moment. If I... Eva? Who is it? Someone to see Arlen, father. My father-in-law knows nothing. Don't see anything which might disturb him. Okay. You wish to see my son, Mr... Arnold. Yes, a friend asked me to look him up. Mr. Arnold is an American correspondent, father. Oh, an American. It is not often I have had the chance to talk to an American these days. Things have changed, haven't they? Yes. These last few years, we have been out of touch with the world. I was working in my laboratory, Mr. Arnold. Would you care to come in while you wait for my son? Father, not the laboratory. We cannot ask our guest to sit alone in the library. And besides, I would like to talk. This way, please. Thank you. Mr. Arnold, I know nothing of politics. My only interest is science. Come on, I will show you what we are doing. A most interesting experiment, really, really interesting. Oh, oh, Dr. Wensler. Oh, this is Dr. Eriksen, my associate. Dr. Eriksen, Mr. Arnold. Ah, you're an American. Yes. Dr. Wensler, is it advisable to allow strangers in the laboratory? Oh, Mr. Arnold, it's my son's friend. Dr. Wensler, you will recall that the last directive... It has no bearing on the work we are doing. Our experiment is in the field of pure science. It has no military application. But the directive said... Dr. Eriksen, may I remind you that I am still in charge of this laboratory. Very well. If you will excuse me, I want to test a new diatomic at night. Well, do that. Sorry, Dr. Wensler. I'm afraid your friend Eriksen doesn't like my looks. Oh, no, no. It's not that. It's just that he's worried. He's worried for me. Afraid that someone will misinterpret your visit and report me to the authorities. He's my most loyal and trusted assistant. But he tends to exaggerate the danger. Well, I hope you're right, Dr. Eriksen. Say, this is some setup you've got here. That 10-foot plastic cylinder, what's that for? Every experiment must have a focal point, and that transparent cylinder is ours. The objects upon which we wish to work are placed inside and brought under the catalyzed beam over here. Hey, ma'am. Let's out of now. Excuse me, I go and tell him. What is this experiment you're working on, Dr. Wensler? Very interesting, you problem. You say you are not a physicist or engineer, Mr. Arnold? No, I'm not, but I can follow you if that's what you mean. Yes. Well, you have been working with the problem of subatomic particles. Now, in attempting to manipulate them, to bring them closer to each other, we have discovered that we can shrink objects, reduce them in size. Well, that's very interesting. How much can you reduce them? Half size? How much more? We can make objects become microscopic and still retain their characteristics. Doesn't seem possible. We can make them even smaller, much smaller. Theoretically, in fact, down to atomic dimensions. Well, as I said before, I'm no expert, Dr. Wensler, but tell me, what's the point? What good does it do to shrink anything down to that size? You do not understand. Man has never actually seen an atom. But if we can reduce a camera and recording instruments to the atom size, then we would know the secrets of the universe. Ah, there you are, Mr. Arnold. Oh, hello, Alan. You can't be interested in this. Why don't we go into the study and talk? But, Mr. Arnold, yes, interested. Well, sir, maybe I'd better talk to Alan at that. Excuse me, Dr. Wensler. I mean, to ask you, if you think you can get along without me for a few minutes, there's something I must do. It's important. Yes, yes, yes. As long as it will not take too much time, it's fine. No, no, it won't take me long. It has been a pleasure, Mr. Arnold. I shall see you soon, I hope. Yeah, sure. Okay, Alan, let's go talk. Your credentials seem to be in order, Mr. Arnold. I talked to our chief after Eve explained why you were here. I don't agree with him. Look, Alan, you think the chief of your cell would have let me come here if he didn't think I was trustworthy and could help? I know, but... Public opinion can't be marshaled overnight, you know. Not even in America. Suppose revolution is successful. It will be. All right, your only chance to make it stick will be in recognition by our government and immediate help. Now, my stories can do a lot to lay the foundation for that. And with the date of the uprising so near... You know too much, Mr. Arnold, if this should leak to the secret police. Don't worry about us. It's my neck as much as yours. What do you think, Eva? Chief Nine said he was to be given the fullest cooperation. Very well then. What do you want to know? Question one. What makes you think this revolution really has a chance?  Mr. Arnold, we believe the Wensler machine can solve our biggest problem. What's that? How to collect arms without being attacked by the secret police. Oh, yeah. Yeah, I see. Now, suppose we could reduce all our equipment. Electronic guns, ray gas, anti-tank blaster. Anything which could be brought in unassembled. Reduce it to so smaller size that a woman's handbag could hold enough to equip a regiment. You see what that would mean? Yeah, sure. No one would think of looking for a cannon. Precisely. But father's machine and the cylinder were necessary for the reduction. That's why our supply depot is right here. Here? Yes. When the day arrives, we'll enlarge the arms and pass them out. Yes, but where's the stuff now? Eva. Yeah. Please get me that model from the mentor. Okay. Here you are. Take a look at this, Mr. Arnold. Well, that's a model of an anti-tank blaster. Complete every detail. Not the model, Mr. Arnold. This is an anti-tank gun. Reduced in the cylinder by the Wensler process. At the proper time, we shall enlarge it, wheel it out through the garage and set it up. When the men assemble, we pass out the rest of the arms and we have our revolution. A division of men, properly armed, can take the... Let's get back to the laboratory. Father will think it odd that we have been gone so long. Oh, I was wondering where you were, Ireland. I don't know what's keeping... Erickson, he should have been back long ago. I need some help on the secretary here. Of course, father. What are you doing? Erickson, I have amplified the effect by putting another diatomic catalyze into phase. I want to give a test, Ron Allen, if you will bring one of the animals from the cage. Yes, father. Animals. Yes, we are experimenting now with the reduction of living animals, guinea pigs. How does it work? Those we diminish to microscopic size return unharmed. But those sent down to the atomic dimension... Yeah. The cylinder returns. But there's nothing inside, nothing. So, Dr. Wensler, have you ever tried it on a human being? I have tried to persuade father to send me down to find out what's making the animals vanish. No, Allen. But, father, we've installed high-frequency radio communication now. If anything started to go wrong with me, I could tell you in time to reverse the process. No. I will never permit it. All right. Guinea pigs, it is then. But someday, father, I... Yes, dear? What is it? That man, the one in the raincoat. He has been standing in that doorway across the street ever since I looked out the window. What of it? I don't like it, Allen. He has been standing there just looking at our house. Oh? Allen, do you think it... I don't know. I'm not sure. Eva? Yes? You know what we planned in this eventuality? Yes. Get the arms and the provisions. We can't afford to take a chance. All right, Allen. What is it, my son? Father, it's better for you not to know too much, but I'm a member of the underground. No. Eva, too. We have... Well, we have some contraband hidden in the house. We'll have to put it in the cylinder. Contraband? What do you mean? Arms, father. Arms and provisions for an army reduced to 140 its size. Allen! Yes, we must put them in the cylinder and warm up the machine. If it is the secret police, we'll make the arms invisible, microscopic in size. Can I help? If you wish, Mr. Arnold, you can help my wife get the supplies. Okay. Allen! What is it, Eva? Don't mind. That changes matters. Father, you'll have to operate the machine yourself. Eva and I are getting into the cylinder. No, Allen. You can't. It's too dangerous, Allen. It's the only way, father. Those are the secret police. Dimension X will continue in just a moment. Tomorrow morning, get up and get Adam with Wheaties to help. Now, does that sound as if I just made it up? Well, listen, folks. It's real. It's soul. If you'll pour the Wheaties into a bowl tomorrow morning, if you'll pour on cold milk and put on the fruit you like best, if you'll do these things, you can honestly feel a difference all morning long. And here's why. Every golden Wheaties flake, every flake is made from a grain of wheat. That's why every flake of Wheaties gives you full, whole wheat vitamins and minerals and the amazing energy you'll notice still with you by 11 in the morning. You simply cannot miss. Because it's a fact. You do better by yourself on a better breakfast. Whatever your job, if you'll start the morning with a reasonable meal, you should find yourself working better, feeling better, even looking better all morning long. Yup. Seven o'clock Wheaties, 11 o'clock still feeling good and working happy. You try it now. Not somebody else, but you. You may be pounding a rug or pounding a time-prider tomorrow morning at 11. You may be driving a tractor or driving a bargain. But you're going to feel the difference with breakfast of champions tucked inside. You try it. Really now. See how Wheaties at 7 can help at 11. I'd have a catalyzer ready. Ready. Set at point 034. Good. All right, Eva. Get in the cylinder. Alan, I can't let you take the chance, Alan. Isn't it enough to make the supplies disappear? Not for the secret police. They must know something, otherwise they wouldn't be here. But how could they prove anything else? Father, every man has his breaking point. And I can't afford to gamble with the lives of others. I don't know how I'd react on the torture. Torture? Oh, Father, you are naive. But don't worry, you'll be safe. Everyone knows you aren't interested in politics. I'm sorry. Mr. Arnold is an American. Perhaps that will protect him. They're coming now. Oh, my son. What have you done? There's no time for recriminations now, Father. I'm getting in with Eva. Arnold, will you help my father with the machine? Yes, I'll do whatever I can. Thank you. Now, take us down to sub-microscopic size. Yes. Hold us down until the police have gone. Tell them we've left. They won't dare meddle with the machine. Tell them it will mean death to anyone who gets in the way of the beam. When they're gone, bring us back up. I'll maintain radio silence until I hear from you. Very well, my son. There they are. The machine's warmed up. Move over, Eva. I'm coming in. Nothing. I've switched on the radio. If you can hear me, secure the porthole, Arnold. Okay, we hear you. Porthole secure. Ready, Father? Yes. The oxygen tank's all right. They're breaking down the door. They're coming, setting 034. Eliminate, release. Temperature? 27 degrees centigrade. 760 millimeters pressure. Hurry, Father. Very well. No. Ray-con. Alpha 4, beta 16, gamma 0.12. Temperature 30 centigrade. Pressure 1100. Be careful. Holy mackerel, the cylinder's only three feet high. It's getting too high. I can't do it. Stand by to reverse. No. The temperature pressure shows signs of stabilizing. Now 38 and 2000. Make setting at angstrom 5, 10 times to the third. That's a small. We can't afford to take chances. Only three inches high. It's all right, Father. Temperature and pressure beginning to drop. Thank God. A half inch high. They're coming. They're coming, Arnold. God bless you. If anything happens, it isn't your fault. Remember, this is my doing. Ava, switch off. Don't come near the beam. No, this machine is in operation and can kill anyone coming within range.  The machine cannot be shut off until it reaches Nadia. A sudden reversal would cause an explosion and take us all visit. You're there. Who are you? Who me? Just a friend of the family. Arrest him?  Let go of me. Now, Dr. Wenslam. Your son and his wife. Where are they?  They left a few minutes before you came. Left? Jan, I told you to watch all the exits. We did, Commander. Mouse could not have escaped. I swear it by the leader. They are not here. You. What do you know of this? I told you they left some time ago. Keep an eye on them and keep away from that machine. Jan. Yes, sir. Send out a general alarm. Yes, Commander. Dr. Wenslam. Who are your son's friends? Please, please. Commander, let me finish my experiment. I know nothing about my son's activities or his friends. I swear it. I know nothing about politics. Don't. I must stay here until this experiment is finished. It is too dangerous to be left unattended. Very well. But take the American to headquarters. The rest of you, search the house. Look here, I'm an American citizen. Item. Ericsson. Yes, my dear Wenslam. Have you found him, Commander? Ericsson. You have betrayed me. I am a member of the League of Loyal Scientists. Your son is the traitor, not I. Have you found him, Commander? No. We have searched the house. Nothing. They swear the son and his wife escaped before we arrived.  They were here when I left. People do not vanish into thin air. Then where are they? Right under your nose, Commander. What? They're in the cylinder, of course, under the beam there. That is the only place they could be. Allow me to handle the controls. You shall have your prisoners in five minutes. I see. Very clever, Dr. Wenslam. Very clever. All right, Ericsson. You will take charge of the machine.  Don't let him touch that biome. Grab him. There. Big dimension. What does that mean? Whatever is in that cylinder has become as small as the atom.  It has almost reached Nadia. We must wait ten seconds, then reverse polarities. The machine has reached Nadia. Thanks from ten to the minus eleven. We must now wait ten seconds. One, two, three, four. I don't know. Something must have gone wrong. Alan, look up there. Why? Why, it's the solar system. It's coming out so far, son. Son? No, that can't be. Eva, that's the nucleus of an atom. We've reached the subatomic dimension. That sun is the nucleus. And those planets are the electrons revolving about it. That planet coming up at us. They are on the other side of the sun. I mean the nucleus. An electron. It's screwing its sides. We're heading straight for it. They're coming down on it. They are going to land. I guess we've finally reached Nadia. We haven't shrunk for the past two or three hours. Where are we? I don't know. Somewhere in a valley between the mountains of a huge electronic race. It's almost funny. Resting on the surface of an electron. Look. The soil under the floor of the cylinder. It looks like vegetation. Yes, moss. Like it. That's the last of the air. I've been expecting it to go out for the past two days. We have, perhaps, a half hour more. Eva, dearest. I know. There is one chance. That vegetation. That means there must be some sort of atmosphere on this electronic planet. We have to take that chance. Eva, are you willing to step out of the cylinder with me? Of course, my dearest. For without our ghost, I will go. Thy people shall be my people. And thy God, my God. For without thy... I will... We haven't much time. Ready? All right. Open me for two. Seven, eight, nine, ten. All right, ten seconds. I shall now reverse polarity. I see something. The cylinder? Yes, there it is. Just a few seconds more and it will become normal size. A foot high. Keep that man quiet. Yes. Feet high. Four. There you are, Commander. And in a moment, you will see your prisoners. Get the door open. Yes, sir. There is no door, my Commander. No door? Erickson. But there must be. No, sir. Nothing but a gas valve. You are right. Nothing but violet gas. That's impossible. Where are your son and his wife? We told you they left the house some time ago. That is a lie. Where are they? I do not know. Erickson, open that valve. Let the gas be poisonous. We shall see. Open the valve. Very slightly. What is that? I don't know. I seem to hear music inside my head. Or did I? Apparently the gas produces auditory hallucinations. Open the valve again. Gaffer. The people of peace. Greet the great scientist. The omnipotent. The maker of all. I thought I had a voice. So did I. This is the law of our people laid down by our first father ten million years ago that always and ever there be this record of our race. For it is told that now in the fruitfulness of time shall take back unto thee this ark like unto that cylinder in which the first father and mother of us all came unto us. I don't understand. I am the last of our race and the sun is cold and desolation is upon the face of our planet. But in our time there was majesty and joy and the gleaning of the fruits of the soil for we have been the people of peace and life was bountiful for generations until that day came but in thy everlasting wisdom thou didst decree the end of all. Though there were some who wept we did not query why. For we have been a happy race we have followed the law of the first father Alan and of the great mother Ava and we have builded this ark so that there may be report of our deeds and of the fulfillment of the trust. Now I, the Marian the last of the billions who lived here do lie me down into that last sleep in which if thou will I shall awake unto the land which is thy. Hail, O great one from the descendants of Alan and Ava hail and farewell. Good Lord, what was that? In the neighbor, Dr. Wensler, where are they? They are beyond your reach. What do you mean?  All time is relative. One year of our time is one revolution of the planet Earth about the sun. Somewhere down in the microcosmos my son and his wife found themselves in an atomic universe and landed upon an electronic planet that planet world around its sun the nucleus of an atom a million times in the space of a second our second. Dr. Wensler, what are you trying to say? That voice we heard is the voice of a human being the last member of a race whose blood is mine for in the space of ten seconds of our time Alan and Ava settled upon their microcosmic planet and bore sons and daughters in the great and peaceful race that lived and died beyond infinity and my children, Alan and Ava who founded that race are dead and gone ten million years ago ten seconds ago Tonight, Dimatian X has presented Beyond Infinity an original radio drama written by Vier Gersen featured in the cast were Les Damon as Arnold Laudas Tevitzky as Ava EA Krum Schmidt as Dr. Wensler and Joe DeSantis as Alan Wensler your narrator was Norman Rose music by Albert Berman Dimatian X is produced by Van Woodward and directed by Edward King in a moment we'll tell you about next week's show and now here is your Wheaties man, Frank Martin this is Ed Premis batting for Frank Martin to bring your words from a fellow most of you know Lucius, would you step over here please? You bet Ed, folks, I'm Luke Apley I've been playing shortstop for the Chicago White Sox practically forever Yes it is, practically forever this makes your 20th season Luke you think it's going to be a permanent job? Well you know Ed, I play baseball like I eat Wheaties just get set and plow right through Wheaties and baseball just seem to go together the Wheaties give me the energy to play more baseball and the tough game gives me the appetite to eat more Wheaties I think it's a real nice arrangement Well Mr. Appling, if you're happy so are we thanks a million to our real Wheaties champion, Luke Appley and folks, if you haven't had the pleasure of Wheaties lately have some tomorrow Wheaties, breakfast of champion and eat happy Next week, a strange story of other worlds the story of the barbaric Potters of First another adventure into the unknown world of tomorrow the world of and this is the Wheaties man, Frank Martin inviting you to listen tomorrow night to Joel McCray in Tales of the Texas Rangers on the Wheaties big parade see you then this program is transcribed stay tuned for stories of the underworld by Jack Layton, NBC


My job is never boring. But one day I'll be working with my research students in the laboratory, and the next day I'll be heading out on an oceanographic research expedition. When I was a kid, I spent a ton of time outside. I always wanted to be by the ocean and to experience that as much as I could. The curiosity that sort of overwhelmed me when I would be by the sea, that really led me into the career that I'm in today. One of the things that fascinates me most is how tiny things can have gigantic impacts. So we're studying phytoplankton, which are microscopic little organisms that grow in the ocean and how they impact climate change. For me, it's less about increasing the number of women in science. It's more about increasing the diversity of perspectives. And if we don't have all those things in science, we're not doing the best science we can do. My name is Erin Bertrand. I'm a microbial oceanographer in Halifax, Nova Scotia.