Merken

Terminal Whispering

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
and today then we are delighted that much were annotated print and
also thing next slide here's something interesting I just to get status was softened seven-color color ideas not interesting ideas used LS and I should mention for this presentation if you've got a computer with you and you can get to any node Unix-style terminal understand in trying rapidly and 1 of should try ls here and you'll see that as you change the size of your terminal emulator window and the output of less changes dynamically decides how many columns about what to use based on the size of the terminal as another kind of mystery that we'd like to solve today how do color coded to ls so that's doing the things differently also ls using different output the piping and 1st if you're looking at interactively so with some of the things we like to learn how to in shares some of the ways that we use the terminals the that top here which is filled up the whole screen and maybe we can know how to do that by printing a bunch of text really quickly and then waiting and bring again but that's not what's happening because of the scene with when it all goes away so there's something else going on here that there is a 3rd a 4th mystery for people out Germany and another thing is is that once we know how to save build up an interface like this variable stuff like by this went but we don't worry we'll do things like build of fully windowed system we can build basically graphical user interface applications run context
user interfaces this is PUT be it said about like to users have a nice interface for PDB and it is a matter of a lot of opportunities open to use and you want a user interface you don't have to jump the queue to you don't have to go to where you could use something like this anybody that nothing else must talks a great about region which is right water terminals what
what I mean by this is why I say word terminal and I'm talking
about this thing I can see it in that lack thing there is sort of important because this is going to be relevant to units terminals portions of this a relevant to Windows things but not gonna I don't know how much money to go and how much why needed terminal-emulator and we say emulator because the thing were
emulating as these things video terminals but a video channels
already emulating something else and that was originally
a teletype machine maybe by electronic typewriter send signals the 7 around for about a hundred years we had this for a long time we we had a typewriter and the changes such that it sends signals and the reader little bit of text from an ad from
1957 this is the 50th anniversary year of a teletype corporations so it teletype printer is a communications device with a keyboard similar to a typewriter that enables you to send and receive printed messages so this is this is a copy of maybe a businessperson ended in the fifties the fear of a 1 to 1 of the things they say things like with that you can stand with the written word can be sent instantaneously by wire with in the office or planned for or clear across the country to a single destination for many of the time so
we were starting with this model of a terminal as is the typewriter where is not connected anything your finger
fits a key there cause of the you are matched with the thing to hit the put it on paper at the beginning but then we added teletype part we're sending a signal from a lot of applications the that's telegraph operators somewhere else part country maybe that's the a computer program and then maybe we can send signals back somehow I others may be metal wire involved signal processing or something but the
little bit modernized version where with system calls like every 2 returned bytes and we have that right which is going to print things and now there is internal and later there's some gooey stuff that happened the rock and eventually get stuck to the screen and still keypresses right from the terminal because the pipeline talk more about friends and input instead of this a Python 3 talk so input means on the right to the 1st we should look at is what fights we can write to a terminal and what happens when we write and so I can grade out you can tell some of the reading portions there all right we sent 1st topic an ASCII bytes this is kind of boring for most part there we have literals and invite on 3 here you can say since that standard out that buffer got right and then send some bytes those will end up your terminal and try this now if you want and we also control characters we can set these are like really small ASCII bytes art
efficient shot here saying that I was going to kind imports report Sesimbra induces stand out that buffer them right we can write some byte string here and but is a little confusing to look at about return value down here so I something little bit different you can do this to fact computer there are
other on a server over here this is listening for bytes so rapid see the input and
output interleaved and then over here you important topic as you start typing head stuff what we connect things and let stand 4 Mbytes great right so now I can tell that when we send an ASCII byte we get simple things like this where saying them over here's
a table were looking right now the ones on the right hand warnings but there's all the other stuff that and remember this all makes sense in the context of a typewriter ASCII things here this is this is typewriter times so what these do let's look at it of strife few of them now and what we can
try that you probably know what's happened here a set standard what happens we write a new line guesses as to happened there is this way to build predicts we write new lines all the time of the cursor went down the next slide sort of imagine that's what would have happened but let's try something else here were right now if a backslash and the idea what happened here it was used as 1 let you look the cursor is moving backwards and so this is the thing that sort makes sense of a typewriter you could move it back and forth and now we could do something like all right that was based so you can see how can implement the fact that and maybe would
also do a carriage return which means move the carriage of the typewriter back to to where it started and that was a per-server here so we've just unlock the power of love the ability to rewrite aligned and with that lets us do In progress plots
figure program that has a progress bar we can now do this just with this knowledge of being able write a carriage return to rewrite the line how we go about doing that
in Python might be something like this and just the general shape of the code the important parts here are and see that were flushing so there's some buffering going on will look at a little bit later but it may be important flushes right now running online and standard error also were not writing byte strings anymore it's still by country but now we're writing I hope this by country but now we're writing and you know the strings and we'll get a little bit too how that works but this code would work perfectly well for progress now you can add progress bars your interactive tools who writes command-line tools that someone might run an internal sometimes right all of the utilities this all the time it can be funded ads and these features so what else we got actually
determine coding and say that we're terminals generally have an encoding and that we have the whole time but the ASCII overlaps with UTF-8 if you try this out right now but this gives us and and yeah and then we can use a systems that out right before you knew constraints because I will take care of the encoding for but now some
about some things that don't make sense on typewriters these oral an example
is video terminals and in the escape sequences before we look
at them which try 1 here so I'm gonna write flash X 1 if you're not familiar with the syntax is a way of specifying a bite that doesn't have a nice printable representation open 33 and 0 this look like anything happens parts of the lesson here all we have a lot to get less more about the learning is that the terminals have state so what I sent those bytes it said on the start writing in yellow now and then analyse more bites were still stuck in this field mode so this is the kind of thing that yes but there no the way using understood terminal as you said special bytes and some of the bytes don't mean put character from screening changes state for future predictions but some the other
kinds of things we can do here these
aren't you were dancing implies some standardization that happened here right now we can move the cursor around the screen we can clear the entire screen can hide the cursor so that you can print things without seeing with cursive writing right now starting and bolster writing in red so the lot of this and you just stop playing with this now have a great Wikipedia pages the 1 on the escape sequences which describes the here's how to right right here is how to write in blue here is how to make something bold don't know little parable
and say it's it's 19 the service so
it's sort years 1984 into this slide I think he has it up right now you log in the some had BBS system recently Telnet somewhere and start sending you
sequences and it's really cool I mean you 12 you think
it's really cool or maybe 40 thing it's really cool but unfortunately on your friends you terminal at the show correctly by yours don't quite show up right so this is the kind of 1st iteration of the computer uses JavaScript sometimes will but who japery so there's this thing called JavaScript that became popular for this bridge history and telling them have 2 main reasons 1 it papered over differences in browsers and this was a huge right the browser
incompatibilities so we have that same problem with terminals and different
terminals behaved differently we still have is to some extent but like to inquire it's less necessary now because things are more standardized people are more likely be using the same
kinds of animals and the other reason I think became popular is
the nice interface and relative some libraries and on similarly give you a better interface than the native 1 so
we have compatibility concerns talking about the 1st things we did were come up with the databases of different kernels how you can use different capabilities in different terminals long-term Papineni then terminfo did this and then we're wrote in a library for applications to use called persons that accesses these databases and let you say 0 i 1 draw square and it will figure out how to do that and some world thanks to have on your machine you can probably say man team put or try to put space and you have the nose magic sequences and that will look up in that database how to make things red how to move the cursor up and another thing you can look at is foci was a dump the information about these mappings with your particular tunnels here is
an example so some you can do if you don't wanna learn the pipe and ways to do this you can shell out and say hey I want clear screen and that's maybe easier learn but we don't want to do that you can do these kinds of things probably and that's probably system and you have but but instead we will use blessings blessings is a wrapper over curses which is the normal and interface that we use for accessing these databases of how to do different things in different terminal but it's much nicer and you were doing printers something in bold now the important thing to know about lessons that mostly just gives you strength so T . mold of high there is going to be a string and still your job print that strange but it's going to be built for use you have to type in those escape sequences right so let's all the
screen mystery with blessings so we saw before that using top of the entire screen was taken up with the right things and then all went away so 1 more of
these let's try from import terminal did build 1 these things which looks at our settings this looks at our settings of years example you this kind terminal looking at the environment variable terms and then we can say something like we're what we're saying here is T . to enter her full screen and the running code that for a terminal and now recommend screen thing because he kept the current line some some differences have heard of kernels do this but but now we can write stuff and then we could send our eggs and back into our original 1 right so these are some of the
kinds of things we can do by writing bytes the terminals this is just knowing the language speakers and in in the in-band signaling where we send bytes similar bytes don't result on things being on hi sir altered it's great you can read them for yourself and then you can read many pages that will tell you more about these now about what
happens when the user types in the keyboard and you probably are familiar with you can say raw input or input in Python and it's going to wait until the user types a whole line of text and then hit Enter the so how does that I that work 1st of is this thing called the line discipline which describes when you want to use what's gonna do when the use it's become available to the application form a recall and you can have play with CEO how this is included in the kernel you can see how they're implemented by playing with tried to take a cat and types and stuff you'll see that you don't have control and you don't have control he wears you're kind of a Mac-style realize shortcuts and all you have is kind reference is and your Backspace delete word reprint fleet line and ended the application can get that what the contents of that offer until you hit enter
and there are a lot of other terminal settings this is the look of 1 uses example is at so normally right when go back to a typewriter analogy if you've a typewriter your finger hits the key into goes to the paper right now and then the signals sent and maybe on this maybe copper aligned comes back in the teletypewriter could do something else but it's always going to get there right hitting the key the activating the key causes things a paper so it doesn't make sense of that's where this echoing thing comes from but we're not step without any 1 of and the way we do this is with other interfaces out-of-band signaling the rest get and set here we can get set is a actually it's about the terminal and say you know I don't actually when you do that every time you could achieve show that but look at those here again the relevant managers from the best place to have read exactly about how to do this but there is a skip that and talk in detail about economic SEC Y minus echo turns off ago so this a command line program you probably have and and then you can write it was turned off so we can try this real quick but
not can type you can't see it um and then we can life ago we're back when a year from a little weird state state you probably want type reset like this if it doesn't help so it was cattle a binary file or somehow determine in a pretty weird state weird part maybe and you get messed up much simpler do OK want a set and then when that doesn't work people want again because something already in the buffer that made it so you will you actually I was log and so that's that's the other big hint from this type reset twice that feeling that if you want so
you turn back on echo here but it I don't know when using light on there is get past the standard library which uses this so let's look at the source get past the work I mostly this is real code from the consent of library and I would worry about just the shape of this generally try my West TC get added is the thing that were saying show me the status of all those knobs and use that mass stuff is a 2nd obs in these ways and I'm fun and not mention we have our value channel right here maybe there's a novel and it comes through its says hey please that your terminal in this mode you say OK all of that that's what we're doing here and then really important give a try finally and so the terminal is a resource external to your program so if you don't wanna mess it up in that way that that happens to us all the time then you should be careful about you you wouldn't have and haven't had an error without and not the other actors often and not restore the terminal to that echo state and that's when you have to type receptors so we want this but it's quite so this is the a good fit for a context manager and in fact will look at some libraries that do provide these kinds of context matters but the sort of thing we wanna do is say 0 i won't modify standard and I want change in these ways and once we're done I wanna under the changes there's using that context manager right so here the kinds of things that we can do by setting these knots and I'm going to exactly what they are because we're these libraries that paper over them but if you know that using the possibly look up out of the number of traffickers and you knew reading again always that is adding to this is great this is does it look like a TTY and is the thing that you're wired up to terminal interactive 1 and that's how ls is saying 0 shoot I displayed things and columns based on the with the screen or should I be just William out your typing this the graph and you want each thing on a different line and it's your responsibility you start doing these fancy terminal things to make sure that your program still works well with typing it's supposed to and probably should but if it doesn't then you get a situation where you have a program that only works interactively and now someone else has to try using a script and the with the ways to do that will look at the set that have been nice if you could just work checkers see if you should be doing fancy formatting or not with this is that the like of also have echoing characters mapping bites the keys so again you can do this with cat you type cat enter and then use your arrow keys you'll see that 1st of all Europe's don't work exactly that several bites of the retina and so there's this mapping of bytes if you hit a yet to be a but if you hit F 11 you get something funny if you do Shift-Tab you have something so if you're running a program exposed to interpret these it's your job to figure out how to deal with this and again the libraries you probably used but they it can be helpful to to see that this is what happens changed right without being type this is a what will look at this quickly this is a fun exercise would you really understand how your from kind of working on right some fights to work you interest now where right these bytes toward terminal and what the Charleston In response to this is right some bites on standard in that were supposed to read figure out they didn't come from the user at their response for query interprets and uses only makes sense if you're in that buffering you only make the data available the application when it hit enter mode you should be in C breakthrough and other modes of thought about that try this now the problem is something like this and that prompts purpose on the prompt and there will be characters so the a non-standard and it is it's it's funny to think about that a program could write a standard and or that you could end up with characters there period of the I was really trying to say is like this is a cursor queries same where is the cursor on the screen and you don't need this for much occasionally you do when you're doing interesting resizing thing briefly signals this is just another thing we can get set we can say hey you know what when he do control the I don't want that to cause a signal that will you because the single-ended around and I have set that up I would rather have this other thing happened I just want the control let me figure it out some of signals we can get that elements it's against patrols see Jesse is that suspend thing winches a window change and the thing to know about this are these 3 different modes cooked Robinson break-up is the normal terminal mode were in line buffering echo was on here groups of different settings you might wanna use if you're writing an interactive program on wrong is this mode where all signal and was turned off at me I think all of and heating she's just passes those keys immediately directly your program you could save read you would get them immediately and the break is a hybrid where you still have a signal handling this is probably where you wanna use because you still want users the ability to break out program control but you still get the keys right away right now I can go through summaries 1st of all the questions later but these are what I found useful some tools that are useful for this how we should actually doing as good it's fun to experiment with the actual codes but then once you know that you should be using some library staff and the 1st of blessings that air grows roads and we looked at earlier if you wanna be using this is baseless of the library use a nice wrapper over curses lets you say things like to see here right in bold move the cursor over here right this text but there's some
cooler stuff it's in last which is a fork of blessings by just class and it's almost merged with almost merged for about a year or so if you wanna go play with this right now I would use blast and then hopefully next month or something you all the features we merge back in there's a branch on the blessed you know how to get home for blessings that has all these features have been refactored a little bit errors refactoring changed a little bit this lets you cool stuff like that t si break so that puts doesn't see break motor is available to us immediately T . int he translates the bytes in the buffer into a press with a pretty name and music take on that was based on that we shift control to you and also some interesting formatting things there it is just a great job is really cool stuff and and if you just wanna play with this now I would start with less and then calls will be merged blessings and er with
that's how we were going PTB and this is a true this is the end of his last name now on the wrote this and it's a which are like it's like if you want to be using a terminal for some kind of full-screen application this is probably what you want it works like a gooey library familiar with 2 2 something can be kind like that for by but here again I want to
remind you that you school
perpendicular to that the but the result is critical and some other tools that use for getting out there some other ones the use similar pretty
right you wanna write things like this this is pretty clans and click or
2 command-line utility libraries so you're still writing this column response style applications but you want proper but you want to print something as wide as the terminal and you want to have something in red you when I wait for a key the emitter libraries you wanna use I don't use is much that can talk about the money but I've heard buzz about all of that there there are good I realize that if you want fancy editing on the command line this is probably what you want you don't wanna re-implement this from scratch this gives you control a controlled I'm I think in Python 3 4 now this is kind enabled by default as with the tab completion things but if you want your own tab completion you can use this
and a lot of times
when people I think 1 advantage for most of the thinking of the things they get for free with real life story a way to put in user space what usually happens crawlspace normally the kernel is in charge of buffering up these characters letting you do a few things like leading word clean line but really line says are routine I'm going to put us in seal break modes of we get those signals immediately and then you know so I get T and then you can say 0 you control a I know that means move the cursor back to the beginning of the line for you to control the L. or modify this way so you're in user space while you're doing that stuff and you can modify remind I've done a little bit of this 14 replying to do interesting things with it and it's kind of fun has lots of programs the next up OK this is foreign I rotation spend too much time on but we wrote it for the
Python which is the thing I had in the last had before and it's an older version where we're having a little demo of what he's repressing but similarly to with the idea is that if you had a whole terminal as a canvas and just take over and accepted more a hybrid where you still have to use a
common response kind of thing but you get a pop-up windows over or but you get to read and 2nd rewind back so that you troll are here comes so getting lots of text
1st but you can do things very
variables we rewound back up so the things that don't make sense you know to do in this kind of thing you can using realize the more you can be in the normal that you need for control the terminal and I should spend too much time on this because Python
prompt toolkit and by Jonathan someone other but is much better this is better code it's better than library that I wrote and went on to bring migrate be pipeline anytime soon but this is great and if you wanted to have some great interactive my sequel and samples press interfaces library interface tools have been written with this this is great for I want command line tool but I want pop-up auto-completion but I want and editor in my mind and
here's a pool of reflected a demo that's the cool thing that they're doing there is this whole you editing anywhere and I style of hierarchal spread all the way from here so pops up what looks like an editor you still in Europe and there's a O'Connell rebel called you topic some of this and the Julia grapple has some of these things but is just my services next area a pop me back up to where this index there was this is pretty cool I don't know much about get a concept which should be familiar with is a p t why is a pseudo terminal and this is what you use when you run 1 run another program in such a way that it looks like it's using the term probably using library over it's called encylopedia why lets you kind of need things like take the output of a program and re-rendering what we're doing here this looks kind of like I wanted work Python interpreter except that there is a case transformation thing going on every 5 seconds or something it flips the case so is this is kind of funny but you can imagine have transforming the output of some programs so this is what a pseudo terminals also how terminal emulators are written on and that's where I 1st saw this with people writing tools for assisted net happy place so they're they're they're writing they're playing a game and and and I can hear you change the code for not happen all this 1 of the rogue like overhead things but they once to modify the input and the output so this consent between you and some of program and you probably will
get key expects which is a Python version of the expects program for this for interacting with line tools that want want to be attractive they want have user at the helm but you want to script of course and again cool tool here if you got a computer open you might try right now typing tell based on past bio on Jesse did write the original term cast but rather by the emergence and by the Conference so here is an easy check these out is written this this is the idea that because the terminal sessions are just a series of bytes in the bytes everybody you could say hey check out these vitamins which tries this now and what was Thomas so
I I think I'm not aligned right so it's
not something you already right and that's
I will skip this but the just
as you can see if someone else has a session and they're sending always had this and the bike and makes red I sent the by the move the cursor over here you just get those bytes and then replay than your own terminal you have very high fidelity kind of low bandwidth screencasting basically of just a so it in check this out also you can it's easy to broadcast your own internal session if you will see working terminal regions team accessions that
and that is the more Web-friendly version and user friendly version of this is 1 of the remember how to pronounce it anybody ask asking among there's a nice way to pronounce it has the words mind ASCII in it and doesn't have access and in other words but this is a cool tool for recording internal session and then making a playable in a browser and finally I want to talk about
the ways that I've used the an interesting terrible things here's
1 where I'm using and this is a very common possible use for interesting escape sequences and formatting of things which is formatting test failures and this is 1 were written in the Python with a like a something funny instead of any it as armadillo and highlight those and if you do it your own terminal it also blinks just have fun and and then I have another program where I needed to test that the window resizing working correctly so as a program called T much P which such a script to Marx in Python and have some tests that open at the next session and then try resizing the window and see referring and and this is what I just found out to be the easiest terminal emulator that was scriptable so use running these tests that nite if there aren't 2nd and we'll see resizing 2 months window to test to see if it works correctly treat these things and that's about it I have some
reading things this is not posted anywhere yet but I will let you know on where when I finally have a blog post up that lists all these resources were at least a version original slides of successful I think that it I think we have a few minutes for questions
the it's maybe another good question but how does the syntax for the special characters work like the slash x you brackets shortly after that so just there is
that when you have a constant representations you can do stuff like what's you can there there are multiple recommendations for strength and where it is written or impact on 3 so is the you know those things here but if you say slash x 61 and then you say yeah these are identical flash next 61 so flatter 61 is a way of describing that made it clear we tried word you board of this so you know this is Textron right exactly as accessible but the in those special characters you could like uh all the letters like 1 N and N is it's not the text of the small digits so what is right right so it just went renders strings and some of them end up so prices slash x
61 flashbacks 0 2 some of the words and sometimes they renders them sometimes some letters have 3 renderings like 61 some delta x 61 and some don't like go to so is in Python wrapper code where says on this 1 is isn't if we tried printing it and then it's going to it's not grant sorry the system well value right we just don't see it because it's not like a printable things and that to a terminal doesn't do anything so it's the different way it's just like you can put a single quotes or double quotes around the strength of the different way of describing the same literal and then in the print method it's as hot as the Sun have a pretty representation on not exactly 0 sorry I get that but you had those the special characters ladies those less X 1 brackets 1
and something and I don't know
if they're not yet available on what is it about to because of the problems with it because I have a set
of i have a Windows machine talking to remotely mixed
with within that he through teamwork
stands for midnight commanders and this you have problems with character encoding all the time like your this
kind of things here yet yeah so that is the the 1st 1 is state right so it's that that rendered by the next 1 is a real open square bracket that's it's a real 3 real 1 and so they really are those characters here the difficult 1 to deal with I think is the 1st 1 is the character which and I have similarly Somerset's with that this thing in about the marks and ionization somewhere you have to trace it through each level on and hope passes it through so that what we're looking at really is so the start writing in red is 1 2 3 4 5 bytes because the first one is the escape by and then the real open square bracket and if you read the Wikipedia article on the ANSI escape sequences is please hand waves about a little bit says are when we have more a sequence can be more than 2 bytes we use this longer escape thing instead of just escape character reuse the open square brackets well so yeah and get the pass through is difficult but I agree I had trouble with that as well to the trace it at each level are you really get those lights and are not visible light so you have to do it like to file and then use something that can read displayed looking into the when the catapults to do read line library mentioned a set of key binding like control a eventually of what would be 3 of authoritative source for all those people and it's because of like you've seen it probably single DB the support the immigrants but it's sort of something to something some of them don't what would you do you were not aware of that rule for real line binary what side of the arrow was at the by the school for the blind shortcuts and I found 1 that looks kind of authoritative and so I get this for me I we re-implemented all remind basically and so I learned a lot about remind chart that I didn't know about whatever is the matter uh close bracket is there
is something that is business slash that runs copies down the previous word or something there's a lot of these island right sure yeah yeah so it's using real reminded it might think it should then looking at your data input our c and things like that so I I don't know but I would blame whoever implement that were wrote that program you not using remind directly or re implemented it can only implemented some of the we still have time for 1 short questions what was the name of the cold interactive Python Call it exactly the question a little yet and this is all of the
lifetime of the data is the to it's great should also get out really good for the Catalan those the look at that and capitalized how's that work the doctor library data that I can undo now is not defined anymore holiday should great always printing on this under they're just ignored some issues important come up so at least on Saturday I'll be looking at this that and the we bite size but that 1 wants it can help interview with this
when the wind and theft the
Chipkarte
Gemeinsamer Speicher
Mathematisierung
Kartesische Koordinaten
Physikalisches System
Computer
Extrempunkt
Kontextbezogenes System
Bildschirmfenster
Computeranimation
Demoszene <Programmierung>
Rechenschieber
Lesezeichen <Internet>
Metropolitan area network
Knotenmenge
Vier
Bildschirmfenster
Vorlesung/Konferenz
Benutzerführung
Kantenfärbung
Emulator
Gammafunktion
Schnittstelle
Touchscreen
Funktion <Mathematik>
SIMA-Dialogverfahren
Benutzeroberfläche
Wasserdampftafel
Extrempunkt
Bildschirmfenster
Computeranimation
Metropolitan area network
Lesezeichen <Internet>
Einheit <Mathematik>
Rechter Winkel
Bildschirmfenster
Warteschlange
Wort <Informatik>
Emulator
Innerer Punkt
Schnittstelle
Lesezeichen <Internet>
Schnelltaste
Bit
Vorlesung/Konferenz
Wort <Informatik>
Bildschirmfenster
Mobiles Endgerät
Message-Passing
Office-Paket
Videokonferenz
Nichtlinearer Operator
Elektronische Publikation
Analoge Signalverarbeitung
Gerichteter Graph
Schlüsselverwaltung
Physikalischer Effekt
Kartesische Koordinaten
Bildschirmfenster
Computeranimation
Verband <Mathematik>
Lesezeichen <Internet>
Informationsmodellierung
Mereologie
Optimierung
Benutzerführung
Meta-Tag
Bit
Abstrakter Syntaxbaum
Versionsverwaltung
Systemaufruf
Computer
Ein-Ausgabe
Bildschirmfenster
Nabel <Mathematik>
Computeranimation
Gradient
Portscanner
Metropolitan area network
Lesezeichen <Internet>
Puffer <Netzplantechnik>
ASCII
Schnelltaste
Rechter Winkel
Mereologie
Touchscreen
Lesen <Datenverarbeitung>
Standardabweichung
Zeichenkette
Abstrakter Syntaxbaum
Kontextbezogenes System
Bildschirmfenster
Nabel <Mathematik>
Computeranimation
Eins
Metropolitan area network
Lesezeichen <Internet>
ASCII
Rechter Winkel
Server
Funktion <Mathematik>
Schreib-Lese-Kopf
Tabelle <Informatik>
Hash-Algorithmus
Plot <Graphische Darstellung>
Bildschirmfenster
Quick-Sort
Nabel <Mathematik>
Computeranimation
Rechenschieber
Metropolitan area network
Arithmetische Folge
Rechter Winkel
Gerade
Term
Standardabweichung
Cursor
Leistung <Physik>
Explosion <Stochastik>
Bit
Hyperbelverfahren
Schreiben <Datenverarbeitung>
Extrempunkt
Bildschirmfenster
Code
Stichprobenfehler
Computeranimation
Arithmetische Folge
Code
Optimierung
Figurierte Zahl
Gerade
Shape <Informatik>
Elektronische Publikation
Softwarewerkzeug
Einfach zusammenhängender Raum
Automatische Differentiation
Maskierung <Informatik>
Menge
Endogene Variable
Lesezeichen <Internet>
Zustand
Mereologie
Zeichenkette
Lineare Abbildung
Lesezeichen <Internet>
Nebenbedingung
Elektronische Publikation
ASCII
Code
Vorlesung/Konferenz
Physikalisches System
Bildschirmfenster
Code
Computeranimation
ATM
Folge <Mathematik>
Abstrakter Syntaxbaum
Hash-Algorithmus
Elektronische Publikation
Mathematisierung
Selbstrepräsentation
Schreiben <Datenverarbeitung>
Bildschirmfenster
Nabel <Mathematik>
Maskierung <Informatik>
Computeranimation
Einfache Genauigkeit
Lesezeichen <Internet>
Flash-Speicher
Prognostik
Datenfeld
ASCII
Code
Maskierung <Informatik>
Mereologie
Term
Aggregatzustand
Lineare Abbildung
Folge <Mathematik>
Elektronische Publikation
Cursor
Bildschirmfenster
Maskierung <Informatik>
Computeranimation
Einfache Genauigkeit
Homepage
Lesezeichen <Internet>
ASCII
Code
Maskierung <Informatik>
Standardabweichung
Cursor
Touchscreen
Folge <Mathematik>
Subtraktion
Elektronische Publikation
Browser
Einfach zusammenhängender Raum
Iteration
Bridge <Kommunikationstechnik>
Physikalisches System
Computer
Bildschirmfenster
Computeranimation
Rechenschieber
Metropolitan area network
Lesezeichen <Internet>
Dienst <Informatik>
Telnet
Rechter Winkel
Login
Code
Mailbox
Passwort
Benutzerführung
Lineare Abbildung
Folge <Mathematik>
Subtraktion
Abstrakter Syntaxbaum
Kartesische Koordinaten
Bildschirmfenster
Raum-Zeit
Computeranimation
Virtuelle Maschine
Metropolitan area network
Mailing-Liste
Code
Programmbibliothek
Passwort
Schnittstelle
Metropolitan area network
Elektronische Publikation
Gruppe <Mathematik>
Datenhaltung
Einfach zusammenhängender Raum
Dateiformat
Fokalpunkt
Mapping <Computergraphik>
Lesezeichen <Internet>
Quadratzahl
Whiteboard
Differenzkern
Login
Windkanal
Speicherabzug
Information
Baum <Mathematik>
Benutzerführung
Cursor
Informationssystem
Lineare Abbildung
Subtraktion
Folge <Mathematik>
Elektronische Publikation
Datenhaltung
Hochdruck
Stichprobe
Physikalisches System
Bildschirmfenster
Computeranimation
Lesezeichen <Internet>
Prozess <Informatik>
Ein-Ausgabe
Datentyp
Wrapper <Programmierung>
Maskierung <Informatik>
Minimum
Benutzerführung
Schnittstelle
Zeichenkette
Touchscreen
Resultante
Subtraktion
Hash-Algorithmus
Formale Sprache
Term
Bildschirmfenster
Computeranimation
Kernel <Informatik>
Homepage
Metropolitan area network
Variable
Gerade
Touchscreen
Ortsoperator
Oval
Elektronische Publikation
Cursor
Elektronischer Datenaustausch
Ähnlichkeitsgeometrie
Vorzeichen <Mathematik>
Nabel <Mathematik>
Lesezeichen <Internet>
Menge
Rechter Winkel
Ein-Ausgabe
Programmierumgebung
Term
Lineare Abbildung
Gerichteter Graph
Wort <Informatik>
Kartesische Koordinaten
Bildschirmfenster
Computeranimation
Kernel <Informatik>
Metropolitan area network
Bildschirmmaske
Datenmanagement
Typentheorie
Datentyp
Inhalt <Mathematik>
Optimierung
Gerade
Analogieschluss
Schnittstelle
SIMA-Dialogverfahren
Schnelltaste
Elektronische Publikation
Schlüsselverwaltung
Physikalischer Effekt
Singularität <Mathematik>
Ein-Ausgabe
Gerade
Lesezeichen <Internet>
Rohdaten
Menge
Schnelltaste
Gamecontroller
Wort <Informatik>
Computerunterstützte Übersetzung
Schlüsselverwaltung
Benutzerführung
SIMA-Dialogverfahren
Metropolitan area network
Puffer <Netzplantechnik>
Menge
Binärdaten
Mereologie
Datentyp
Nabel <Mathematik>
Hilfesystem
Computeranimation
Aggregatzustand
Bit
Bitfehlerhäufigkeit
Gruppenkeim
Kartesische Koordinaten
Oval
Element <Mathematik>
Bildschirmfenster
Computeranimation
Metropolitan area network
Datenmanagement
Prozess <Informatik>
Typentheorie
Gruppe <Mathematik>
Bildschirmfenster
Kontrollstruktur
Skript <Programm>
Figurierte Zahl
Gerade
SIMA-Dialogverfahren
ATM
Shape <Informatik>
Datentyp
Schießverfahren
Schlüsselverwaltung
Seidel
Güte der Anpassung
Systemaufruf
Ruhmasse
Abfrage
Kontextbezogenes System
Frequenz
Lesezeichen <Internet>
Menge
Rechter Winkel
Ein-Ausgabe
Dateiformat
Computerunterstützte Übersetzung
Schlüsselverwaltung
Cursor
Aggregatzustand
Fitnessfunktion
Standardabweichung
Subtraktion
Kontrollstruktur
Stab
Klasse <Mathematik>
Mathematisierung
Zahlenbereich
Code
Puffer <Netzplantechnik>
Wrapper <Programmierung>
Endogene Variable
Datentyp
Programmbibliothek
Zeitrichtung
Passwort
Hybridrechner
Optimierung
Touchscreen
Verschiebungsoperator
Elektronische Publikation
Knoten <Mathematik>
Graph
Verzweigendes Programm
Maskierung <Informatik>
Gerade
Quick-Sort
Portscanner
Mapping <Computergraphik>
Schnelltaste
Zustandsdichte
Gamecontroller
Normalvektor
Term
Innerer Punkt
Resultante
Lesezeichen <Internet>
Metropolitan area network
Elektronische Publikation
Programmbibliothek
Kartesische Koordinaten
Benutzerführung
Maskierung <Informatik>
Computeranimation
Eins
Vervollständigung <Mathematik>
Elektronische Publikation
Fächer <Mathematik>
Softwarewerkzeug
Kartesische Koordinaten
Extrempunkt
Bildschirmfenster
Computeranimation
Keller <Informatik>
Metropolitan area network
Lesezeichen <Internet>
Dämpfung
Total <Mathematik>
Endogene Variable
Programmbibliothek
ATM
Videospiel
Bit
Reelle Zahl
Kontrollstruktur
Wort <Informatik>
Optimierung
Raum-Zeit
Gerade
Computeranimation
Kernel <Informatik>
Cursor
Metropolitan area network
OISC
Demo <Programm>
Texteditor
Funktion <Mathematik>
Endogene Variable
Versionsverwaltung
Restklasse
Hybridrechner
Computeranimation
Binärdaten
Texteditor
Elektronischer Datenaustausch
Fortsetzung <Mathematik>
Objektklasse
Extrempunkt
Code
Computeranimation
PROM
Texteditor
Metropolitan area network
Variable
Stichprobenumfang
Gamecontroller
Programmbibliothek
Versionsverwaltung
Schnittstelle
Implementierung
Demo <Programm>
Versionsverwaltung
Transformation <Mathematik>
Computer
Term
Code
Computeranimation
Metropolitan area network
Zoom
Programmbibliothek
Skript <Programm>
Optimierung
Gerade
Funktion <Mathematik>
Hierarchie <Mathematik>
Interpretierer
Zwei
Reihe
Ein-Ausgabe
Auswahlverfahren
Texteditor
Dienst <Informatik>
Flächeninhalt
Automatische Indexierung
Overhead <Kommunikationstechnik>
Emulator
Metropolitan area network
Client
Bandmatrix
Bildschirmfenster
Nabel <Mathematik>
Computeranimation
Cursor
Softwaretest
Folge <Mathematik>
Benutzerfreundlichkeit
Browser
Versionsverwaltung
Computeranimation
Videokonferenz
Metropolitan area network
Softwaretest
Maskierung <Informatik>
Bildschirmfenster
Skript <Programm>
Dateiformat
Wort <Informatik>
Optimierung
Emulator
Große Vereinheitlichung
Ext-Funktor
Videokonferenz
Rechenschieber
Web log
Spielkonsole
Datenmodell
Versionsverwaltung
Vorlesung/Konferenz
Nabel <Mathematik>
Computeranimation
Web log
Hash-Algorithmus
Selbstrepräsentation
Hochdruck
HIP <Kommunikationsprotokoll>
Einfache Genauigkeit
Physikalisches System
Störungstheorie
Nabel <Mathematik>
Code
Whiteboard
Computeranimation
Metropolitan area network
Flash-Speicher
Multiplikation
Poisson-Klammer
Rechter Winkel
Digitalisierer
Wrapper <Programmierung>
Volumenvisualisierung
Delisches Problem
Wort <Informatik>
Term
Software Engineering
Zeichenkette
Lineare Abbildung
Folge <Mathematik>
Bit
Wort <Informatik>
Wellenlehre
Fortsetzung <Mathematik>
Bildschirmfenster
Computeranimation
Übergang
PROM
Metropolitan area network
Virtuelle Maschine
Poisson-Klammer
Betragsfläche
Reelle Zahl
Typentheorie
Bildschirmfenster
Maskierung <Informatik>
Programmbibliothek
Zeitrichtung
Gerade
Schnelltaste
Elektronische Publikation
Datentyp
Schlüsselverwaltung
Singularität <Mathematik>
Cursor
Schlussregel
Quellcode
Maskierung <Informatik>
Gerade
Quick-Sort
Portscanner
Lesezeichen <Internet>
Quadratzahl
Schnelltaste
Menge
Offene Menge
Rechter Winkel
Ein-Ausgabe
Gamecontroller
Minimum
Benutzerführung
Message-Passing
Lesen <Datenverarbeitung>
Aggregatzustand
Metropolitan area network
Rechter Winkel
Programmbibliothek
Vorlesung/Konferenz
Wort <Informatik>
Optimierung
Ein-Ausgabe
Nabel <Mathematik>
Term
Computeranimation
Vorlesung/Konferenz

Metadaten

Formale Metadaten

Titel Terminal Whispering
Serientitel EuroPython 2015
Teil 47
Anzahl der Teile 173
Autor Ballinger, Thomas
Lizenz CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen 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/20211
Herausgeber EuroPython
Erscheinungsjahr 2015
Sprache Englisch
Produktionsort Bilbao, Euskadi, Spain

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Thomas Ballinger - Terminal Whispering The terminal emulators we run so many of our programming tools in are more powerful than we remember to give them credit for, and the key to that power is understanding the interface. This talk will cover terminal colors and styles, writing to arbitrary portions of the screen, handling signals from the terminal, determining the terminal's dimensions and scrollback buffer behavior. Terminal programming can get hairy; along the way we'll deal with encoding issues, consider cross platform concerns, acknowledge 4 decades' worth of standards for terminal communication, and consider that humans at interactive terminals may not be the only users of our interfaces. By gaining an understanding of these issues, we'll be able choose from the abstractions over them offered by Python libraries Urwid, Blessings, and Python Prompt Toolkit. This talk requires minimal Python knowledge, but does assume familiarity with command line tools in a unix environment. An abbreviated version of this talk was presented at PyCon 2015 in Montréal: With the additional time I'd hope to present more code examples, a more in- depth tour of existing libraries and more practical advice about writing programs that use the terminal, and an additional example of a difficult terminal details: dealing with reflowing of text in modern terminal emulators like GNOME Terminal and iTerm.
Schlagwörter EuroPython Conference
EP 2015
EuroPython 2015

Ähnliche Filme

Loading...