Devops Logique

Video in TIB AV-Portal: Devops Logique

Formal Metadata

Devops Logique
Alternative Title
Perl - Devops Logique
Title of Series
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Release Date
Production Year

Content Metadata

Subject Area
Point (geometry) Group action Computer file View (database) Multiplication sign Virtual machine Mereology Medical imaging Programmschleife Single-precision floating-point format Damping Endliche Modelltheorie Error message Address space Perimeter Physical system File format Electronic mailing list Bit Cloud computing Line (geometry) Configuration management Universe (mathematics) Right angle Quicksort Cycle (graph theory) Routing
Point (geometry) Service (economics) Computer file System administrator View (database) Virtual machine Parameter (computer programming) Mereology Information technology consulting Product (business) Element (mathematics) Divergence Cuboid Software testing Physical system Shift operator Cellular automaton Configuration management Peer-to-peer Process (computing) Integrated development environment Order (biology) Configuration space Summierbarkeit Resultant
Area Computer file Cuboid Software testing Quicksort Line (geometry) Configuration management Physical system
Multiplication Functional (mathematics) Validity (statistics) Real number Structural load Virtual machine Sound effect Configuration management Integrated development environment Software Computer configuration Computer hardware Form (programming) Physical system
Functional programming Functional (mathematics) Server (computing) State of matter Multiplication sign Expression Parameter (computer programming) Line (geometry) System call Formal language Subject indexing Goodness of fit Algebraic closure Hash function Oval MiniDisc Software testing Resultant
Point (geometry) Area Installation art Channel capacity Information Image resolution State of matter Image resolution Graph (mathematics) Control flow Complete information Mereology Metadata Software bug Revision control Word Process (computing) Software Personal digital assistant Different (Kate Ryan album) Website Collision Extension (kinesiology) Physical system
Revision control Multiplication Open source Hypermedia View (database) Patch (Unix) Multiplication sign Formal grammar Flow separation Machine vision Form (programming)
Group action State of matter Multiplication sign System administrator Source code Function (mathematics) Parameter (computer programming) Computer programming Web service Radio-frequency identification Different (Kate Ryan album) Computer configuration Physical system Exception handling Area Scripting language Cross-platform Moment (mathematics) Shared memory Database transaction Bit Configuration space Right angle Figurate number Point (geometry) Slide rule Server (computing) Functional (mathematics) Service (economics) Computer file Monad (category theory) Product (business) Goodness of fit Logic programming Gastropod shell Prolog Module (mathematics) Military base Line (geometry) System call Equivalence relation Business Process Execution Language Compiler Particle system Voting Logic Universe (mathematics) Formal grammar Video game Window Abstraction Prolog
Point (geometry) Slide rule Server (computing) Regulärer Ausdruck <Textverarbeitung> Service (economics) Electronic mailing list Virtual machine Planning
Point (geometry) Scheduling (computing) Building Combinational logic Similarity (geometry) Drop (liquid) Fault-tolerant system Computer programming Formal language Inference Different (Kate Ryan album) Oval Energy level Theorem Error message Combinatorics Prolog Physical system Exception handling Copyright infringement 3 (number) Proof theory Uniform boundedness principle Word Invariant (mathematics) Personal digital assistant Tuple
Point (geometry) Slide rule Implementation Scaling (geometry) Inheritance (object-oriented programming) Open source Code Block (periodic table) Multiplication sign Electronic mailing list Bit Line (geometry) Formal language Term (mathematics) String (computer science) Internet service provider Chain Statement (computer science) Representation (politics) Energy level Right angle Tuple Condition number Physical system
Scripting language Predictability Default (computer science) Multiplication sign Source code 1 (number) Mereology Predictability Mixture model Software Term (mathematics) Core dump Order (biology) Video game Text editor Office suite Cycle (graph theory) Spacetime
Axiom of choice Point (geometry) Server (computing) Randomization Mobile app Multiplication sign Thermal expansion Set (mathematics) Formal language Web 2.0 Web service Different (Kate Ryan album) Internetworking Term (mathematics) Selectivity (electronic) Nichtlineares Gleichungssystem Data conversion Extrapolation Physical system Addition Validity (statistics) Image resolution Thermal expansion Variable (mathematics) Configuration management Type theory Gaussian elimination Universe (mathematics) File archiver Rewriting Natural language Prolog
Point (geometry) Web 2.0 Ocean current Server (computing) Expression Set (mathematics) Natural language Variable (mathematics) Extrapolation Resultant Prolog
Point (geometry) Group action Server (computing) Scheduling (computing) Computer file State of matter Mass Hypothesis Web 2.0 Inference Gaussian elimination Mathematics Energy level Nichtlineares Gleichungssystem Office suite Exception handling Physical system Validity (statistics) Image resolution Point (geometry) Electronic mailing list Sound effect Line (geometry) Hand fan Proof theory Gaussian elimination Logic Video game Nichtlineares Gleichungssystem Right angle Resultant Prolog
Point (geometry) State observer Building Group action Existence Scheduling (computing) Service (economics) Computer file State of matter Multiplication sign Image resolution Range (statistics) Set (mathematics) Programmer (hardware) Physical system Distribution (mathematics) Information Expression Electronic mailing list Line (geometry) Group action Equivalence relation Hash function Universe (mathematics) Order (biology) Task (computing) Force
Process (computing) Root Googol Chemical equation Multiplication sign Image resolution Projective plane Configuration space Client (computing) Right angle Configuration management Physical system
going it yeah view of the money from the world 1 of the the this need that's and this
is her group based off of our universe many of love dead David debit double as you way why I hate it when we let the French names lines I will explain that in a minute and so that
this I mean and and before I even learning 1st turned up or I'll say and running into the actual will community um I used to Akaike about around there was a cycling infrastructures stalled um which had a few interesting bits on that out of my list associated with it um where people used to talk about system formation on so about when I 1st went into this stuff cf engine and the CSJ would basically what existed think it would be sifting through I I I I don't I Georgia were knowing about but not because it was it was brilliant but insane I mean that this this was the stated configuration management circa 2000 to um I a school i has come what the guys like she set up a slight the built by uh which is actually really clever in that it was systems automation in almost all right in the modern day when we do it when when people when they were doing some sort of cloud service often you have basically a base image once and demands on it that's your fed if anything ever changes you start again from scratch the perimeter this is effectively have dock work for example the I'm a minus come actually follow that model it with is configuration management we're going to come out of its you have that which was basically stick this file only machine usually in slash tunable something because we just need for a minute an exact which was know when this grant to do something about um about that that was that was kind of interesting and then uh Leucadia started talking all error bounds and the ideas he had eventually led to public um some something the continues to entertain me is that um he'd been writing bold previously switch to Ruby from part that because he wanted better built 0 and then al every time I try and switch to route I admit I might try and play with Rubin um I go back to blow up half an hour and is just using in the age of loops Ruby doesn't have good in a building a lot of but if I so all the way and catalysts main addressable was written by a guy called um and the reason he was writing it was to have that was to build a configuration management inside finance company he was working II is go what he referred to a single copy nirvana which was basically the idea of single point of truth for all the systems configurations the
and then when he started working motion to a place as a consultant during sysadmin style I I I I still remember the crying on the catalyst I of C General because all of his customers were males startups so in order to make it comprehensible to his customers he decided of the business he needed to have the for the user-facing syntax peer review of of both which and where it seems somewhat jittery well from you may have heard of what you have to put
I am I had I had a lot of fun arguing with the details and configuration management with all elements of our uh I I I would I would like to thank the sum of the thing shift of betterment part that um er at least partially influenced by those discussions but you know what whether it was true or not it was several days of really funny arguing with somebody you knew what they were talking about you know what that's a joy anaerobic cells or we all agree on love I but that 1 and 1 of the things I could never quite quite get and I died and the better explaining their skills on have blood years of was arguments about it but also about ownership of uh and configuration management systems least occurrences generally want to own your system as they in From fundamentally your final machine configuration is and in this is kind of the incidental result although this initial configuration I'm not that's flying in all cases great for all I need a fleet of productions of I the all to be the beside the reason I I I I so I'm still convinced that the the reason of the fact that I wasn't like I didn't explain that well but 1 of the reasons why I never managed to get always wanted to kind of get is Revlon was said walls he'd come from finance from his point of view anybody making money will change to a system was in a job and I'd Iike until you agree with the idea of the book it runs into a slight problem which it is that service so how many environments I've worked in run into the because what you have is configuration management wants to when the system that works fine you productions but then the dead so you wanna be able to tweak stuff to find out what's going on and there is nothing quite so setting as being halfway through testing something out and having the configuration management come along and reset the so the back to where it was before who so what ends up happening is people turned off on that box and their bedroom production of divergent and uh all drives means and the hands file is is
my critical example of a sometimes to test something you want like a line in the house spot you do not want configuration management together that's not supposed to be that the late but they'll then and and and trying to figure out how to solve how to solve that problem in a way that's still delayed configuration management capable of converting the system to the right place the um led me there are all sorts of St strange increasing Boves uh like the fact that
only but the other 1 the other 1 drives me insane areas make as much as a minus and is don't do anything just tell me what you're going to this is wonderful and lumen of the configuration management systems can effectively express what they going to bed of ATP in the Georgian mental um and overwriting files yes this is fine on a box where you where you file but did I I
I want I want configuration management that can say is this smallest if it's Marlene as in if it's the last machine I installed totally cool I can write it exchange yes writing it and option but there are other options white middle all you know of the finance environment razor take it with a child of 5 of us in changed I this because the tickets a valid form of alterations in a in a in a in a lot of respect your if it if you're dealing with real hardware somebody has to go Arak effect and at the end of the software cannot writers over yet I am OK yes yes Cloud Cloud Cloud Cloud Cloud Cloud multiple of I also ran into the
next next is fascinating if you if you not locked it please please look at it it's really cool um the idea of nexus to be a pure functional load systems
as a so we have an expression language and the the idea the idea is you treats um your installed package as this is the result of this function call with these arguments so you might you managed to polish so functional programming advantages into something that is normally a very much very much mutual state because because well it's the disk of the server he kind of has to be mutable state our and
mixes brilliant idea you you would you end up with a situation where um all of your know what they depend on so you can if you have the idea of a closure which is from the next larger is basically this is the bell all things that was built against the index by I think it shall 1 tests because you know as as we list almost daughters show 1 hash is never to um I and and and every time I look and I go they're going to collide 1 then I'm going to hate everything on the line and you know what I haven't tried it yet and this works really well good EGG shoes um but under thing is next so other
channel which is basically a blessed versions of software which is what gets built and sold and I'm I'm with this so the channel still requires human curation and the channel is still mutable state of our I was kind of like nice part you missed 1 of the interesting challenges i which is the idea of we can you can do automation dependency resolution in that provided you have the metadata um I think part of this is most packaging systems don't have that richer metadata systems ieee deeds notable actually that these days uh the besieger might suspect he really loves so if we even have the capacity to specify complex so um and and it is I'm I'm assuming only some people in area after installing lives if you would lose hyphen outdated it will tell you what extensions need upgrading to continue working but that's complete information currently it's a very it's a it's a semi-manual process collision with a 2nd stage often used the device install but the information is there I but you get into other Indian into more interesting stuff would you start thinking about dependency graphs graphs rather than just a single market so let's say a package package actually were 1 of some sites and then package why only needs 1 when so that's fine you can just merge those requirements and say I just need 1 more a book if there's a bug in 1 word 1 . 12 break while you now have a slightly more complicated situation so at that point what you want is something that can go well in that case we should install 1 1 111 because that's following threats and those in trigger the bugs the right why so but then this
is as soon as you start looking at that you run into the thing about our this may mean that the different pieces of software the London copies of the same package installed along its and this is the point where all existing packaging systems go I hate um at the bakery j
just just just doesn't support at all this is why this is why you have all that the in thing of having prose grammars 1 . 1 of the package name and then they have a oppose metabolic use sits on topics of it's a beautiful way of that way of doing it when you when we given you only have in there being a few things that really need that it's it's a bright work around but I really kind of which it was based it was baked then um I actually started talking to the dpkg co-developers of with a view to make may maybe I could maybe I could have this feature of they were not particularly interested and I know exactly what the reason is
they have previously run into an idiocy problem this is 1 of the fun things about so you open source is made of people with his birth the best thing and the worst thing about In this guy's several years ago somebody had turned up and gone support for multiple versions in the the KGB really killed and a couple of people when get out that might not be a bad idea anyway and therefore I will implement it but at the same time because I have decided that I am right although the market need to be renamed to follow a different form to fit my vision impairment of versions will work hours that I mean so when it when I was trying to sell among the idea of the patch that just the multiple versions of all very well having flashbacks to this and assuming that basically anybody wanted what I wanted also their end up wanting all the stupid shit he wanted and they they really were not interested and I do absolutely understand and if I had to do with the previous media I probably have been a victim related to I could um interestingly when when I did a
survey of over all PM provided the packages don't share files are paeans fine with it it actually
humbles it handles it perfectly none of the tools built on top of the and because nobody's ever actually thought about Bobby a member of by i the I didn't consider this to be a suitable final solution to the reason of it's obvious I mean really in so
nothing was fascinating PPL the back back back back back in the days when a win win people there were still people life is also was a good idea um I ran across this idea business process execution language is a giant x amount spent that had the interesting idea all understanding but if you are coordinating across half a dozen different web services something and file you don't have transactions across a system that distributed um and even so in the i the idea was to orchestrate calls between different services I am and I had this idea of compensation action was always fascinated which was basically we can just call wildlife but if we get quite false steps in and it failed we probably can going council at least a couple of the early steps a I had that make them as a call comes up with all that was really clever I am but I'm going back to minus and all right here's a here's a here's a truly during anybody's ever this but if you are at the point all I need this thing to compile to back also for all problems going to again I cannot figure had to get the configure script to do the right thing I'm tired of this I don't want to hand and it might fall I still want shell script to recreate wonder make minus said pipe coalminers PAT do as slash slash to screw with the output to add compiler options and then played into show is unbelievably useful introductory well if you document what you did it can be the best way of getting something compiled today well having to come back tomorrow I been this this incidentally is why is why and even the writing cross-platform make is horrible I still hate module will the goal module will hides away that logic and will so if you have a source of trying to install something they then went into the situational but but but have a wide fix this now the I will will I was amazed actually I I I thought would you will might make a perfectly sensible solution for maybe conversational complicated operational when there's I was at the gym the lecture 1 year and 3 Germans as admins start up and interrupted me mental Germans stood up and interrupted made talk it was sufficiently important to them to do to say that and I'm really glad they detonated their common walls well when admins a well yes make on Windows socks we know how to debug it please you might like I um I think honestly long-run somebody's going to need to write the equivalent of SQL abstract from not it anyway that of on so in in in in the in the biases of wondering of by the way I on I am aware that this is kind of a long rambling thing of different bits of bases that's because it's been a long rambling during towards trying to find ideas I I I I I I I I do I do promise you in the 2nd half I will get to something approximating the point um but point but only about a um so Haskell on a How can I I've never actually successfully Rittenhouse school program I will absolutely maybe some I'm sure there are many of us in tried and not quite got the uh at least seek out and I've I've never got to the 1 where I can reliably produce something compiles and then immediately side votes I yeah I have if if if if if you want if you want to know why why why is it and you know and Stephen even on the slide delivery down said folding the yes I wrote the original seeded throughout yes it's exactly as horrible as on making a the I am incredibly glad that it demonstrated keywords with useful enough to somebody competent implemented the Minkow an the I am but it didn't do a maximal functional idea OK has school actually maintains purity but can still do I know um that there was there was a recent article saying you should call it the I O title the I IMO because otherwise people go away and try to understand them and get stuck in screaming which I did about 6 or 7 times until I happen to watch as school tutorial by Simon Dayton Jones who go JC ingenious also academic background good teacher successfully explained it to me I'm from Florida at least the next 10 minutes I felt like I understood moments still got my hostile but the made the basic principle of the way the BIO obstruction where is if you make the world a parameter and return value so basically you have a function that's a different allowing the way you keep functional as he takes as an argument a world consisting of the entire state of the universe before and and returns a value representing a new universe which is exactly the same as the old universe except in this new universe the line has been printed the William yeah yeah are you know if if if I if I was smart enough maybe Abascal grammar there want us to go there but and then then then then from there I I I fell over prolog which is the reason for the talk title because prolog is actually short program methodology because it was invented by grazing French people in the seventies yeah um but it's it's a fascinating and ideas polity is a logic programming language so who every it's it'll decorative any old talks about um FIL an example and if you have a particle which is what you have instead of functions in the area a installed is your product the server on package could both have values or not so the idea is is to is the
uh the plan of the slide explaining that
added I'm stupid and the idea is if you say installed some some package it i this is yes or no however if you say installed some machine and packages a new variable that doesn't currently have a value the it will give you a return 181 return value per package on that server and you end up with a package you can equivalently call it with a package name but server name in it will tell you all service it knows about whether packages installed um which I think is really interesting and powerful comes um because of the book but the whole point is what you did what you basically do is declare a list of things that need to be true to have a valid solution and then it goes through the
different candidates hours and retention combinations where those things where all of those invariants attorney um which is this is really interesting if it if you're dealing with so scheduling stuff similar it's well worth having a look at prolog pickles they'd been building saying scheduling systems in combinatorial stuff for well since the early seventies and if and my I but will also point it's not the silliest knowing that has been inflicted upon me by grace inference evil this in his name is that there's a there's a theorem solver proof assistant by I started working with for quite a while I only started playing with my but not this is another 1 I played with that I never actually did anything radio in that but still a bunch of ideas but the proof assistant is called see OK I English the there is a slight disadvantage to saying We did it to going down the pub don't friendly a warning even working on today all I've been learning talk all right know that and then and then and then and then and then again and Rafael García Suárez did point out to me it's lot 1 more than um might but my initials also in infringe work melody 6 syllables and see work so who I I I I I I guess basically the French language is troubling me back an but
and the building of the and III and IV of playing about with his GCL the anybody actually written in DCL this all go and and why I have to I put this in the in the and primary IRC channel 50 l egg drop users are to backchannel what people would just discovered CGI live . pl word tuple journals 15 years ago in that their problem is almost never anything to do with the language and everything to do with the thank certain level of being unclear on all the concepts no and also I drop has these wonderful habit of eating whatever the error message will so you you should use usually the most help you can give to an a draw program with the problem is to teach them how to do it try catch and actually will be error message the at which point but tends to become obvious but and the was kind of
fascinating because it basically list put built out of string um to lead to to the point where uh places In the Seattle are actually a quoting construct so it if you see if you seeing things cl if condition for all the block is just a start the way but the way the if statement actually works is you know me e-mails the strain if the condition is true this is not as terrible as it sounds because genes would to work this way so basically the internal value ends up um getting tagged with the compile representations you are actually doing extremely well the um but a bit in men and this was the point at which I fell in love with you still have to be about 5 lines of code to add in last and I I get upset every time I have to use a language without in last um I I I I I I I I swear 1 the 1 of the main reasons I fell in love with low I think is that my parents opposing like graduates so who III of as I have a certain level of language I'm having to say if null just irks me the I still I I still don't understand why the rest of the world doesn't have unless statement it just makes code so much nicer anyway um and again the um come back to you OK yeah blue and yeah a in in
in it's the swiss army chains or if you wanna build and Bofors just because I know I will be able to bend it to do what I want no I I was I was reaI originally um gave artery with this talk exactly but this couple of slides was a uh a Unix 7 conference um which meant the next slide um really did confuse some of the audience um because people going down there but that doesn't make any sense at all or what will OK about that just means you have discovered all the room I the hop size cooperate knock of speed looking um and I will be the the the fascinating thing is in the union of a to B will deny it cannot be that good and what will if it is not of why people join tuple Aruba the reason sex jazz the provider has statement in next time I tried news worry I'm going to use the jam I might actually not get put off by the city allow and be able to write some code and even the Python guys have tried to supporters as well so you know the the and I think it was people who would you who would used to pose some Wall and then ended up on another language and when welcoming where the features they all um and decided that in the in the grand spare of open source the answer was the sale of features and I I by by what I I wish them the best of uh but and come to my to my um I did actually 1 more seriously consider and trying to do systems alterations stuff that was driven at the top level by make I mean I I II I do I do it for small scale stuff all the time but I I'm I'm I'm in like a complete system gives uh there's a Fingal make the they which is a appealable implementation right I was thinking a maybe if I'm bad there's some I go from cold to make the bill to make the world a make the term an them ideal adopting a new shipment of drugs would tainted with whatever made me think that was a good idea but and also I hate have tab
characters can fuck off died in a fire committing babies you um might my my editor has a chance to operate I used to space and and I hate takes place and then but if you don't have your tab stops times set to wait you can't source started to build 5 crawl the goes well yes we are no longer get the bill 5 core is a mixture of all time and then make space in them the there is there is a part of me that was really quite like to write a script that goes through in just fixes up all of those commands and then the rest amigos no don't do that don't do that don't do that people have if this is also a really important lesson in terms of the what would Steven was talking about um future backwards compatibility the guy you like he realize that times were mistake you realize there about 3 months in the thing is there were half a dozen guys in the same offices in already using and and he didn't want to break compatibility so bad so in order to save those 6 guys rewriting them they follow the hinge aisle well suffered tabs for the rest of it that the the Boston among Joyce there'd hindsight um never mind we we I I think any anybody who writes a piece of software that unexpectedly gets popular ones in the West I am I I I can think of several things I did in the rights last and hindsight I should just broken about 8 years ago default like half the world was are of course you're not married now my solution to this is on the mistakes of on the mistakes of my fault the fixing the Missouri researchers thank you error and but
in that the debug ability of Makefiles is really impressive and and also because you have the miners and it's predictable if it can tell you what's Canada wants it's going to do the right thing you tell it to today I am and it keeps doing and they would which means that no other debugging Makefiles is still in life but it's a lot better than a 10th the debugging cycle the that is 1 of kind considered can somebody tell me is this supposed to be a full minutes slots reflected another be sorry go as well as open book OK and
so we are an and every time I joined discuss any of this stuff with people because I'm talking to different language communities the 1st answer the 1st question I get from most people you using what because archive will people don't
really get CEO Tcl people definitely don't get HBO and well as
um and then that and and and and
as the probably people bombing honestly much the school was white is still valid think there is
an has problem-free node I'm is actually relative reactivities dies it's mostly people taking their university the some really interesting conversations that on in the the so I have what 1 would argue this may be influenced by my having if you must migrant Wessels what if I try and do configuration management I random metaphor of equation solver um so you start off with a set a goal this is very much stolen from of them so you might have a no like web server running on system so it if he up an answering of anything that true if it isn't that's false um this term and then so what would you would you do to be able to um solve immigration you can you can expand it to a set of simpler equations and you can extrapolate values and you can eliminate terms and all the future um so web server running on system convey of again there is some type of when valid web services over time we have a package of that the packages installed simple enough for um so expansion takes the initial goal rewrites and so you end up with internally something like this where it basically Jensen's up um so that your your final solution is looming names because obviously having them to variables called X is not going to work very well um not well not when they're addition x um so let's say valid webserver types Indian exon Apache um so at this point you can extrapolate by the selection of the choice so what you do is you start by saying let's let's assume we told it to try and directs 1st anytime time it runs into the need for a web service or uh organize I'd by still that using basic basically if I need to stick something from the app server Erlangen genetics if I'm going to do anything complicated I use Apache this is not meant to be a a particular value judgment on either of them it's just I've been screaming at Apache for 10 years and I know how want to scream radically a thank you so you can say we can that we can make server type server valid by selecting Internet of about right so uh um having no less but you can
do look up at this point there is
only 1 current package for engine registered in the and which is obviously where you that the Americans have or whatever um so you can use that that means that if the server tigers and directs the server package is whatever and then having done that you check for it you check for installation assuming it's installed you can convince eliminate it up and therefore you have a return value all so that I P then genetics tricks as in you get a set of N variables that represent a valid solutions is the this can produce multiple results i'm because obviously there may be more than 1 valid solution depending on the situation um so so only if you have an expression like no has a web server running on it will try each each server that it knows about and you end up with a set of results all serveries when 1 server is Web 2 servers web 3 if it returns server is the the 1 you know you need to go and slaps on I um so I that's that's that not not still strike problem-solve prolog in the little this if you know it's but what if it is
installed and so at this point you need a concept of an action you need
to actually install something right and no yeah so you have an Epson along the lines of install the package on the server mutating the world underneath is not something that equation that in equation solving metaphor this really works very well with and because you're equation solving is against the static relative not very pure the bulls appear master not change when your halfway through writing a proof OK if you do hear mass a sufficiently high level that may not be true that uh meaning at the level I got to its true so you know um presumably the people capable of doing pure maths at that level would also have been carried were writing hostile the so prolog is pure logic so at this point it goes what do well I am and you end up with something else um the idea I came up with this is the concept of counterfactual realities as in you can say this is false but in a world where somebody in run apt-get install injects it be trip so what you do is you then consider your solution so far against that possible reality um and basically see if this is the inference is still well and linear and next is still a web server I don't know whatever the package name is is still package not In this world that was exactly the same as original world except somebody run at yet before we started the package installed always true which gives you an idea of elimination by our actions as in you have a point where you would be stopped but instead of just drawing OK file you basically go back pretend you already effects that and then see if you can keep going forwards I'm so you end up with actions schedule install notice that the installed fix at the front before solving stop and we end up with true was a result at which point if we actually run the action we can we run the saying basic logical deduction fan on the new states of the world to check it worked they did this this is where I get my mind is an out of the bicycle because I end up with a solution that is the list of actions required and once these about this will be a valid solution um which remains the basic life it's schedules as it is in in the same way as make when everything is already belt returns nothing to be done we condone verified which means and you end up with a system that doesn't have to trust itself there slightly more complicated becomes hype becomes um producing complex data so you basically have to do a take the simplest hypothesis of a sentence by officers for dictionary is that it's an empty harsh yet and then you can add the members as you go along basically you keep adjusting your hypothesis checked that hasn't invalidated endanger invariant so far and you end up with a result um the next
thing is the system needs to be able to get information from world and the
so why we decided to model as it is obviously obviously the sensible solution here is the tire the any time you think that it's anywhere so but the the idea is you cannot you can have a
hash for all is something a file and when you look at the value of the kidney and it does the moral equivalent of national look and that NGOs and of battle so that allows the system to get additional data in is going on things like installed packages and whatever I am so basically observations check the current state of the universe actions on to the state of the universe and then it um the sold as the same to reaction tell me what you think is going to happen when you run so it will know it's and install package it will say well what I think is gonna happen is the package is installed um when you actually it's because doesn't just called the packages installed it recalls the states of whether the packages installed as Chagall which then forces it to go back and re-check which means that if if if if you have an insulation demand returns true but didn't actually install the thing the system will still be able to notice which I think is actually really more I don't want if this thing is going to be running ranges were almost service I don't want it to trust itself it was written by programmers store um the so there are a couple minutes left uh possibly more obvious to training example um so you start off with a dictionary that gives you the balls and which is basically packaged upon which is basically populated by between Dyer uh the uhm packages don't details fall by the way if you can't if you can't see half from the name of a city by module doing it and grab on your C-band not PM's 0 2 packages file is really helpful I I referred to is gettin see pencil so and then you can do the same thing to meta info so you end up you end up with an observer that use C. permettant bulleted data and and then you can go under an interesting the so Venice is basically an expression all of um dependency resolution so you start off with this this bound looks at the requirements goes through and then recursive into itself and you end up at the end with the new best being a harsh but basically contains all of the things you're going to need to install to get your dependents themselves OK have so I mean that that that that's in the book if you then consider the existence although a pre-built RealTravel that's basically a locally but just that module um you can have a the of the symbols that of all and then you attach back to a dictionary the so basically in order to make do we have a build of this trip it goes and combines at which point you have 1 line all we need to we already have a below that and it's not only any of the system is then capable not only solving the dependencies but scared your actions to do the relevancy by installation of everything that is already installed the so you and you end up with a list of build actions to run and then a final set of distributions dependency ordering doesn't actually have to be done particularly because it's implicit because of the way these things workers in battle it schedules the available all of the dependent thing before the thing that depends on the um and
at all of this together and it the go button actually managed to recursively below the dependencies from 0 so I consider that to be a violation of the concept naturally this being you know something of a research project by then when rewrote the entire thing from the ground up again the and so I don't immediately have anything fantastic to show you I am so it's not working see Bangalore India if I had maybe 2 more days hiking time it probably would be but it is going to vary under so would the solver concept the idea all basically pure functional promo with the monadic I built a actually works a if you keep it if you keep an eye out I will be blogging about this as soon as it turns up the in the goal the goal of the initial relays is going to be something that have those the same features as um continent stole book uses pre cash balance so would you build something wants the installed process is basically just on top into a local where but yeah I well will will will will will come to falls down the the um come the conference where everybody is saying I'm going to have something working sometime this year you can have in mind is sadly the least impressive of the things that beamformers book I am this is actually going to work keep an eye out I hope I will hopefully ship 1 sometime in the next couple of months and um and once of but it I'm going to be moving on to starting to go back to the system's automation side of things but the thing is I decided to do dependency resolution 1st because what's the use of a configuration manager that can't manage its own configuration right um so we would we're we're at we're in on of hopefully this time next year I'll be talking about running as roots and having it to a configuration files as well In the meantime thank you for listening