On time, we start with the next talk. I welcome Richard Hartman. He is involved in Debian since many years, and he became recently a Debian developer. And he will talk about Gitify your life. Web, blog, configs, data, and backups. Gitify everything. Richard Hartman. Thank you. Thank you for coming, especially those who already attended all of those buffs. Yeah, short thing about myself. As Gordon said, I'm Richard Hartman. In my day job, I'm a backbone manager at GlobalWays. I'm involved with FreeNode and OFTC, and oh, should I speak louder? I'm not sure. Test, test. Good, back there. Can you turn up the volume a little bit? Test, test. OK, perfect. OK, since about a week, I've been a Debian developer. Yay, and I'm the author of WCZ. Yeah, OK. So raise of hands. Who of you knows what Git is? Perfect. That's just in a backup plan, but perfect. We can skip it. Let's move to the first tool, ETC Keeper. Some or maybe even most of this audience will have heard of it. It's a tool to basically store your slash ETC in pretty much every single version control system you can think of. It's implemented in a POSIX shell. It auto commits everything in ETC basically at every opportunity. You may need to write excludes, for example, for your network config when you have DHCP, but else, yeah, that's really cool, the auto commit. It hooks into most of the important, or maybe even all of the important, package management systems. So when you install new packages, even on SUSE or whatever, you can just have it commit automatically, which is very nice. You can obviously commit manually. If you, for example, change your X config, it supports, as I said, various backends. And yeah, it's quite nice to recover from failures. For example, Axel used it to recover from Saturday's power outage, because some servers lost stuff. And with ETC Keeper, he could just replay all the data, which was rather nice. Then there's BUP. BUP is a backup tool based on the Git pack file format. It's written in Python. It's very, very fast, and it's very space efficient. The author of BUP managed to reduce his own personal backup size from 120 gigabytes to 45 gigabytes just by migrating away from our snapshot over to BUP, which is quite good. I mean, it's almost a little bit more than a third, so very good. This happens because it has built-in data application, because obviously, Git pack files also have data application. You can restore every single mount point or every single point in time, every single backup point can be mounted as Fuse file system, or by means of Fuse file system, independently of each other. So you can even compare different versions of what you have in your backups, which, again, is very nice. The one thing which is a real downside for most serious deployments, there is no way to get data out of your archive or out of your backups, which, again, is a direct consequence of using Git pack files. There is a branch which supports deleting old data, but this is not in mainline. And it hasn't been in mainline for, I think, one or two years, so I'm not sure if it will ever happen. But yeah, at least in theory, it would exist. Then for your websites, for your wikis, for your whatever, there is Ikiwiki. Ikiwiki is a wiki compiler, as the name implies. And it converts various different files into HTML files. It's written in Perl. It supports various backends. Again, most of the ones you can possibly think of. Oh, and I can even slow down. Great. It's able to parse various Mergeblank languages, more on that on the next slide. There are several different ways to actually edit any kind of content within Ikiwiki. It has templating support. It has CSS support. These are quite extensive, but they may be improved, but that's for another time. It acts as a wiki, as a CMS, as a blog, as a lot of different things. It automatically generates RSS and atom feeds for every single page, for every single sub-directory. So you can easily subscribe to topical content. If you're, for example, only interested in one part of a particular page, just subscribe to this part by RSS, and you don't have to check if there is any updates or anything, which is very convenient to keep track of comments somewhere or something. And it supports OpenID, which means that you don't have to go through all the trouble of having a user database or doing a lot of anti-spam measures, because it turns out OpenID is relatively well suited for just stopping spam bots. For some reason, maybe they just didn't pick it up yet. I don't know, but it's quite nice, because you don't have to do any actual work.  It supports various Markdown languages, the best one. Well, debatable, but in my opinion, it's Markdown. It supports wiki text, restructured text, text style, plain HTML, and there are icky wiki-specific extensions. For example, normal wiki links, which are a lot more powerful than the normal linking style in Markdown, which kind of sucks, but whatever. It also supports directives, which basically tell icky wiki to do special things with a page. For example, you can tag your blog pages, or you can generate pages which automatically pull in content from different other pages and stuff like this. That's all done by directives. How does it work? You can edit the web page directly, if you want to, on the web. Then you will have a rebuild of the content, but only the part which changes. So if you, hello, okay. If you change only one single file, it'll only rebuild one single file. If you change, for example, the navigation, it will rebuild everything, because obviously it needs to rebuild everything. Hello, okay. Yeah, okay. Yeah, if it has to generate pages automatically, for example, new index pages or something, if you just create a new sub directory, or if you have comments which start to appear on your site, it will automatically generate those Markdown files and commit them, or you put them in your source directory and you can just commit them and have them be part of your site, or you can auto commit them if you want. That's possible as well. You can obviously pull in all changes in your local repository if you wanted to look at them. Common users would be public wiki, private notes for just note keeping of your personal to-do list or whatever. Having an actual blog, which a lot of people in this room probably do, that's, yeah, I mean a lot of people on Planet W and have their blogs in Ikiwiki for good reason, and an actual CMS for company websites or stuff, which also tends to work quite well. The three main ways to interact with Ikiwiki are web-based text editing, which is quite useful for new users, but it's quite boring in my opinion. There is also what you see is what you get editor, which is even more fancy for non-technical users. There's just plain old CLI-based editing where you just edit files and commit them back into repository pushes up and everything gets rebuilt automatically, which is, in my opinion, the best way to interact with Ikiwiki because you're able to stay on the command line and simply push out your stuff onto the web, but you don't actually have to leave your command line, which, yeah, is pretty convenient. There are also some more advanced use cases. As I said, you can interface with the source files directly. You can maintain something is wrong. For example, you can maintain your Ikiwiki and your docs and your source code in one single directory, and it will simply have part of your sub-directory structure rendered. For example, Git-annex-dustice, there is a doc directory, which gets rendered to the website, but it's also part of the normal source directory, which means that everybody who checks out a copy of the repository will have the complete firm, bug reports, to-do lists, user comments, everything on their local file system without having to leave, again, their command line, which doesn't break media, and so it's just very convenient to have one single resource for everything regarding one single program. And another nice thing is if you create different branches for preview or staging areas, you can even have workflows where some people are just allowed to create pages. Other people then look over those pages and merge them back into master and then push them to the actual website, which basically allows you to have content control or real publishing workflows if you have a need to do this. Yeah, next up, Git-annex, the beef. It's basically a tool to manage files with Git without checking those files into Git. That might sound counterintuitive. Yeah, what is Git-annex? It's based on Git. It maintains the metadata about files as in location and file names and everything within your Git repository, but it doesn't actually maintain the file content within the Git repository. More on that later. This saves you a lot of time and space. You're still able to use any Git-annex repository as a normal Git repository, which in turn means you're even able to have a mix of, for example, saying all your README files should be maintained by normal Git and then you have all the merging which Git does for you and everything. And then you have, for example, your photographs or your video for web publishing, which are maintained in the annex, which means you don't have to have a copy of those files in each and every single location. A very nice thing about Git-annex is that it's written with very low bandwidth and flaggy connections in mind. Quite a lot of you will know that Joey lives basically in the middle of nowhere, which is a great thing to be forced to write really efficient code, which doesn't use a lot of data. This shows it's really quick even if you had a really, really bad connection in backwater or whatever during holidays or during normal living. It's still able to transfer the data which you need to transfer. This is very, very nice. And there are various workflows. We'll see four of them in a few minutes. So it's written in Haskell, so it's probably strongly typed and nobody can write patches for it. It uses R-Sync to actually transfer data which means it doesn't try to re-invent any wheels. It's really just basing on top of established and well-known and well-debugged programs. In indirect mode, which in my personal opinion is the better mode, what it does is it moves the actual file into a different location, namely .git-annex-objects. It then makes those files read-only so you cannot even accidentally delete those files. Even if you RMF them, it will still tell you, no, I can't delete them, which is very secure, might be inconvenient, but you can work on this. It replaces those files with symlinks of the same name and those just point at the object. And if there is an object behind this symlink or not, that basically determines if you are able to access the data on this particular machine or in this particular repository. But you will definitely have the information about the name of the file, the theoretical location of the file, the hash of the file will be in every single repository. There's also a direct mode. Initially mainly written for Windows and Mac OS X because Windows just doesn't support symlinks properly and OS X, while supporting symlinks, apparently has a lot of developers which think it's a great idea to follow symlinks and display the actual target of the symlink instead of the symlink. So you have cryptic file names which are really hard to deal with. And obviously people who are used to GUI tools which then only display really, really cryptic names, so that's no good. So there's direct mode which doesn't do the symlink stuff. It basically rewrites the files on the flyer. Git still thinks it would be managing symlinks but Git Enix just pulls them from under Git and pushes in the actual content. You keep on nodding, so I'm probably doing good. And if you want, you can always delete old data or you can keep it. Or you can just, for example, what I'm doing, you can have one or two machines which slurp up all your data and have an everlasting archive of everything which you ever put into your annexes. And then other machines, for example, laptops with smaller SSDs, those just have the data which you're actually interested in at the moment. How does this work in the background? Each repository has a UUID. It also has a name which makes it easier for you to actually interact with the repository but in the back end it's just a UUID for obvious reasons because it just makes distributed generation and synchronization easy, period. It's also tracking information in a special branch called Git Enix. This branch means that all... Should I? This branch ensures that every single repository has full and complete information about all files, about the location of all files, about the last status of those files, if those files have been added to some repository and then deleted, or if they have been over there forever. So in every single repository, you can just look up the status of this file or of all files in all other of your repositories, which is convenient. The tracking information is very simple and it's designed to be merged. It's a little bit more complicated than a plain union merge, but basically what it does is it just has a timestamp and tells you if the file has been there or not, and it has the UUID of the repository. And from this information, along with the timestamps, you can simply reproduce the whole life cycle of your files through your whole cloud of Git-NX repositories in this one particular NX. One really nice thing which you can do is, if you're on the command line, which again, in my opinion, is debutter mode, you can simply run git-nx-sync, which basically does a commit, oh, it does a git-nx-add, then it does a commit, then it merges from the other repositories into your own master and into your own Git-NX branch, then it merges the log files, that's where the git-nx branch comes in, and then it pushes to all other known repositories, which is basically a one-shot command to synchronize all the metadata about all the files with all the other repositories, and it takes no time at all, given network connection. Data integrity is something which is very important for all of the tools, but Git-NX is really designed with data integrity in mind. By default, it uses SHA-2, 256, with file extension to store the objects, so it renames the file to its own SHA-SOM, which allows you to always verify the data even without Git-NX. You're able to say, by means of globbing, which files or which directories or which types of files should have how many copies in different repositories. So, for example, what I do, all my raw files, all the raw photographs are in at least three different locations. All the JPEGs are only two, because JPEGs can be regenerated, raws cannot. All remotes and all special remotes can always be verified with special remotes. This may take quite some bandwidth with actual normal Git-NX remotes. You run the verification locally and just report back the result, which obviously saves a lot of bandwidth and turns for a time. Verification obviously takes the amount of required copies into your account, so if you would have to have three different copies and your whole repository cloud, you only have two, it'll complain. It will tell you, yes, the checksum is correct, but you don't have enough copies, please do something about it. And even if you were to shoot Jory right now and delete all copies of Git-NX, you would still be able to get all your data out of Git-NX, because what it boils down to in indirect mode, it's just sim links to other objects. These objects have their own checksum as the actual file name, so you'll even be able to verify without Git-NX just by means of a little bit of shell scripting that all your files are correct, that you don't have any bit flips or anything on your local disk. Direct mode doesn't really need a recovery scheme because the actual file is just in place of the sim link. Yeah, but on the other hand, you still need to look at the Git-NX branch to determine the actual checksums, which you wouldn't have to do with the indirect mode. There are a lot of special remotes and what are special remotes. These are able to store data in non-Git-NX remotes because let's face it, on most services where you could store data, you aren't actually able to get a shell and execute commands. You can just push data to it and you can receive data, but you cannot actually execute anything on this computer. That's what special remotes are for. All special remotes support encrypted data storage, so you just GPG encrypt your data in dense and off, which means that the remote services can only see the file name, but they cannot see anything else about the content of the files, which is, yeah, obviously you don't want to trust Amazon or anyone to store your plain text data.  There's a hook system, which allows you to write a lot of new special remotes and you'll see a list of, a quite extensive list of stuff in a second. Normal built-in special remotes, which are supported by GIT-NX out of the box and implemented, actually implemented in Haskell, are Amazon Glacier, Amazon S3, a normal directory on your system, Rsync, WebDef, HTTP or FTP and the hook system. There's a guy who wrote most of those, where you can support archive.org, imappbox.com, Google Drive, yeah, you can read yourself, I mean, but those are quite a lot of different special remotes, so if you already have storage with any of those services, just start pushing encrypted data to it if you want to, and you're basically done. There's an ongoing project called the GIT-NX Assistant last year, and I think this year just ended, didn't it? Yeah, so pretty much exactly one year ago, Joey has started to raise funds by means of Kickstarter to just focus on writing GIT-NX Assistant for a few months.  Are you still accepting funds? Okay, so if you use it, at least consider donating because honestly you can't write patches for it anyway because it's in Haskell, so that's the other means of actually contributing. GIT-NX boils down to being a demon which runs in the background and keeps track of all your files, of newly added files. It keeps then, it then starts transferring those files if configured to do so. It starts transferring files to other people or to other repositories. This is all managed by means of a web GUI which in turn means that it's really, well, not easy but easy error to port to, for example, Windows or Android which both work to some extent, not fully but they're useful or usable, more or less. Yeah, at least on Android it's really quite well. I couldn't test it on Windows because. And it also makes it accessible for non-technical users. So, for example, if you want to share your or some of your photographs with your parents or with friends or if you want to share, I don't know, videos with other people, you just put it into one of those repositories and even those non-technical people just magically see stuff appear in their own repository and can just pull the data if they want to. Or if you configure it to do so, it will even transfer all the data automatically which is, yeah, it's mom compatible. That's the short version. It supports content notification but not content transfer by means of XMPP or Jabber which used to work quite well with Google Talk. I think it's not, oh, it still works. Okay, at least at the moment. We'll see when they just cut the cord and replace it with Google Plus. Yeah, at least at the moment it still works by, if you have a Google account, you can simply transfer all your data. Or you can transfer the metadata about your data. You cannot actually transfer the files through Jabber but that's probably something which will happen within the next year. There are quite a lot of one's rule sets for content distribution. So for example, it can show you, okay, it can show you, you can say put all raw files into this archive and all JPEGs onto my laptop or whatever. Or if I still have more than 500 gigabyte free on this disk, please pull data in and as soon as I only have 20 left, stop pulling data into this one repository which obviously is quite convenient. As I said, there's an Android and Windows port and now onto use cases. First use case, the archivist. What the archivist does is basically he just collects data either to ever look at or just to collect. And if you have this use case, what you probably want to do, you want to have offline disks to store it to your moms or to put into a drawer or just you don't have enough SATA ports in your computer because you just have so much data. So what you can do is you can just push this data to either connected machines or to disconnected drives or to some web service and just store data. But normally you would have the problem of keeping track of where your data lives if it's still okay, if it's still there, everything. With good annex, you can automate all this administrative side of archiving your stuff. And if you have yet only one of those disks, if there are proper remotes, you will have full information about all the data in your annex cloud up to this point. So even if you only pull out one random disk, you'll still have information about all the other disks on this one disk, which obviously is a nice thing. Media consumption, let's say you pull a video of this talk or you get some slides, maybe also from this talk, you may get some podcasts and get annex has become a native podcatcher quite recently, I think two or three weeks ago, which means you don't even have to have a separate podcatcher, you just tell get annex, this is the URL of my RSS feed and it'll just pull in all the content. Then you can synchronize all this data, for example, to your cell phone or to your tablet or whatever, consume the data on any of your devices, even if you have 10 copies of a particular podcast, because you didn't get around to listen to it on your computer, you didn't get around to listen to it on your cell phone, but then on your tablet, you did listen to it. And you have three copies of this file, which you don't need anymore because you listened to the content and don't care about the content anymore. What you do is you drop this content on one random repository. And this information that you have dropped the actual content, not the metadata about the content, but the actual content and don't need the content anymore, will slowly propagate to all other annexes and if they have the data, they will simply also drop the data. So you don't have to really care about keeping track of those things, you can simply have this message propagate. Do you want to comment? Can someone give Joey a microphone? Just as a minor correction, it doesn't propagate that you've dropped the content, but you can move it around in ways that have exactly the effect that you described. I just didn't want people to get the wrong idea that if you accidentally removed it from one thing, it would vanish from everything with us. That's what happens. Yeah. But if you deliberately dropped the content and tell the annex, I don't. No, that's not how it works. We'll have to talk about it later, but it's... You look at the slides, but... Oh, I'm sorry, I missed that one. He watched for everything which is by him. Okay. Okay. Next thing, if you're on the road and one use case, which is probably quite common, taking pictures while on the road, while during holiday days.  And even if, for example, one disk gets stolen and you lose a part of your content, you will still at least be able to have an overview of what content used to be in your annex. And if you then pull out your old SD cards and see, oh, that photo is still there, it can simply re-import and it'll just magically appear.  Which then means you will have two or three or five copies of the data and get annex keeps track of what is where for you so you don't have to worry about copying stuff around. Yeah. And then there is one personal use case for photographs. I have a very specific way of organizing my photographs. My wife disagrees wirelessly and she likes to do her photo storage in a completely different way and she doesn't care about raw files and she doesn't care about all the documentation pictures of signposts or whatever, which I took to just remember which city we went through. So what she can do is she can simply delete the actual file or more to the point the sim link of this file and it will disappear from her own annex. She can then commit all this. Normally if she would sync back the data, I would also have the same layout, which I don't want, especially since she tends to rename everything a lot. But what I did, I set up a rebasing branch on top of my normal git annex repository. So what she gets is she has her own view of the whole data or the part she cares about. And when I add new content, she'll see the new content. She will rearrange the content however she pleases. But as it's a rebasing branch, all her changes will always be replayed on top of master. So she has her own view and I don't even notice her own view. But even if she uses one of the other computers, she will have the same view which she herself has. So basically she has her own view of all of the data. This is very convenient to keep the piece at home. Next topic, we see as age. Most of you would probably have some sort of system where they have one subversion or CVS or whatever repository and they have it somewhere in your home directory. You sim link into various places in your home directory and it kind of keeps working so you don't really throw it away.  Here's why. Or here's why in a second. We see as age is implemented in POSIX shell so it's very, very portable. It's based on Git but it's not directly Git. The one thing which Git is not able to do is maintain several different working copies within one directory which is a safety feature more on that later. But this really sucks if you want to maintain your M player, your set shell, your whatever configuration in your home directory which is the obvious and only real place where it makes sense to put your configuration. You don't want to put it into ..files and then sim link back. You want to have it in your home directory as actual files. So we see as age uses fake bear good repositories. Again, more on that on the next slide. And it's basically a wrapper around Git which makes Git stuff do, which makes Git do stuff which it normally wouldn't do. And it has a point it's sensible and usable hook system which Goddons will care about. With a normal Git repository, you have two really defining variables within Git. You have the work tree, which is where your actual files live and you have the Git there where the actual Git data lives. Normally in a normal checkout, you just have your directory and .git under this. If you have a bear repository, you obviously don't have an actual checkout of your data. You have just all the objects and the configuration stuff. So that's what a bear repository boils down to being. A fake bear would get repository on the other hand. It has both. It has a Git work tree and it has a Git there, but those are detached from each other. They don't have to be closely tied together. And also sets core bear false to actually tell Git that, yes, this is a weird setup, but yes, you still have a work tree even though you don't really expect it to have one, you still have a work tree. By default, WCSH puts your work tree into home and you get there into, yeah, it's balsamt.config, WCSH repd and then name of the repository, which just puts it away and out of the way of you actually seeing stuff. But it follows the cross-test of specifications. So if you move stuff around, it'll also follow. Fake bear repositories are really, thank you, are messy to set up and it's very easy to get them wrong. This is also the reason why Git normally disallows doing this kind of stuff because all of a sudden you have a lot of context, dependency on when you do what, just imagine you set Git work there, a Git work tree, sorry, and run random commands like git add, that's kind of okay. If you Git reset hard head, yeah, you will probably not be too happy if you check out the current version, that's also quite bad, and if you clean F, yeah, you just killed your home directory, congratulations. So it's really risky to run with these variables set, which is why I wrote WCSH to just wrap around Git, to hide all this complexity and do quite some sanity checks to make sure everything's set up correctly. Again, it allows you to have several repositories and it also manages really the complete lifecycle of all your repository. It's very easy to just create a new repository, you just in it, just with Git, you add stuff, you commit it, and you define a remote and then just start pushing through this remote, simple. This looks like Git because it's very closely tied to Git and it uses a lot of the power or of the syntax of Git for obvious reasons because it's closely tied to Git. You can simply clone as you would with Git, you can simply show your files as you would with Git, you can rename the repository, which Git can't do for, but you don't have to. You can show the status of all your files or just of all your repositories, or of all your repositories. You can pull in all your repositories at once, you can push to all your repositories at once with one single command. So if you're on the road or if you just want to sync up a new machine, it's really quick, it's really easy. There are three modes of dealing with your repositories. The default mode is the quickest to type.  You can do this by using the run mode, which is the second mode, where you simply interject, you see here run is missing and here the Git is missing. So you say simply we see status H run, status H, Git commit, whatever, and this, and this is exactly the same command. It's literally the same command once it arrives at the shell level, so to speak. Here you can also run Git K because with this you set up the whole environment for one single command to run with this context of the changed environment variables. Or you could even enter the repository then you set all the variables and then you can just use normal Git commands as you would normally. This is the most powerful mode, but it's also the most likely to hurt you if you don't know what you're doing. So I recommend working your way down this way. You should have your shell display prompt information about being in the VCS H repository or not, simply because else you may forget that you entered something and then if you run those commands, there will be pain. And advanced use case, which will be possible quite soon, where you can just combine VCS H to get annexed to manage everything, which is not a configuration file in your own home directory. So you have basically two programs to sync everything about all of your home directory without having to do any extra work. You can also use it to do really weird stuff. For example, you can back up a .git of a different repository with the help of VCS H. So you can just go in, change objects or anything, break stuff and just replay whatever you're doing just to try and see how it breaks in various interesting ways. You can just back up a working copy, which is maintained by a different repository or a different system. You can even put a whole repository, including the .git into a different .git file or you can even put other VCS-like version or something into Git if you want to. Then there's MR. MR ties all those, hopefully by now you have about 20 new repositories because you have your configuration, you have your icky wicky, you have everything. So now you need something to synchronize all those repositories because doing it by hand, just a lot of work. MR supports push, pull, commit operations for all the major known version control systems, allowing you to have one single interface to operate on all your systems. It's quite terrible to write support for new systems. I think it took me about two hours to support VCS-H natively, so that's really quick. If you want to try the stuff which I told you about in the links later, there'll be the possibility to just clone a sample repository for VCS-H, which will then put up a suggested MR directory layout and we can just work from there. This is the, or at least my suggested layout, which basically you just include everything in config.d, you maintain your available.d by means of VCS-H, so you simply sync around all your content between all the different computers and then you simply soft link from available to the actual config, which is basically what Apache does with sites enabled in sites available, or modules available in modules enabled, which is really, really powerful. Last thing, it's not Git-based, but set shell. It's a really powerful shell. You should consider using it. It has very good tab completion for all the tools which are listed here, more than bash. It has a write prompt, which will automatically disappear if it needs to, which is very convenient to display not important, but still useful information, and it will automatically, if you tell it to, tell you about you being in a Git repository or a subversion repository or whatever by means of VCS-Info, which also means you'll be told that at the moment you are within a VCS-H repository and you may kill your stuff if you do things wrong. It can mimic all the major shells and there's just too many other reasons to live. So, final pitch. This is true. I tried it earlier. I can demo it. I still have five minutes left. It takes me less than five minutes to synchronize my complete, whole digital life right on the road. So if I'm at the airport and just want to update all my stuff and push out all my stuff, it'll take me a few minutes that I can hop onto the airplane and I know everything's fine, everything's up to date on my local machines. I have, on my local machines, I can continue working and I have a backup on my remote systems. These are the websites. The slides will be linked from, from, from PENTA. So you are more than welcome to look at these links later. There are previous talks which you can also look at if you want to. That's pretty much it. And if you have any more questions afterwards, either catch me or there's an IRC channel and there is a mailing list. Okay. We can take a few questions. We have still a few minutes but if there are more questions, ask Richie afterwards. And while we're doing this, just look here because that's a complete sync of everything I have. Okay. So just to make sure that I understand correctly, let's get the annex the point is that the data is stored, dispersed over different local destinations, so to speak. But the metadata which versions exist is complete, complete Git history. So Git is able to tell me, well, this version at that destination was changed at that time and so on and so on and so on. Did I get this right? Git will be able to tell you about changes. Okay, I don't have internet, sorry. Git will be able to tell you about changes in the file name or the directory structure. Git annex will be able to tell you about changes in the actual file content or in moving around the files. But as it's one single unit, more or less, yes. The answer is yes, but not quite, but yes. Yes, but it is almost, all the things you asked about are in Git, the previous location and all that stuff. Okay. Yeah, but in a separate branch which you should use Git annex to access but you can do it by hand if you want to. Okay, thanks. Yeah. Hi. Oh, yeah. I'm not familiar with tracking branches yet. You mentioned the workflow where your wife has a different view on the data than you with this workflow. Is it possible for your wife to upload photos that you will have in your view as well or is it the one way street? Minor correction, it's not, tracking branches track a different repository. What I meant were rebasing branches which rebase on top of a different branch which basically just keeps the patch set always on top of the branch no matter where her head moves to. Yes, she would be able to but if she wanted to do that she would need to simply Git check out master, do whatever she wants to do then Git check out her own branch and then she's, yeah. But she's able to but she would need to check to change into the master branch and then back. But yeah, that's okay. Microphone. She never pushes her private branch, it only lives on her machine. No, she does push it but I don't display this view of the data. It's sort of private. Because else she wouldn't be able to synchronize this view between different computers. I seem to have internet now so I'll just let this run in the background. Any more questions? No more questions? Then we're done. Can I have one more minute for questions? Okay. Okay, so thanks, Richard Hartman. We will continue.


I'm excited to announce three new courses that I've launched on Voitanos.ao on the SharePoint framework. Learn how to build web parts and property panes with the SharePoint framework. That's only $65. Learn how to build extensions using the SharePoint framework. That's app customizers, list view command sets, field customizers, and form customizers for only $75. And learn how to customize Viva Connections and Viva Home Dashboards using adaptive card extensions. That's only $75 as well. Head to Voitanos.ao. Click on the SharePoint framework courses and learn how you can save this week only though.


Wow, I once I once heard a story. It's true story But I can't remember the name of the fellow today. He was a he was a I think he was in charge of some traders a Fund in London bit of an older chap. He used to go to work every day He'd read the financial times. He'd flip a coin and decide whether it be long or short Hmm and whatever they did they would just the whole the whole group would just be long or short Whatever bias he just Decided They all perform the market and so if you if you think Leon's doing that essentially he's saying I'm deciding to be long short the data and I'm not going to change my opinion and you know Casing points selling the other dollars. I'm not change my opinion. I'm just gonna show you Yeah It makes life a lot easier It really does then you know trying to chase a trend You know and trying to chase price because price is deceptive price isn't always reflective of value and value Isn't always reflected in price So my my my number one thing is is this a bargain? You know, is this cheap? What is this cheap? All right, there's a lot of traders here Who we're looking at this goes into maybe something that there's something else maybe just a sidetrack But they would have been looking at that level in real time and how many traders We'll be looking at that level right and Looking at okay. We want to break out bounce bounce bounce And then they get the cheese Right they get short Then this large massive candle here Yeah Again, this would have stopped them out. They probably would have went long not understanding that in fact this was a nice area fresh area of supply and I'm getting short here and Sorry and then look what happens When people see massive candles like this, they tend to get scared of price, but if you understand value Right, you won't you won't get scared of of buying into strong Candles if you have conviction in what it is that you're doing am I gonna be right all the time No, just manage my risk and go for more than I go more than our risk and then that's it At two to one all I've got to do is be right more than 35% of the time To make profit and if I'm right 35% of time I break even There were there abouts and the question I have to ask myself is can I be right more than 35% at two to one? And if I got fundamentals on my side I've got the fundies on my side Right and the data is saying so the only thing that really kind of scuppers trades is you know short-term sentiment potential stop hunting, etc. Liquidity But overall if I'm comparing data from the countries Again, you have to ask yourself Can you be right more than 35% of the time at two to one and that's it That's why fundamentals are so important. Yeah, that's super cool. So like that idea of Could you do that? Could you be right? Could you make money? Yeah Yes commissions work, but of course, yeah, it's like Always seemed really achievable to me as an idea as a concept. Yeah So what would that but what would that mean it just means you have to take good trades and manage your risk and You've got a fighting chance, could you really be that poor?  Yeah, exactly You're Michael right everyone. All right. Yeah. Yeah, so Distance traveled and fresh levels we always want to look for Fresh absolute the freshest levels of demand and this leads into I guess Support and resistance as well So fresh levels and the reason why you want to look for fresh levels is because for for one You're buying at the first discount To us a fresh level just so a fresh level would be for example, I look at the bottom level right Let's do it demand. All right, so a fresh level would be totally untouched. Sorry So that would be in real time. She's actually it's right there Demand right so when prices went in and out that's a nice that's a nice Technical demand zone. I love that love seeing that it's just the wrong direction You know, you'd be buying euros here And I wouldn't be buying euros but what you want to see is it really kind of untouched on You know not tainted not tampered not prices coming in for maybe a couple of reasons and The main so it may be one of the reasons is that You want to be the first really if you understand value to be the buyer once everyone starts seeing this and maybe I can draw this I'm trying to think of trying to look for an example. All right brilliant example would be right here Yeah And in fact, I took this trade as well And this is on YouTube matter of fact around the top for note. You'll see this a talk for November on YouTube my YouTube channel I was I was arguing the points they arguing but demonstrating the point that There's going to be a lot of traders in real time looking to short this area All right, and the reason why is because I think I was saying that Supply so it's a port of resistance doesn't represent doesn't always represent value so Most traders would look at this level bounce bounce and then it's gone through and then they would look Right at this area to short because what should happen is? support Support should turn to what resistance But again, where was the proof of value in this move? Lower highs lower lows right right here. So the best area to look For a sell trade was up here. Everything below this Right isn't a great You're buying that necessarily an expensive level for the dollar. So We take that area there So this is an expensive level for the dollar and we know this for a fact because prices couldn't go any lower In between this high and this low is the 50% people say Fibonacci is not Fibonacci number But it'll be represented as fair value now traders who were looking at this level bounce bounce and then Support becomes resistance. You can imagine what they were looking to do on the intraday is looking to sell but if we're looking at This being a bargain and this being expensive this being fair value of buying Below fair with a binding in an expensive area. They're buying the dollar actually in an expensive zone so when prices went through Mm-hmm, they end up getting stopped out This area here was actually a level a level of Demand sorry supply Supply and all I was doing is waiting for my first chance to sell Prices came up and on the intraday. I got short in this area here This one actually didn't make targets. I literally was about I made one-to-one targets. I split my my risk up. So I do one-to-one on The first position and then I let the second position run to around 80% of the range And this must have come probably around about five or six pips On my target it literally just didn't touch my second position, but Yeah, so that's pretty much it that is what I do all the time just look for supply zones So because of that level that you've you've drawn to the left was you anticipating that it was going to go sideways at that point Yeah, do you know what I? Always anticipate a ranging market, especially after a trending market the market will you know There's obviously market states train training and ranging so after lower highs and lower lows I Expect Market to range from somewhere. It's even gonna range from here or it's gonna range from Some other demand zones. I don't know which one, but I'm anticipating It's gonna range from here from here or from here We just don't know which one it is going to range from So that's a great question matter of fact, I'm always anticipating Prices to range because I mean the stats I guess say that prices are you know more in a ranging market than they are in a trending market But again, it just depends on the the pair that you're buying so At the minimum I expect to range at the best I expect the trend I guess to continue But either way I'm expecting something to happen at a supply zone and I'm buying the dollar You know if it's not there and it and prices don't work out. That's fine as long as my fundamentals are in place You know, I've got to keep an eye on obviously sentiment But as long as the fundamentals are in place short short Always short because of the bias. That's exactly it and then I'm expecting obviously prices to range even from there or there or You know, and if like I said if I'm right about my fundamentals then they should at least Come down and retest the lows If I'm right on my fundamental bias if I'm buying at a value How did you know that price will not pull back further where you bought there? You're just like candle sticks out. I don't I don't know that's the thing You know, we've we've priced you never know. It's just probabilities. I just manage my risk So I you know when if I if I kind of clear this this was gonna be the first area the first area of supply That I was looking at so look at, you know, one of the things I said was A bit busy chart, but is you want to see like the hard in hard out price movement and it looked Brilliant from here. Look at this. Look at that hard in Hard out. That's what I like to see So then it was just a case of looking for price action On the lower time frame the four hour is what I trade four six eight and twelve. I look at and then if I see specific candles And then I look to get short What do you look for man? It's like rejections and golfing candles and things. Yeah, pretty much pretty much. It's just you know, your typical Really, I only have a kind of two candles two candle Two how do I put it? I look for Two setups really for two candle formation setups. That's about it On the four the six to eight and the 12 it's nothing too complicated too complex Well, I chose that Yeah, but when it comes to value the point being was that Buying at Buying here where everyone else was buying You know, I sometimes I like to look at what other traders are doing on youtube. Yeah And on this one, um, I had to you know, uh, have a look because I just I thought to myself I know they're all buying.  Da da da da and I was like No, no no no and actually made a video so you can check that out on youtube as well on this day And I was saying This is not the level to buy even if even if prices Prices would have now reversed here. Now a lot of traders probably Would have been like, yay, I was correct. That's fine It's all that is fine for me because what happens is if that creates A lower low let's say What I'll be doing is looking for a pullback into this area here because that would have then created My supply zone Because I'm looking for proof of value lower highs lower lows and then prices prices come back because prices will come back to a supply zone Now will the supply zone work again? It's just probabilities, but This is always Proof of value x this was a bargain area. It was such a bargain that it went past What would have been the expensive area? It made a new low so if prices ever come back to this area, that's Where I want to be buyer Of the dollar


Good evening. Please be seated. I have a statement here. We have been pleased to see mounting evidence of new strength in our economy. By following policies of lower taxes and free and fair trade, America has led the world with 33 straight months of growth and more than 8 million new jobs. Inflation has been held under 4 percent, and meanwhile, nations clinging to high taxes and protectionist policies have not only failed to match our performance, they have lost jobs and seen their investment flow to the United States. Opportunity is our engine of progress, so I am asking Congress to work with me, and not against me, to control federal spending, to pass our fair share tax plan lowering rates further, open up closed markets overseas, and urge other nations to cut their high tax rates to strengthen their economies and ability to buy American products. We need stronger growth, not just at home but throughout the world, and we must have free and fair trade for all. This is the path of cooperation and success that will make our people more productive, and that can lead to a decade of growth and 10 million new jobs in the next four years. But there is another path that can only lead away from opportunity and progress. A mindless stampede toward protectionism will be a one-way trip to economic disaster. That is the lesson of the Smoot-Hawley Tariff in 1930, which helped to trigger a worldwide trade war that spread deepened and prolonged the worst depression in history. And I know I lived through that period. I have seen and felt the agony this nation endured because of that dreadful legislation. If we repeat that same mistake, we'll pay a price again. Americans whose jobs depend upon exports of machinery, commercial aircraft, high-tech electronics, and chemical products could well be the first targets of retaliation. Agriculture and industry already in great difficulty would be even more vulnerable. Protectionist tariffs would invite retaliation that could enliven or deliver, I should say, an economic death blow to literally tens of thousands of American family farms. We've begun doing many good things for America these last four and a half years. Much remains to be done and can be done. So let us not place all that progress, all our hopes for the future, at risk by starting down a slippery slope of impulsive acts and imprudent judgment. This is a time for cool heads and clear vision. And now my vision says that I should call on you, Helen. Mr. President, as you had toward the summit, one of the big questions is whether you would be willing to explore the possibility of a trade-off on these base weapons for big cuts in the Soviet arsenal. And I'd like to follow up. Helen, no, we're talking about the Strategic Defense Initiative now. I'm sorry that anyone ever used the Appalachian Star Wars for it, because it isn't that. It is purely to see if we can find a defensive weapon so that we can get rid of the idea that our deterrents should be the threat of retaliation, whether from the Russians toward us or them, of the slaughter of millions of people by way of nuclear weapons. And rather than that kind of negotiation, I think at this summit meeting, what we should take up is the matter of turning toward defensive weapons as an alternative to this just plain naked nuclear threat of each side saying we can blow up the other. And this I would hope that if such a weapon proves practical, that then we can realistically eliminate these horrible offensive weapons, nuclear weapons entirely. And I also have to point out that with regard to whether that would be a bargaining chip, which I don't see it as that at all, is the fact that the Soviet Union is already ahead of us in this same kind of research. They have been doing it much longer than us, seeking a defensive weapon also. You're really saying then that you are not willing to negotiate and that you really want to test it to see if it's practical, but aren't you really paving the way toward a militarization of the heavens because the Soviets are bound to build a weapon offensive to counter the Star Wars? No, the strategic defense that we're seeking is something that can, just as an anti-aircraft gun once could protect you against bombers, could be used against these offensive weapons, these missiles. And it doesn't mean no negotiation at all. As a matter of fact, the side that has not been negotiating with all of our months and months of meetings in Geneva and the arms talks is the Soviet Union. We have offered at least six versions of a possible reduction and six different ways to enlist their interest in negotiating with us in a reduction of warheads. They have come back with nothing. They simply won't discuss it or negotiate. But the original idea of weapons in space dealt with the thought that, in addition to the present missiles that we have, that somebody would place weapons of that kind in orbit, in space, with the ability to call them down on any target wherever they wanted to in the world. And we agree. This isn't anything of what we're talking about. We're talking about a weapon that won't kill people.  And as I say, they have been exploring this. But there's a great deal of room for negotiation. The room would be, if and when such a weapon does prove feasible, then prior to any deployment to sit down with the other nations of the world and say, here, now, isn't this an answer? I don't see it as being something that we would add to our arsenal to increase our ability over them. I see it as the time then that you could say, isn't this the answer to any of us having nuclear weapons? Mr. President, the nation's best known aid scientist says the time has come now to boost existing research into what he called a minor moonshot program to protect this AIDS epidemic that has struck fear into the nation's health workers and even its school children. Would you support a massive government research program against AIDS, like the one that President Nixon launched against cancer? I have been supporting it for more than four years now. It's been one of the top priorities with us and over the last four years, and including what we have in the budget for 86, it will amount to over a half a billion dollars that we have provided for research on AIDS in addition to what I'm sure other medical groups are doing. And we have a hundred billion dollars or a hundred million dollars in the budget this year. It'll be 126 million next year. So this is a top priority with us. Yes, there's no question about the seriousness of this and the need to find an answer. If I could follow up, sir. The scientist who talked about this, who does work for the government as in the National Cancer Institute, was referring to your program and the increase that you proposed as being not nearly enough at this stage to go forward and really attack the problem. I think with our budgetary constraints and all, seems to me that 126 million dollars in a single year for research has got to be something of a vital contribution. Yeah. Mr. President, excuse me. Why has the United States consistently played down expectations of what will happen at the summit meeting when you meet with Mr. Gorbachev in November, even as the Soviet Union has insisted that summit meetings are for grand and important decisions and sought to raise our expectations? And I'd like to follow up, sir. Well, it worries me a little bit that they go out of their way to try and raise expectations in view of summits in the past and what has come from of them. Maybe we were overly concerned, but we were worried that there might build up a euphoria and that people would be expecting something of a near miracle to come out of that summit. But I don't mind saying right now, we take this summit very seriously and we're going to try to get into real discussions that we would hope could lead to a change in the relationship between the two countries. Not that we'll learn to love each other. We won't. But a change in which we can remove this threat of possible war or nuclear attack from between us and that we can recognize that while we don't like their system and they don't like ours, we have to live in the world together and that we can live there together in peace. And we're going to be very serious about that. Well, sir, that implies that you think that you will be able to reach some sort of agreement. Can you reach agreement or do you think that this will be used mainly to get acquainted? No, this has got to be more than get acquainted, although that's important, too. As you know, I've said before, I believe that you start solving problems when you stop talking about each other and start talking to each other. And I think it's high time that we talk to each other. President, the United States has just had its first successful test of an anti-satellite weapon system we showed the Soviet Union that we could do it. Would this not be an ideal time to stop further ASAP tests and negotiate a ban on such weapons? Well, here again, this is going to take a lot of verification if you're going to try to do that.  They already have deployed an anti-satellite missile. They can knock down and have knocked down satellites that have been sent up in their testing, and they've completed all of that testing. And this was our test, and I don't know whether others are necessary to complete the thing, but we couldn't stand by and allow them to have a monopoly on the ability to shoot down satellites when we are so dependent on them for communication, even weather and so forth. Gary? Mr. President, thank you. You sent the arms negotiators back to Geneva for the start of the third round of talks, which begin in two days. Did you send them with any new proposals? No, because they have a great flexibility, and I sent them back with the same thing that we sent them in in the first place. And that is that we are to be flexible. We know that there is a difference in the Soviet Union's emphasis they place on various weapons systems. They have all the same ones we do, airborne submarine launch and so forth. There is a little different strategy than ours. So we said that we proposed a number of warheads as an opener for discussion, that we would reduce to a certain number. As I said earlier, we have presented at least six different ways in which that could be done. And we have made it plain that we are willing to meet whatever are their specific problems with regard to their mix of weapons that we would find ways to accommodate the differences between us in our strategies. And so far, they have not made a single comment or proposed a different number. They have just been there. And I don't know how much more flexible we can be, but we're there waiting for them to say, well, that number is wrong. Let's try another number or make a proposal of their own. And in spite of the language that's been used in some of the international broadcasts recently by leaders in the Kremlin, none of those proposals, nothing of that kind, has ever come to the table for negotiations. Sam? Mr. President, we did conduct an anti-satellite weapons test the other day. And the Soviets said that that showed you were not serious about curbing the space race and that it complicated the summit. Why was it necessary to make that test now? Couldn't it have waited until after the summit, sir? No, I don't think so. Because, as I said, we're playing catch up, we're behind. And this was on the schedule that of the that we hope that we could keep with regard to the development of this weapon. And it wasn't done either because of or or with the summit in mind at all. It was simply time for the test. They've been doing it. And we didn't call them any names. On the summit, sir, British Prime Minister Margaret Thatcher met Mr. Gorbachev and said, I like Mr. Gorbachev. We can do business together. Is it necessary to you think that you and Gorbachev like each other at the summit in order to do business? I wasn't going to give him a friendship ring or anything. No, seriously, I believe this. I think she made an observation out of this, and it's probably in our own people who've been over there are a recent group of senators who met with him. They found him a personable individual. Sure, I will too. It isn't necessary that we love or even like each other. It's only necessary that we are willing to recognize that for the good of the people we represent on this side of the ocean and over there, that everyone will be better off if we can come to some decisions about the threat of war. We're the only two nations in the world, I believe, that can start a world war. And we're the only two that can prevent it. And I think that's a great responsibility to all of mankind, and we'd better take it seriously. Chris, your question is the same one as this morning. No, actually, Helen asked that question, but I've got another one, Mr. President. All right. Some people believe that the Soviets are winning the propaganda work leading up to the summit that Mr. Gorbachev in recent days has made a number of proposals for test moratoria for a chemical free zone in Europe, while the U.S. is testing the anti-satellite weapon, and we learned today a test of a component of SDI. With them talking peace while we're testing weapons of war, is Mr. Gorbachev beating you at your own game? Well, I'm not engaged in a propaganda game. I'm getting ready to go to the meeting and take up some things I think should be discussed. I do think that this is a continuation of a long-time campaign aimed mainly at our allies in Europe and in an effort to build an impression that we may be the villains in the peace and that they're the good guys. I don't think it is registered with our allies, and I'm not going to take it seriously at all. If he can practice whatever tactics he wants to, we're going to meet and we're seriously going to discuss the matters that I've just mentioned here. If I could follow up, actually, on Helen's question, you're known as a pretty good negotiator, and some people think that even if you were willing to negotiate on SDI, you wouldn't tell us now you'd wait for Geneva. Are you telling the American people tonight that you are ruling out any deal with the Soviets at this point on testing, deployment, research, development of SDI? I'm saying that the research to see if such a weapon is feasible is not in violation of any treaty. It's going to continue. That will one day involve if it reaches that point of testing. On the other hand, I stop short of deployment because, as I said then, I'm willing to talk to our allies, talk to them, and talk to the Soviets, to anyone about the meaning of it, if it could be used in such a way as to rid the world of the nuclear threat. The development and testing, you're ruling out any deal on that? You're ruling out a deal on testing or development? I think that's a legitimate part of research, and yes, I would rule that out. I don't think any, I don't mind saying here, and normally I don't talk about, as you said, what's going to be your strategy and negotiations. But in this, this is too important to the world to have us be willing to trade that off for a different number of nuclear missiles when they're already more than enough to blow both countries out of the world. Thank you, Mr. President. You won re-election on an unprecedented landslide, and your personal popularity is standing at an all-time high. Yet members of your own party in Congress have failed to follow your leadership on two key policies, South Africa and trade. How do you account for the difference between your popularity and the willingness of the members of your own party to follow your lead, sir? Well, I don't think that that's unusual. You're dealing with Congress and 535 people up there on the hill who also have their own ideas. I think we're getting along pretty well right now, and we've had meetings on most of these subjects. I made my position clear on the matters that you mentioned, trade and South African all. And as a matter of fact, I thought that our own side, the Republicans rallied around pretty well when one of the authors of the sanction bill gave that up and heartily approved of my proposed executive order. So I don't anticipate it too much friction. May I follow up, Mr. President? On both those issues, you seem to have moved closer to the position of those in Congress. Are you afraid of losing your leadership at a key point in what you call your fall offensive? No. I'm not afraid of that. And no, I saw in that bill things that I could say to them, if that bill came down without this and this and this, but with these things, I could happily sign it. And then it occurred to me that I could also prove that by writing an executive order that included those things, plus a few of our own, and they seemed to accept it. Mr. President, your sanctions against South Africa seem to have drawn criticism from many sides.  President Bota says they will impede U.S. efforts to help in the region. And many in Congress are still pressing for stronger measures. What is your answer to these charges? And do you plan to appoint a special envoy to the region as you have in Central America? I think that when you're standing up against a cellophane wall and you're getting shot at from both sides, you must be doing something right. And if it had all come from one direction, I would have looked again and said, well, did I miss something here? But the very fact that both factions are unhappy, one says it goes too far and the other one says it doesn't go far enough, I must be pretty near the middle. And what I tried to do was to avoid the kind of sanctions, economic sanctions that would have militated against the people we're trying to help. And there have been other leaders over there and leaders against apartheid who have been gratified by what we did. So we'll see what happens. I've got a call on somebody in a red dress here and Nancy will never forgive you. Thank you, Mr. President. You're looking well and I'm sure the American people are happy to see you looking so well. But I have a question. For the first time in 70 years, we have become a deficit nation since 1914. Does this disturb you throughout your political life? You have decried deficit spending and our secondary posture in the world of trade. Do you have a solution for this? You use the word deficit. You mean our trade imbalance. Yes. The fact that we have become a deter nation for the first time since 1914. Are we? I think this false impression is being given that a trade imbalance means deter nation. This isn't our government that is expending more than it is for imports that it is getting back in exports. These are the people of our country and the businesses and the corporations and the individual entrepreneurs. On one hand, the American people are buying more than the American people are selling. Incidentally, those figures of export and import have some failings in them, some weak spots. They don't include on exports anything that we're getting back for services. There are a lot of technical things I won't get into because they get too complicated here about the difference in the two figures. But let me point something out about this. The deficit that I'm concerned about that is the most important and that can be the biggest problem for us and that must be solved is the deficit in federal spending. Here are domestic spending. This is the threat to everything that we hold dear. But the trade imbalance from 1890 or 1790 to 1875, this country all that 85 years ran a trade imbalance. And in those years we were becoming the great economic power that we are in the world today. Now, we come up to the present. And in the last 33 months, we have seen more than 8 million new jobs created. Yes, we've lost since 1979 1.6 million jobs in manufacturing. But we've added 9 million new jobs in travel and service industries. We've had this great recovery. We've brought inflation down, the interest rates coming down, all of these things that we want. This recovery, the greatest one we've known in decades, has been done with this same trade imbalance. Now, in the 1930s, in that depression that I mentioned earlier in my remarks, in that depression, 25% unemployment, the worst depression the world has ever known, we had a trade surplus every one of those 10 years until World War II ended the depression. So I think this has been exaggerated and it isn't a case of us being a deader nation. Another thing we don't count is that from abroad that is not counted in our export figures are the billions of dollars of foreign capital that has been invested in the United States, invested in our private industries, invested in our government bonds, if you will, things of this kind because we are the best and safest investment in the world today. Mr. President, we have returning to something that Mike said, if you had younger children, would you send them to a school with a child who had AIDS? I'm glad I'm not faced with that problem today and I can well understand the plight of the parents and how they feel about it. I also have compassion and I think we all do for the child that has this and doesn't know and can't have it explained to him why somehow he is now an outcast and can no longer associate with his playmates and schoolmates. On the other hand, I can understand the problem of the parents. It is true that some medical sources have said that this cannot be communicated in any way other than the ones we already know and which would not involve a child being in the school. And yet medicine has not come forth unequivocally and said this we know for a fact that it is safe. And until they do, I think we just have to do the best we can with this problem. I can understand both sides of it. Mr. President, why couldn't all the weapons and all the technology that are currently under the rubric of the Strategic Defense Initiative be used offensively as well as defensively and thereby defeat your rationale for a Strategic Defense? Why couldn't lasers and electronic beam weapons be used offensively and defeat the purpose of the program? Well, I'm sure there must have been some research in things of that kind. But we're definitely seeking a defensive weapon. And one of the things that I believe should be taken up at the summit is to make it plain that we're both willing to look at certainly a mix and see if we can't place more dependence on defensive weapons rather than on destructive weapons that could wipe out populations. But, sir, isn't it fair to assume that the Russians, out of their own sense of military security, are bound to consider the possibility that weapons developed under SDI could be used offensively as well as defensively? Well, I'm not a scientist enough to know about what that would take to make them that way. That isn't what we're researching on or what we're trying to accomplish. And at the moment, I have to say the United States, in spite of some of the misinformation that has been spread around, the United States is still well behind the Soviet Union in literally every kind of offensive weapon, and both conventional and in the strategic weapons. And we think that we have enough of a deterrent, however, that the retaliation would be more than anyone would want to accept. So for 40 years, we've maintained the peace. But we've got more years to go, and this threat hangs over all of us worldwide. And someday, there may come along a madman in the world someplace. Everybody knows how to make them anymore that could make use of these. We think it's like when we met in 1925 after the horror of World War I, and in Geneva decided against poison gas anymore as a weapon in war. And we went through World War II and down to the defeat of our enemies without anyone using it because they knew that everyone had it, but they also knew something else. We outlawed poison gas in 1925, but everybody kept their gas mask. I think of this weapon as kind of the gas mask. Jerry? Jerry? Mr. President, this week you'll be meeting with President Michelle of Mozambique, who is a Marxist, but he has turned his back on his Soviet allies to cut off the lines of infiltration from the African National Congress to South Africa. What is the quid pro quo in this meeting? In other words, what will you do to make President Michelle's action worth what it has probably cost him? All I know is that for some time now there has been an indication that he who had gone so far over to the other camp was having second thoughts. We just think it's worthwhile to show him another side of the coin. And we think it's worth a try to let him see what our system is and see that he might be welcomed in the Western world. And that's why we're meeting with him. I know I should go over here. Mr. President, I'd like to turn, if I might, to the subject of the recent spy scandals and ask you a two-part question. Do the string of West German defections mean that the United States must cut back the amount of sensitive information it shares with NATO? And secondly, does the Walker spy scandal in the United States suggest to you that perhaps we should reduce the Soviet presence in this country? Well, we've always been aware of the fact that the Soviets had undoubtedly more agents in this country than any personnel that we had in theirs. This has been very much on our minds. I don't know just how you can evaluate what might have been compromised. The Walker case somehow doesn't seem to look as big as it did a short time ago now with what we've seen happening in the other countries. I think that if there has been damaged, it's been done already with what they could have conveyed both ways in this England at the same time as about the defections from the KGB that have now come to them with information that certainly must make a lot of agents throughout the world wonder when they're going to feel a tap on their shoulder. And we just have to play with this as the best we can and hope that together and between us all we can establish some means of identifying better those who are loyal. Can I follow up on that and ask again the first part of the question? That is whether you feel that now, given these defections in West Germany, that perhaps it's time for us to reevaluate just how much information we share with some of our allies in Europe? Well, I think there's reevaluating that's going on all over the world on that, and I'm sure here too. Yes, Mr. President. Just returning to trade specifically for a minute. Members of Congress who support the so-called Textile and Apparel Protection Act claim that the U.S. adherence to free trade given and our allies adherence unfair trade practices has not only cost the jobs of 300,000 workers since 1980, but forced companies here to close down even the newest most efficient plants in the world. Now, if the shure on the other foot, Mr. President, and you represented a textile apparel producing state, how would you explain the President's reluctance to support a bill that seems to be the last best hope for those industries and also for the 2 million remaining workers in those industries? Well, again, protectionism is a two-way street. And there is no way that you can try to protect and shield one industry that seems to be having these competitive problems without exposing others. No one ever looks over their shoulder to see who lost their job because of protectionism. We do know the history of the Smoot-Hawley Tariff and what it did. There were over 1,000 economists that sought the President out at the time and begged him to veto that bill. But in this one, with a single industry, if there is an unfairness and we've already made that plane and made it evident, we are going to, if they're taking advantage in some way in another country, competing unfairly with us, we're going to take action on those items. For almost two years now, I have been begging our allies and trading partners in the GATT, the General Tariff program, to join with us in another round of trade talks to again eliminate whatever holdovers there are of discrimination against someone else's products getting into their country or subsidizing a sale at less than production cost in other countries. These things we'll do and we'll do vigorously. But just plain protectionism, let me point out another problem that no one has considered. You take one product of that kind and you look at the list of countries and then you find out we're the biggest exporter in the world. And you find out that in some of these countries, if we punish them for that one product, we happen to have a trade surplus in that country. And what's to, how can they stand by on the one thing they're exporting successfully and then say, but we're buying more from you than we're selling to in your country. So there just is no excuse for a protectionism that is simply based on legitimate competition and curbing that competition. Follow up, Mr. President. If the current bills which are on the Hill now seeking sweeping trade protectionism were enacted, do you foresee somewhat of a, I'd say, reenactment to Smoot-Hawley, which led to a depression or certainly deepened it? Do you feel there is a cause and effect there? I think there are probably some individuals that haven't learned the lesson or haven't lived long enough to have been around when the Great Depression was on. That's one of the advantages of being a kid my age. Helen, come check. Do you think the rose could be the national flower? But the rose by any other name smells so sweet. Good night, sweet friends.