Live data from Hacker News

MIT Hacker Tools: a lecture series on programmer tools

hacker-tools.github.io

51–60 of 83 posts

Re: MIT Hacker Tools: a lecture series on programmer tools

#51
post #48

The article on editors is basically "here's the names of 5 editors, now learn vim" I know this will piss off vim users but in my experience vim users are seriously out date when it comes to dev tools. It's like they never left the 70s. vim might be great, it might be available everywhere but when I see a vim user I then see them use something like gdb and have clearly never experienced a modern debugger because if th…

My experience of IDE users (myself included much of the time) is that they don't know how limited their debugging experience is, just breakpoints and how to step through code. Things like breaking when a variable is set, debugging from a core dump, creating a core dump under certain conditions, viewing the assembly, setting variables on the fly etc, are features of a good debugger (often the one they're using) that a…

Exact opposite of my experience. IDEs let me easily add conditional break points, toggle between source, disassembly, source+disassembly, set variables just by clicking on them, view multiple areas of memory in different tabs/windows. Set how that memory is viewed (bytes, words, dwords, floats, as a type of class/struct, array of classes/structs), show different contexts at once, have multiple windows per thread/process, never seen someone use one that didn't know those features exist as they are all obvious to discover in an IDE.

sounds like you've never used one but then that's what I'd guess from watching most vim users. All of those have been standard features of visual IDE debuggers for over 30 years. Mean while instead of seeing every thing update live I watch the vim users type various gdb print and dump commands at the command line and then watch that data scroll off their terminal instead of being updated live as they progress like an IDE debugger.

Re: MIT Hacker Tools: a lecture series on programmer tools

#52

can't see anything on that projector :-(

Yeah, sadly the screencasting software malfunctioned on some of the sessions. We're thinking of re-doing some of them with a proper microphone and screencast though (see also https://news.ycombinator.com/item?id=19081669), and will certainly announce when/if that happens! For what it's worth, the lecture notes should capture most of the actual contents, and in the same order.

Re: MIT Hacker Tools: a lecture series on programmer tools

#53
post #2

Hi all! We (@anishathalye, @jjgo, and @jonhoo) have long felt that while university CS classes are great at teaching specific topics, they often leave it to students to figure out a lot of the common knowledge about how to actually use your computer. And in particular, how to use it efficiently. There’s just no class in the undergrad curriculum that teaches you how to become familiar with the system you’re working wi…

That's funny, I recently had the same revelation (that it's hard to discover these things) with engineering students in mind. I wrote an e-book called Digital Superpowers, covering many of the same topics you did. I added some general interest things on art and publishing too. I think I like your approach better. Anyway, my list of topics is as follows, maybe you want to consider adding a few of them to your list? Pa…

this is insanely ambitious, and in a weird order

Re: MIT Hacker Tools: a lecture series on programmer tools

#54
post #22

Earlier quoted context omitted.

CMU did (maybe still does?) have a mandatory, once-a-week course to orient new students to logging in to *nix workstations, setting file permissions and copying files around on AFS, etc. Whether this was just for CIT or university-wide I cannot recall.

Didn't they recently nuke the unix infrastructure and replace it with cloud services? Or have reports been exaggerated?

The unix infrastructure is still in place and widely used by nearly all cs courses.

Re: MIT Hacker Tools: a lecture series on programmer tools

#55
post #48

Earlier quoted context omitted.

My experience of IDE users (myself included much of the time) is that they don't know how limited their debugging experience is, just breakpoints and how to step through code. Things like breaking when a variable is set, debugging from a core dump, creating a core dump under certain conditions, viewing the assembly, setting variables on the fly etc, are features of a good debugger (often the one they're using) that a…

Exact opposite of my experience. IDEs let me easily add conditional break points, toggle between source, disassembly, source+disassembly, set variables just by clicking on them, view multiple areas of memory in different tabs/windows. Set how that memory is viewed (bytes, words, dwords, floats, as a type of class/struct, array of classes/structs), show different contexts at once, have multiple windows per thread/proc…

> sounds like you've never used one but then that's what I'd guess from watching most vim users

You'd be mistaken, I've spent a huge chunk of my adult life inside Visual Studio. IME most devs don't even know you can add a condition to a breakpoint (hiding feature behind right clicks aren't obvious) and anything complicated turns into a very convoluted process very quickly. Even setting conditional breakpoints are basically an input into the command interface, essentially what the windows run menu is to the command line.

Take this short tutorial (https://amazingdim.wordpress.com/2014/02/01/gdb-script/) on gdb scripting and show me how to do similar through an IDE. With Visual Studio at least it is much more complicated, here are a few google results on that path:

1. https://docs.microsoft.com/en-us/visualstudio/debugger/using... 2. https://blogs.msdn.microsoft.com/debugger/2009/12/30/what-is... 3. https://stackoverflow.com/questions/47513337/howto-debug-a-n... 4. https://docs.microsoft.com/en-us/windows/desktop/wer/collect...

Re: MIT Hacker Tools: a lecture series on programmer tools

#57

Earlier quoted context omitted.

That's funny, I recently had the same revelation (that it's hard to discover these things) with engineering students in mind. I wrote an e-book called Digital Superpowers, covering many of the same topics you did. I added some general interest things on art and publishing too. I think I like your approach better. Anyway, my list of topics is as follows, maybe you want to consider adding a few of them to your list? Pa…

this is insanely ambitious, and in a weird order

You're right. And "covering" is a strong term for the book. It only introduces them, offers a few exercises, and moves on. It's still 200 pages. It's intended to help engineering students (mechanical, civil/structural, nuclear, etc.) discover these wonders and then choose which ones to go deep with based on their needs and interests.

Re: MIT Hacker Tools: a lecture series on programmer tools

#58

is this some sort of MIT class to undergrad or general public?

At MIT, the month of January is a reserved time separate from the normal terms called IAP - Independent Activities Period. During IAP, there are many seminars, panels, talks, and short courses (and some long courses taught in an intensive fashion) on a huge variety of topics. Many are taught by students, faculty, staff, and area alumni. While a few classes do give credit, fulfill requirements, and the like, oat exist simply to learn cool, neat, useful, interesting, wacky, etc stuff.

Re: MIT Hacker Tools: a lecture series on programmer tools

#59
I strongly believe man is a product of his tools, my slow but steady increase of their mastery is a source of pride. I've spent nights just mindelessly browsing the web in the search for a tool I didn't know about (it can be a service, a browser extension, a text editor plugin) so just looking at the title of this post made me ready for an injection of dopamine.

I have a branch on my todo list solely focused on my tools, because there are so many things to configure continuously. I schedule these tasks for the occassion I feel like I'll have a couple of minutes to improve and their priority are often labeled as "Compounding Rewards" as opposed to "Critical".

Post reply on HN