Intro to Python: But, of course, you already know Python There are a couple extra pieces we'll need Environment: I usually just start the interpreter from the command line And put programs in files Using idle is just fine though Need admin to open low-numbered port Quiz: What do you know about bytestrings? Multithreading? Objects? Explanation of whatever you didn't have pdb I use gdb a lot on C/C++ Python has a similar facility called pdb Let's write a short python program, and play with pdb a minute Let's make a little client and server to exchange a message The "good morning" server Client for this Hopefully that wasn't too bad! A note about doing this stuff to operate *nix systems: from subprocess import getoutput Then, getoutput("whatever you'd write in bash") It returns the output of the command you ran A lot of times, when integrating with bash, there'll be choices Pass through grep, sed, etc. or take care of it in Python? Let's make a server that gives out the time Now let's make a really big security hole! But what about binary data? Natural fit for C Unnatural for Python! But, there's a pretty good library for it pack and unpack, byte order, size, etc Let's send some binary data back and forth Say, a math server