Hello everybody. Do you hear me? It's the last talk here Hello, hope you're enjoying DevConf as I am. I'm here to Tell you something maybe interesting. Maybe not. We'll see about Python 3 and About the fact that you really should switch to Python 3 right now. It's too late actually, but right now It's still better than you know before Christmas So why I am I am a member of Python maintenance team in Red Hat I am people I organized people meetups in Ostrava. I'm head of by consistent conference organizers I'm teaching and organizing by Piley these lessons and courses in Ostrava and in a Private life, let's say I don't have much time for that, but I'm a drummer and also a volunteer firefighter What in Python maintenance team what are we work on? Actually, we take care about and we do Python. It's not that surprising, right? But actually we take care about CPython development as well a few members are core developers in a CPython interpreter We do take care about Python stacks in rel and Federa about some really important packages So if you're enjoying a lot of pythons in Federa for testing ready to use that's our work We also we also moving things forward if necessary So yeah, we are working right now on removing Python 2 from from next Federa And also we are ready to help upstream project and upstream developers So if your project need, you know some luck to support python 3 do not Wait and contact us especially me And I will help you to do it. I will help you crack the hard nuts What I work on my last big project was to prepare python 3 stack for rel 8 Because yeah next rel my release will be python 3 And I was working on the large projects which redhead use in our software Stacks, which needs to be ported or at least support python 3 Namely, it's a body. It's Federa update system. It was Samba I think that everybody knows Samba. It's a really large core base and for example Ansible Also a really big project based mainly on python So I was working still on by the maintenance but helps these upstream projects to support python 3 To welcome the future First question I have for you And I have you know some prizes How old is python? Where I mean where when uh the development of python language starts raise your hand, please Again, please 28 years ago Any other opinion It was 30 years ago But okay, you are close. Okay, and I you know, I cannot eat candy. So it's just It's actually the same date as the first web page Yeah, when I discovered the fact it was very surprising and there's a first Linux kernel and also visual basic Second one second can you how old is python 3? What's the release date of the first python 3 release? 2008 yes Please 2008 which is the same year as a github was you know published as a first mobile phone with android Yeah, it's really old And uh intel atom familiar processor was announced. So it's really long time ago And you may or may not know that python 3 is the first Backward incompatible release which means that if you write some software in python 1 or python 0.1 Which was released in 1991 Then it should work Should work in python 2 7 as well. So python 3 is the first backward incompatible release Another question But I am out of candy. Sorry, uh, please here's your raise your hand if you know the zen of python No, no remember just know that something like it exists A lot of people cool The zen of python is the 90 rules which every python developer should follow but not only python developer as you can see it's a general one not only for python If you don't know it just open Cli interactive session with your python python 2 and python 3 of course and type import this and enter and it will show Show up for you and there is one really important and my favorite one There should be one and preferably only one obvious way to do it in language in a python language or in your software in our api depends on you and Because you know from python 0.9 from 1991 to python 3 in 2008 a lot of stuff Accumulated in the language a lot of new features a lot of ways how to solve a simple problem Multiple ways and it was kind of mess and not all the ways was You know, optimal optimized for best performance, etc, etc, etc. So decision was made to Break the hardware compatibility to let the python again be Fit this all of these rules so that's the one reason and The second one is of course unicode Okay, that's the history forget about it Why should you care? Why should you care about python 3? the most Important thing you should know if you're still using python 2 is that python 2.7 end of life is really near The support will be dropped in the first january of 2020 if you want to Countdowners like I do just open the page python clock.org and you will see it's exactly 11 months and six days or seven days right now So yeah, the python 2.7 will be unsupported by upstream and as you can see in other talks today from for example victor's thinner Python core developers do a lot of work regularly so Who will do the same for you who will support the language who will fix all the cvs, etc It's open question, but still if you can you should drop it as well Linux distros linux distribution don't ship python 2.7 by default For a few years right now, for example, federal 23 in 2015 was without python 2 by default Ubuntu 2 years later Everything is going that way to You know keep you Aware that something is changing The most important libraries and projects support python 3 without any problem Actually, if you take a look on this page python 3 Readiness.org you will see that 359 out of 360 Most downloaded projects on pypi support python 3 The one which doesn't is apache beam I don't know why But if a lot of projects and a lot of huge code bases, I mean like numpy pandas scipy and all of this All of this stuff support python 3 why you should know List of projects with Will stop supporting python 3 you can find it On python3statement.org and I think that you will be surprised check this page. There is a interactive Chart when you will see when each project will stop support python 2 And I think that you will be surprised because for example pandas did it already numpy and scipy is on is in bug fixes only state And a lot of project will follow and a lot of project will do it before 2020 in this year for example in a half As Somebody told me the whole next Samba samba release will be the last with python 2 support and then the sub python 2 support there where we drop as well, so Be aware Python 3 python 3 means performance boost for you I don't have any exact Examples here, but if you Try to find something on youtube you will find talks from huge conferences about for example, look Big websites like instagram or facebook switching to python switching to python 3 and what does it mean for Their performance and yeah, it's performance boost. So it's a Good also for not for you, but also for your servers And python 3 contains useful new features If you want to support both you can if you want to use new features you can in python 3, you know You can drop python 2 support. I think as well. Why not? Okay, let's talk a little bit about strategies how to do it There are multiple ways how we can support python 3 the first one is Keep python 2 and python 3 cone based in separate branches, which means that you will have to do all the box fixes twice you will have to Do a review twice you will have to do everything twice, but Possibly make sense for your scenario depends on your project, but It's not the best way how to do it But in this case you will you can use all the new features in python 3. That's cool Use tools like 2 to 3 or 3 to 2 etc. It's actually not that good idea If your project is really small you can set up something like 2 to 3 or 3 to 2 in your continuous integration or Some other pipeline and it will convert your code dynamically for you Which means that it will still maintain python 2 when you do automatically transfer to python 3, but It doesn't work on a large code basis, of course And if your project is small why not use python 3 or And I think that you won't be surprised the best strategy to support python 3 is to write compatible code It's not that hard as it may look Because a lot of features from python 3 was actually backported to python 2 in some way To make this transition as simple as possible and we as a python maintenance team We are helping to do it even simpler and even easier for you So how to make my code compatible? How to do it what you will know what you will need to do it You will have to have good test coverage Test coverage is a very important thing if you want to change Basically the language you are using for your project. I know I know I know nobody wants to write tests, right? But there is I think First advantage to writing test is that if your test coverage is really good you can Give the task of transition to python 3 to some, you know Trained monkey to do it for you because all you need to do is make all tests passing in python 2 and python 3 and that's all And I Don't know if I want to say that but actually because samba ansible body and a lot of other tools Has a good good test coverage. I Don't really understand how it looks how it works in the background and I'm still able to port it to python 3 So if you have a good test coverage, it will take some time, but not that much You will need to make some decision, of course, because for example as We will discuss it later a little bit, but In python 2 was just wire variable with some Base string unique code whatever I think doesn't work just put there some decode in code decode and code and it will work So this is not true anymore. So you will have to decide whether this variable should contain unique code Or should it contain bytes etc. So it will need some decision probably from a people who understand the project and It will take some time some time Of course But as I said with test coverage you can do the works Some intern can do the work for you Okay, let's take a look on the common things you will have to deal with when supporting python 3 And because I said that the best strategy is support both in the same time Let's take a look how to do it how to support both pytons in the same time and We can take a look also why these things Had to be changed let's start with Some thing really simple which all of us know for example print print was a statement keyword in python 2 And print is a function in python 3 Actually, you can use print as a function also in python 2 if you from python 2.6 If you use a future import, so it means from future import print function And ta-da python 2 has also print as a function You may wonder why the hell something that simple and it need to be changed really from statement to function Why what the benefit of this? let me show What if you want to use more complex print like this one? Oh, it's ugly Right or not I think so and The same print there is only one difference And I want to know What the difference between two the prints does? Who knows it? Maybe I find one more candy. Ah, yeah, it's here so Yes, right the second print contains Commas at the end of the line And the result is that it don't Put the new line in the end of the string hello world printed on standard error output Oh, that's not look good, right? So if the things Go more complex It makes sense to make easier and more understandable by readers and more readable So in python 3 print is just a function It's simple and it has a similar api with a rest of the python ecosystem and it's Far it's more more more readable than python 2 version I can only imagine that I will Teach pie ladies on courses how to do a print without new line It's impossible, but in python 3 it's perfect handling exception If you have only one exception, let's say zero division error Everything is fine and you don't want to store it in a variable. Let's do it this way Of course, you cannot divide by zero, right? Only Chuck Norris can do it But what if you want to catch two exceptions? I remember that there was some comma somewhere. Let's do it this way Will it work in python 2? No, what what the second one do? Sorry, don't be scared. I'm that bite Missing your brackets and what this will do without brackets No, it will work Yeah, yeah, definitely because there's no brackets here It will store if it catch the zero division error It will store the exception in variable with this name Oh, no The right way how to Do the same in python 2 is using brackets around a list of exceptions And another comma and then the name of the variable you want to store exception in Oh, come on. It's ugly and Everybody can write it in a bad way. So python 3 introduced new keyboard here s which is Good separator between The list of exceptions and the name of the variable you want to store exception in so it's more readable. It's less, you know Ready for mistakes, etc another thing Another thing actually you don't want to change anything to Benefit from it is exception chains. Imagine you have this simple call You want to read some config file from from disk and you want to catch exception Race it by python io error if the file is not found and you want to raise your own exception For example config not found error With python 2 you get only this trace back This short config not power error, but in python 3 because the exceptions tech was redesigned And it store exception in a separated objects You will have this very useful trace back which will help you a lot Especially when porting because you know when porting the things may go really really wrong So you can benefit from the information About all exceptions rise it from the back to the top So this is This is a really cool new feature. You don't have to do anything special to benefit from it Okay, next one sorting using cmp in python 2 python 2 has a You can you know define some function which will Work as a comparator Function of two values and you can use this you can use this function as a keyword argument for sorted function it works it has Visible disadvantage because the compare function has to be called Every time you want to compare two objects two values So it it's yeah, it's disadvantage of this of this approach and In python 2 and in python 3 of course you can use a key a key keyword argument for sorted Which will also use the function defined by you or a lambda if you want But with the key The function you define Has to be called only once for every value not every time you want to compare two values So for example for sorting list this approach is much faster And again, if you remember the zen of the python You remember the One rule. I like the most Now it's there is no one way and not neither one obvious way how to do it The same thing applies if you want to implement comparison for your objects And again, you can use the cmp cmp special method for your classes But in python 2.1 I'm not kidding in python 2.1 was implemented the rich comparison Which means that you can compare in a lot of ways you don't have to because in the previous example Here you always have to implement the full comparison Comparism which will return every Which will return a value representing all the comparison situation But with the rich comparison you can choose only the one you want to implement Lower than greater than equality, etc. Etc. And again, we have multiple ways how to do and how to solve Kind of simple problem. So in python 3 the cmp the less optimized Way was removed Very common thing you have to deal with Imports in python 2 Uh Python 2 prefers local files instead of the globals, which is a problem because if you want to if you have a large core base It's a higher probability that you will name one of your files the same like The name of something in the standard library and python 2 will prefer the local copies the local files Instead of the global python standard library from python 2.5 You can you can use the dot in imports to make it relative explicitly But in python 3 you have to use the dot to make it to make import be relative Which means In python 3 if you write some import It's always the global one if you want to import something in the folder You are or in your package structure. You have to use the dot in imports if you want to if you want to Standardize the approach and also make the code compatible for 2 and 3 python You can use the future import from future import absolute imports and this will make all Imports by default absolute and if you want a relative one you can use the dot Again very simple fix To make it work in python 2 and python 3 Data formats. Let's talk about it a little bit What is data format data format is a way how you Take any information like images like music Anything you want it's a way how to store it on disk like bytes But for images and for music, we know it, right? We have a lot of photos and mp3s, but what about text? What is text? This is duty of aid eski or something else You can pretend that text is only a sequence of ascii hearts and store it at bytes And then you meet franticic brzezina and your application will crash With a huge unicode the code error and you will try to place something decode in code. Ah, and still doesn't work Doesn't work like that and also cannot ignore images. Sorry, but you cannot because it will make your users sad emojis, you know rule the world and python upstream developers knows it so after a lot of years They decided that python 3 should contain a separated types for text which is in python 3 unicode by default and bytes Which is bytes nothing more plain text is a myth So python 3 has a set string set error type for text which is unicode and bytes for binary data And this is the I think maybe the hardest Think to port because you will have to make a decision Whether you want to store text or bytes and for example if somebody is porting the code for you It might be even harder because I don't know what this variable contains I don't I cannot make a decision for you. So this is if you will have for example some intern or some student of work for you and port python to python 3 compatible form This is up to you not up to any trend monkey You will have to decide this is the decision. I was talking about Changes in the standard library standard library or again Contains a lot of changes For example some renames built-ins and range x range and reduce move to func to modules Module etc row input. It's not row input anymore. It's just input Etc etc It's not that big deal. Maybe it is for you But I'm not taking it as this because there is a lot of modules which will help you to build the bridge between python 2 and python 3 and you don't Need to take care about these simple changes anymore. I will show it to you later Python c extensions. Is there anybody who need to write python c extensions? No Okay, you Of course If you need to write python c extensions, you're gonna you're gonna have a bad time Honestly, because python upstream developers said we are trying to develop language Which will be you know easy to write easy to read easy to beginners Etc etc. Why would somebody? Write python extensions in c. We are making python For easy development. Why you see to make python extensions? So My advice is if you Really need to do it. You're gonna have a bad time because python developers Say Nobody should do this So we are not keeping backwards compatibility in any way and everything change it but Help is on way So we have solution also for this. So if you Want to write c extensions? I will show you how to do it But if you can choose, please use siten or cffi and c types siten is uh, you know Modified python which can be easily translated to c code and it makes basically c extension for you and for Basically, no price and cffi or c types are modules for calling Existing c functions from python. So if you can choose, please do not write c extensions directly using python capi Use siten or cffi or c types But if you have to I will show you how I will show you what to use Help is on the way as I said If you are a really conservative guy, if you Do you really think it's a right time to support python 3? Really, it's only 11 years. I'm not sure whether it's stable or not If you are this type of conservative guy, we wrote Conservative parting guide for you. You will find it on the readie docs and it's the Complete list of the things you will have to change in your code to support python 3 of course and What to do it? What is prevalence of the changes? Why this was changed in the python from time to time? And And also how to do it because of course, nobody wants to do it manually. So there is uh, help How to use tool called python modernize? What you know options what arguments to use that only the one thing is changing In the time So it's really conservative and it's really here to you What you need to do to support python python 3 in your code base and also python 2.7 And if you be if you will be careful also python 2.6 Come on the sixth library It was mentioned before why it's called six becomes two times three six, right? Six contains It's a wrapper and contains some utilities to help you building the bridge between python 2 and python 3 Which means for example, if you want to import something which was renamed in python 3 You can import in from the six and it will Do basically the work for you So if you run the code in python 2 it will import the in the python 2 name If you work the if you want if you run the code in python 3 it will import it under the python 3 name, etc, etc also Contains a lot of stuff which help you with unicode, etc. So six library It's also in the conservative pointing guide. So Yeah, and it really works and it'll really help you trust me This is a project which helps basically the one from you who need to Who need to write a python c extensions? It's something like six it contains a lot of macros for c And it'll help you to import python c extensions as well And the last but not least Wait for it. It's me Don't hesitate to write me to call me. I am a firefighter. So I'll pick your phone even on a midnight You know, it's not a problem at all My girlfriend hates me because of that, but it's not a problem at all Don't hesitate call me Send me an email. I will help you. I will help to I don't know set some pipeline for a project to support python 3 in the right time, which is uh now Thank you for your attention We have plenty of time for questions so any questions You can also catch me on the whole for example, if you Yeah No That's a question. I heard a little. Yeah, I repeat the question. Yeah, sorry The question was if there will be some new breakages some backward incompatibilities in next titans No, hopefully not But we may Release python 4, but it will keep backward compatibility. So Don't worry nobody even the python upstream developers and me neither Nobody wants to repeat the same process again. We are fading with we are fighting with this for 10 years So we don't want to do it anymore If your tests are also in python 2, uh, yeah, the test want to do If your test coverage is good, but your tests are also in python in python 2 question so The best approach to port basically if you have some test or if you have For example, good test coverage is to set up some tool. For example talks Talks or you may know traves, etc It's a tool which can run your test on in multiple in multiple, uh, languages in the same time So you can pick the versions of python you want to support for example 2.67334567, etc, etc And then you then you have only one task to solve make all green That's all sounds simple. I know but if you test are in python 2 and it's uh, it's Yeah, it's common scenario Then you will have to fix your test first Before you can, you know, hire a trained monkey But it's not that big deal Usually because how many, you know Features you are using in tests It's basically call the function and compare the results and call the function and download something from web and compare the results So it's not that big deal in test basically, but yeah, of course If you want to store unicode somewhere you will accept unicode in test. So it Needs some work to be done any more questions The question is whether consensus is that it was a bad idea to break the bad word compatibility Uh, it wasn't The consensus is that it wasn't a bad idea to break it because You know We will have to do it sooner or later So it's and everything was prepared and the first plan was okay Just drop python 2 at all and make only python 3. It's cool. And then somebody's scared.  Do you know how many lines of code are written in python 2? It's no no idea and then uh, the deadline The aol for python 2 was postponed and postponed and postponed and postponed. So nobody Actually, except that will be That big deal to transform and that's a good lesson we learned. So we don't want to do it anymore so yeah, but it We will have to be done sooner or later still so Job is done basically Question is is there any chance that the deadline of uh, python 2 ll in 2020 will be postponed again? No, there is no chance To python 2 to be the deadline for from uh, the upstream developers to be postponed Of course, there are projects like I don't know a Tauton is basically python 2 forked from upstream with some backported features from python 3. So it will probably Be somebody who will take care Of python 2, but it's a lot of work really So I don't think the upstream developers don't want to do it anymore Actually, the first announced deadline was 2020 and then people start asking like in december 2020 No first january 2020 and that's all no more discussing So no python upstream developers don't want to do it I don't think anyone want to do it No, there's I think that there's no chance It's We are too close to remove python 2 from everywhere We don't want to postpone it and you know, we want to party next year on picon so Yeah, yeah, but on picon us there will be a huge party for removing python 2 So we don't want to post, you know, who wants to postpone party? Okay Any more any more questions major Is there any major libraries which don't be poured to python 3 or at least to supper python 3? I would say no But depends how, you know, where your dependencies is There are some of course, but for every Important library if the upstream developers don't want to supper python 3 There is a fork which supports python 3. So it may if you're using some, you know, not that common Libraries it will need maybe to change your dependencies and to add up to the new one But as I said before on the pipi the 300 and 360 most downloaded libraries is done are done And you can also check it on python 3 reading is there is so huge list So it's not a problem Any more questions? Yeah, as I said before there are a lot of project already dropping or already we've already dropped python 2 support So you might be really surprised when you do update of your software stack and if This presentation would be really boring for you And it's evening. I know I can understand but please remember one thing If you start new project or if you actively work on some project Move it or start it with python 3 Because if you don't after 10 years from now somebody like me Will need to do a work for you and I don't want to Okay, so please every new project starting python 3.7 school full of new features Every program you need to actively maintain python 3 6 python 3 7 depends on what you want, but Move it. It's not that bad somebody and it's a huge project. So you can too trust me Thank you very much


All right, so I don't have any slides because I didn't think that would be very keynote-y of me So what I have here is a essay Keynote essay for the hoedown and I'm going to post this online after I'm done so If I talk too fast or skip over a paragraph because I can't read my own typing you can find it I'm Chris Von Stroth. I'm one of the guys that did github. I also did air the blog in the past not so much anymore and When Jeremy asked me to come talk the first thing I said was yes. Hell. Yes. That was my reaction immediately But after emails had been exchanged and things were set in stone I took a few moments and thought what why why did he ask me to talk? What am I gonna say in a keynote? What am I supposed to say that's interesting? So I thought about past keynotes. I've seen and you know something about Ruby. I have to talk about Ruby probably The future the future is very keynote-y the future of something Ruby So I'm gonna get that part out of the way. I'm gonna talk about the future Ruby for a little bit Hmm-hmm in the future Ruby will become more popular There will be more implementations and there will be more programmers using it more machines with it installed by default and More people writing blogs about it. There will also be More people reading blogs about it. I know this is getting crazy, but you have to trust me because I'm keynoting There will be more Ruby gems and there will be more Ruby gem servers at least one Possibly two and it's conceivable that there will be more than three new books written about Ruby in the future Current books will be released in new editions with more pages and more in-depth information on new features The new Ruby is will be younger and the current Ruby is will be older Makes you think doesn't it some Ruby is will get dogs others cats and a few will remain dogless and catless Perhaps opting for children instead This is a common mistake in my experience children are much more expensive than either cats or dogs Second-hand experience of his websites will be created in Ruby using new futuristic versions of Frameworks like Ruby on Rails and Merb versions that we can barely comprehend like 3.0 and 1.0 respectively New web frameworks will be created with strange names and stranger maintainers We'll come to know why the lucky stiff as a less violent version of the Joker Matt's as a more controlled version of Too Faced Dr. Nick is the penguin. He actually he really loves fish and DHH as our Batman As for me, I am Iron Man I don't know if that works as well as I thought it would but New languages will come along of course and they will become popular People will continue to scorn Ruby calling it names like pythons pearl or Java for nerds and Even God forbid visual basic for the web Technically, however, I think that role was already filled by ASP versions one through three Ruby will be taught in college to young newbies eager to learn the ways of the master craftsman Most of the students will be drunk during these classes others hung over but all will be hungry for knowledge Behavior will drive us and macros will help define us. Well, some of us proc Lambda There will be more conferences people will speak at these conferences sometimes about Ruby, but sometimes not Speakers will wax philosophically about the glory days of small talk Without actually having written any small talk Others will show benchmarks for their new super fast Ruby VMs. No, it's not open source and no, you can't try it out yet Someone will bring up a 2.0 version number, but quickly be hushed suit people will surround us Test will be mock and mocks will be tested. Is that stubs one of the two Ruby will be fast and it will be slow patches will be released that break backwards compatibility and Security vulnerabilities will be handled in a less than satisfying manner History teaches us these things Big websites will track billions of visitors while little bogs will appear amazed than vanish Well, most importantly, Ruby will stay beautiful. We hope So that's the future. That was that was my keynotey part of the keynote But I want to I want to roll with the theme a little bit and talk about the past now So John von Neumann was one of the great mathematicians of the 20th century I don't know how people have heard of his name outside of a textbook in college or maybe even high school if you went to a really good high school He made contributions to cellular automata set theory functional analysis quantum mechanics ergodic theory continuous geometry economics and game theory computer science numerical analysis Explosive hydrodynamics and statistics that's straight from Wikipedia. I I ran some numbers I think I know about 60% of those are but Guy sounds very very smart He also helped invent most importantly to us the modern computer the ones we're using right now this Mac your iPhone all those things in The 40s von Neumann and a group of basically geniuses got together to build a computer. It wasn't the first computer Mind you. In fact computer is a term once used to describe individuals who computed computed numbers Charles Babbage was such a computer Frustrated by the fallibility of the human brain when dealing with massive amounts of numbers mistakes were very common for example William Shanks spent 15 years calculating 707 digits of Pi Tragically he made a mistake at year number 11 His next four years were spent computing in vain and only the first 527 digits were correct Anyway Babbage saw this going on and he envisioned a machine that could carry out precise instructions and deliver accurate information He saw during his time Machines all over being powered by steam doing physical labor and he thought that if machines could do physical labor Why not mental labor? What's what's the big difference? It's a guy's like Alan Turing got in on the action later on and came up with ideas Which would eventually produce machines such as eniac the first programmable digital computer Well eniac was a breakthrough von Neumann's architecture was different in an important way It stored both program instructions and user data in RAM Prior to von Neumann's ideas program instructions while modifiable was stored separately from data Like I said this idea called the von Neumann or stored program architecture is what we use today in our laptops and desktops and servers When you're writing your rubies and your text mates both your rubies and the text mates are stored together in RAM Having both programs instructions and data in memory together could be used to implement as a primitive example loops Branch instructions are modified as the loop iterates in the eniac and other computers where instructions and data are separate These sort of transportation's these sort of transformations were done by hand by programmers The first programmers by the way, they were all women Anyway in the second half of the 40s von Neumann and a small team got together at the Institute of Advanced Study and started working on a machine Based on his stored stored program architecture to be fair. It wasn't entirely his idea Standing on the shoulders of giants and all of that. He was just the one that got all the credit That's a Wikipedia says at least but What is that website ever said anything accurate? So the IAS where von Neumann's machine was built was basically a dorm near Princeton But not officially not officially Affiliated with Princeton it was started by some philanthropists who wanted scientists to stay there have their lodging and food paid for And get their science on big time Einstein was one of the first residents as were von Neumann Kurt Gödel and J mother F and Robert atomic bomb Oppenheimer That's his official name So this place had held historians scientists and engineers The engineers working with von Neumann on the IAS machine worked in the basement. Is that does that sound familiar? To this day the basement is still the server room at IAS So these guys working on the machine that summer were both programmers and engineers They would solder the parts themselves Program the programs and fix bugs in both hardware and software And actually they often had a hard time distinguishing between bugs in hardware and bugs and software Is the code wrong or is the machine wrong? Can you imagine that what a nightmare? They used about 2,300 radius shot caliber vacuum tubes for switches and memory stuff would break constantly They'd stay up until 4 or 5 a.m. Drinking tons of tea with tons of sugar In fact since this was during the war sugar was rationed and they were using more than their fair share The historians and other nerds in the IAS building were often very pissed off Again sounds like me my brother over Mountain Dew in high school, but All the engineers kept notebooks, of course building the machine blogs They'd write frustrated entries only to have massive elated breakthroughs the following day Their notes were being sent out to institutions all over the country So others could reproduce their work and create new machines based on the von Neumann architecture And then they finished June 10th 1952 the IAS machine was fully operational Others around the country built similar machines Though none of them had none of them had compatible instruction sets You couldn't yet write a portable program and the eye at IAS machine then carried out its intended purpose to help design hydrogen bombs The first hydrogen bomb was detonated on November 1st 1952. It's called Ivy Mike Detonated an island in the Anuac and a toac something ate all in the Pacific Ocean and was 450 times more powerful than the bomb dropped on Nagasaki So mathematicians built the first modern computer to aid them in applied mathematics and hydrodynamics These guys were true hackers working on what was a massive side project and in a way the ultimate yak shave Interestingly, this may also explain what everyone thinks you need to be great at math to be a programmer, but anyway, so today in the present There are a number of high-profile Ruby projects, which began as side projects Some of them may be called the bomb Rubinius now has five people working full-time on it, but began humbly in 2006 as Evan Phoenix's side project He wanted to build his own Ruby Rails itself was extracted from Basecamp, which was a website that 37 signals guys were doing on the side at the time They were a design firm and Hansen was a contractor No one really knows what why the lucky stiff does with his time But shoes is certainly moving full steam ahead with no mention of monetary gain Just for hack's sake to make things better for people wanting to put together GUIs in their favorite language for fun Merb start as a pasty a thin layer on top of mongrel to allow fast concurrent file uploads Developers developers at engine yard now actively work on the framework though I'm not entirely sure it can still fit in a single pasty or just So I think that you should always have a side project to Side projects give you an outlet provide a useful distraction Let you explore new ideas learn new concepts and generally give you the freedom to be Unaccountable you don't have to worry about your boss your co-workers or the damned commentators on reddit Just have some fun and treat yourself After I dropped out of college. I worked at a PHP shop doing trucking logistics applications Just think about that for a second We were a broker between independent truckers and big companies like Kmart Truckers would register on our website Say they're gonna be in Delaware on the 3rd of May and that they're heading to Denver Then get information on shipments along their chosen routes. They can then bet on the shipments or accept them all through our amazing website It was fairly complex application and two things are missing Version control and constants There was no version control so you'd have things like main to dot PHP and Compute radius of from shipment seven dot PHP laying around You'd also have version zero through six of the same file in the same directory Magic There were no constants and no configuration files So the source code was filled with magic numbers if you wanted to tweak any of our algorithms You had to find the code which did the computation and change some numbers by hand. Hopefully they were the correct numbers No tests obviously. I don't even know if I have to say that Naturally, the first thing I did was institutionalize subversion and I've apparently always been a champion of source control Though I didn't realize it until setting this story to paper The second thing I did was to start extracting the magic numbers into configuration files at the time It was a pretty common PHP idiom to use dot I and I files for configuration Most of what you need was supported and I'm pretty sure PHP came with a library Aka a shotgun blast of functions in the global namespace that could understand I and I files This this all worked okay, but once I started tinkering with rails I was blown away by YAML. It was so clean and so powerful There was sick the C extension written by why but it was just that a C extension I didn't know anything about loading C and PHP and even less about doing it on our versionless production servers So I set out to write a YAML parser in PHP on my own time as a nod to sick I called it spike SPY C which stood for a simple PHP YAML class And that's what it was because my first parser was stateful and I think did two passes for the reference pointer stuff YAML supports Didn't support all of YAML, but it supported most of it both dumping and loading the good parts. I Snuck it into our app and before long we're using YAML with great success at my company Naturally, I put the code up on source forage king of all online source code repositories My designer friend made a page and in the first month spike was a huge hit a massive hit I swear it must have had at least 70 70 downloads. That was a big deal Fast forward about nine months. I realized the trucking logistics business isn't the beacon of progress for congregation of forward-thinking individuals I had envisioned After all they hired me So I quit and began the process of re-enrolling in university this time I would major in computer science instead of English my path was set But then near the end of that summer a friend. I am me a close friend. I grew up with he was into dig and video games But was far from a programmer. Hey, he said do you know my sequel? He got the Capitalation right and everything Shit, I thought I Figured this conversation would be the modern-day equivalent of said friend asking why Ruby sites are always down real-time trolling Yeah, I know my sequel and you know PHP too, right? Yes, I was dubious about the direction this conversation was at it GameSpot is hiring you should apply. He knew my whole story of trucking wonderfulness So GameSpot He and I were both into video games during high school I worked at a local game stop and in college I worked at EB games in the mall I had all the modern systems and grew up with Atari NES Genesis all that So GameSpot.com was a site I had visited quite often while in high school in college By the way, notice how different the names GameSpot the website and GameStop the store are This would later cause my family endless amounts of confusion thinking I had moved to California to work retail The American dream so when you googled video games any new game that came out GameSpot was usually number one or number two in the results. Therefore. I knew it well Game Facts. That's FAQS was owned by the same company and probably the site. I use the most It's basically walk-throughs how-tos guides and Cheats lots of cheats Anyway, I had no idea where San Francisco was or what the guys at GameSpot were looking for but I applied I Created a brand new resume stayed up all night working on the color cover letter And by the time I was finished it was a page long and I thought pretty convincing My education degree at work English degree at work In it I promised to move to California the next day bringing nothing But my guitar and Xbox with me my family would miss me maybe but I was ready to leave And I was hungry to show the world what I could do ready to learn from the masters The phone interviews went well They liked that I was into Max and Ruby and I obviously got the job My first time ever stepping foot in California was when I flew out to find an apartment with my paw my dad My work experience. However, wasn't what got me the job I'm sure the cover letter had something to do with it But my short-lived career in trucking logistics was less than glamorous I really only had one thing to show GameSpot spike My code was freely available had been used in production and worked they could download it and play with it or check it out online Regardless of whether or not they thought it was good. They could tell it was clean and well thought out Maybe not but it had a website and 70 downloads, so I I Got the job at GameSpot in my mind the first big step in a path that brought me right here. Thanks to open-source side project Something I learned from that experience is that you don't need to make money from code to make money. Thanks to code I didn't make money off spike, but I made money. Thanks to spike. I also got my name in a book But that's that's totally different story That was pretty cool, and I thought unique, but then it happened again Well, I was working at GameSpot. I was doing more and more Ruby on the side This was 2005 or early 2005 I had an open-source Rails tumble log called Azenmoto a crappy FTP server called FTPD.rb Which I use as a way to learn about threading and a command line option parser DSL called choice For choice. I had a full test suite I wrote the thing to learn TDD and an RDoC generated home page on Rubyforge. This is the real deal. We're talking about So when seeing that GameSpot's parent company acquired Chowhound They decided to write the entire site in Rails Classic. They brought on two Rails programmers from Wayfaring.com and were looking for another. They found me I later found out that my RDoC site Ruby gem and test suite proved to the Wayfaring guys I was a real Ruby programmer. They wanted someone excited about the stuff and I certainly was So they threw a bunch of money in my face and convinced me to work on Chowhound Thanks again to open-source side projects This happened to me twice. So it can't be that uncommon Open-source can make wonderful things happen for you and not just financially It can make social things happen for you too at Chowhound. I met PJ Hyatt A github co-founder and co-author of air the blog So start a side project today right now while you're on your laptop not listening Who knows where it will take you If you don't have one right now, why not? What's keeping you from doing something on the side spending a little time working on it? Is it the lack of time? Do you not have any ideas? I think I can help you with both of those The first issue the time issue something we all struggle with I don't know how many of you read RSS But I'm going to challenge you to do something. This is going to be very keynoting for a second I challenge you to stop reading RSS turn it off stop using google reader net newswire or whatever it is that the kids are using these days It's not worth your time But what should you do instead? How will you ever figure out what's going on in the world? Well, if you use twitter try following the authors of your favorite blogs Read their tweets on the bus or in the bathroom Check ruby inside once a week and skim over the post just the titles Visit an aggregator like planet ruby on rails once a month And mainly let other people do the filtering for you use your time for other things You won't miss out on anything big Stuff like the google app engine or rabbinius running rails Or the killer speaker lineup at this year's ruby ohodon will find its way to you How can it not? I'm willing to bet a lot of the stuff in your rss reader is stuff you already knew or heard about before opening up your reader Personally, I used to check rss multiple times a day tab open refresh refresh refresh Now I don't use any reader and haven't since january 2008 So try it Another big time sink among programmers. I found our books Books on process and books on theory books like small talk best practice patterns Practices of an agile developer and even I dare say the pragmatic programmer They're not worth your time Instead listen to rain's talk talk to your friends or co-workers let other people filter the information for you and decide what you like The best way to learn about patterns idioms and best practices is to read open source code I had that written before rain said that by the way. He stole that from me See how other people are doing it. It's a great way to stay current and it's free I also wish someone had really told me that before I read head start design patterns the whole the whole thing So another another thing you can do to help you manage your time working on side projects Is what we call the jerry seinfeld getting things done method So every time you work on your side project mark a big x through that day on your calendar Eventually, you'll have a nice line of x's that can either be a row or a column Missing an x will be torture. I know how much we're all ocd around here It'll mess up your beautiful streak The goal is to maintain the streak even if you don't think you have any ideas for the day After all the best way to overcome writer's block is to write So all right, I just destroyed your time excuse now You have time to work on a side project and the motivation to do it consistently. That's the beauty of the x's You can devote at least one sunday a month to it At least But what's the idea this is actually this is actually the easy part Because you don't need a good idea just start doing something interesting Play with the new framework and ruby. I hear Sinatra is pretty hot these days Learn how to do gooey stuff with shoes Learn javascript like for real If you don't know what the var width or delete keywords are get a book and start working on some flashy effects Or download rhino or johnson and write some server side js. It's a really beautiful and misunderstood language Take some time to master your editor pick up the textmate book and dive in write a bundle If you've already got massive vimfu try out emacs Learn why people love it then use that information in your holy wars against them Write a web service something like cheat subtlety discuss twitchers or twit pick Tools someone can use to help make running a blog site or just coding simpler Simple sites that do one thing very well and surface their information with digestible tasty apis If you've been meaning to learn a new language start learning it But don't just pick up a book and read it start writing a program Learn objective c and coco write a little mac app to do something useful and then give it away for free Post the code on github put up a pledgey badge and accept donations profit Write rake in a lisp. It's a good way to learn about metal programming and how command line scripts work in a new language Write an rss parser and explore native data types in earlain Write a simple blog and learn about the web frameworks in haskell write scrabble and io Picking up some open gl along the way. It doesn't matter if people have done it before In fact, stop worrying so much about other people every time I've worked on a project I thought other people would love it was it was a massive flop But every time I worked on a project. I loved it worked If you're sitting in this room your taste is not as far off from those around you as you think Build something you love and others will love it too not everyone of course Alternatively do something hard the hardest thing you can think of in your language of choice Stretch the boundaries make ruby cry out in pain Install image magic Rewrite all of the standard library Write an objective c bridge something devilish flex your brain Work on your small project for a few Sundays declare it complete and then move on Learn another language or write something else in your new language pick up a new web framework or work on flashy effect number two Add concurrent task execution to your rake The more acclimated you get to this process the more creative your ideas will be it's the whole 10 percent inspiration 90 Percent perspiration thing and so far it's worked for me This after all is how github was started Tom and I had full-time gigs, but we'd get together on saturday have lunch then work on github We wanted a pretty and simple way to share git repositories Something we'd use something that would make it easier for us to share and work on open source Now we have free people working on the site full-time thousands of paying users and tens of thousands of repositories But there was no overnight eureka and it wasn't intentional. We didn't even start out making thinking working to make github a company I especially didn't just walk out of high school pick up a ruby book meet Tom and PJ then launch the site Before github came in chronological order spike asmodo myosm.org tumble log fdpd.rb choice air the blog access textile sheet access cash mofo subtlety cashfoo sexy migrations gibberish engine xconfig generator fixture scenarios builder sake ambition and face box And that's just the stuff I released The more side projects I had the more I felt the pain of maintaining open source code If you already have a job you love this doesn't exclude you you probably use day to day Many side projects from others you can also use your own side projects at your job From emacs configurations to simple web services. There are tons of things you can do to stretch your brain I had no intention of leaving chow ham when I wrote sheet. I just wanted to make it easier to look at commands I rarely used Things like twitpick or twixters have nothing to do with anyone's job They're just fun and make life on the internet a little bit more enjoyable Ruby on rails may have had a financial angle, but if there's money to be made in shoes I'm not sure I see it So my plea to you today is to start a side project scratch your own itch be creative Share something with the world or keep it to yourself Side projects are less masturbatory than reading rss Often more useful than mobile me More educational than the comments on reddit and usually more fun than listening to keynotes. Thank you


Hey traders, this is Tosh Bradley. I go by T Bradley 90 in the My Investing Club MIC community. Right now we have a very special holiday discount sale going on for MIC members or anybody wanting to join. We have $200 off our annual yearly package and we have an unprecedented thousand dollars off our lifetime package and we are raising prices going into the new year. So if you want to take advantage of these discounts, they are only good and only available right now until December 31st. Take advantage. We will definitely, definitely be raising prices soon. 21 of the new member orientation webinar at 2 p.m. Eastern Standard Time. This is the Q&A. So let's start with, if you, Tosh's golden nugget section. Cool, I like that. If you guys have any questions right now about maybe something that ran the day or you just want to get general questions out, let's do those right now. And actually, let me post something to the new member channel real quick so you guys can see a contact information for us. So hold on one second. I'm going to post something. Does anybody have any questions right now? Flush out your questions. So guys, I just posted this link right here. If you're not a member, definitely take advantage. If you are a member, you don't necessarily have to fill this out. This is for mostly people who are kind of speculative, but if you click on this, this, and it's also tweeted out on my tweet, this is just a way to kind of gather some information so I can contact you later and make sure if MIC is a great fit for your needs. So you know, reach out to me. I'll get on the phone with you if you need help signing up or if you have questions about sign up, things like that, or pricing or anything like that. And I'll definitely go out of my way to help you out. But here's a sign up page that fill out the information and we'll take care of you. And then also for those who are not familiar, let me get this out of my way, www.myinvestingclub.co. This is a two-hour webinar that we put together. Here's the link. That's not.com. That's .co. Definitely check this out. It's two hours long and it's unbelievable for the new trader. It's unbelievable for anybody who's not a part of MIC and wants to hear about Alex's story together and things like that. So definitely take advantage. All right guys, who's got questions?  Hey, Tosh, I currently use interactive brokers and under PDT. What broker do you recommend switch to where I can find a lot of shares to short small caps and also where I can scale and scale out without counting as multiple trades? Mario, I'm glad you asked. So this is a very good question actually. So if you are under PDT, I'm speaking to everybody, but Mario specifically, if you're directly with interactive brokers, Mario, there's literally no point to be with them and I'll tell you why. Because here, I'm going to show you, I'll just go to the website. I'll literally show you. Cobra trading is the best broker there is. You should definitely go with Cobra if you have the money. If you don't have the money and you're under PDT, that's okay, but they also have a Venom trading. So I can't remember where that is on their site, but these are the people that you're going to want to contact. These are the people, they have a, what's it called, a sister brokerage that's called Venom and Venom clears through interactive brokers. The clearing firm for Cobra is Whitebush. The clearing firm for interactive brokers is literally, is interactive broker. That's the clearing firm for Venom. So like maybe I can Google it so you guys can just get a look. Yeah, there you go. Thank you buddy. I was like, I've been pulled up Venom trading a little while, but here's the site. Dude, they clear through interactive brokers. If you're an MIC member, you're going to get a 25% discount on a commission structure just because you're part of MIC. You should not be with interactive brokers. You're going to have the same exact boroughs, but you're going to save a ton of money and be with the best customer service on the planet and you get access to DAS trader. Dude, Mario, make the switch, bro. Again, man, you could do whatever you want. I'm just saying there's literally zero reason that you would interact with brokers. They clear through ID. It's like having the same broker, but you get major discounts in your trading. But if you have the money, there's no question, there's no question, go to Cobra. And specifically, yes, if you're in the USA, because I know Cobra does not do, I don't think Cobra does guys like from Toronto and stuff. A lot of Canadians have been reaching out like, hey, can we go to Cobra? I'm like, I don't think so. Let's talk about this. Adam W. Saw that this was a recent IPO. Does this beat up all red daily, give you any more confidence in a short on Yale? That's a great question.  I missed that. Dang, that's nice. The first thing I, man, I'm really like, dang, my vision pulled now.  No, I'm here with you guys. Damn, that's tempting. See, man, I get so much FOMO, man, I'm like, does this 145 with this go to 130?  The first thing I always look at when I open up a chart is I go to the daily and I go, whoa, whoa, whoa, whoa, whoa, this stock is on its death bed. Are you kidding me? Why is this up? If it's not up on good news, if it's not up on a major catalyst, this is disgusting, man. Every single day it runs, it gets bad. Every single day it runs, it gets bad. No wonder it ended like this. Look at this day. Look at this day. Look at this, of course. Now people can still get squeezed. You can totally still get squeezed. Guys, look at this.  It's not like this is not going to happen. But the point is by the end of the day, there is a good chance that it comes back and does what it's done in previous data. So yes, 100%. I am looking at a daily chart. It's the most important thing in my opinion. I will take this over news. I will sometimes take it over float. I will always look at the daily chart. But when it comes to this, you better be willing to weather a move like this if you think you can just hold all day because you can't. And that will build really bad habits.  You may not be able to stay solid by the time this bastard goes your way. So be very, very careful about holding and just knowing that it's going to go down based on the daily chart. So this gives me a lot of confidence, but I am still a price action player. And if I'm short here and it reps up, yeah, I'm going to have a stop in and it will stop me out. I can always re-enter. That's the point. I can always get back in. Oh my God, right after the stuff move. Goodbye. Clockwork. Let's see. Hey, Tosh, I would be with Cobra. Do I go with DOS or the chart as the charting software? Good question. Frank 40. Cobra has, I think, don't quote me on this because I'm not the broker. If you have any major questions, definitely call them up directly. But I think they have three charting programs you can do. I think they have an in-house charting platform just that Cobra uses themselves. And I don't know if that's free, as I've only been using DOS for so many years. But what you can do is you can use DOS, which is my favorite. And I think the most affordable for smaller traders who don't necessarily get the free, basically the exemption because you trade a certain amount of share. If you trade something over 300,000 shares a month, they're going to waive the platform fee. That's just how all brokers do it. But the whole point is you have DOS, you have Sterling, and then in-house. And then if you guys want to save money, go with the in-house. But I would recommend spending a little bit more if you don't think you're going to hit that 300k trade threshold or whatever it is. Talk to them. I'm not the broker. You will definitely, definitely, definitely like DOS. I think, I mean, I've loved it for four years or however many years I've been using DOS. I didn't use DOS for the first two, and I wish I did. I'll just put it like that. Uh, looks like it would have been a great first bounce. Oh, this?  I just, there's, oh, sorry, I would never long a stock with a daily like this. I don't care if it's a first bounce or not. I don't care what the credit, this is just, it's hideous as a daily chart, yes. Hey traders, this is Tosh. I go by T Bradley 90 in the My Investing Club Chat. Just wanted to reach out and say if you have any questions about MIC, joining MIC, maybe you're a member already, you have three ways to contact myself personally and through MIC. You can hit our social media. You can hit me through PMs in chat or you can contact us through my email at Tosh at MyInvestingClub.com. That's T-O-S-H at MyInvestingClub.com. I will get back to you in a timely manner and I'm saying this because I'm here to help and I don't want anybody to be afraid to reach out and ask any question that they have. We are here for you guys. All right, see you guys.


The benefits and pit falls when teaching one-on-one. So you studied for hours, completed the necessary work, took the test, and received your TEFL certification. Now what? You need to find a suitable company that meets your hours and teaching style. Do you want to teach in person or online? Do you want to teach a group of students or would you like the settings of one-on-one interaction? In this article, we'll take an in-depth look at the benefits and pit falls of teaching foreign students English one-on-one. Language level A major advantage of teaching foreign students when mono-y mono is that there is only one level of English that you are working with. If you had a group of 15 students, you would likely have mixed abilities and levels you would then have to cater to, for each of the lessons plans you develop. So, when teaching a group of students it is difficult to find material in the lesson plan to motivate and allow every student to actively engage the lesson. On the other hand, when teaching just one student, you can find their interests and tailor the plan accordingly to such interests, allowing the student to enjoy and engage the lesson fully. Amount of attention The main benefit for the student while learning one-on-one is that they have constant access to the professor. Therefore, his or her English-speaking interaction is dramatically increased. But with all the one-on-one time it could be exhausting for the student and the teacher. The constant, un-national interaction could lead to premature exhaustion, as both the teacher and the students have no downtime to recuperate. Faster progress Another advantage of teaching one student at a time is that the constant progression made with such student far exceeds the progress compared to their grouped peers. He or she is forced to endure constant attention with the teacher so there is no way to zone out. The teacher will be able to determine any pitfalls the student might have and hone in on such weaknesses to bring them up to standard. With a group, this would be extremely difficult as you are dealing with time constraints. This means some students might fall through the cracks and not retain the information that they should have. More difficult to plan Here come the disadvantages, teaching one-on-one can become monotonous. Teachers have a harder time planning lessons because they cannot incorporate pairs or group work. Also, teachers that are yearning to teach in person, won't be making the money compared to teaching a group of students. That doesn't mean you won't be able to find the perfect position teaching one-on-one online for a comparable wage. More stressful When teaching one-on-one, taking the role of a counselor can be stressful. Since it's a more intimate setting, teachers could feel uncomfortable listening to issues that students might have at home. Also, personality differences could have a huge impact on the quality of teaching time, being that you're only teaching one student. How will their personality affect the lesson? Are you ready to teach different groups of ESL students? Overall, it's really your preference when choosing what size classroom you would like to be in. If you want to provide a top-notch learning environment where you can see results in your students fast, one-on-one would be the way to go. I feel that it takes a certain type of teacher to teach one-on-one classes, that has a particular drive to teach in such an intimate setting. Either way, you'll feel accomplished teaching humanities skill that they can use to go further in life. Speak with an ITTT advisor today to put together your personal plan for teaching English abroad. Send us an email or call us toll free at 1-800-490-0531 to speak with an ITTT advisor today.


What's that smell? That sulfur-y swampy stink? It's Methane, and this is the Lotech Podcast. Hello and welcome to the fifth episode of our new series, our season. I'm Scott Johnson from the Lotech technology institute, your host for podcast number 76, coming to you on February 9th, 2024, out of the Lotech recording booth. Thanks so much for joining us today. We're continuing our tour of Cooksville in 2100, and today we are exploring the world of Methane. And a quick note here at the top. This weekend, that is the 9th, 10th, and 11th of February, we'll be at the Wisconsin Garden Expo in Madison, where I'll be giving presentations on worm composting, gardening in a changing climate, and four-season gardening in Wisconsin. Join us if you're in the area, but if you can't make it, don't worry. I'll post the presentations to the podcast feed as the next few episodes. Also, don't bother following us on Twitter, X, or whatever it's called right now. We're not there anymore, but you can still like us on Facebook, find us on Instagram, subscribe to us on YouTube, and check out our website. Let's LotechInstitute.org. There you can find both of our podcasts, as well as information about joining and supporting the Institute and its research. Also, you know the appeal about advertising on podcasts. If you hear someone else doing the ad, someone else is getting paid. We put out all of our content for free, but if you're in a position to help support our work and be part of this community, please consider becoming a monthly subscriber for as little as three bucks a month through our Patreon page, patreon.com, slash Lotech Institute. Supporters do get the podcast a week early. Another way to support us is to donate your used car. If you're in the U.S., contact us for details.  Once upon a time, this was called marsh, swamp, or bog gas, and was naturally occurring as a source of methane or, chemically speaking, CH4. Although methane is colorless and odorless, what you're actually smelling is another byproduct of anaerobic, that is oxygen-free decomposition of organic materials, and that's hydrogen sulfide, which is H2S, often called rotten egg or smell. Indeed, both marshes and our own intestines are teaming with methanogens, a family of microorganisms that convert decaying organic matter into stinky, flammable gases. Methanogens are a key link in the carbon and hydrogen cycles on Earth and can be tapped into for human friendly energy and global cooling. Over 50 species of microscopic spherical or rod-shaped organisms digest carbon dioxide and hydrogen into methane and water. So that would be CO2 plus 4H2 becomes CH4 and H2O. Free oxygen or O2 doesn't come into this equation. In fact, these methanogens will die in the presence of too much oxygen, and that is why they are in marshes where oxygen has been depleted out of this stagnant water. They also thrive in extreme environments, such as mid-ocean ridges beneath the sea, miles under ice sheets in desert soils, and even on Mars. They can function in extreme heat and cold. Unlike natural gas, which is ancient methane trapped and concentrated beneath the Earth's crust, biogas is a renewable resource and does not introduce new carbon into the atmosphere. A tree growing in a swamp is absorbing atmospheric carbon while it lives. That would be 6CO2 plus 12H2O becoming C6H1206 plus O2 plus H2O. When the tree dies, its cellulose can rot, turning back into carbon dioxide, water, and other components when it's above water. But the carbon released in a tree's decay is just returning to the atmosphere, and the life cycle emissions are essentially zero. But if that tree were to collapse and sink below the water surface of the marsh, methanogens would take over creating methane out of the organic material. When I lived in Alberta, Canada near the oil patch, I'd drive by natural gas wells where they were flaring off huge volumes of methane. I always wondered why burning was better than simply releasing the methane. It turns out that the end result of combustion produces less of a greenhouse effect than raw methane. But the real crucial difference between natural gas and biogas is its impact on that same atmospheric greenhouse effect. Now, methane is more than 28 times more potent to greenhouse gas than carbon dioxide. Luckily, it degrades in one or two decades compared to carbon dioxide, which can hang around for up to a millennium. Stopping the use of fossil methane in the mid 2000s helps stabilize globalized temperature rise. Additionally, by avoiding anaerobic decomposition, we have also been able to decrease atmospheric methane. Yet another way we reduce the greenhouse effect is counterintuitive, burn that methane. Potent methane is turned into less warming carbon dioxide when burned. That's CH4 plus O2 becoming CO2 and H2O and heat, of course. It turns out that at a larger scale, the same principle that an adolescent boy uses to light his flatulence on fire helps stabilize global climate and provide heat for cooking and power for machines. Don't worry, I have no sound effects for this portion or really this entire episode. Generation. So as with all our power sources, we try and use methane in the same location as its production. Although it is a flammable gas like hydrogen, it is an unwanted byproduct and really only used to combust it before it goes into the atmosphere. We use significantly less methane than hydrogen. Where we have processes that create large amounts of decomposing organic matter, we try and find a way to capture the ensuing methane and put it to use. We'll visit our composting operations in another episode, but in many cases we try to avoid anaerobic digestion in the first place and limit methane production except where it's specifically useful. The heart of any system is the methane digester shown here if you're watching us on YouTube. The process starts with so-called waste collection, be it animal manure, green material or other organics. This feedstock may be pretreated by chopping it up and cleaning it up and leaving it to rest, or it can be fed right into the digester. And now these digesters come in many shapes and sizes, but they all consist of basically an airtight container with a minimum of three ports intake, biogas and outtake. Some digesters have a flexible top allowing for the expansion of methane gas and inputs. But as rubberized materials became more difficult to source around mid century, most digesters moved to a solid vessel format, as high pressures are no problem for methanogens. Feedstock is introduced through the intake, which is designed to exclude as much oxygen as possible and maintain pressure. The existing reservoir of digesting materials contains the bacteria or methanogens needed to break down the feedstock. The more regular the feeding, the better for the system. As methane is produced in bubbles to the top and is drawn out through the biogas port. Depending on the size and format of the system, it can be stored or used directly as discussed in a few minutes. Now, as the materials are digested, they're removed through the outtake, which is similarly designed to avoid introducing oxygen or losing pressure. Both liquid and solid fractions are removed for use as fertilizers. All digesters have pressure valves and alarms to avoid too high pressures and the uncontrolled release of a flammable gas because that could be dangerous. Now digesters come in a variety of sizes and complexity. We share a small household system smaller than an old Volkswagen Begadol with our neighbors. Stoughton just down the road has one of the largest digesters in the area measuring hundreds of feet across, which I'll discuss in a second here. But our system is fairly simple with hand operated in and outtake doors. But even these systems have a pressure regulated biogas port to draw out methane at relatively low pressures to avoid dangerous buildup. Midrange versions of these systems have manual cranks to operate drive screws to push solid effluent towards the outtake. Stoughton system is large enough to use a hydraulic or otherwise powered in and outtake ports as well as tighter regulations on biogas draw off because we really don't want to build a pressure there. Many of the larger systems have even internal arms to circulate material for more efficient digestion. Carbon dioxide production is significant at 40 to 60% of the total gas volume. This means the collected gas is only half combustible at home. This is really no problem. And we just push more gas through large reports to get enough material flowing through to heat a pot on a stove. But for factories and other more exacting uses, the CO2 must be removed. One process is pressure swing absorption or PSA. The one in Stoughton is older and only uses four pressure vessels. Newer ones have nine. These are partially filled with carbon dioxide absorbing material. The biogas is pumped under pressure, CO2 is absorbed and the methane is released and then the carbon dioxide is off-gassed. This takes time and a simple cycle uses four tanks each staggered so that a constant supply of methane is produced. More efficient and effective cycles use up to nine tanks with more complex cycling and refining of the gas I'm not going to get into. Another process, water scrubbing relies on the ability of water to better absorb carbon dioxide than methane. Pressurized biogas and water are sprayed into a pressure tank and mixed, allowing much of the CO2 to be absorbed by the water. Methane is drawn off and the water is routed to another tank and the carbon dioxide is released. While less efficient, water scrubbing is more flexible than PSA, so the end use determines really which of these scrubbing methods is used. So now let's talk about storage. As with hydrogen and our other fuels, we use our methane as close to its point of production as possible and attempt to minimize storage. Luckily, as flammable gas, some of the same options used for hydrogen can be converted to store biogas. But unlike hydrogen, methane liquefies at only 260 degrees below zero Fahrenheit, that's 162 centigrade, that's compared to hydrogen's liquefification point of negative 487 Fahrenheit or 253 Celsius. This makes a denser fuel possible, even though frozen or this type of methane is almost never used. The simplest systems do not really store biogas outside of the digester. An isolated farm that uses biogas for cooking, heating or powerage generation simply draws gas out of the gently pressurized digester through a regulator. Cooking on a stove stop, for example, needs about a half a therm an hour and a therm is 100 cubic feet, that's 2.8 cubic meters of gas at atmospheric pressure. A therm of gas is easily created each day with a small digester handling the approximate leaves, in this case 21 gallons or 80 liters of manure from their four cows. If the pressure in their system, our neighbors rises to high, it's bled off and burned to heat water for space heating in the winter or other energy uses in the summer. Simple systems often make use of legacy propane tanks, which are discussed in more detail next time or next time we come back to 2100 because these tanks are more typically used for compressed air. The only difference is that biogas is filtered through steel wool to remove any sulfur, limestone crystals to remove CO2 and silica to remove moisture before they're being bottled and stored. When biogas is stored in the same pressure tanks that have been developed for hydrogen, we get less energy than a similar volume of hydrogen. Small scale producers and users of biogas typically use low pressure tanks that are rated to over 5000 psi or 350 bar. Compressed natural gas essentially is stored at 3000 psi or 200 bar. The standard five gallon or 20 liter tank holds up to a thermon half of natural gas and this would dry about eight loads of laundry in an early 2000s natural gas dryer equivalent. Although this would be about 45 kilowatt hours of energy because raw biogas is approximately half CO2, the capacity is diminished by about 50% without scrubbing. You can compare this to 30 kilowatt hours for the same tank with hydrogen at 5000 psi or 350 bar. Workshops and factories that use biogas often use scrubbers to store pure methane in a series of linked or plumb together 50 gallon, 200 liter tanks. Each tank can hold up to 450 kilowatt hours worth of methane if scrubbed clean of carbon dioxide. That's quite a lot. Some vehicles are also designed to run on biogas, especially tractors and machinery on farms where biogas is more readily produced and vehicle cargo space is not an issue. Although these vessels typically measure fuel use by the hour, to give you an idea of an equivalent, a car going 100 miles or 160 kilometers would need 15 pounds or about 7 kilograms of methane or double that for unscrab biogas. Because this would require two 5 gallon or 20 liter storage tanks just for pure methane, biogas is impractical for passenger vehicles but perfect for tractors, loaders, and other utilitarian equipment in isolated areas. In a few instances, liquefied biogas or LBG is used as a fuel. By chilling the biogas down to negative 260 degrees Fahrenheit and putting it in a super insulated tank at regular pressure, LBG can pack a large amount of energy into a small space. Although we do lose about 14% of the input energy to run the compression and freezing equipment. This is mostly used for long distance transportation on trains and cargo ships, which traverse long stretches between stops using vaporized natural gas escaping from the super cool tank. A gallon of LBG contains the same energy as about 82 cubic feet, that is about 0.82 therms, and have to dry four loads of laundry, which has become our standard comparison for biogas power apparently. So now let's turn to how we use biogas. It's not to dry laundry. A century ago natural gas we used for industrial processes such as fertilizer production, electric power generation, residential and commercial heating and cooking, and transportation in descending order. Today's biogas is used for, in descending order, high temperature industrial applications, transportation, cooking, heating and power. We'll look at each of these in turn as we see examples of large and small systems. Even in small communities, neighborhoods, or even individual households, most have at least access to a simple biodigester to handle organic waste. Although compost could also take care of all this material, in northern climates especially, a source of compost or excuse me combustible gas adds a welcome diversity to energy mix. These small digesters work in the winter and have the simplest input and output hatches and a pressure-containing vessel to hold methane at low pressures as we talked about. Most neighborhood scale units have an automatic compressor system attached, and this is used to fill small tanks for local use, largely for cooking and heating. Isolated farms are a big producer and user of methane. Gone are the confined animal feeding operations known historically as CAFOs of a hundred years ago, but even our smaller dairy and beef farms create a large amount of manure in the winters. During the summer cows are typically in larger pastures where their droppings are aerobically broken down in the fields, but when confined to smaller yards and barns for the winter though cows produce concentrated by-product which can be controlled or are collected into large sealed domed tanks where methanogens can go to work. Methane gas rises and the water and solids sink. The gas can be piped to the farmhouse now for heating, hot water, cooking, transportation, and if all those needs are met small energy generators can be run for electricity. The resulting liquid and solids can then be drained from the tank and spread in the fields as fertilizer. It's a closed loop. Many farm tractors and machines have been engineered to run on methane stored in large tanks that would be awkward for use in passenger vehicles, but not a problem in these utilitarian vehicles where locally generated mobile power is needed. Some operations use the methane to heat greenhouses which has the added benefit of increasing the carbon dioxide level which further benefits plant growth because they like that carbon dioxide rich environment. Some of the largest users of methane are industrial workshops where they fuel metal smelting and other high heat processes. These rely on large predictable feedstocks and they've also invested in scrubbers to provide pure methane from the digesters. Compact, large communities mostly concentrate around legacy cities. The nearest area for us is the Chicago area. These produce tons of organic waste from humans, another animal manure to yard, garden, and kitchen waste. In return for supplying these large digesters the community then gets compost back and in some cases a share of the methane for local use while the factory uses the majority of the methane for production. Excess heat is often shared in densely built communities as free winter heating which is going to come into play in another episode when we talk about that. An additional source of methane has been legacy landfills which continue to produce a small amount of methane even a half a century after they were shut down as part of the closed loop economy. Outside of densely populated areas workshops and factories work in concert with farmers to collect animal manure and other green materials to feed their digesters. Other large users include long distance transportation in isolated areas. Although hydrogen can also be used in these contexts, some container ships and isolated train routes use methane as a fuel also. In the next episode we're going to be taking a quick detour to talk about gardening in a warming world. A talk recorded at the Wisconsin Garden Expo so stay tuned for that. That's it for this week. The Lotech podcast is put out by the Lotech Technology Institute. The show is hosted and produced by me, Scott Johnson. This episode was recorded in the Lotech Recording booth in Cookville, Wisconsin. Subscribe to the podcast on iTunes, Spotify, Google Play, YouTube and elsewhere. We hope you enjoyed this free podcast. If you'd like to join the community and help support the work we do please consider going to patreon.com slash Lotech Institute and sign up. Thank you to our Forrester and Land Steward level members, the Hambuses for their support. The Lotech Technology Institute is a 501c3 research organization supported by members, grants and underwriting. You can find out more information about the Lotech Institute membership and underwriting at LotechInstitute.org. Find us on social media and reach me directly. I'm Scott at LotechInstitute.org. Our intro music today was 50 over the speed limit off the album Power Pop by Halizna, that song in the public domain. And this podcast is under the creative comments, attribution and share like, license meaning you're free to use and share it as long as you give us credit. Thanks and take care.


Alrighty, we have arrived at what might be my favorite island in one piece thus far I will not explain myself, so don't ask me to but ladies and gentlemen welcome back to the channel My name is Jack the Buster, I should know be we have episodes 409 and 410 of our one piece watch today And like I said, we arrived on this new island called Amazon Lily It's full of strictly women who are kind of they don't have like snakes and it took them a bit Then to find out that Luffy is an actual guy who none of them have ever seen before There's a very painful scene in which they thought you know what was a mushroom and pulled on it You can go back and see my reaction pain if you're new to the channel drop us up and hit that big wood bell And let's find out more about this place No maidens They only give birth Whoa Wait, that's sick this place is dope Amazon Lily this place just gets better and better Though I don't think I would be allowed here. It seems oh, yeah, they all have their own like snake. That's so adorable She's ripped There's an ox got a whole low economy and everything I would assume so if there's only women here a very successful. It seems civilization like they're all they'll look happy Healthy the place looks nice Great place here of elegance.  Oh betting odds and Kiku must be strong.  Oh No, oh my god, the strong are beautiful Yeah, what happens if a man comes here. Oh Radication. Oh, I mean it didn't seem like they were mad. It just seemed like they were confused Oh, he's in prison. He's like a strange animal to them. Do they all wear the same heels? No breasts, bro.  Yes He can talk he is human He doesn't remember oh man that was the last thing dude now the question the question that remains is did any of them get sent here, too Everybody listen. Oh My oh, no, yeah, I guess he does remember eating the mushrooms The hat. What are you doing with his hat? Oh? My gosh, Luffy's butt is just out. All right. He's bad. He's back, baby Men can stretch their arms. He's like taking notes Every man can stretch. Oh my gosh, Luffy It took him that long to realize men are slow They're getting some wrong impression.  What is going on?  This is this is something else man.   They all do seem pretty nice. I think they're just confused. What? Oh, it don't it don't fit. Oh You look great sexy flower thrills Oh my goodness Luffy that thank you Luffy was a kind guy. Oh No, he's losing it. He's become hostile Even the snakes got in the position. Whoa, whoa, whoa, whoa, whoa, whoa, whoa chill So do they all use bows when tonally yelling? I've never seen that word in my life. He's not the most elegant now Ah, so they've been taught that men are incompatible with women You literally need to just send him on a ship out of here man, I don't think the arrow Wait arrows would kill Luffy wouldn't they? They're piercing For centuries who put that rule in the place? Um, hello, is he just going to be executed? Are they gonna try to execute him here? It's kind of bizarre being with just Luffy and not having any of the rest of the crew and the dynamic There you go Luffy. Okay. What a weird country The snake princess. Ah, there's one to rule them all I honestly thought she was like the leader of them. She kind of acts like the leader Cover up this incident. Oh yikes. What did the elder think? She seemed to actually understand what was going on Thanks, she was not hearing him out I'm sorry. Were they explosive arrows? Oh, they're using the snakes as the bows. How did I just realize that? That's actually really cool well Oh No He does have to just bust out of there. He is strong enough man gear two and three So what are these arrows made out of bro? Oh my gosh. Yeah, like stones.  She doesn't look like she wants to hurt him or anything Oh my Luffy. Well, I don't know where everybody else went. Luffy's living the dream man Just bouncing around. There's a man on the loose Oh my gosh, there's a snake with meat. Oh no, Luffy just kind of robbing. All right, now he's rejuiced Oh no, not this entire island is going to be chasing him How did he make an enemy out of everyone so quick? Well in his defense He's like a natural enemy to them. So it is what it is. He's just trying to escape Oh my goodness. This place is huge. This island is enormous Oh No Damn They kind of talented.  I mean She actually seemed to be like one that like, uh, I guess had some sort of sympathy for him a bit abducted Now he's just gonna explain it to her. Oh my gosh. It looks like he's just killing her Luffy. She's now rubber What if he explains everything to just this one girl then it makes things much easier She's like, have you bought me out here to kill me?  Yo, we're chill The virus it seems like they've been fed information about men Oh, she kept it with her. Oh, wow. I'm shocked. She didn't just think it was trash. Oh, it says Rayleigh on it She's pulling his finger. Oh, she's frustrated. What is she doing? Oh, now you're gonna explain everything To say the least Oh my gosh, we're so fixated on that Okay, so she does What the impris is a pirate I assumed to rule over them all. Yeah Oh So they actually said say oh, that's probably where she is now then So she's got a cracked a cracked crew of amazonians snake princess I'm guessing they all like all their dream is to join her crew It's beautiful Boa like a snake by her and her two sisters Oh, okay. Oh, it's like the three snakes kind of those snakes have a hair Oh, she's back So boy Hancock or two sisters or pirate crew Dude, I feel like kikiyo is like next up to join that crew It seems like she leads all of them whenever that pirate crew is gone Oh shoot, wait, are those the two sisters behind her? They're like freaking enormous Wait, this ship looks really nice too. That looks that's a dank design So the snakes make up the ship. They're like strapped to it. There's like little belts. Why do they have hair? All right episode 410. Let's get it Is he all healed? Oh, we back baby. She's like what a strange human. Yeah This is their first their first uh experience with them in between their legs Take what off Does he not understand buttons? She's like, I thought it looked lovely Oh, nice. We got a new new fit. I love that he needed help with the buttons, bro Yeah, he's he's stressing about him. I don't I don't blame him Yeah, he had thought he lost them all Oh Too he fights for dude, I want to check in on everything with Bartholomew kuma because he said this is probably the last time Why is he running on his hands? Why?  I draw you in except. They're actually real This is poisonous sea snakes. That is so dank though. That's cool. That's the only way out of here, bro Holy he's gonna have to just make a raft. Yeah I think he could do it. Oh, okay not a raft that looks like that He looks psychotic, man And now he's gonna drown He is oh, can you help him, please check a pirate that doesn't know how to swim I mean his best bet is uh befriending uh, the the impris, uh, uh boa If only Frankie were here he could whip a ship together instantly She seems like conflicted with him like she she does uh not careful. Oh, what? She's like i've taken too much of a liking to you Even the snake is just like a long for the rise. She's like, all right. Well, you're the boss Dude, what are those arrows made out of?  There it is again. It was what uh Rayleigh used No, you're just having a civil conversation. God that hockey's crazy I say is to try to befriend her but Yeah, they hate men that much.  Wait. What's going on? Oh my gosh Wait, why did the navy come here? This see prism stone in the warship. Uh, are they gonna attack? Oh, they have a great agreement Just to turn people to stone So the kuzha have a deal with the government God damn This is a vice admiral. Okay. I was thinking for a second if this was admiral. Uh, what's the last one? Like I knew Oh, he looks sick I was like we just got revealed kizuru. It wouldn't reveal two I don't think that closely to each other. They space these bad boys out Well, since there's only one admiral left that we haven't seen Dude, they're gonna show how this vice admiral like flexes because he's the one that cut it That's why his blade was bloody.  He's cracked. Well, I don't know kizuru was like A god amongst men to be honest. This guy seems strong though still Damn impressive. I mean you got to be strong to mend that kind of warship too. Why do they come here? They don't know luffy's here do that. There's no way kuma wouldn't have told where they went We get a name for him. Oh Mamon ga That's why they have an agreement there is no way bro. There is absolutely no way Of ace. Oh my gosh, luffy still hasn't found out That's why they came here to get her. Oh my gosh, there's no way another warlord Why isn't he speaking directly to her? Oh, she has to be so strong then You She's being sanely strong I mean she leads all of them and her two sisters are probably like probably not as strong but still insanely strong They said she was the most beautiful in all the land You gotta tease me man.  So wait So mihawk doflamingo crocodile got fired kuma. They name dropped jimbae in our long park Uh gecko moria and then boa hancock is six. We haven't seen jimbae Boi hancock is six. There's another one. I think there's a oh, no, no, no blackbeard now. Okay So she's the second to last that we need to meet Hey, yo You witch just kicked a little kitty cat. She's just standing on the snake.  It's a drawing. It's a drawing. It's a drawing. It's a drawing. It's a drawing.  Oh my gosh. They're enormous. Voa marigold youngest Boa sandersonia Sandersonia marigold Or else oh my She's trying to alpha him right now Dude, it is kind of like a siren high key. See it's a good thing. This is a vice admiral an actual admiral wouldn't let this happen One week brother the townskirt Like in our entire crew is like disbanded right now. Oh disastrous They want every warlord there to counter whitebeard I guess we'll get a really good insight just to who she is if she those or not What why are you a warlord then?     Wait, she just killed all of them, right?  She either comes or she doesn't damn this is nuts Like I said, still the fact that luffy doesn't know that that ace is a scheduled execution one week And we don't know where everybody else is Did she keep her title? I'm guessing so Oh, he's waiting Two days time Oh shoot the island would inherently be endangered. She said she hates the world government She want nothing to do with them. Holy she kind of like a a boss. I swear to god Okay, well, uh luffy getting sent to this uh all woman island I did never expected it in the slightest to be to end up being the fact that we meet a warlord and She happens to lead all of them But my guess is that kuma knew like I mean like we're we're like pretty much sure kuma knows exactly where he's sending you Right, that's why he asks you like where do you want to go? But with the straw hats, he just kind of sent them all off because they didn't even know what was happening at the time My guess is kuma knew exactly where he was sending everyone and specifically sent luffy here because he knew that hancock was here Like he possibly knew that hancock also did not like the government And that's why he sent luffy here because he knew that luffy out of all of them Was the captain and the strongest of the crew and could maybe talk with her about it because it seems that kuma himself Also is kind of turning on the government. It's just madness. But this is this is great This is crazy lore. It feels like there's like a clock ticking right now, and it's just exceptional I'm loving it like crazy because that's been episodes 409 and 410 of our one piece watch So do drop us some other channel if you are new and I catch you in the next one Is base