Hacker News new | past | comments | ask | show | jobs | submit | tomcart's comments login

Lakeland is how wainwright referred to the area in his guides, which is probably the main reason the author is using it: https://en.m.wikipedia.org/wiki/Pictorial_Guide_to_the_Lakel...


Crossrail will eventually (hopefully this year now) make it trivial for you to catch a fast, direct train from shenfield/romford to Bond Street - even today this is a straightforward journey with a change at stratford tbh.


There is surely a distinction between vintage and timeless, where the first is representative of the time it was written (and may offer relevant insight for today), and the second offers some universal truth, regardless of when it was written.

I'd say Knuth is squarely in the latter category


I'm gonna have to go against the grain here and completely disagree with this. While TAOCP is lauded and celebrated as one of the best (and at the same time unread) CS books of all time, the fact that it uses an assembly language is a strong indicator that it's 'vintage'. It still has that 'universal truth' but at the same time, as you said 'is representative of the time it was written', considering MIX is picked for teaching people how to program.


Note that only a very small part of the TAOCP books is in assembly language. My count from a few years ago: https://news.ycombinator.com/item?id=14520230

Another way of counting is that the book "The MMIX supplement", which contains the MMIX equivalents of every single page/section/program in Volumes 1–3 that is affected by the details of MIX (the book is not by Knuth but the preface indicates Knuth reviewed it very thoroughly pre-publication), is 224 pages long.

Volumes 1, 2, 3 are together 672 + 784 + 800 = 2256 pages long (and Volume 4A is 912 pages). So roughly, less than 10% of TAOCP deals with either MIX specifically, or assembly language in general.


The newer volumes use a newer version of MIX, MMIX¹ based on RISC architecture, which will also appear in the "ultimate" revisions of Vols I–III. And while you might think that assembly language is ipso facto an indicator of vintage, I think having at least one assembly language² in one's experience is helpful for having some idea of what the computer is actually doing.

1. https://www-cs-faculty.stanford.edu/~knuth/mmix.html

2. For people targeting a platform like JVM or CLR (dot net), understanding how those machines are implemented might also be useful, although I've found my ancient memories of 6502 and 370 assembler are sufficient for having a mental model of how the code works.


I also should provide DEK's own reasoning about why assembly and not a higher-level language:

>Many readers are no doubt thinking, ``Why does Knuth replace MIX by another machine instead of just sticking to a high-level programming language? Hardly anybody uses assemblers these days.''

>Such people are entitled to their opinions, and they need not bother reading the machine-language parts of my books. But the reasons for machine language that I gave in the preface to Volume 1, written in the early 1960s, remain valid today:

>• One of the principal goals of my books is to show how high-level constructions are actually implemented in machines, not simply to show how they are applied. I explain coroutine linkage, tree structures, random number generation, high-precision arithmetic, radix conversion, packing of data, combinatorial searching, recursion, etc., from the ground up.

>• The programs needed in my books are generally so short that their main points can be grasped easily.

>• People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird.

>• Machine language is necessary in any case, as output of many of the software programs I describe.

>• Expressing basic methods like algorithms for sorting and searching in machine language makes it possible to carry out meaningful studies of the effects of cache and RAM size and other hardware characteristics (memory speed, pipelining, multiple issue, lookaside buffers, the size of cache blocks, etc.) when comparing different schemes.


At the same time, his programs do things like modify themselves. CPUs and operating systems haven't let you do stuff like that for a while now, at least not without disabling system protections.

Also, the underlying hardware he's describing isn't universal. Look at the assembly language for a vector machine (like a Cray). It's nothing like MIX.


If you look at the link, Knuth does talk about how self-modification is an obsolete practice and something he has been removing.


> And while you might think that assembly language is ipso facto an indicator of vintage, I think having at least one assembly language² in one's experience is helpful for having some idea of what the computer is actually doing.

These two statements are not contradictory. We've stopped teaching CS using assembly language a long time ago, but we still do teach assembly in OS or computer architecture contexts, which is totally fine and should continue.


It's precisely because it uses a "fake" assembly language that it can continue to be timeless; the books written using FORTRAN are now historical artifacts, and perhaps only C would really survive that long; and C is basically glorified assembly language anyway ...


I'd say the reasons you say it's vintage are the exact reasons I'd say it's timeless! It's a fictional assembly language which is at the level of abstraction he wants and something that won't age because it never existed to begin with.


No, it's not timeless. Only the fact that it was updated to MMIX [1] proves that it's not.

And the fact that it's fictional it doesn't mean it won't age. Because he didn't pull the language out of thin air and he wasn't working in a vacuum, he was inspired by the trend at the time of its invention [2]. I bet if it was written today, it would look quite different, as proof of his language update for the recent editions [3]. So, it's anything but timeless, as said by even the author.

> won't age because it never existed to begin with.

Same as Da Vinci's helicopter? I think that one also aged quite poorly.

[1] https://en.wikipedia.org/wiki/MMIX

[2] https://esolangs.org/wiki/MIX_(Knuth)

[3] "In my books The Art of Computer Programming, it replaces MIX, the 1960s-style machine that formerly played such a role"



I think this is coming from one particular government department, not all of gov.uk


If anyone is interested in understanding more about art and human perception of art, then this book is as good a starting place as you'll find: https://en.wikipedia.org/wiki/The_Story_of_Art

As the book says, ″There really is no such thing as Art. There are only artists.″


> DynamoDB Global tables took 4/5 years to be available in Cloudformation.

DynamoDB global tables launched in November 2017, it isn't four years old yet.

CFN lag is an issue for sure but not quite that much of an issue...


So it's 3.5 years old, and the CF was availabile this May. And it is a very widely used feature among many organizations.

If you want to use a new resource and feature, %90 likely it is an issue. There was even a public project to track them. https://github.com/cfntools/cloudformation-gaps/projects/1

You want to have an IAM role, but you can not tag it with Cloudformation. These minor frustrations quickly add up. And see what you need to do to add a custom resource: https://shouldroforion.medium.com/aws-cloudformation-doesnt-...


This piece is based on learnings from working in a government beauracracy but has lessons for any large organisation. https://profserious.substack.com/p/10-things-i-learnt-in-gov...


The bbc publishes a monthly list of urls removed by google. It is pretty instructive: http://www.bbc.co.uk/blogs/internet/entries/83c19e58-e131-47...


Puzzled by the relationship of SAM and Cloudformation in lambda ecosystem.

SAM seemed like an effort to create an open spec for this type of App but looks more and more bespoke to AWS.


For us, SAM is just a shorthand DSL for Lambda-ecosystem CloudFormation templates. It's much more concise and expressive than vanilla CloudFormation for typical Lambda use cases.


> How many people want to buy gold but don't want to have third party trust with an organization that holds gold or have to hold it themselves.

How is this different with Bitcoin? Edit: by which i mean, either you work out what do do with the key, or you trust an exchange/online wallet provider to do it for you.


Well because gold is heavy and large and tough to hide.


Also divide and prove purity. Both are trivial for bitcoin.


Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: