Live data from Hacker News

Let's Not Dumb Down the History of Computer Science (2014)

cacm.acm.org

121–130 of 171 posts

Re: Let's Not Dumb Down the History of Computer Science (2014)

#121
Seems to me that there are multiple histories of computing . One is the history of theoretical computer science which I think is what Knuth is referring to. This is actually fairly well preserved in academia and anyone with a CS background should have gone through it. Another is the history of programming, of which we know the origins but off late has become nearly impossible to track. The last is the social history of the internet , which doesn't require a technical background.

Re: Let's Not Dumb Down the History of Computer Science (2014)

#122
post #30

Earlier quoted context omitted.

Capability based security, for example was something that allowed you to run any program, with no danger to your system. It's not part of any common OS. I know, I know. Norm Hardy was really good, his system, KeyCos, worked, and few could understand him. I used to know his "explainer", Susan Rajunas. We don't even have proper "rings of protection", like Multics, any more. Although the real problem today is that we ne…

> Although the real problem today is that we need to run programs with less authority than the user running them, All true; But. What really stopped capability systems is that most users cannot be bothered to grant minimum privilege. Even most developers cannot - we invented containers in part as a way to mitigate the consequences of failing to grant minimum privilege.

>we invented containers in part as a way to mitigate the consequences of failing to grant minimum privilege

Also because it's extremely difficult to grant minimum privilege on your typical general-purpose OS today. Spawn a new process and the default is that it has all the same authority that you do - it takes a lot of work to dial that down.

This is typically inverted in a capability system: the program only has the authority that you give it.

Re: Let's Not Dumb Down the History of Computer Science (2014)

#123
post #29
post #10

As a computer science graduate student, I am always surprised by how rarely my peers seem to know or care about the history of our field. I doubt many of them would write papers about computer science history even if the incentives were better. I think it is somehow related to the power of computer science to change the human condition. Everyone is thinking about the future. Mathematicians also crave novelty, but I d…

Suggested reading. This will take some searching. - "As We May Think" - Von Neumann's report on the EDVAC. - The invention of index registers, originally called the "B Box". (The "A Box" being the main arithmetic unit.) Von Neumann missed that one. - The original 19 page definition of ALGOL-60. - HAKMEM, from MIT. - A description of the SAGE air defense system. - Something that describes how the Burroughs 5500, a ver…

As We May Think https://www.theatlantic.com/magazine/archive/1945/07/as-we-m...

The First Draft Report on the EDVAC http://history-computer.com/Library/edvac.pdf

The invention of index registers https://en.wikipedia.org/wiki/Index_register#History

Report on the algorithmic language ALGOL 60 https://sci-hub.do/10.1016/s0066-4138(61)80016-5

HAKMEM https://news.ycombinator.com/item?id=18793554

SAGE https://en.wikipedia.org/wiki/Semi-Automatic_Ground_Environm...

B5500 https://github.com/pkimpel/retro-b5500 https://en.wikipedia.org/wiki/Burroughs_large_systems#B5000 http://www.retrocomputingtasmania.com/home/projects/burrough...

IBM 1401 https://en.wikipedia.org/wiki/IBM_1401 http://www.columbia.edu/cu/computinghistory/1401.html

P&V https://en.wikipedia.org/wiki/Semaphore_(programming)

PASCAL – User Manual and Report http://seriouscomputerist.atariverse.com/media/pdf/book/Pasc...

The UNIX Time-Sharing System https://archive.org/download/bstj57-6-1905/bstj57-6-1905.pdf

A Trip Down The Graphics Pipeline: The Homogeneous Perspective Transform http://cfile204.uf.daum.net/attach/272FF54D519C8D973525F4

Re: Let's Not Dumb Down the History of Computer Science (2014)

#124

Unlike Medicine, many of the ideas that we had in the past were better than the commonly accepted way things are done now. Capability based security, for example was something that allowed you to run any program, with no danger to your system. It's not part of any common OS. They had it at Xerox PARC, but Steve Jobs chose not to take that part. On the other hand, the PARC focus on replicating paper was a step backwar…

> Capability based security … allowed you to run any program, with no danger to your system.

‘No danger to your system’ shouldn't be conflated with ‘no danger to you.’ The problem with capabilities is that they reinforce and solidify the ‘smartphone model’: your data isn't yours, it's an app's, so what you're permitted to do with it is entirely controlled by someone else.

Re: Let's Not Dumb Down the History of Computer Science (2014)

#125
post #124

Unlike Medicine, many of the ideas that we had in the past were better than the commonly accepted way things are done now. Capability based security, for example was something that allowed you to run any program, with no danger to your system. It's not part of any common OS. They had it at Xerox PARC, but Steve Jobs chose not to take that part. On the other hand, the PARC focus on replicating paper was a step backwar…

> Capability based security … allowed you to run any program, with no danger to your system. ‘No danger to your system’ shouldn't be conflated with ‘no danger to you.’ The problem with capabilities is that they reinforce and solidify the ‘smartphone model’: your data isn't yours , it's an app's , so what you're permitted to do with it is entirely controlled by someone else.

We shouldn't fear ideas just because it could be used to restrict some users of some systems. In the end, there will continue to be a market for less regulated hardware and OSes. Linux and the BSDs, as an end user if you own the system, are still wide open. x86/x64 systems aren't getting more locked down in general, and there's a significant movement toward more open hardware (at least within some niches) with RISC-V.

Something like capability based security would be a godsend for the corporate and enterprise environment compared to what's commonly in place.

Re: Let's Not Dumb Down the History of Computer Science (2014)

#126
post #30

Earlier quoted context omitted.

Capability based security, for example was something that allowed you to run any program, with no danger to your system. It's not part of any common OS. I know, I know. Norm Hardy was really good, his system, KeyCos, worked, and few could understand him. I used to know his "explainer", Susan Rajunas. We don't even have proper "rings of protection", like Multics, any more. Although the real problem today is that we ne…

we need to run programs with less authority than the user running them, and we still lack a good conceptual model for doing that Isn't this now the standard reality for most desktop and mobile OSs? "Allow write to SD card" is far, far too powerful a privilege to grant. Granting a permission based upon user approval is never secure anyway since if they want to see the porn / flashing lights they are going to click the…

People manage permissions just fine in the real world... if you have money in your pocket, you can pick and choose what portion of it to hand to the cashier when you're purchasing something.

When you had someone $3.50... you're giving them $3.50 of capability, and no matter how clever the Loch Ness Monster is, they'll never get more than that $3.50.

If on the other hand, you have to give them the entire wallet... like you do in Windows, Linux, etc... the game is over.

Capability Based Security is NOT the same as "Global Permission to do X"

PayPal exists because it is an instantiation of capabilities for finance on the internet.

Re: Let's Not Dumb Down the History of Computer Science (2014)

#127
post #85
post #24

To be clear about the "(2014)", although Knuth gave this talk in 2014, this transcript of the talk is from the upcoming (February 2021) issue of Communications of the ACM. The whole sequence of articles/talks is interesting: - (2007, Martin Campbell-Kelly), "The History of the History of Software" (DOI: 10.1109/MAHC.2007.4407444 ) — the trigger for what follows. - (2014, Donald Knuth): "Let's Not Dumb Down the Histor…

Wow, "Fermat's library" is horrible to read in. Luckily, the raw PDF is available at http://public.callutheran.edu/~reinhart/CSC521/Week3/KnuthVo...

Thank you. I know many of these older papers aren't exactly in the best format, but Fermat violating basic usability by turning the perfectly good text into a bitmap format somehow ends up worse than a PDF.

Re: Let's Not Dumb Down the History of Computer Science (2014)

#128
post #119

Earlier quoted context omitted.

> Although the real problem today is that we need to run programs with less authority than the user running them, All true; But. What really stopped capability systems is that most users cannot be bothered to grant minimum privilege. Even most developers cannot - we invented containers in part as a way to mitigate the consequences of failing to grant minimum privilege.

As the old saying goes, you go to war with the army you have. I have a bunch of fantastic solutions to all our problems, if only programmers would work 10 times harder for every line of code, and the project managers would be OK with that, and the business funding it would be OK with that, and society would be OK with getting 1/10th the software. Capabilities-based stuff is really neat , but it's also really complica…

I wish I could show this to a Big Data analyst I worked with. He spent all day doing machine learning things but once complained to my team that we were making access control too complicated.

Re: Let's Not Dumb Down the History of Computer Science (2014)

#129
post #7

Earlier quoted context omitted.

Programs source code is just as copyrighted as late 20th century literature. However, it's not generally available (unlike late 20th century literature). If windows sold with the source code (even if you were forbidden from doing anything with it), then we would be reading windows source code in our CS classes.

No we wouldn’t. Source code is notoriously hard to read if you’re not familiar with it, and optimized source code using internal APIs is even harder. If you’re learning an algorithm, just stick to pseudocode, otherwise youre stuck with MMIX bullshit.

Reading source code, especially source code that you're not familiar with, is a crucial skill for any programmer.

I've found annotated source code to be an extremely useful learning resource, personally.

Re: Let's Not Dumb Down the History of Computer Science (2014)

#130
post #10

As a computer science graduate student, I am always surprised by how rarely my peers seem to know or care about the history of our field. I doubt many of them would write papers about computer science history even if the incentives were better. I think it is somehow related to the power of computer science to change the human condition. Everyone is thinking about the future. Mathematicians also crave novelty, but I d…

A favourite quote, that appears on my Github profile: > Computing is pop culture. [...] Pop culture holds a disdain for history. Pop culture is all about identity and feeling like you're participating, It has nothing to do with cooperation, the past or the future—it's living in the present. I think the same is true of most people who write code for money. They have no idea where [their culture came from]. - Alan Kay…

Added to the substantial Alan Kay section of https://github.com/globalcitizen/taoup
Post reply on HN