 If you're looking for using open BSD as a routine platform, you're in the wrong group. As a very quick question, how many people in here are academics, academic-related, do stuff with universities? Okay, I work for Mr. Manchester and we're talking about stuff we do which runs on BSD and is possible because of that infrastructure. What this talk isn't, is a talk on how to do X or Y in free BSD after X or Y in open BSD. And it's everyone else's definition of technical, not necessarily technical, who want to talk technical about. Fast-flying system, curse, and so it'll be very different to mine. It's the definition of people in the office down in Coorda who say I must tech even as well, the objectives doesn't work. And you walk in in front of a room full of students, turn the projector on, and walk out to a colleague the last. I talked a lot about ports, it's going to be for an FBSD user if you can, on the way to, packet source in the head. Ports are ports. And this talk came out of a set of misunderstandings and conversations over the last four or five years with people who have a very different range of backgrounds, but don't look at academia. Some of these are highly technical points, some of them are quite not. As I said, it's inspired by projects, name, situations, and details have been changed in terms of technical capability. And occasionally I'm just increasing the number of laps. I recently found people with full time management system administrators, which if you are listening to what I say, maybe worth reading if you want a better version of it. It's good for a type of technical job, not just as an administrator. Giuseppe Romani, who just outside the door, he's offering books with 35% discount, and she's asking me to tell you that she'd have lots of copies of the library to buy them, probably in triple go. I use open BSD by choice, and not because I necessarily agree with all its ideology, but because it works and gets out of my way, so I can get stuff done. I'm going to talk about comparisons with the rest of the world, with whom I deal. One thing that open BSD has that isn't necessarily everywhere else is port upgrades, in that they really work and that's how you do it. The bit involved with the bit, you actually do the upgrade, and you can't have the phone on the screen. Pull upgrades apart from real port tools. They're there, they're not an add-on, they're not a separate script, it's the same binary you run, just for the edition of the U-option, hyphens are active in F2, update, everything. It really, really works, including the hard stuff. When you upgrade Perl and base, which is one of the more complex parts, the dependencies and modules get a very excess, anything that is compiled into the version of Perl, you know, run, read, all kinds of graded, and it will still work. And that's quite hard, and it's something we'll come back to later. This is the one next slide. I do, I do this while I'm open BSD. It doesn't mean you can't do it on the BSD, it quite easily counts, you do it easily on the BSD, and the BSD, etc. You can do it on the Unix, or if you're particularly driven, there's nothing in here that you actually can't do with Windows and the Segway, if you're mad. This job now, this choice of things, is to make something that's easier, it depends harder. The problems that it does have, I don't actually care about. For much of this time, over time, and as long as it doesn't matter, don't worry about it. We all know Unix is reliable, solid, blah, etc. This technique is given to this audience, and that's what's on my desk, or on various desks, and the best I can do. Open BSD Workstation, which does pretty much everything, and Windows PC, but whenever I use it, I find out it removes itself for some other reason. Everything's done on the Open BSD Workstation. I have over a hundred different lines in my contact, which actually get learned at various points, which is a ridiculous amount of stuff going on. You can do this in a language, see how it's really useful, which is why I used Perl, and we had to see it last week. I primarily work in a technical team of all, as an academic search support person. It doesn't matter to academics how I solve the problem, as they give me, as long as I do, and they can write their papers. Academics are generally experts in knowing how I feel, and working that way has advantages, but when it's outside that field, in the bigger realm, on the map, where they call technical, it ends up on my desk. I am responsible to the department, and while working this way has advantages, I don't need to just define why it's good, why it's good to do it in Perl or something else. Results matter a lot more than the process, but if it breaks, I'm going to have to fix it. So long term, the liability is far more important and it's going to be an environment to turn on the temporary solutions. If it breaks, I fix it, and generally expect it to either have the answers or find it and tell people to tend on it. Mostly the technical people around the organizations, who my projects work with, are Windows-based programs. They may be even LISP, but they know I work with this thing called Unix, and they don't quite understand what it is. It includes all the people whose work servers I've got to. Most of what we do, a great set of is now work-based, as pretty much everything you're doing, support is one of seven things to work with, so that people stop asking me questions. I have very little ability to influence their time, direction, and get additional steps in their processes hard. So I have five work servers where we can do back-end services, but the stuff we publish on flyers or posters has to have one of their URLs on it. That's something we can't post back to our work servers, but the front-end is theirs. To understand Unix is to see the world in a very specific, slightly mad way. It's very, very much the problem-solving, and the architecture and design of Unix is designed to solve that sort of problem, and has been for 30 years. We have small pieces using the job. Windows and the Windows way of thinking. Windows and Windows way of thinking and the Windows admin, the Windows progress, people move over there very good. We think of all that problem to do everything, which means it does everything, but not anything particularly very well, and the important thing that everyone in this room, anyone who's confidence has, that most people on this planet don't, is incredibly diverse, set of huge and powerful tools. We may say it looks like my noise and if you see my code, it does, but if all you want is a online script that everyone wants, who cares, the only person who's ever been provided, and the lady who's ever been read it. We spend a huge amount of time piping this stuff from those scripts into anything. Piping it into less, the reader actually standard it, the reader actually standard out, the concept of standard out. Windows is getting some of those with PowerShell, but how many Windows admins are Windows users? Do you know that even though they exist, level owners can actually use them, and use them well. Who cares ever downloaded after that Adobe PDF reader? Anyone can give real information. Okay. Everyone puts junk into forms, and if you actually care about the answers, often you have to process them. Now, we don't have anything like that number of days, that number of rows, but we have forms that people sometimes put stuff that makes some sense in. In the UK, for example, there are multiple ways of writing a postcode. Unlike the US, they're not just numbers, you can have letters, you can have instant formats, you can have it with or without Python, with or without space, you can have it with or without a case, and that's just us coming out in your country, or maybe less. Clearly, now, what we're covering is this valid yes, knowing it's not a hard task when it begins. You've just run it through a script. I once stopped somebody doing it one by one in Excel, which while Excel would encode 64,000 postcodes, that's still a fair bit of time. For us, it's a function of the time it takes to write a script, not a number of inputs. Of course, if you want to clean up postcodes, there's a per module for it, and if it's per module for it, it's import. It doesn't exist reliably elsewhere. Linux, you have all the different repositories, you have all the different parts, some freeware, it has some strange compile time options, which most of the time will work if it's there. You're sorted, if you're not, you're pretty much on your own. It is very much easier to port the piece of software and have it installed in ports, treat you like a main file, everything else, pretty much looks out for itself. And once you have port upgrade, you know that if you upgrade the software, the port will be updated, and you can worry about it. If you install it yourself, you upgrade it, you upgrade everything. The interface has changed, but your custom bit of software doesn't work anymore. All the parking stuff on my machine is from ports, and it all keeps itself updated, which is worth the initial effort, and when that didn't port it, I'd have to regret it a bit. It all works principally thanks to the OBSD porters and its resource. And if you don't have real port upgrades, who do you think uses one of the variety of other port upgrade scripts that machines, if you don't know and you don't trust it, really know when you believe and when you really, really trust that port upgrades will work. It'll either upgrade or it won't, and it's a problem that you won't upgrade and it'll tell you why. Upgrading becomes much less a problem. It's not scary, it's not so good and it just happens. You shouldn't expect to upgrade your systems to break. If you change X, that should just take care of itself. Porting was talking about pipes and red pipes last night, so it's like... The tools in ports are useful if you can get them to work and play together, and that's where pipes help. The ability to join things easily doesn't exist elsewhere and a lot of the time the concept doesn't exist elsewhere. You talk to a user about piping some part connecting this application to that application they look at you as if you're talking to a generation. It lets us do very simple things that they can't conceive of and when you put SSH in that it goes to a different machine, you can run commands remotely irrespective of where it is and there's no more complexity. It's just a state of the pipe. What would be an SSH developer is all about who calls SSH the Swiss Army Knife network and it sits there and it works. If anyone's ever tried to explain to somebody who doesn't understand pipes how you used to join tools together and what makes it possible, it's not easy and if you haven't done it and succeeded, please tell me how. They let us scale flexibility and our system scale very quickly and very similarly. I work in academia for academics. We don't have many customers demanding things right now or take that custom elsewhere or some of them demanding things right now so it rarely, that's urgent. But we do have some large problems. Our data isn't terabytes in size or a very large digger. It is incredibly complicated and it has a lot of subtleties. If you look at social sciences so look at people and environments and interactions with them. If you think about how your hometown and our home country has changed in the last year, five years, ten years, there are a lot of things that are now important that weren't five years ago and we deal with data that was collected back then and look at changes. How do you represent that? Alternatively, how would you classify operating systems? Would you compute confidence? So the questionnaires which will appear at some point will ask us what operating systems you use. Windows will be on that. Now it's actually on that. BSD, for example, it's a law school. Those categories make a lot of sense for most people. But we're a BSD conference so we classify three, one for our own net, other that we want. Well, something complaining that me a BSD is not in the West. And those questions depending on what question you want to ask, depends on what data you need. And that is the problem I spend a lot of time solving. We have these surveys, they were asked for various purposes, possibly 30 years ago or 10 years before I was born. Yet, how do we know that this is why we try to use it for ourselves? So we have 30 years of data and we have 30 years of data. If you think about the new systems those of you who were running them in 1974 which is when we first started or first had to use the data we had to go back to what data part we were using in 1971 and we still read them. Probably not. But they've been updated just for real. But 30 years of data all set in animal positive so if you want 1971 information on the labour market you can go and get it. But this is considered a mantle where you have 550 plus different data sets across many new topics across 30 years. How do you deal with that? How do you find what you're looking for? If you're a new PhD student you don't know what's in there and you have no idea where to start looking and this was considered an incredibly difficult problem that no one had a real idea how to solve until I took crack at it. So you've got all this data in different formats but it's all readable. So if you edit your packet you verify it you list it, you identify it at which point you know what you've got which was a start. You can parse it, you can convert it you can clean it up and you do a fix to it. Once you've got it cleaned up in a sandwich format you can use that that output from those scripts as input to more scripts which transform it and create something like 750 thousand web pages that may look creative. Everything there is just a single pile. A lot of scripts a really large amount of code but it's a single process and you can feel the output of war into another. Exceedingly simple implementation of something we all take for granted and I've told you don't quite know what I'm doing but it looks like magic. If you're creating web pages you create URLs for them so you can link to them and if your URLs follow the patterns and if you're dealing with data in a pipeline not quite this big but some more you can know what the output is going to be in another stage so you can start feeding output from one into another and adding things. All of our documentation some of it is current PDFs created from Word bits of it are scans of PDFs, of tests, of scans of documentation if we're looking but the text we can pass we can learn the PDF to text to get the text down and look for keywords we know what they are by verbal maps so something we can link to these things down to the page of the documentation that we have from the mid 80s which you can still find if you know it's there you can start adding more stuff getting anything out of out of national organizations is really difficult if they don't do quite important and explain this process to them they didn't understand because if you don't know that you can share everything together like that you have no comprehension of what I just talked about is possible so but if it's there and it's in the web and you can say well the stuff you want that you're going to give us we'll just drop it into there and give you a credit for it and they go here you are it's unlikely that any system exists it's impossible to get data even if it's screen scraping it pretending to be a terminal that we're in screen you can get something out of it if you can connect to it and get the data you write a code script, you write a Python script you write C, you pass it on and you protocol if you have to you can generally get stuff out at which point you can use it as input this is relatively large it doesn't mean for what we're doing in academia but people who see it what one thing you've got is this is no one thought of as being possible but people saying it going we'd like it to do this or since you've got back can we do this and talking to people about it and certainly academics about it means much to do is just you grow because they keep going now you've got that can we get this information out of it yes and once you've taken that big mess which looked like 500 of those things vaguely grouped and actually you get something simple and a lot of people know just Google what they're looking for and previously that's never worked but if you have a web page you can access it by that it's indexed by Google which took a while and you start attaching all the things to other processors this is fully automated this is fully automated we make confusing and tedious stuff there are cognitive objects that sit there and they just look at databases see what's updated and throw up all the data through here so when we want to rebuild the whole thing I take a single script going and it's two and a half days later to finish processing the whole lot but computer and tedious stuff you can tell us that we need to care did somebody else have automated script work to do a maximum lot if we put a lot of analysis in the program usually it does but if it doesn't let me know I'm out of sending work out assuming it works if nobody tells me it didn't previously it has a number of scripts which do that if you see the previous link you make messages all the MFCs, pick up a script which gets looked at basically checking the web page validates every one if you want to write a script do it do I tell you and you can write a script in chronicle night of the morning like regression tests when something breaks if it's in new industry ways you sort of look at what made it great you fix it and write a test to make sure that it doesn't break again or if it does you get warned about it people whose room will write 20 minutes scripts also 20 minutes writing a script so 20 minutes a day you save time after a thought why wouldn't you do it but there are people maybe who you work with who cannot do that they don't know how to write a script they wouldn't know what formulas they can introduce to and for whom you can save a very large amount of hassle if you want to do OpenCBS isn't actually usable in the real world yet I just like a picture the person who asked is there sets in this talk that answer but a very wide variety of inbuilt scripts for CBA to be one of them just sitting there on this ready to use without licensing consoles or bombs we can have and in fact do have version control everywhere another piece of curriculum if you didn't have CBA solution or whatever else you'd use how much of what you do on an average day would be very different the projects wouldn't work the same way they do for a start and those people don't have reliable version control once you have reliable version control the CPS repository you can get reliable notifications when they have been changed every time suddenly commits to the 3DSD repository the commit message gets set if you want to watch and process final effort changes put file in CPS to get regularly and wait for the CPS ID to change if you don't want to read them out if you care about what the change is we dream of if you don't care what the change is but for the CPS ID that doesn't need to corporation with any external organizations it's a web page you just form a fetch every hour and you can then see what web pages they change when if they agree to tell you what sometimes to get you don't need to wait for them to tell you any more as soon as it's there you see what's there now what used to be there, so what changed do you care about that change if they just fix a timecode change the number age to the word age you don't care if they tell you that the status set had an error and then you probably actually want to do something about that do an answer to mind your own the first things I found principle they're talking about the stuff that you find in actually doing it having strips telling you where the things are along is far better than I'm going to check and find the right one that's the main principle behind Nagios for system monitoring you just want to know when something doesn't work anymore if you don't care because it's working the machine that it is is doing the automation as much as possible there is a lot of time that could be spent doing boring stuff you don't automate interesting things you automate time consuming things and dull effects and if you use automation you can spend it instead looking at pictures on the internet and this is a top hit for interesting on Google I have no idea what I don't want to know people working very different ways they have different strengths different weaknesses people we work with we're usually taking the average of this audience with the technical people we know how to solve technical problems we work with who do the things that we don't do by being nice to users if you want to use the strengths of different people then we can make the total amount to do whatever task it is we spend time doing good now while you may see a task as hard rotating and being nice to users is not necessarily everybody's strengths there are people who don't have as much deep technical ability but who quite like being nice to users and take your short answer as to why what they're doing is long depth and translating into something that could send back without that you may see that as exceedingly hard they see it as easy we have fantastic tools that protect the planet there are things we find easy that other people find very difficult they have very different tools what tasks do you not want to do anymore that they find easier and humans will swap that every morning which you will spend 30 minutes on and fix it when it breaks or even having mail then when it breaks you can get rid of the stuff you don't want to do and make everybody's life easier many of those common jobs I've known check things, many of them update things some of these are things that we used to have people do we swap the tasks so that the automated task just happened and they can spend their time thanks rooms outside thank you to all people who like the first bits of offering systems talk about things that happen to talk or just not mentioned at all but you may mind your part far easier and it will be far far harder without you so thanks to Rob Watson, Pauline Cannon, Michael Munson and all the organisers who've done a hard job very well I'm going to take a slight detail for a second UK has been doing conferences for 30 years we're 30 years old we've done multiple world conferences a year they include material each conference has some late steps on the bed for the last decade but we've got 30 something years we have good papers and good content the people like Rob Pike and Cusby and Richie some of them are just so relevant some of them are just so useful and they're still requested because they're not available anywhere else we have this huge archive and some boxes and covers we're sending it to people for questions but if anybody knows a good way of organising this a lot that's what we're going to throw or just have a very large part of it we're just going to make a clear process we're interested in basically giving it how to do this better and it's a huge archive we don't know everything that's in there there have been talks on pretty much everything for organising the units for the last 30 years so we have no idea what's in there but we're interested in we are doing this and if you're interested in either helping us or telling us if you were at a conference in the mid-70s it was really good let us know and we'll look at what we can do but if you've done anything commercially approaching this before if you appreciate it if you tell us what we shouldn't screw up because you either did or you realised and did thank you any questions? exactly who in the room isn't going to scream? if you want to know what it is ask the person sitting next to you which one has that one can the screens wonderful that should be an attached session and sometimes that happens and everything guys for the last couple of years there have been at least two BSD screening implementations that have been mostly there and completed if you're interested in working on this and actually making it work properly I'd say you don't come and talk to me I'll find you with the people who are interested and let's see if we can sort out a better screening presentation for this time next year and one of the questions which occurred to me was trying not to have to connect over the CVS or everything else CVS and base and the new implementation planning to add archive and publication what happens if you add that to our backups can you get better administration and restoration and trust in what's in that?