Bestand wählen
Merken

Free and Open Source Scientific Software

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
OK everybody is so we're a we're still getting some stuff prepared thought that we have quite a bit of stuff to cover today so I think it's best if we if we already got sizes so if if you don't mind coming down like closing the door and having to it on the 1st of all before I start the presentation welcome to the heart of the last course of law line space all of this is the advances line course so I hope it won't be as a as complicated as it might sound idea on you I sent an e-mail yesterday evening and I hope all of you got it on as you might have read in the e-mail will be having a short introductory in theoretical parts and then a slightly longer practical part where you will learn how to package how to write and packager on scientific software underline so it's important that you have like everything you need all before we get there that's
I have the slice slice 1st slide 1st if you if you don't have anything you can like install it and get prepared during the theoretical parts of that you have everything when you start working with that actually so those are the most important thing is that you have your laptop with you does everybody have a laptop OK all we will be working
mainly remote remotely meaning that to make sure that everybody has all of the sulfur then is for the example we set up all a server which all of you will be able to log into we already have usernames there like numerator and user names are user and then 2 numbers it'll be starting at 10 so all 1 for instance will be 11 2 will be 12 and on on you and the password is the same thing as the username call while working on the server we will mainly be working from the command line on the next thing years you need a shell clients so you need something in which you can type the commands and interface of the server if you have mac erlianensis is already given if you have Windows we we ask you to download gets batch is like a seed of commands which has everything you will need for the course for day and lots of other things that might benefit in the future reliable text editor you don't really need this I'm going to ask you to edit stuff in I know it's like a text editor which you can use from the command line or if you really really want to you can also edit the text files like the program which we all right on your computer and uploaded but that's not that important and if you want to be able to log to experiment with like the social coding part like sharing your code and being able to install it it would be important that you have a get top account who here has a give have account wow OK that's a lot of you all if any of the others still want to make 1 it's very fast you can make 1 during during the initial part of the presentation is not again you don't have to but then you won't be able to follow along with the instructions so the line
this is all about F. O. S. S. free and open source software and but this means exactly you might recall that if you've been to the initial presentation of free and open-source software is a concept for writing and distributing software which is based on these 3 attributes all and which is indeed very very good and very well suited for Scientific Software freeing as in the a free and open-source software means free as in freedom it has nothing to do with the prize it has something to do with the fact that you're allowed to do whatever you want with the software meaning that you can be distributed you can modify items on something which is very important if you're a scientist at John to be creative in the way in which he developed the software is shown to be collaborative work with colleagues from all over the place and making like better research tool open Source means that the software can be red in the sense that you as a human can understand how it's programmed and how it works you have access to the source code for all and that is also very important for scientific purposes because that guarantees that the software is transparent and that of reducible in the same way in which a document experiment when you do it to make sure that this reproducible the also document software and a show where it comes from to make sure that people can reproduce the results which you get with your software and of course the an open-source software is software alliance offers a very powerful tool tool for science and put it software in powerful because we're going to talk a bit about the issues the scientific software and 1 of the big issues still even nowadays is that very many scientists are still a bit skeptical about using software too much in their workflow partly because they don't understand it partly because they think that things can be done by a human operator better all but but in the world of bigger and bigger data are software is an indispensable tool and it's very important for research which is why we're talking about it right now all scientific software known the new software which is used for research for conducting organizing experiments for collecting data and so on it's not necessarily like medical software if you might think of it like that generally few softer for diagnostics it's not necessarily scientific software anymore it's already a problem which you deploy to serve a specific purpose scientific software is meant to help you to find out more about the world analyze it in a way few a scientists it's a bit like an extension of your mind and therefore it's mainly free and open-source because science in itself I told it sounded good science is also reproducible and well-documented so as a scientist instinctively or maybe intuitively the rights authority conduct like all you're year so you will connect the soft behavior in a similar way in which a conductor research behavior and it will end up being free and open source most scientific software thankfully is free and open source a sadly most scientific software does so or rely on non free and open-source come compilers and back-ends maybe because as a scientist you do you do the free and open-source spot involuntarily and you perhaps lack an appreciation of how important free and open source is also for the software back ends on another attribution of Scientific Software's that the devolves organically all I think most of your informatics students look at your e-mail address osmosis you're just since I think informatics students is anybody here not informatics while chemistry quite a few anyway so if if you work with software a lot and you will know that software should be plan should be designed carefully this is sadly not always the case with scientific softer intervals organically meaning there's someone writes a suite of scripts and he says OK and then they look at that OK which scripts giving the most interesting results and they build on top of that and everything else is kind of forgotten but not always also the leaders so the issues the scientific software I've already talked about the 1st is it's great that most of it is free and open-source but it's only incidentally free and open-source on also it's seldom refactored this is something which I talked about when I said that it evolves organically meaning that very seldomly scientific software you have people who sit down and say OK let's like completely redesigned so that that makes sense from the softer point of view this is sadly infrequently that and it also often comes bundled see if you have lots of publications and former research based on your software you want to be you to be able to make sure that people can reproduce that so backwards compatibility is rather a big thing with scientific software and the way in which this is solve this sadly that most software distributions ship with all the libraries which they need and so on and this more less are less than the fact the way of of installing scientific software which show is bad because it leads to a deprecated dependency is which are bundled with the software does not use like your system back and and such a quite a big issue all round the couple of
repositories which try to overcome these issues and to to make it able to install scientific software on a system in a coherent way or in a way which is robust in a way which doesn't waste space memory in which makes for that your system is stable and I'm a neuro scientist so much of what word much of the actual examples were gazetted their nearest based all but I think it's a good example because near scientists sold data have been and therefore you have a huge so software ecosystem around it so prior probably I think it's 1 of the best disciplines exemplify the current issues of scientific software so near that the UN is a repository which if on your scientific software so it's not a separate distribution of their DNS just a repository of software on and it's based on the that and package manager on and it's it's a huge thing so a large project all based at the University of Marburg in Germany at Dartmouth College in the United States Army and it mainly provides you with binaries for lots of new science packages in so very many of them have been like rebuild to to bond the last software to be more appropriate for a system-wide install and packaged in dead files is a binary files it's practically a package manager just copies in the right positions another large repository of narrow and software although considerably smaller than that the end is near a gen to strike the the same thing not that's exactly not at all the same thing it's a similar thing which is they built on top of 4 the gentle package manager instead of Debbie and it's mainly developed here at the ETH mainly by myself and a couple of colleagues and practically in the It's source-based saying contrast then on to near that the and it does not provide you with a series of binary is that provides you with a series of instructions which can automatically fetch the source code from upstream and build it on your computer looking for reproducibility this might be a bit better because then you make sure that the software itself is reproducible and that whatever you get as a product of was a product of this software is not necessarily an artifact of how it was built you have access to compile time variables you have access to slots meaning that you can have parallel installations of the same software if 1 to test how how your data analysis look from the different versions and hi and I'm going to show you a couple of big neuro sense packages and the what kind of issues they have with which these package management systems this repositories have to deal with so these are the major software packages and euro stamp on I certainly don't want to make this slide a point about the fact that they're bad they're certainly not bad they're really great packages of software hundreds if not thousands of high-profile research papers were built with them but even such big very serious software packages have issues STM for instance still relies on a Matlab on a proprietor proprietary on a close box back under the efforts made to to make SPM run on Oct they however this is still not the case meaning that if you run STM sadistic parametric modeling 1 of major software distributions in euro cents you will be forced to rely on the math of compiler which of you don't fully know what it doesn't mean you can't say yeah it's it's meant that the company would be interested but though I guess the point of good research is that everything should be transparent which it uses the it is not what Kathleen is another really big package for neuro science and was the shortcoming it has is that it lacks a build system it's evolve very organically with lots of Makefiles everybody contributes like a couple of packages the right the make file for that and in the end you have a jumble of files which 0 point at each other and that kind of words but debugging all compilation of of the is not something which is very nice of FSL on does not share some of these problems the truth of another problem namely that this license quest quite restrictively it is theoretically open source but it's certainly not free meaning that if you want to use it for anything commercial if you want to you will have to consult with the the people who do it if you want to download it actually you should like they they try to prompt you to give your personal information and so on free surfer is another very popular Faltings tool for neuro science and its issues that it depends on very outdated patches this is 1 of the examples for bundling which I was talking about and the issue here is that it relies on mink it's like a book neuroimaging medical format data but it relies on a version of mink which is incredibly of outdated and they haven't changed it mainly for about an hour for backward rule compatibility new neuro science players in the face of the issues would like the old the very good and established news and software all unimpaired new ecosystem of scientific software which is maybe more aware of the importance of freedom and of open source at the code level not necessarily at the interface level has evolved is mainly built around Python all while the 1st examples is nigh pipe it's a suit of fond on of Python bindings such practically lets you use all of these other big packages from Python interface and is a practically the power of Python but keeping the back and there's also a native packaging for benign neuroimaging in Python it's called my pride on I able is of dictionary conversion tool with which you can like view of the read and write all sorts of neuroimaging formats natively in Python and Island is a very interesting example and 1 with which we will work with later today or it's practically a machine learning package but it's also a plotting package it's again an example of how scientific software evils organically meaning that lots of people who work with neuroimaging have tried to make good plottings tools but some of the best sporting 2 is nowadays are part of nylon because the people who are poor doing this machine learning functions also but the very high emphasis on having decent plots with lower with their results so proud probably at some point this is going to spilled off and be a separate plotting library this how open-source software evolves of course to be able to do
all of these things all you need to be able to collaborate you need to be able to see who modified what all you need to be able to for a can branch and to merge software and this is done by a number of version control systems or 1 of the most prominent of which is get all only get this practically very interesting because it's off the 1st to centralize version management systems meaning that everybody can have a repository of the software and everybody can contribute to each other and practically all of these repositories are like the master branch in themselves so to say all pseudo need a centralized repository you don't need like an institution or 1 person to coordinate the effort but the efforts goes there were you Frances have the most active development it's a very natural way of developing software very many people like it or get Codd is a nice
interface for that it's practically all websites which are which allows you to own publisher gets off the online Europe did version softer online contribute to track issues and so on we will also use this most of you undoubtedly already know it's insisted that have a continent talking all this is the theoretical part and then now we are going to start with the practical part all we're going to go through this step by step if you already use you're ready with everything before the others then no you can see maybe anybody need some help 1 thing which I want to tell you about as I tested everything not once not twice but the number of times and it where it's 0 whenever I had bugs with the code which I'm going to show you it was always because I misspelled something and computers as you might know are varying very obedient but not for intelligence so they will end up doing what you tell them and not necessarily what you mean them to do so please be very sure that you you spell everything correctly all and now let's get started so I told you that we have our class server prepared for you or the address is demoed of kind don't you and you can log in to it via SSH your user name so user and M and N is the number so if you get the number 1 year 11 if you got the number 10 year planting and though please log into that and tell me having any troubles the relies on them who's not in things are you having initials doesn't it on to the next well with this I have this the the the solute you added to 10 I'm I'm sorry for the system we started the numbering of at 10 than a wide so if you have a single like if you have five year number is 15 yeah sorry about that on OK so everybody's in now the password is your user name exactly the same if yes all you should have gotten 1 of them didn't didn't anybody give you OK given a number please this can talk about good really great not to Australia you're still not but the problem 1 more thing this so I'll I'll leave the server open for such a virtual machine meaning that basically you shouldn't be able to burn the server with that but I'm going to leave it open off for all I know another day or so so if you don't if we don't finish anything you can get the slides and try to do the rest of home truly interesting and I really encourage you to do it though I hope we're going to be finished OK so everybody's there now OK great so now that your logged-in we we should start writing a program a case that's going to be a simple neuro science fraud program in Python and the most important thing when you're writing softer is that you should stay organized so long let's make a directory where you're going to put all of your source so all of your source so packages which are going to write today if you would be doing it on your own computer it would be those the source packages which are going to Downey right and let's do this by this command this makes a directory in your home directory called src now that that and once you've done that you practically have all on a place to hold all of your other source subdirectories as you do that you can make another directory for the actual program which are going to be writing every 1 of you is going to write a different program actually found to be the same program it's going to have a different name we're doing this so that we can exemplify how you can collaboratively write software so after you do that make another subdirectory here with your program name so again the same command under your hometown the SIC X brain and this is the same number which is for username also you have a question OK what's a number 15 so that's 25 is anybody using your is anybody else user 25 yeah have to go the was you should be 14 I'm really sorry about this inconvenience we we just and coordinate the numbers with the user so well a so if so yeah yeah and red now the 25 year and you've made the directories market great as you make this directory for your program you should make another directory for your model now so Python works in a slightly organized way I'd say in that so you can have as part of a software package on number of modules and these are the things which actually get installed we're going to see that a bit later on so the module which you're going to have as part of the software your writing is going to call be called plotting and and so after you make this directory you go and make another 1 make directory under your home path and the s seen on the act by brain and which is your number plotting and and against again your number and all this fact you'll be done with a one-liner but I I think it's better if we go through it step by step on no child left behind and so on is anybody thus far not like an hour after you do that you love for Python to be able to recognize that the directory is indeed meant to be a module it needs to find a file inside the director that file can be empty it's important that it has this name and so after you got here you should create a file inside this path which is called underscore underscore E in it underscore underscore don't apply and you create that the that filed by other command patch and just touches the file and it leaves an empty file as a trace behind so right now we made a
directory where you keep your program's made a directive for this program made a directory for this module and the signal to Python that debt directories is going to turn into a model we have now a going to go and write the actual program the actual program looks like OK and for some reason this doesn't work now OK all the actual program
will see will come on the next slide I think you can write the program in 2 different ways you can write that so would man directly by the command line on the server which is what I recommend you do as or you could write it on your own computer and then upload it but please do try to use national is if you really want to do it on your computer you can and then you can upload it with Austria the command so if you're going to use national you practice you run this
command your home path the source directory of all your programs the base directory if your program the base factor if the model and the name of the actual functions file which are going to use so it's called brain underscore activation . PI so right this type on there and then you should have a window appearing which is a text editor and all and then we can go the next lies and I'll show you the actual code so if everybody is and then we can move on to the actual program and this
looks like quite long but this is really the entire program so what actually as scientific software goes this so this is quite complex I'm going to go through it would be a line by line and you're going to have plenty of time to type it in while I while I go through sample so practically the 1st thing you should do when you're writing a softer of Python software package generally for any programming languages you have to tell the interpreter what kind of functions you're going to use on since this is a rather high level task which were trying to do this program as you might have guessed from the names of the files is about plotting neuroimaging they found now what we're going to use toolkits which other people have developed the book is that a free and open-source and have been collaboratively developed in fact toolkits from and I learned you might remember the package I told you about at the beginning and also on the 1st line we're going to tell Python that we're going to use from and I learn all of them come the module datasets so from and I learn import datasets now this is a model which will help us select some data sets which are automatically shipped with nylon some example datasets and after we do that we're going to tell Python that were 1 sports map plot live by plot now this is a plotting utility which we will need to make the figures are going to see these are like really nice figures and we're going to do amazing things so that so it's you should write import math partly led up pipe lot as p lt this practically means that it will import this but you can call it by this shorter name so that you don't have to type long names on the 3rd line defend the last thing we need to import is again from and I learned plotting now so plotting is another so is another model from and I learned which lets you all which lets you block things all obviously all we're going to use a down here since practically all of these files are used at some point in the code which follows sound this what's important important well after we do that we're going to write a function of function is something in Python which you can call so you can call a Python script as a scripted can call the file but also from a file you can call a function meaning that practically the interpreter goes inside here and executes what's written underneath this function and the tube to write a function which you can call all we're going to you're going to have to define all actually just 1 question to to to see how fast I have to explain this or not how many of you can actually program in Python OK so that's quite a few of you but some don't so I guess I'm still going to goes quite slow through the cell all is actually define a function you should give it a name you see this name is quite long I didn't do this so that so that you can make a lot of typos but it's actually quite important when you mania function and modules in Python to give them a really explicit names because you're going to see now we have a really small file but after your right like 20 of these you're going to get really confuse if you call your files like B. aid be enough to know what the stands for anyone so it's actually a very good else is very bad for collaborative coding like your collaborators will have absolutely no idea so it's really a very good of thing to get used to to name your things extensively also most advanced ideas or us simply text managers will have all the completion so this is difficult for you now because you have to type everything in national but normally you would use like a text is specifically made for coding which can complete all of these variables and function names anyway where you define the function and this any function could can take any number of input so this could be 0 or it could be an parenthesis or it could have like 20 fields in here which means that you can give to the function the arguments based on which it computes something now we're going to give a just 1 argument which is the identifier not based on this identifier it's going to create the variable which we're going to crack called the localizer dataset that's practically going to be on a ray which shows where in the brain activation takes place and this array is going to be taken from the data sets which we imported up here from the data sets which she but which shipped with and I learn it's going to fetch the localizer contrast so these are going to be contrasts face localizers meaning that you give up personal a and B and practically you look at the differential brain activation you don't need to know that and thus explaining where that comes from him and it's going to fetch the localizer contrast which has the identifier which is specified here so practically this you get this to the function and this is where it lands this is where the function actually uses that the number of subjects so this is data from up to 94 subjects if we import from all of 94 subjects will be here for quite a while because there's for the of you and the server only has 8 courts also will be just going to import data for 2 subjects all and the Getty maps true meaning that we'll have the map so we will not have all so say the raw activation data but we'll have the statistics of the activation data this practically a statistical test which allows you to say with the what kind of certainty I get differential activation in this area can so again localize a data said this is the variable which we're creating a this is a model where it comes from this is a function which gets it and these are the attributes we passed to that function please Reamonn remembered that the brackets here they're very important because for some reason this function once this to be a list talking after get there were going to select the location of the team maps which we just downloaded so localizer team file name there's going to be a file then this going to be a string and it's going to select from the localizer dataset which we created here the team 1 of the 1st and once you do all of that we can plot the brought things which is a model which imported here plot last brain glass brain is a nice way to visualize the brain it's like a transparent thing for which you can see the activation and here you select the localizer the map file name so the location from which it should take that activation map and the threshold by thresholding everything which is over which has over a value over 1 which has a peace corps of over over 3 10 meaning that if you do this so that you don't have colorful pixels everywhere in the brain but you have color full Pixar's there where you have high certainty of differential activation between 2 conditions aren't so practically this is a function which you if you would be a neural scientists can use to very rapidly just specify what kind of contrast you want and get a picture from the data set of participants of how the brain activation would look for for that contrast should not the neuro scientist maybe you can write an article about that no about psychology and so on and make yourself more credible by putting in some figures you should do that because that's lines but you can also use it so after you wrote this we're going to write another function as I told you a Python file can contain any number of functions the Nexus can be really really easy it looks like this down so this function will just take a data file which is a map of activation and plotted on the glass brain to going to call the death plot the activation by data are separated by underscore as localizer data on this is going to be a string like a location of a file and the command which is going to get executed if you call this function is going to be plotting so again from Europe so
plotting plot last brain it's the same function the glass but and the 1st argument is the localizer data and so the path of the data which you're going to plot and this is the threshold can so you add this to the same file this just so that is clear and I after you download that you already wrote URL you're neuroimaging program in Python all it took a bit of time but that's because most were so many and we had to coordinate everybody are making it to this point but you can see it's really not very many lines of code with which you can do quite all some stuff of course if you do actual research it's a bit more involved in this you have to get the activation maps from somewhere in all but plotting is also an integral part of that's you could practically think if some of your colleagues did all of the calves statistical calculation for you you would already be able with these functions to plot neuroimaging data and to visualize it all quite simple so after we wrote all of this now we already have a Python program like a Python module with 2 functions to plot neuroimaging data at all or you can already use this so you could already use this on your own machine all but as a scientist and as a programmer and especially as both it's very important to packages software in a way in which other people can also use it so actually it is the reason why a lot of effort gets lost in science because everybody's writing like their own tiny scripts and they're not packaging them they're not making them accessible to other people not necessarily because they don't want to but just because they don't want to be bothered they think that softer rich you can install should be like big software and the script is probably not worth the bother but now if you write something a program which helps in your research in you're plotting in designing your papers and so on you should uploaded because then you can save other people work and what's even more important for you personally these other people can contribute to it because if they end up using your stuff as a short cut and they find any bugs in it they will also have a stake in making it better now they might find box for you they might know programming better than you they might come from a different angle they will definitely help improve this function so in the hope that that might happen with this program that's packages so that we can install it from the system just like you would install open office or anything else through the package manager and it's actually quite simple because Python is brother murder programming language and they kind of already the care of that smaller so this is like the finalizing the program if you're an you just need to get out of men on Onsager stuff you do that by pressing Ctrl and and and control X all 0 and if you did insist on writing this program when you're on computer you could upload it with SCB did anybody right on their own machine I can't say can uploaded to the density to the correct path looking all month that's another way to do it OK so now everybody's the finalize the program and you can add a set of file this is practically a really ready for Python profile file which tells all whatever Python package manager use how to manage this fact India actually here you can add a lot more variables and normally you should because you want to give a lot of information about your your program all 2 people who don't know it so that they can understand what it's all about but here we have like a really minimal example and for that you'll have to create a
pile of so I'm really sorry whether they're working before that we'll have to create a file called set up by under the main the root of your program yes you do it again with national till this the symbol for your home directory the source tuple your programs this particular program and then set up the 5 and inside you import again as I told in Python 1 most programming languages you start by telling the interpreter but interpreter what functions import so you will import from disk Util score set up this is the function which set up the package if you have questions a but those quotations so I also have a Swiss keyboard right here the quotations are the 2nd bottom it's next is 0 so it's the right next but right after 0 yeah it actually doesn't matter you can use a single quotation very can use double quotations the only thing that matters is that you stay consistent so if you start using double quotations which I suggest you not to do because then you might be confused now that always use double quotations if you start using single quotations that OK but always use single quotations and after you do that you play press control to save will enter and control acts all practically what this contains so after you import the set up function all you can pass a series of arguments the set up function rifle that in Python any function can have anywhere from 0 to whatever amount of arguments set up can take a lot of arguments but we're just going to tell it the name of the packages his act I brain and N in case this wasn't clear please write your username plus 10 here it's very important don't right and and now the version this is alive software package meaning that we're not going to version that we're going to upload it and we're going to be able to install it directly from the code you wrote a couple of minutes ago we aren't all it's a way of managing staff software which is maybe not very robust but if you are using software for your research especially software which you wrote yourself or which close collaborators wrote 3 can like pick up the phone and ask someone if you have about then it's generally better to use life software because then you have direct access to the newest called which collaborators wrote you can debug at together you can contribute to it but there and if you have any issues since it's a softer which you wrote your collaborators wrote it's easier for you to be buying it or I wouldn't use life software like I would wouldn't use alive package report chromium were for something like that but definitely for my scientific software that so we don't have a version number and these are the packages which we install down I told you that practically in this big software package were going to have a number of like some factors number of modules and this is plotting and and this is why we had like another directory here you remember directly under which you wrote that little INIT file this is how we tell Python that that's what it should install empty bucket you could have any number of subdirectories here and by the set up file you can tell Python which ones to install you could actually also selected compile-time so when you're installing the software which ones actually get get bills which ones get installed your system or is anybody not done with this everybody's wow this is great OK reciting to pick up speed all cases so long now that he wrote the software or it's time to get collaborative where the young so you wrote a Python neuroimaging program you wrote the set file which practically enables Python package managers to to install at them all and now you want to be able to upload it so that colleagues of yours might also install it yet because right now you set of all of these things but the only 1 who can is all it is you because you don't has it on their computer and and they were going to do it is by pushing it to get how all and 1st are going to need to register it and get and the 1st things which you will need for that is you have to tell give who you are so log it can also be used for proof of insisted and that all but the it's a built in fact of get that it will not let you make comments if you don't identify yourself so please write to these you can actually add dummy variables if you don't want to like tell get your real name where your your real e-mail address but actually forget how the if you're going to use get help which I think many of you do it's good to give the same e-mail address which a registered with and get help said that have no knows who who made these comments nominal and I hear you can write your your normal name so the way in which gets hub will identify you is over the e-mail address which ions which is why I only wrote about up here OK so if after you're done with this which I hope all of you all we can move on to actually committing your program to get noun of sofas actually to commit your program to get and then uploading it to get down so 1st you have to make sure that you are in the program directory if you're not already in there you can change the directory on directories source directory program director in you can initialize an empty gets repository meaning that it practically start to get this version control system inside of fall of your program route with Git in it then you can add all of the files you have in there to get to do that flag get ads and don'ts . practically means the current directory and ask you to all of that you can commit everything meaning that the
register in did get well memorize for ever abundance appellate to forget all that you committed this code at this stage the answer right get commit minus 18 means all so all of the files which have been added and have been changed which at the moment was all files get committed minus M. stands for message this is a commit message which get will right and you can write new program or anything else you want practically that's commit messages just important to give you an idea of what happened that every commit so that you can tell your future self or your future collaborators what you did there and strategy just a way of staying organized but yeah or get doesn't accept empty commit messages so you should definitely write something in there so to committed that to get your this close making your code public allowing other people to install descriptor just wrote and allowing people to collaborate with you in an interactive color full way and you do that and get cannot the and to be able to host all of this and get how do you have to create an empty repository you can do that best from the graphical user interface of the web page to can go to WWII thinking the w can go to get how don't come and go to your page so log in with your account and then you will have a about which says creating a repository and after you
have created the repository and we can go on their repository page at such the 1st thing which they did have interface will show you and you will see a lot of lines which tell you how to we initialize a repository most of those commands you already wrote like get in it and get add and so on all the command which is important so that you can push stuff from the command line from the server directly online is the line which looks like git remote add origin and after that the constructive http s if you don't have your SSH keys registered with get Hobaugh or it can start would get all whatever lines that's it gets remote add origin from the page you get sent to after you create a repository please copy that line yeah copy it with control and then go to the terminal and paste it after you're like in the root of furor off your programs after you're like under your user name SIC at my brain and now than it tasted there with control shift the and then you hit enter and this will practically at a remote so it will tell that get all software on the server that it can push stuff to this web address sound so this practically
tells get that that should of that it should open like the remote section of the program and add to the remote's list a remote called origin and which has this web address yeah forget is the software and remote is a set of fear is a list of remotes that it puts 1 it adds 1 in the less origin is the name of the remote and this will be the web address and this is what it all means OK so a remote can be of a web address a get address a place to which gives can push your content here that's the word can send it to or from where it can pull content in exactly so in this case the remote will be you're get public counter public at public comment on which you have created this empty repository that will be the remote where did can send stuff or it can also pulled up because somebody would contribute to your software yeah you could like make it better online and then we can pull from there to your machine and so is anybody still working on this that done just OK great so if you do that you can go to the next command which is get bush origin master this means that it will push the content as I told you earlier to this remote called origin and masters the master branch is you can have a number of branches and you're remotes on your repositories that's not that important now here but the main branches called master quite intuitively so after you run this command your software is on give how people can install your software people can read you your software people can set up like can track issues with your software and people can collaborate with you know so if you a you're scientist and you wanted to have a utility to ease the plot staff now you would already be ahead so now you'd also already have something which might benefit you in the next years of your masters and so on him OK
after you do this yeah I will move to the next spot where you can actually install soft software from get I told you about the number of full of repositories for managing neuroimaging of for managing euro software and I told you 1 of them is called neuro gentle it's actually a part of gender science and is developed mainly here by mean all and practically this is what the server runs now sold now I'm going to show you how to add a package for your software to overlay which the server uses and installed a package and I hope we will be done with this before before we get kicked out actually there's another step after this which show you can go home which is actually the best thing about this presentation but sadly you need all of these other things before you can get there but but for the software which installed you can do 2 things and the 1 thing which I would recommend you do just to get the feeling of how easy it is to install software which other people wrote just bear minutes ago the package which you will be writing will not be for your own software yeah so it won't be for by brain and but it will be for Act by brain and I actually had some some of you already gave up such a thing that's a bad idea because we don't know which numbers of are still in the run yeah so now you should do it for your own software them so act I brain and in the same manner in which you've been using throughout the course but please keep in mind you could do it just as easily for the software which anybody else if you wrote here and this is how easy it is to get the software which other people just published online alive at your fingertips life on gender moving
on an overlay is practically a set of of the builds on gender it's a set of instructions of how you download and install automatically or different software packages and so in order to contribute this to this overlay you have to for kids and to clone it yeah so the 1st thing which you should do is you should go on get have again go to this address and you will see a button in the upper-right which says for please click the bottom yeah after you have clicked at bottom go to the shower with which have been working change directory to SIR seen and then type of this command git clone http as get pub dot com username this is your have user this is not the user name would which are identified on the server yes please please keep that in mind yeah and overlay don't get this will practically be the address of euphoric once you my over very here now and this will copy everything to your system where you can easily editor of course so an overlay of no it's OK about your question so an overlay is practically a set of new bills you been able to like the package Adams for gen to in most distributions a package atom is a pre-compiled binary a huge phyla dead file for instance for deviance for various package manager or in gen to you do not have large binaries as package atoms but you have really small scripts which just contained the very basic minimal examples of the basic minimal instructions with which a package manager automatically downloads the cold and compiles and Sony-built as you will see you're going to write a new build in the next couple of minutes is a really really short bash script she's not really even a script is just a collection of batch variables and this is what the gentle package out and looks like it's completely seamlessly integrates with the source there's nothing precompiled there now the package manager is really intelligent gets a source and compiled it on your machine it's completely irreproducible that's I think the giant is not an amazing distribution choice for scientific purposes so after you've done you've done that you have the overlay this collection of gentle package atoms on your system and you can add another 1 and push it upstream to me I can but that's actually going to be a huge issue now that I don't have internet but let's let's move on now all we're going to figure this out so after you did that yeah but so for commerical overlay we already did that you should create the appropriate directory for this act I bring package now so you should type make directory and Khadr dare all still there for your home directory of free home directly as are seeing that sorry keep all of your source files for overlaying is where you clone worry hopefully cloned my overlay into dust Python it's that category of package atoms patterns like Python development packages and act by brain is going to be the name of the package which you're going to package now act by brain and and please use your own and and which you've been using throughout the course out after that that you can change the directory so that you're inside and you can open the new file with this command young man all you've already used it to they act I brain and end the same package it's OK we don't need that I figured out how we're gonna do that and minus 9 9 9 9 9 9 9 is the package version which indicates to Portage that this is a life package them so this is this is telling Portage that this is not a version package meaning that every time you update staff it will automatically get reinstall to make sure that you always have the absolutely newest code from upstream so once you're here you can actually start writing the build as I told you these are just a set of very simple batch variables so the Portage that and a package manager will know what to do with this and held in solitary camp also practically the 1st variable which you're going to have to select users though EU it's like a prefix which tend to back and uses a package management uses for everything though Programming interface version which is 5 the newest it makes sure that practically all of the functions which are 1 going to want to work with our support the next variable is the path and Python compatibility so which versions of Python is your software compatible with you know we're just going to select you like the major Python comma decimal 2 version 2 comma decimal 7 0 Python to version 2 comma decimal 7 and a current gen to Python 3 version which is 3 comma decimal 4 now so he calls process it's very important that you leave a blank space here now and the next line as in Python we have to tell the program at the beginning what kind of functions it's going to use it's actually the same for and you both so we're going to tell the you know that we're going to use the disk you tales functions all which are the functions that can automatically manage that set of set up by so we distributed our code was set up I told you that set up I allows all Python package management software to take care of stuff this 2 tails are 1 is the part of Portage which interfaces with that can get our 3 allows for speech to download stuff directly from gate which we will be doing for alive software description you can actually leave this out if you're in a hurry otherwise it's just a general description of the software so that people who install it have at least a punch line to go on if you have another variable for the homepage and so on but you don't need those Yediot rappel you are eyeing is practically the addresses from which the sulfur is going to be fetched It's get all called on slash slash It's practically the addresses from which show your your latest the program version can be fetched the licenses GPL 3 of us can be whatever license this program is distributed with were gonna propre than we distributed the as GPL thing the slot as I told you Pyo Portage allows you to install multiple versions of the same package by a multiple slots so by default every every software package in in Portage which is not otherwise slaughtered this slots 0 keywords and I use these are just the importance of the polis so that Portage knows whether or not it's safe to install or not but we don't care about that right now and the really important stuff your packaging things and you want to make sure that people can install them and actually run them is you have to tell Portage what kind of stuff your script depends on it depends at the time 1 set up tools you might remember we imported that in the set up that by him and it depends at run time on and I learned because that's where all of our plotting functions come from him show you should write this and then as usual depressed control and the Contra Lax OK for those of you who have
already finished now you can do the same thing which you already did before this actually nothing new and this is again in the directory you add this to the GET TO posturing you commit to this now and you push it so did add get commit minus A. minus and newly-built or whatever message on to types and then it pushes and what you should have done after that if I would have actually had Internet access was to file pull request so practically you can after you do this goat you're get top page and you know you're going to have a button pop up somewhere in the upper right part of the screen I actually the middle upper right part which says bull request meaning that you can submit a pull request to me because he fought this overlay from me and I can read you the changes you made so this additional Package'' than I can pull it and if I pull that practically this becomes available to the server sadly we cannot do that so after you've done all of that we're just going to proceed to sinking and emerging a package which is exactly the softer which already wrote that already have in my report or an overlay now and after that the time is going to be out don't look at I'm going to assume you're all here and we're going to go to the next slide slide down this is how we synchronize all of our software so that we make sure our package manager knows about everything that's been modified and quite a few things have been modified but the we don't have to run this because I haven't like pulled anything from you so the package is already at the newest version all you could have done this by a pseudo but you don't need to do it now and this shouldn't all do it because then there there's Monday lots of requests running over the server the next point with a been installed package pseudo emerge Act I brain and and this would have installed a package of your choosing from everything which we have online but we already have a package here or you can type on your terminal I he I X they IX space and then x brain and then you can type and there and you can tell me what comes up so you I X Unix only applies so space and then act I brain this without the NN and tight under what comes out all in any directory this as a matter no match is found really
but then looms while making says that they face on a match is found by Yale at brain EI acts on the brain act have already tested this so if if there are no matches found it means that and update that the directory so in any case you have a software package there which is called act by brain 85 from the user act 85 with which I've tested a and with that you should be able to run like the next part of the script which I'm going to probably leave for you as a sort of homework if you want to do it well as I said I'm still going to leave this machine on at least until this evening maybe also tomorrow on and the last part of them this
all on python text so Python Texas is a library which is also manage and the soul of the server which allows you to automatically display figures from your Python data analysis in your documents camp and I've already written everything so that you can use that and I have a document which is at this address yeah you can see it's also a get repository but decided from that market the does matter there so many sites from which again hosted gets film so you can clone this into your home directory now and you can go into the file and you can edit this file to make sure that it's using all along that it's using act I brain 85 because right now it's using act a brain and and all after you do that you can practically compile your Python document and then it will have all of the brain maps with which it has specified displayed directly into it on is a did anybody managed to clone there's get you managed to open this file you can see I think some on the 4th line and you have a function which calls act brain and and yes you can change that to act by brain 85 and you can save the document yeah just I have a question heavily this emerge have this at the career the system gets to suffer from because our ex-aides yes the I x is like a separate utility in gender with which you can like browse what packages you have the problem is that they they get updated separately now and apparently I forgot to update the I X portages that part of 4 of gender which you start the install stuff and the
IIxi can use the browser packages actually you don't need I X CIS is an optional package shown to browse lots of colors which I like to do it now you can basically also Brossard Portage now so it's not working is simply an emission of mine it's not an integral part of gender it's a part which helps you see everything better ordered everybody modify this file so if you type this national Python tech functions . back after you clone this and you go into the the appropriate directory somewhere at the beginning of the file you will find a line which says Act II which calls act by brain and and and you should modify that to say act brain 85 did he do that goes did anybody managed to do that what can yeah thanks which command so this would have been the emerge command the please don't run this because all of the software which you have actually packages which I'm sure would have worked now is not pulled by my over but we have at least 1 example of the software which is inside tent and which is already installed just remembered the step from where you left off with the package you wrote to this software actually being installed in just 2 commands now explore in yes exactly sorry up exploding and an although it yeah exactly it's plotting and because that's the name of the module him OK so a couple of you managed to do this as anybody still working on doing this known the follow it 85 so instead of an right 85 no room so is anybody still working on this and in and then get to do this yet known OK so for the ones which were able to do this we can move on and we can actually compile this document and you compare this document very easily so you run pdf laid-back simply pdf late TechDoc top tech this composite document Of course you need to call Python as well so that the figures generated and you do that after the sprawl commanders through by a Python tacked up time and again the name of the document this make sure that all of the Python functions have been around and by running the 1st command a 2nd time in practically make sure that they're placed on the pages but these should give you a lot of output in the terminal maybe even an error message 2 but they should work all in all the directory which she changed into here so L the expert dock and the directory of this repository which a clone so then you're all you're actually ready to see that all the final result of your hard work which is the where is this exactly which is the file which you created now so after you did this of file will be produced called doc pdf which contains a lot of text which I've written in this in this repository and it also contains 2 figures which were generated automatically in from so the say urine Python data analysis program now and you can download this your computer Dutch to be able to look at it by ICP-AES you can run this command so as to the user the DNN and that you've been using the entire time at them all the time error that you colon as scene the expert Doc Dr. Diaz did anybody if you manage to download the PDF do the figures look amazing a what no they don't kind of a fucking well yeah you haven't seen lots of neuroimaging plotting softer than by by those found is that the you know amazing exactly you don't really know what it is but you do because these figures so the output which again was selected by you in the document file of course you tried the document I did but if you open the document file you can see exactly what they are calling down so practically these figures are called in your document filed by Python back not functions that track but the other document which is inside here which is called which is called pico don't text so she can open man Python tech I code dot thank you can see the functions which actually create these images stamp and there are 2 functions 1 for each image the first one uses the first function which we wrote where you can practically generated of figure based on on activation map on a contrast now and I think the conference which I selected is checker board or something like that which means it shows you what parts of the brain are active when a participant concentrates on a checker warden opposed to to the resting state and you can select very many other strings which would give you a different activation so practically if you would edit that file you can actually tried down if you open that file so by Frontex functions but that catch relative right yeah I'm sorry so download and your document to come play around the answer you can edit this file and at the beginning when the 1st function is called you practically have all commented line which tells you what other kinds of strings you could use yeah you can replace them now you can take 1 of those and put them inside of the string which is the argument of the function your calling and then you can recompile the document with these commands and after you do that suddenly the figure in your document will change the 2nd which command the the I yes sorry it should have had a period here so that the difficulty that into to the current directory now I'm very sorry mission on my part in this file I told you so the first function the 1st picture which is seen takes a train and this shows you the activation maps described by that string that's the first function you wrote him so by the teacher writing the late that document and you want to say OK this is what activation that's there and there and there you don't have to export these figures like manually drag them into your document but you can just call this function 3 times with a different argument him the 2nd function is in my opinion even more interesting it's it simply takes a data file now which is an activation map and it plots that but you will notice that at the beginning of the 2nd function that data file is added as a dependency meaning that Python tech keeps an eye on that data file and if the data file ever gets modified and you recompile your documents your figures change like that this is very useful if you have an ongoing document Frances your master sees a sorry dissertation where you might add on some new data at the very end because and then you just change the data file and already all of your figures are up to date now with no exporting dragging and dropping now also you can actually also test that by going into the root directory so practically the sunnier now and the moving day time you to this location now this is the location on which is plotted on your 2nd figure this is the data which is plotted on a 2nd figuring out so imagine that this is your new daytime you're replacing your data would you knew they tell you just recompile your document and the figures are already now did anybody managed to recompile this document after doing any modifications you did work the download the file dear computer did you notice that it changed forget scientific publishing for your manuscript for your dissertation for your thesis with no drag and drop with no exporting pretty much life you have to compile it so it's not entirely alive but it goes directly from the code to the document with no intermediaries which require operator interaction now so practically these commands there 3 but you can make a script which calls on so it can be 1 now in fact if you want to be very fancy you can look round-robin you can say OK well I'm editing my data and my master's thesis gets recompiled every Friday where every other day now so I'm sorry if some of you didn't make it till the end I have to say I had hoped we can all make it but sadly the time was short and we have some technical issues and also some honest issues which I'd like to apologize for but I hope the ones that you were able to follow through realized why free and open-source software is important for science how it can help your scientific career and I hope the ones who weren't able to follow through my so give it a try at home and might just take my word for this message or the word if your colleagues sound so wrapping up these are the slides
you can download them from this location you can see the force of the slides the slides a written and may now if you're curious I could not do a nice presentation written completely in with cold snaps of but you can also look at my source code It's licensed under an open-source license and this is my contact if any of you are interested in on the alternative you can still join us if any if you are interested in neural gentle in bringing your scientific software to down to down you can contact me and I'd be happy to to show you more about Portage and how you can help make a bigger and better so things so much
would at at the
Open Source
Freeware
Software
Bit
Software
Mereologie
Kombinatorische Gruppentheorie
Gesetz <Physik>
E-Mail
Gerade
Raum-Zeit
Texteditor
Nabel <Mathematik>
Program Slicing
Programm
PASS <Programm>
Zahlenbereich
Kardinalzahl
Kombinatorische Gruppentheorie
Code
Open Source
Freeware
Client
Notebook-Computer
Datentyp
Bildschirmfenster
Passwort
Passwort
Gerade
Schnittstelle
Codierungstheorie
Systemaufruf
Elektronische Publikation
Nabel <Mathematik>
Rechenschieber
Texteditor
Software
Rechter Winkel
Mereologie
Client
Codierung
Server
Stapelverarbeitung
Instantiierung
Resultante
Distributionstheorie
Bit
Umsetzung <Informatik>
Mereologie
Punkt
Freeware
Datenanalyse
Compiler
Adressraum
t-Test
Versionsverwaltung
Fastring
Binärcode
Raum-Zeit
Übergang
Freeware
Umweltinformatik
Skript <Programm>
Kontrast <Statistik>
System-on-Chip
E-Mail
Schnittstelle
Umwandlungsenthalpie
Distributionstheorie
Schnelltaste
Nichtlinearer Operator
Suite <Programmpaket>
Lineares Funktional
Sichtenkonzept
Dokumentenserver
Gebäude <Mathematik>
Güte der Anpassung
Reihe
Strömungsrichtung
Plot <Graphische Darstellung>
Programmierumgebung
Quellcode
Gleitendes Mittel
Biprodukt
Dateiformat
Rechenschieber
Arithmetisches Mittel
Software
Kollaboration <Informatik>
Datenverarbeitungssystem
Rechter Winkel
Festspeicher
Dateiformat
Projektive Ebene
Information
Parametrische Erregung
Wärmeleitfähigkeit
Instantiierung
Schnittstelle
Subtraktion
Quader
Ortsoperator
Hyperbelverfahren
Mathematisierung
Digital Rights Management
Automatische Handlungsplanung
Maschinelles Lernen
Kombinatorische Gruppentheorie
Code
Physikalisches System
Open Source
Virtuelle Maschine
Informationsmodellierung
Variable
Software
Binärdaten
Front-End <Software>
Direkte numerische Simulation
Digital Rights Management
Programmbibliothek
Installation <Informatik>
Oktaeder
Rastertunnelmikroskop
Maßerweiterung
Stochastische Abhängigkeit
Leistung <Physik>
Attributierte Grammatik
Autorisierung
Kollaboration <Informatik>
Open Source
Schlussregel
Physikalisches System
Elektronische Publikation
Ordnungsreduktion
Quick-Sort
Data Dictionary
Patch <Software>
Mereologie
Wort <Informatik>
Compiler
Modul <Software>
Zentralisator
Bit
Texteditor
Desintegration <Mathematik>
Adressraum
Programm
Versionsverwaltung
Schreiben <Datenverarbeitung>
Login
Freeware
Plot <Graphische Darstellung>
Schnittstelle
Objektverfolgung
Dokumentenserver
Codierungstheorie
OISC
Arithmetisches Mittel
Software
Datenverarbeitungssystem
Rechter Winkel
Einheit <Mathematik>
Client
Server
Verzeichnisdienst
Maschinenschreiben
Web Site
Klasse <Mathematik>
Zahlenbereich
Code
Virtuelle Maschine
Physikalisches System
Open Source
Informationsmodellierung
Software
Digital Rights Management
Passwort
Passwort
Softwareentwickler
Hilfesystem
Open Source
Verzweigendes Programm
Systemplattform
Physikalisches System
Elektronische Publikation
Modul
Nabel <Mathematik>
Programmfehler
Patch <Software>
Auswahlaxiom
Offene Menge
Mereologie
Plotter
Benutzerführung
Modul <Software>
Stellenring
Texteditor
Programm
Code
Richtung
Open Source
Informationsmodellierung
Freeware
Verzeichnisdienst
Bildschirmfenster
Datentyp
Programm
Lineares Funktional
Open Source
Modul
Teilbarkeit
Rechenschieber
Texteditor
Auswahlaxiom
Software
Datenstruktur
Datenverarbeitungssystem
Server
Verzeichnisdienst
Lie-Gruppe
Bit
Punkt
Familie <Mathematik>
Programm
Schreiben <Datenverarbeitung>
Übergang
Freeware
Poisson-Klammer
Exakter Test
Zustand
Skript <Programm>
Plot <Graphische Darstellung>
Kontrast <Statistik>
Figurierte Zahl
Gerade
Schnelltaste
Parametersystem
Lineares Funktional
Interpretierer
Statistik
Schwellwertverfahren
Vervollständigung <Mathematik>
Winkel
Stellenring
Profil <Aerodynamik>
Plot <Graphische Darstellung>
Rechnen
Ein-Ausgabe
Dichte <Physik>
Arithmetisches Mittel
Software
Kollaboration <Informatik>
Rohdaten
Datenfeld
Menge
Datenverarbeitungssystem
Rechter Winkel
Konditionszahl
Server
Identifizierbarkeit
Information
URL
Versionsverwaltung
Zeichenkette
Quader
Mathematisierung
Digital Rights Management
Zahlenbereich
Zellularer Automat
Code
Task
Open Source
Virtuelle Maschine
Informationsmodellierung
Variable
Differential
Software
Datentyp
Stichprobenumfang
Schwellwertverfahren
Installation <Informatik>
Attributierte Grammatik
Programmiersprache
Pixel
Softwarewerkzeug
Mailing-Liste
Physikalisches System
Elektronische Publikation
Modul
Programmfehler
Office-Paket
Integral
Mapping <Computergraphik>
Flächeninhalt
Offene Menge
Mereologie
Gamecontroller
Codierung
Kantenfärbung
Plotter
Modul <Software>
Momentenproblem
Dokumentenserver
Adressraum
Formale Sprache
Programm
Versionsverwaltung
Schreiben <Datenverarbeitung>
Hinterlegungsverfahren <Kryptologie>
Eins
Homepage
Freeware
Fahne <Mathematik>
Minimum
Wurzel <Mathematik>
Nominalskaliertes Merkmal
Parametersystem
Lineares Funktional
Drall <Mathematik>
Interpretierer
Schnelltaste
Dokumentenserver
Codierungstheorie
Reihe
Teilbarkeit
Arithmetisches Mittel
Software
Kollaboration <Informatik>
Rechter Winkel
Beweistheorie
Strategisches Spiel
Benutzerführung
Versionsverwaltung
Verzeichnisdienst
Message-Passing
Stab
Digital Rights Management
Interaktives Fernsehen
Zahlenbereich
E-Mail
Web-Seite
Code
Open Source
Variable
Computerspiel
Software
Mini-Disc
Hilfesystem
Open Source
sinc-Funktion
Routing
Symboltabelle
Automatische Differentiation
Physikalisches System
Elektronische Publikation
Modul
Gamecontroller
Kantenfärbung
Verkehrsinformation
Modul <Software>
Dokumentenserver
Stab
Programm
Zahlenbereich
Homepage
Open Source
Virtuelle Maschine
Freeware
RPC
Software
Wurzel <Mathematik>
Inhalt <Mathematik>
Gerade
Schnittstelle
Programm
Dokumentenserver
Codierungstheorie
Verzweigendes Programm
Softwarewerkzeug
Mailing-Liste
Plot <Graphische Darstellung>
OISC
Software
Menge
Gamecontroller
Server
Garbentheorie
Wort <Informatik>
URL
Schlüsselverwaltung
Distributionstheorie
Prozess <Physik>
Freeware
Dokumentenserver
Adressraum
Versionsverwaltung
Programm
Binärcode
Raum-Zeit
Homepage
Internetworking
Deskriptive Statistik
Freeware
Trennschärfe <Statistik>
Mustersprache
Skript <Programm>
Plot <Graphische Darstellung>
Default
Gerade
Auswahlaxiom
Schnittstelle
Metropolitan area network
Prinzip der gleichmäßigen Beschränktheit
Lineares Funktional
Overlay-Netz
Dokumentenserver
Kategorie <Mathematik>
Codierungstheorie
Quellcode
Arithmetisches Mittel
Texteditor
Software
Verknüpfungsglied
Menge
Datenverarbeitungssystem
Geschlecht <Mathematik>
Rechter Winkel
Server
Ordnung <Mathematik>
Verzeichnisdienst
Instantiierung
Subtraktion
Lochstreifen
Stab
Digital Rights Management
Mathematisierung
Zahlenbereich
Sprachsynthese
Ordinalzahl
Kombinatorische Gruppentheorie
Polygon
Overlay-Netz
Code
Open Source
Virtuelle Maschine
Variable
Computerspiel
Software
Mini-Disc
Datentyp
Softwareentwickler
Programm
Open Source
Rechenzeit
Physikalisches System
Elektronische Publikation
Mereologie
Gamecontroller
Stapelverarbeitung
Steuerwerk
Modul <Software>
Klon <Mathematik>
Punkt
Mathematisierung
Digital Rights Management
Versionsverwaltung
E-Mail
Overlay-Netz
Raum-Zeit
Internetworking
Homepage
Open Source
Mailing-Liste
Freeware
Verzeichnisdienst
Datentyp
Radikal <Mathematik>
Mobiles Internet
Skript <Programm>
MIDI <Musikelektronik>
Demo <Programm>
Touchscreen
Caching
Overlay-Netz
Elektronische Publikation
Synchronisierung
Matching <Graphentheorie>
Installation <Informatik>
Sichtenkonzept
Quick-Sort
Arithmetisches Mittel
Rechenschieber
Software
Mereologie
Elektronischer Fingerabdruck
Server
Verzeichnisdienst
Message-Passing
Verkehrsinformation
Modul <Software>
Resultante
Offene Menge
Datenanalyse
Browser
Adressraum
Programm
Statistische Hypothese
Homepage
Eins
Freeware
Klon <Mathematik>
Radikal <Mathematik>
Skript <Programm>
Kontrast <Statistik>
Wurzel <Mathematik>
Tropfen
Figurierte Zahl
Gerade
Metropolitan area network
Funktion <Mathematik>
Softwaretest
Lineares Funktional
Nichtlinearer Operator
Parametersystem
Synchronisierung
Dokumentenserver
Installation <Informatik>
Plot <Graphische Darstellung>
Dichte <Stochastik>
Frequenz
Rechenschieber
Arithmetisches Mittel
Software
Funktion <Mathematik>
Rechter Winkel
Datenverarbeitungssystem
Geschlecht <Mathematik>
Server
URL
Verzeichnisdienst
Message-Passing
Aggregatzustand
Fehlermeldung
Zeichenkette
Web Site
Wellenpaket
Interaktives Fernsehen
Whiteboard
Code
Data Mining
Demoszene <Programmierung>
Open Source
Weg <Topologie>
Computerspiel
Software
Datentyp
Programmbibliothek
Bildgebendes Verfahren
Trennungsaxiom
Expertensystem
Relativitätstheorie
Softwarewerkzeug
Physikalisches System
Elektronische Publikation
Sichtenkonzept
Modul
Nabel <Mathematik>
Integral
Mapping <Computergraphik>
Offene Menge
Mereologie
Wort <Informatik>
Kantenfärbung
Compiler
Luftreibung
Klon <Mathematik>
Multimedia
Dienst <Informatik>
Quellcode
Kombinatorische Gruppentheorie
Menge
Videokonferenz
Rechenschieber
Open Source
Software
Freeware
Forcing
Software
Rechenschieber
Äußere Algebra eines Moduls
URL
Gasdruck
Meta-Tag

Metadaten

Formale Metadaten

Titel Free and Open Source Scientific Software
Serientitel LinuxDays 2015
Anzahl der Teile 05
Autor Horea, Christian
Lizenz CC-Namensnennung - Weitergabe unter gleichen Bedingungen 4.0 International:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben.
DOI 10.5446/36884
Herausgeber Eidgenössische Technische Hochschule (ETH) Zürich
Erscheinungsjahr 2015
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract This talk is part of the LinuxDays of the student association TheAlternative, the digital arm of [project21]. In the digital age, we want to draw attention to a sustainable interaction with knowledge and culture. We want to encourage usage and comprehension of Free and Open Source Software (also known as FOSS) as an alternative to proprietary software, as well as promote similar open alternatives in other areas. Our LinuxDays are a series of events designed to introduce Linux to beginners and help those who already have it enhance their knowledge. They are created mainly for users of other operating systems who want to discover and/or eventually switch to Linux. We start all the way from the bottom and guide you on your way up to a safer and more comfortable digital lifestyle. In our courses, we cover philosophical aspects as well as technical content. Users already familiar to Linux can jump in at any time to learn more about the wonders of Linux and Free Software. During our Install Events, we will personally assist you in installing Linux on your laptop. Don't worry - of course you can keep your existing OS and additionally use Linux if you want to. After visiting our courses, you will not only have an easy-to-use and efficient operating system on your computer, but also know how to get the best out of it and find more information on your own in case you are enticed with Linux. You don't have to worry about the limits and costs of proprietary software anymore. All students of Zürich may attend our events for free. In consideration of international participants, all courses are held in English.

Ähnliche Filme

Loading...
Feedback