Coffee with Brian Kernighan - Computerphile
Вставка
- Опубліковано 15 сер 2022
- Welcoming back the legend that is Professor Brian Kernighan! Professor Brailsford invites Brian for coffee and a chat.
/ computerphile
/ computer_phile
This video was filmed and edited by Sean Riley.
Computer Science at the University of Nottingham: bit.ly/nottscomputer
Computerphile is a sister project to Brady Haran's Numberphile. More at www.bradyharan.com
Brian is as hardcore as they come. He's almost 80 years old and takes on implementing Unicode in AWK as a fun summer project.
I hope to be like that one day. The more you keep your brain active slower it deteriorates. Doing stuff like this is not only fun but beneficial.
He also doesn't look a day over 64, which is wild
He's 80!?? Wth he looks atleast 10years younger than that
@@tejeshreddy6252 Is he 80? He seems much younger.
@@agranero6 Only his year of birth is public. He was born in 1942, so he's either 79 or 80.
Al Aho and Brian Kernighan both seem amazingly youthful still, despite them both being 80+ years old... Must've been something in the water at Bell Labs :)
Doug McIlroy is still chatting on a UNIX mailing list :)
It’s not the water at Bell Labs, but their decades of thorough mental training.
i hope i age as well as them 😁
@@Z-Diode how did they exercise that?
@@me000 how can one join it?
We need more Coffee with Someone - Computerphile
You know someone is a legend when their programs are still widely used 4 decades later.
They're both incredibly sharp for their age. Shows all you need to know about keeping yourself intellectually engaged throughout life.
How to be like then till end ?
@@macdeep8523 Brian Kernighan: Use python!
@@cyphercat.itat40Just import the "antiaging" module.
I'm so glad these conversations are being had and documented! Thank you Mr. Kernighan and Computerphile!
This makes my heart happy.
there's something very comforting knowing that Brian Kernighan is still out here with the rest of us, hacking away at the myriad problems that exist in this massive world of code we've built. he's all of our dads.
The world owes so much to men like these, and especially Bell Labs
Amazing listening to Brian, a truly OG of the computing world.
I love that adding utf-8 to awk was his "fun summer vacation project" 😂
😂
The look of horror on Professor Brailsford face when Brian says use python. :D Love it .
At 2:49
But he's right. While AWK might be better for specific tasks, why learn another language/tool when you already know Python? Python is such a great general purpose tool, there's really no need to learn AWK on top of that.
Lol yeah. In theory yes but practice no. Lacks a big backer to be good.
@@coderider3022 You're literally using a website written in python right now.
I hate python so much (partly for being so popular that I HAVE to use that). I can understand this look.
The part of him still contributing to awk to this day... I'm speechless. I don't stand up to unicode, but this man in his best 80s is doing it overnight. Legend
Dr brailsford is always so relaxing, he should do an asmr series where he reads c libraries docs, I would sleep to it for the rest of my life lol
For me, not so much c, but python.
@@mattsadventureswithart5764 oh that'll do as well
Bruh this made my day
These OGs are such amazing examples of clear minds, enthusiasm and accurate communication. They can be 70yo and still be getting after it after all this time. Their only difficulty is carrying the weight of their huge balls.
They are nearly 80 not 70. I wish I will have mind as clear as them at that age (if I reach it).
Lol. Yeah these guys are great. And so humble 👍🏻
@@vault13dweller15 how to be like then ? What shd we do
@@vault13dweller15 same. Hope the dementia that seems to be genetic on my paternal side doesn't get me.
Professor Brailsford is the perfect host for this video for an uncountable number of reasons.
Absolutely!! You can see how excited and happy he is, as well as how intent he is on listening. He's loving it!
I'm a (relatively) young developer, and AWK is hands-down one of my favorite tools. It's a bit arcane, but so flippin' powerful once you get the hang of it.
Every time I see him I think of that fantastic book by him and Dennis Ritchie. That to me is still the best programmers reference manual ever written. Got my first copy in the 80's and still have one lurking in my collection to this day. "The C Programming Language" if you have never had a copy, go get one even if you don't program in C.
I still haven't figured out how to make gui apps using C. Did that book ever teach that?
@@atlantic_love Need to use a library like QT or system calls like the Windows Forms API.
I've got mine signed 👍
@@supercompooper wtf OG
Why? When one can understand computer concepts from other languages, what especially unique about that book?
Kernighan: “I couldn’t get my version of GRAP to work but someone online had a working version so I’m grateful.”
Brailsford: “Who wrote GRAP?”
Kernighan: “I did!”
Hilarious
No, they’re talking about GRAP, the graph program for troff.
@@RobinWootton plus Kernighan didn’t write grep. Ken Thompson did
what i was trying to recall was who collaborated with Brian in creating GRAP? The answer, I think, is Jon Bentley.
Laszlo and Pervasive, thank you for your correction; I've withdrawn my comment on grep.
Professor Brailsford, always an honour to be in your audience.
@@RobinWootton No worries, grep grap awk etc they have seen it all. I had never heard of Snobol before this video, which just goes to show how interesting these videos are.
Brain Kernighan and Dennis Richie has changed the world. They are the real heros.
Absolutely spot on about COBOL. Fixed length records, redefined as required which fitted so well with financial processing and fixed layout forms such as invoices. Packed decimal so 2 digits per byte with no rounding issues. A verbose language so fairly readable/maintainable. The right language for the task it was intended for (and hideous for other tasks).
This is such a civilised and knowledgeable conversation to listen to.
Also, it's hard to believe that fixed digit precision is 2nd or more 3rd class for all other programming languages.
Even when working with databases as data engineer, once there are several data imports, exports and conversion, so numeric values tend to be differently or differently displayed what is at least confusing and can also easily give a false sense of precision.
While, there's in databases a way to declare fixed precisions, most intermediate formats used for any conversions lack them: there's no way to declare fixed precision in JSON, CSV, Parquet, Protobuf, Numpy, Pandas and while most programming languages have a way (most often via 3rd party libraries), it's really common to get lost via any conversion. Usually you'll end up either working with strings (that could be invalid numbers and are hard to work with, e.g. creating a graph, calculating averages, stddevs, etc) or you work with floats and store a precision to them and hope that it does not get out of control if different system use float32 vs float64 and everybody remembers to round back them (doesn't also really work in practice and float64 is usually taking off more memory than most fixed precision formats would need). A third option would be to store it as multiplicated integer together with the information of the factor what is also done in practice, works somehow, but often has the danger to be misinterpretable, so it works more if you can represent a value in a smaller unit, e.g. time_ms or weight_ng, but not so well if there is no natural subunit (e.g. a ph of 6.24 would confuse people and programmer to be seen as 624).
I wondered a lot in my last project (where I worked with biochemists joining different data sources and making them as accessible as possible without changing or "interpreting" the data - the FDA would not like any manipulations) - why this basic beautiful concept of fixed precision values got so much lost of support over time.
@@janekschleicher9661 Ouch, that's quite a rant - and well justified - upvoted.
IBM supported packed decimal well, DEC Vax supported it but performance was awful (converting to float about 1000 times a float addition if I remember correctly)
I use AWK every day, for all sorts of things! SED, TR, and CUT are also very helpful indeed!
God bless these two men!
Love AWK, and love Brian's energy! He could easily be in a Duracell commercial for nerds :D
Thank you all so much for recording such a great discourse. It's great to have all of this documented and in such a pleasant setting.
It's astonishing to live in an era where you can watch a video with Brian talking about troff
I remember having to mask (right character) and shift (left character) in integer array elements to process text in FORTRAN. The first program I wrote compressed magnetic tape backup indices so they could be printed. Later, they were sent out on tape to be put on microfiche. The program allowed the operator to enter tape numbers so once files were located in the index, the tape to be pulled was at the top of the column.
Priceless! Two elder statesmen of Computer Science reminiscing over coffee in an English country garden. Prompted me to find my Bell Technical Journal of July 1978 "Unix Time-Sharing system" to re-read "Document preparation" (Kernighan / Lesk & Ossanna) and "Statistical text processing" (McMahon / Cherry & Morris) which immediately preceded the edition first talking about Awk.
Awk (and in particular Tawk, from Thomson Automation) served me very well over about 20 years of developing and maintaining scripts for text re-formatting between mainframe datasources and typesetting and page layout systems (pre-DTP, mostly).
Humbling to see Brian still sharp on his wits & brisking with details on Tech concepts & fundamentals
Please follow this up with like "Rave with Donald Knuth"
I'm a dilletant, and only used AWk when I was building scripts for automatic generation of jobfiles and parsing and visualising the results for write and transfer speed tests in HPC. It was also the first time I worked under linux for more than feeding jobs into the universities printer system. I was blown away by everything and how obvious it was once you thought about it. The pipeline and I/O manipulation alone blew my mind. My quintessential AWK experience was when I was working on parsing the output and was amazed that bash had not only the pipeline and the i/O redirection but also something this nice one could use to manipulate the data. When I realized that I was, at the moment, scripting gnuplot inside AWK which I used inside a bash script to manipulate the data I got back from the cluster after sending the command files that I generated in a bash script... And all of that was older than myself... Talk about amazement and humility.
I
Introduced to UNIX in the 1980s and I still use awk, grep and originally troff but now groff. I have a copy of the 1988 version of "The AWK Programming Language" and now waiting patiently for the updated version. :-)
Everytime I see a clip with Brian K I stand up and make a salute, figuratively speaking. I've been using gawk for decades, and for what it is, for the domain where it's applicable, there's nothing that beats it. gawk's got everything these days, networking/sockets, sub-processes, name spaces, associative arrays ... I just love it and more often than not it's well enough for the task at hand. :-D
Indeed.
My little homage goes - "Everyone shut up, Kernighan's speaking".
This guy is a saint. I watched this video, along with the Lex Fridman interview, and he always comes across as such a humble person despite his legendary accomplishments.
New goal: to make something so well I feel comfortable referring to it as ‘inscrutable’
Legend.
What a legend. I loved reading K & R too
Two of the greats.
I hope there is more of this conversation, and we get to listen to it.
Am i evil if, while watching this video, i think and wish that Futurama's Head Museum was real? After a few years, there would be very few people left to talk about early computer history, programming, Unix etc.
Though Computerphile has done a stupendous job of recording these conversations.
Wonderful stuff you two lovely gentlemen. Always a joy to see interviewing people Professor Brailsford.
A delightful conversation. Thank you very much for sharing this!
As some e dealing with kubernates on a daily basis awk and grep are my most used commands.. Thank you professor for bringing it to us..
Awww yesss!
When I watched the last video yesterday and saw the end slate, I thought there was nothing that sounded nicer than a cozy coffee chat with Prof Kernighan but alas the link wasn't up yet.
Today I see this and my favorite computer scientist teddy bear Prof Brailsford is the other side of this chat! What a lovely evening 😊👌❤
always good to see and hear from brian
I learned a lot from the books BK, DMR and others wrote. As a young person with no formal training in this field, those books made my dream of working in CS true. Awk is a tool I still pull out for when pure shell scripting is 'awkward'.
FWIW, I have used Troff, Scribe, TeX/LaTeX for typesetting and there is no better tool than TeX/LaTeX for producing text and graphics. The sheer number of packages that address the production of everything from pseudocode to Feynman diagrams makes LaTeX worth the effort it takes to learn it. TikZ is another reason I use LaTeX.
I hope BK gives it try, despite the 5GB download (which is no more than streaming a single HD movie in terms of traffic).
I was happy to hear James Clark mentioned in the conversation. He created DSSSL. It was a subset of Scheme for parsing and formatting SGML documents.
These two together in an Video. What a treat 😍.
Thanks alot
This guy is one of the most important people in the history of computing IMO.
Amazingly stable camerawork despite not being on a tripod. Good job to Sean and Steve here.
AWK - the best utility program ever. Thank you Prof Kernighan etc.
I still use it and I have still got the book.
Tim
This is awesome, thanks for recording it.
A living legend, and still as sharp as ever.
these two Professors are you best people on this channel
I love these UNIX history videos. Cheers, Russ
To this day I still reach for Awk time and again. It's choice for dealing with nearly any kind of structured text data. It's very powerful at it and fairly lightweight. I can't think of a language that does what Awk can do out of the box except maybe Perl, and yet it does it so more intuitively. I will routinely do bash one liners with Awk scripts in them to process, transform, aggregate, even mine data.
I could listen to these two talk for hours
7:03 - shout-out to Arnold Robbins! You can find books by him from O'Reilly about (you guessed it) awk as well as other programming-related stuff.
Love this series - when I came to unix we were using it for fileservers and graphic workstations and oracle databases but you could tell from exploring the shipped binaries and man pages that somewhere down the line it had been through the hands of guys who were really into their text files, reg expressions and linotype machines.
didn't really get the linotype machines tbh but by then the apple mac and laserwriter had already been out a few years.
latex is an onion of layers build up on layers, many of which dating back to times when both of you where in there twenties... but once you invested a couple of hundreds of hours, it allows you to render gorgeous documents from simple markdown and a template... totally worth it!
Choosing between learning assembly or latex, I'm not sure which is worse
@@theRPGmaster why not both :)
@@petersansgaming8783 As a programmer, AKA someone who suffers for no reason, your challenge is very tempting
AWK and grep is my most used command outside ls and cd.
two Computerphile legends in one video! awesome
25:20 Definitely xelatex. I have used it to write notes in nepali unicode for five years now --the documents printon the printer, and has never failed me.
Wow. Actually got an early scoop on a software update in the pipeline for a program from 1977. What a conversation.
I could listen to them talk all day!
Awk, grep, sed and bash were my daily tools for over 20 years in telecoms. Fascinating conversation, loved every bit of it :D
Always a pleasure to watch a video on this channel, thank you for making them, always a pleasure to listen to these two legends as well.
We need a double like button for this, brilliant.
So exicited to hear awk will support UTF-8 ... AND a new version of "The Awk Language" may appear!!!! (please include a "how this document was published" look at the updated tool set! Awk forever!
I used AWK MANY years ago, and it was a lot of fun.
Wow! The fact that the K himself is still coding new features into AWK makes me respect this piece of software I use basically everyday even more!
Fascinating discussion! Thank you for the v
The comment about decimal reminds me of the design decision in VisiCalc to do decimal arithmetic so the roundoff errors would match what accountants expected. Turns out they didn't care when all other spreadsheets did binary arithmetic.
Fantastic video!
Man I remember learning Awk at Uni in the early 90s. I just checked, Its installed by default on an OSX mac on 2022. I'm not even sure python is still installed by default, I think apple stopped bundling Python, Perl and Ruby. But Awk is still there, quietly unacknowledged and chugging away just fine. I wrote entire applications in that damn thing, back in the 90s. Probably not a good choice, but the only "real" language that was installed on those old refrigerator sizewd Unix machines at the time was bloody Cobol. Well probably C too, but I hadn't learned that yet. Different times lol.
Also the weird name for AWK is very Unix. grep, sed, awk, sudo, as well as a host of even more inscrutable acronyms, dd, bc, ls, etc etc.
OMG. BWK has added UTF8 to awk. Amazing. These days I would use Perl (old school, sorry!) but still very fond of awk.
I used it the other day and found it very useful.
I don't understand a word from these two but they're rather cool! Love this video!
So fun to see
Love this
Most of my computing life was working on non-numerical software - great to hear this discussion about programming languages I have loved (and hated)! I recall that using SNOBOL4 on the CDC6600 was the first time I could get to using 1/10ths of a second of CPU time instead of hundredths or thousandths of a second. Used Fortran on the same machine for some text processing - using 60 bit words to store one 6-bit character in each, fast but frowned on! Worst was trying to program a recursive database search in COBOL - very unnatural!!
Have you used PASCAL ?
I frequently use AWK for simple text processing. I mostly use it to extract columns of text, or to reorder some columns of data, or sometimes to count or total columns where I need BEGIN and END blocks in addition to the one line of AWK. I rarely use its pattern matching features. When I need to do something with a text file that is a bit more complicated I turn to Perl. I still have my copy of the original book on AWK. It sits on a shelf right beside the first and second editions of the C bible. :)
This is gold
awk is one of my most commonly used tools, I don't think younger people realize the power of it and how easy it is to use and why it's a "daily user".
Absoulte legend. Our industry is better for having him in it.
You might look into tectonic, which is a XeTeX implementation that lazily downloads the packages instead of needing the 5GB all at once.
I love how he will pick python to do some tasks. The living example of picking the right tool for the job
@24:30 groff, unlike troff, supports unicode quite well.
Lovely work, these videos bring a smile upon my face as opposed to the absolutely infantile content I am recommended on youtube.
I still use AWK for one-liners pretty regularly.
Very cool of Professor Brailsford to wear his Isaac Kleiner cosplay for a video
When i am Brian's age i hope to be as humble and laid-back as he is.
this is advancing the human civilization to get together and record.
awk is the best text stream transform tool in unix pipeline, classic craftsmanship masterpiece.
10:35 Being able to reel off sentences like this is what separates the pro coders from the noobs.
Looking healthy and not aging much Brian!! 👍
I imagine that if you just kept solving problems as a daily habit throughout your daily life, you'd come off like this no matter what age. There's a lot of humility here as well, I think.
Cheers, mate! ☕
What an interesting talk and I'm surprised to hear Finland being mentioned too. Torilla tavataan!
I remember using awk to upgrade a whole software package from directly outputting hardcoded VT100/VT220 escape sequences and line feeds and carriage returns for terminal IO to using a simplified UI library which wrapped the language’s terminal windowing library.
Handling all the coding styles, output statement types and ways that escape sequences and terminal control characters could be expressed took ages. But one day I ran the thing on the entire codebase.
It evolved the system to use a UI library for all interactions. And that allowed it to evolve further to keep up with evolving UI standards.
I used awk for one task tis year. I cannot remember where and why, but it was the tool to use at that time (or launch Perl in the middle of a shell script).
We're so lucky we have bwk's software and its variations for free on so many distros, saving time, saving money, with very few changes over time so you don't have to get used to it again when it changes.
Very nice, good content