Egypt sarcophagus: Mystery black tomb opened in Alexandria - <AUTHOR> https://www.bbc.co.uk/news/world-middle-east-44893804 <comment><USER2> This article is god awful, here is a slightly better one.

[http://earth-chronicles.com/science/the-first-details-of- the...](http://earth-chronicles.com/science/the-first-details-of-the-autopsy- of-the-black-sarcophagus-from-alexandria.html)

According to that article they poured most of the red liquid into the street, which seems absurd to me.

<comment><USER3> Yes, what a waste. They could have bottled the red liquid up into a carbonated energy drink instead.

[https://twitter.com/juliareinstein/status/102035701680670720...](https://twitter.com/juliareinstein/status/1020357016806707201?s=09)

<comment><USER4> We know better nowadays. [https://en.wikipedia.org/wiki/Mummia](https://en.wikipedia.org/wiki/Mummia):

 _"Merchants in apothecaries dispensed expensive mummia bitumen, which was thought to be an effective cure-all for many ailments. Beginning around the 12th century when supplies of imported natural bitumen ran short, mummia was misinterpreted as "mummy", and the word's meaning expanded to "a black resinous exudate scraped out from embalmed Egyptian mummies". This began a period of lucrative trade between Egypt and Europe, and suppliers substituted rare mummia exudate with entire mummies, either embalmed or desiccated. After Egypt banned the shipment of mummia in the 16th century, unscrupulous European apothecaries began to sell fraudulent mummia prepared by embalming and desiccating fresh corpses. During the Renaissance, scholars proved that translating bituminous mummia as mummy was a mistake, and physicians stopped prescribing the ineffective drug."_

</comment></comment></comment><comment><USER5> This article got me wondering...how is the law structured around this sort of thing? Generally speaking, it's highly illegal to dig up and open a grave since we generally have respect for a person's final resting place and this has been codified into law. So what are the rules surrounding this?

I assume special legal approval must be granted similar to what is required, for example, when a body needs to be exhumed as part of an ongoing investigation?

<comment><USER6> It's an archaeological dig as such it is done under special circumstances. Basically the permit is granted before the dig is started and it will list the conditions that apply to that dig if they are not already regulated as standard by a law.

If you dig on your own private property and find such artifacts you are most likely required to stop. Most countries consider historical artifacts to be owned by the state (just like natural resources) and the special conditions mentioned above will apply.

<comment><USER7> > you are most likely required to stop

Seems unenforceable.

Edit: The creative potential of a public service announcement makes me smile though.

<comment><USER8> The old Turks would be great at tunneling. So they would bury their gold underground in tunnels eons ago. In Jordan, This was so common that you were likely to find gold during construction projects or while digging in your backyard. So if a worker found gold, he would be required to hand it over. So he wouldn't dig it out during the day. Only at night. Helicopters would roam around at night specifically to find diggers at night with their lanterns and lamps looking for gold.

</comment></comment></comment></comment><comment><USER9> >"Despite that, the site has now been cleared of people amid fears the sarcophagus could release lethal toxic fumes, Egypt's state-owned newspaper Al-Ahram says."

In the previous paragraph the interviewee is claiming to have put his head in the tomb, from the pictures it seems like he was wearing nothing more than a dust-mask.

So either they're lying as to why they've cleared the area, or analysis of the contents has shown something troubling?

I'm surprised they didn't put a probe in to sample the internal gases prior to opening -- doesn't seem too much of a stretch to imagine a dangerous gas could have built up (eg from embalming chemicals), and the gaseous environment could surely give useful archaeological information in some cases (?).

<comment><USER6> The dust masks are pretty standard when working in any such site. Nothing to do with protection against a potential chemical or biological hazard. It simply wouldn't help.

But the site was most likely evacuated because of the smell and the fact that the local workers were reluctant to work in conditions that most of them considered to be dangerous. I would call it a needless precaution, definitely not a real danger. When a myth is too entrenched in people's minds fighting it will bring no benefit. It's easier to go along out of an excess of precaution and then go back to work when "all is safe".

<comment><USER10> Didn't a bunch of people that visited Tutanchamun's tomb die? Mold spores iirc, or is that an urban legend?

<comment><USER11> This was discussed in the article. The financial backer for the expedition died from an infected mosquito bite but nothing else went wrong.

> "We don't know of even a single case of either an archaeologist or a tourist > experiencing any negative consequences [from bacteria or tomb moulds],"

</comment></comment></comment></comment><comment><USER12> I wonder what cool story Lovecraft could elaborate from such a news.

<comment><USER13> I'm glad I'm not the only one who's thoughts went immediately to something like this.

</comment></comment><comment><USER14> i can't believe people are still pushing the story about the curse. Not very nice from BBC to promote it,too.

<comment><USER15> A cursed tomb can be a another civilization's deep geological repository [1] of nuclear/toxic waste.

[1] [https://en.wikipedia.org/wiki/Deep_geological_repository](https://en.wikipedia.org/wiki/Deep_geological_repository)

<comment><USER16> Not an ancient Egyptian tomb, no.

<comment><USER17> Or so we were led to believe. There's clearly a single possible explanation to all this.

<comment><USER18> I thought Egyptian sarcophaguses were healing/brainwashing devices. A buildup of a toxic substance must be caused by a malfunction.

</comment></comment></comment></comment></comment><comment><USER19> Turns out that the sarcophagus was full of surströmming.

<comment><USER20> Human surströmming

</comment></comment><comment><USER21> How did they make this tomb. Even ignoring weight factor, what type of saw could they employ to cut it from the block?

Right now companies use diamond wire blades to cut granite and it is not so fast and easy. Can not imagine ancients Egyptians could produce even steel

Also where have they got a granite in this part of Egypt... Aswan query known for having black granite deposits is 600 miles away.

<comment><USER22> "Diamond wire blades" are just a (much) faster and longer-lasting version of wet cord and sand, which is known to have been used since antiquity. Perforating and wedging - breaking along the dotted line, as it were - is an equally ancient technique. Just because it's a lot of hard work doesn't mean people weren't willing to do it.

<comment><USER23> > Just because it's a lot of hard work doesn't mean people weren't willing to > do it.

Especially willing to do it if the choice was made by a slave who knew it was literally do it or die.

</comment></comment></comment><comment><USER24> So jealous of the people who get to make these discoveries. Even finding the small items of some ancient rural family seems so cool to me.

</comment><comment><USER25> So is there anything left of DNA, perhaps in bone marrow? I would "guess" there isn't.

</comment><comment><USER26> But how did sewage water get in there?

<comment><USER20> Most probably it's not "sewage" water but "corpse decomposition water"

<comment><USER27> corpse decomposition water won't last 2000+ years especially if not frozen. Probably the coffin was porous or had crack from where the sewage water seeped into the coffin from a nearby leaking sewage pipeline.

</comment></comment></comment><comment><USER28> To me it seems staged as hell. I believe it had been opened prior to "the opening".</comment>


Smashing The Stack For Fun And Profit - by Aleph1 (1996) - <AUTHOR> http://phrack.org/issues.html?issue=49&id=14#article

<comment><USER2> Dup:

<http://news.ycombinator.com/item?id=943185>

<comment><USER3> y'know, I always wanted to say "Riposte!" in response to these, figuring it would be a clever, original use of a homophone. Then I got to thinking about how many hackers I know who are, oddly enough, into fencing or other swordplay. Leave the "Greatest swordfighter in the world" stuff at home, guys. It's probably been done before, but I'm too lazy to grep the comments to find out, and that's why I've never said it. Until now.</comment></comment>


'Space Invaders' to Become Hollywood Movie - <AUTHOR> http://www.hollywoodreporter.com/heat-vision/space-invaders-video-game-headed-208968

<comment><USER2> That this plotless, flat, monochrome quarter siphon becomes a Major Hollywood Movie proves that the US movie industry is morally, philosphically, ethically, creatively and intellectually BANKRUPT.

"Conversely, coming up with a captivating universe, especially for video game adaptations, is no easy task." At least they acknowledge that tie-ins are a part of the "creative process" up front. Whoever said that is so ethically challenged that he or she didn't even think of the possible effects that would have on customers.

Feh.</comment>


Why Top Posting Has Won - <AUTHOR> https://www.solipsys.co.uk/new/WhyTopPostingHasWon.html?HN_rf13 <comment><USER2> Because it's easier.

\--

A: Because it messes up the order in which people normally read text.

Q: Why is top-posting such a bad thing?

A: Top-posting.

Q: What is the most annoying thing in e-mail?

<comment><AUTHOR> Yes, despite the fact that in many cases there is is more work done because of it, that work is done by the receiver. So even though in-line post would often result in less work overall, people will top-post.

Because it's easier.

Wouldn't it be great if we had a system that made in-line posting easier than top-posting. Then there would be _less_ work done overall.

<comment><USER2> Yeah :( GMail makes it somewhat onerous because it edits incorrectly when you go inline. I do it for complicated email responses, but even I have given up for easier stuff, and I _rail_ against top-posting. So it's my fault.</comment></comment></comment>


Vilayanur Ramachandran: A journey to the center of your mind (includes a simple cure for phantom limb pain!) - <AUTHOR> http://www.ted.com/talks/view/id/184

<comment><USER2> A fantastic and more in-depth video from Ramachandran: <http://video.google.com/videoplay?docid=-4684607596399338611>

<quote>Lecture 6 of 12 of IBM Research's Almaden Institute Conference on Cognitive Computing. This one takes place during the reception and banquet dinner.

Ramachandran discusses phantom limbs and synesthesia (esp. color-blind synesthete) as a function of neuron innervation. Specifically, he focuses on cross-linking between nearby cortical regions, which he believes to be genetically caused (e.g. synesthesia appears to be found frequently in family lineages). He also discusses the link between mirror neurons and autism, and how language invention is due to an inherent cross-linking between portions of the visual and auditory regions (e.g. Buba/Kiki effect).</quote></comment>


ReSwift 1.0.0: Unidirectional Data Flow in Swift - Ben-G https://github.com/ReSwift/ReSwift/tree/master <comment><AUTHOR> I've been using this for a couple of projects and I really like it so far.

It's a nice take on unidirectional data flow as it applies to the Swift type system.

It brings a lot of clarity to the design. If I want to know the state involved in a view it's all explicitly stated in one place. If I want to know where state is manipulated, that's in the reducer.

<comment><USER2> Would you say it's good enough/stable enough for production use yet? I've been keeping an eye on ReSwift for a while now, but i've been hesitant about using it for anything serious because there doesn't seem to be any real apps out in the wild using it yet (AFAIK). Would really like to model my app state with the Redux-like pattern, from a single source of truth.

<comment><USER3> It's in use in production. We are using it in our internal apps now. Some apps in Japan have been appearing in the App Store using it, such as: [https://itunes.apple.com/jp/app/id1088140538](https://itunes.apple.com/jp/app/id1088140538).

I would recommend trying to build an app using a DIY store following the principles first to get a really good feel for how it fits in. Moving from DIY -> ReduxKit -> ReSwift has been really easy.

</comment></comment></comment><comment><USER4> I love the approach. Been using it for my latest projects and the results are amazing: having a clearly defined app state at all times makes lots of view updates so much easier.

</comment><comment><USER5> Really awesome framework! Have been using it for my latest project and is especially great if you have done some Redux for the web.

</comment><comment><USER6> I wrote a pub sub that I use like this. Not sure I need everything else. Dispatching strings (enums) works as a charm. [https://github.com/seivan/NotificationHub](https://github.com/seivan/NotificationHub)</comment>


Why Don't Computer Scientists Learn Math? (2016) - <AUTHOR> http://lamport.azurewebsites.net/tla/math-knowledge.html <comment><USER2> In Lamport's defence: (1) He's Leslie Lamport, so his comments about academic Computer Science should be at least considered before they are dismissed. (2) His audience (and the target of his critique) was not an arbitrary set of self-taught programmers, hackers, and vencap enthusiasts. It was _mathematicians and computer scientists who went to a Leslie Lamport talk_. Ability to read basic set theory notation isn't exactly something that's weird to expect in that environment. (3) The notation he is using is not at all complex or obscure in academic CS. You literally would have trouble reading even rudimentary papers and summaries of basic theorems in CS if you couldn't follow that notation. He's pointing out that he's seeing a lot of people who claim to be CS people that have the sort of disability that a "physicist" who doesn't know what a matrix or determinant is would have. Without those rudiments, they just can't follow the discussion. If you can't follow the duscussion, you can't contribute to it. CS != Programming.

<comment><USER3> He is correct in the sense that computer scientists should be able to understand that. I'm one, or at least my diploma says that, even though I'm as far away from the academia nowadays as it gets.

So, I watched the lecture on youtube. Speaking as someone who was glossing over the mathematical notation and essentially deferring to the speaker for correctness, I could not do it from the time he called it into attention to the time he asked for hands up. I wouldn't have put my hand up, had I been at the audience then.

Had he asked "are you able to understand this notation", then I'd put my hands up. Scanning to see if anything unfamiliar is there takes hardly any time at all. Actually reading and being confident that you understand what it means and all the implications takes time, for someone who doesn't do that on a daily basis.

Using a very silly example: e = mc^2. Can you read it? Certainly. Do you _understand_ it?

</comment></comment><comment><USER4> It's not the mathematical concepts they're struggling with in this example, it's the notation. As someone who majored in math while an undergrad, even I would have difficulty deciphering it were it not for an elective course in Symbolic Logic.

<comment><USER5> Meh, its like saying that somebody who doesn't know to read doesn't struggle with concepts, but with understanding letters...

That is basic, I didn't touch math 15 years and still now that.

<comment><USER6> Meh, any competent programmer can understand sets..

I got the meaning presented in the article because I've practiced the notation presented, but wouldn'nt have figured it out instantly otherwise.

We have different programming language syntaxes for a reason.

<comment><USER7> These are not programmers though, but rather computer scientists, a big difference

</comment></comment></comment></comment><comment><USER8> While I can't comment on this situation in particular (a room of computer science researchers who couldn't understand basic notation), I can offer an anecdote about the lack of mathematical knowledge in industry.

Yesterday one of my coworkers submitted some code to perform an upsert to code review. His logic for calculating the diff set was extremely complicated, and subtly wrong, filled with comments. To me the idea was incredibly simple, because I only needed to think of the upserts in terms of set notation. So in review, I wrote the set notation implementation of the upsert, and then offered code to implement the idea.

My coworker was taken aback at how simple this set based implementation was, despite it being very basic set mathematics. While this was just an anecdote, I find that a lack of basic mathematical fluency peppers codebases with unnecessary complexity and myriads of edge cases that could easily be tamed with a slight application of mathematics.

<comment><USER9> Is it a web startup by any chance?

This thing doesn't happen in finance. Or generally speaking places that require a hard degree, and in extreme cases test maths aptitudes.

<comment><USER8> We're a web shop, but not a startup. I don't mean this to knock on my coworker: he loves learning and when presented with a new idea, takes his time to digest it and really apply it to his thinking.

</comment></comment></comment><comment><USER10> I was really interested in learning math. Was. i continue to be interested in math, I'm discouraged by the total lack of good and available instructional material on something as basic and essential as notation and set theory notation. There is a ton of great material out there for total beginners and people who have recieved formal instruction of advanced math. The in- betweeners get a bit shafted.

I dunno if things have changed since I last pursued this, but 5 years ago it was absurd.

CS, on the other hand, has a lot more material readily available for self- study. I find the subject itself also lends itself to being more accessible. Furthermore, unlike math, the practitioners of CS related fields seem to be concerned with readable notation.

So, mathematicians: acessibility is key! Math is fascinating, but inaccessible even to a large part of the intelligensia.

<comment><USER11> Pick up and typical math text and you can find an index of notation in the frontmatter or appendices.

All these complaints about mathematical notation seem really uninspired to me. It's like if I went around complaining that programming shouldn't require all this horribly baroque textual input.

You may or may not have a point , but either way it's certainly not one that's helping you at all.

If you find yourself frustrated at a seemingly nasty piece of notation, often this is a (helpful!) signal that you're not fully grokking things. Make use of that confused feeling to dig deeper.

Admittedly, compared to programming there are considerably fewer online resources for hacking together some maths knowledge. However, in book form there absolutely are tons of excellent materials!

Pick a subject, Google around for text recommendations, and then go raid your local university's library. There are even pretty good IRC channels for various math subjects! Try hitting up #math on freenode.

<comment><USER12> I think you just proved his point. Yes, one must invest time and energy to gain fluency, but making the whole process more accessible will always make it easier and welcome more people.

</comment></comment></comment><comment><USER13> I bought this book [1] a couple years ago to help with the notation, and it's awesome. I've been able to walk through papers that I never would have understood without this rosetta stone.

[1] [https://www.amazon.com/Mathematical-Notation-Guide- Engineers...](https://www.amazon.com/Mathematical-Notation-Guide-Engineers- Scientists/dp/1466230525/)

<comment><USER14> Thank you! I looked for something similar a while ago and came up empty. Whenever I asked math friends the answer was always "there's too much variation so a book couldn't tell you everything", which is probably true but even common things would help.

Someday I'd love to see a similar thing that's simply an operator to function index where you can read in code/pseudocode what an operator does on a (bounded for ease of reading) datatype.

<comment><USER13> A tool that parses equations in CS papers and outputs pseudocode is an amazing idea!

</comment></comment></comment><comment><USER15> I learned all of that while I got my CompSci major. Had I filled out some form I would have had a math minor upon graduation. But I could hardly tell you what any of that meant 15 years later, because it never comes up in anything I do.

<comment><USER16> Same thing for me. I took an extensive array of mathematics and physics courses while pursing an engineering degree. More than 10 years as a practicing software engineer and I remember very little of it today since most never comes up in my daily use. Back at graduation, I could have discussed a lot more maths intelligently than I can today.

<comment><USER17> Phew. I thought I was the only one that got a degree only to not remember it a few years later. I find that when I relearn the topics it does come a lot easier. The memory might be hard to retrieve but it's in there somewhere ...

</comment></comment></comment><comment><USER18> Sure, but how much time did he give them to respond? The CS people maybe need a few seconds to "load" first-order logic into memory and may have been thinking about it before he gave them time to put their hands up.

He could have instead asked:

"Raise your left hand if you can interpret this formula, and raise your right hand once you've determined that you wouldn't be able to do it without consulting a resource."

After a set timeout he'd have a better sense of where people stood.

That sounds complicated though. Maybe people just prefer simple consensus algorithms, even with imperfect results.

</comment><comment><USER19> Provide this legend with the formula. Now how many people understand it?

∈ = is an element of

∀ = for all

∃ = there exists

<comment><USER20> What does the colon mean?

<comment><USER21> As others have said, "such that." It's worth noting that some people use a vertical line instead to mean the same thing.

</comment></comment></comment><comment><USER22> "I had already explained that [1..N ⟶ 1..N] is the set of functions that map the set 1..N of integers from 1 through N into itself"

As a programmer, I would read that as if he is defining a set of function objects. And the domain and codomain of the those function objects must be integers in the range 1..N.

Come to think about it... Isn't the size of the set exactly the number of permutations from 1..N? In other words N^N? If so, an audience of computer scientists would probably have understood the following better:

        import itertools
        list(itertools.product(range(N), repeat = N))

<comment><USER23> > If so, an audience of computer scientists would probably have understood the > following better

I'm a very experienced programmer (>25 years) and I don't know the language you're using in your notation (Python maybe?). The kind of mathematical notation Lamport is using is much more universal (at least after he explains its particular peculiarities). Also, reading your notation, I assume that you're describing a list, while he's describing a set.

<comment><USER22> Yes, it is Python. Python has become a lingua franca in the programming world, and you'd be well-advised to learn it. It creates a list but that is inconsequential. Here is the fixed code (to actually generate permutations) and examples:

        >>> from itertools import *
        >>> [s for s in product(range(2), repeat=2) if len(set(s))==2]
        [(0, 1), (1, 0)]
        >>> [s for s in product(range(3), repeat=3) if len(set(s))==3]
        [(0, 1, 2), (0, 2, 1), (1, 0, 2), (1, 2, 0), (2, 0, 1), (2, 1, 0)]
        >>> len([s for s in product(range(4), repeat=4) if len(set(s))==4])
        24
        >>> len([s for s in product(range(5), repeat=5) if len(set(s))==5])
        120

<comment><USER23> > Python has become a lingua franca in the programming world

I don't think so. Probably depends on your section of the industry. In mine, C, Java and Matlab are all better known than Python.

> you'd be well-advised to learn it

I did; a few times, actually. I just keep forgetting because I never get an opportunity to use it. Once you've used well over 10 languages, you don't even try to maintain your skills as that would be a waste of time. You just relearn the language next time you need it, especially as popular languages come and go. Standard mathematical notation, however, has been with us, pretty much unchanged, for about 100 years now.

In any event, you can't express in Python nearly everything you can express in standard mathematical notation, unless Python has gained some features that allow it to express uncomputable objects since last time I used it. Does the itertools library support infinite sequences? How about uncountable sets?

</comment></comment></comment></comment><comment><USER24> At least they don't rediscover calculus and get citations for it.

[https://fliptomato.wordpress.com/2007/03/19/medical- research...](https://fliptomato.wordpress.com/2007/03/19/medical-researcher- discovers-integration-gets-75-citations/)

</comment><comment><USER25> I sigh every time someone tries to explain a complex concept using a formula in that manner.

In the name of efficiency it is kind of being exclusionary, which I kind of resent.

I love math but it is not the only way to express complex concepts.

I depend more of the concepts from statistics than higher level mathematics courses.

Is this data nominal, ordinal, interval or ratio? OK, let's work with that.

<comment><USER26> Richard P. Feynman (who else!) had a scathing critique of this: [http://calteches.library.caltech.edu/2362/1/feynman.pdf](http://calteches.library.caltech.edu/2362/1/feynman.pdf)

To quote him, in reference to new mathematics of the post-Sputnik era,

"In regard to this question of words, there is also in the new mathematics books a great deal of talk about the value of precise language - such things as that one must be very careful to distinguish a number from a numeral and, in general, a symbol from the object that it represents. The real problem in speech is not precise language. The problem is clear language. The desire is to have the idea clearly communicated to the other person. It is only necessary to be precise when there is some doubt as to the meaning of a phrase, and then the precision should be put in the place where the doubt exists."

<comment><USER25> Thanks for sharing.

</comment></comment></comment><comment><USER27> Im pretty sure that Topics include proof techniques and logic; induction; sets, functions, and relations; etc. is a requirement to understanding Turing Machines, and NP-Completeness.

That they probably forgot all of it immediately after the final is probably indicative that they're interested in a career in software engineering not research

</comment><comment><USER26> I think we should look at the correct operation T on the set of all computer scientists. If T is an operation that restricts the set to computer scientists in the field of theoretical computer science (TCS), then the opposite seems to hold as mentioned in this post, which talks about TCS math being more rigorous than applied math: [https://windowsontheory.org/2014/10/12/applied- mathematician...](https://windowsontheory.org/2014/10/12/applied- mathematicians-vs-theoretical-computer-scientists/)

If, loosely speaking, T maps you to 'average computer scientist', then the situation is different. And so on.

So depending on the type of T, subset or groups of computer scientists or metrics you are looking at, Lamport's observations hold water.

</comment><comment><USER28> How come so many are complaining about this being a notation issue? It is as standard a notation I've ever seen for expressing this. It's perfectly okay to be an engineer/developer and not read that on the spot. But if you're a graduate student or young faculty member doing research in computer science and give that as the explanation, I think that's just being defensive.

When I took CompSci 101 15 years ago, basic mathematical notation like this was necessary to pass.

</comment><comment><USER29> I suspect that some of them were just intimidated. Lamport is a well-known researcher in his field, and is giving a recorded presentation. Even a young postdoc might hesitate to suggest they fully understand something, only to have Lamport single them out and correct them on camera. In a different context, like a non-recorded seminar, you might see a more confident response.

</comment><comment><USER30> That's very weird. Located near Heidelberg is Karlsruhe, where i am a CS bachelor student (university is KIT). This is very basic and we are absolutely required to understand this without thinking twice.

<comment><USER31> > Remember, these were specially selected, bright young researchers from > _around the world_.

[Emphasis by me]

</comment></comment><comment><USER32> In quite a few institutions CompSci is effectively math, undergrad compsci and mathematics degrees may only very in a few courses.

When I did mine we didn't have a single "programming" course in the degree you were expected to learn the language a corse utilized on your own.

Math and physics were at the undergrad level of their respective BSc. Degrees and the coverage was nearly the same.

As far as notations goes then it was covered in one of the first 3 "101" courses you take, your first program was effectively handwritten in this manner.

</comment><comment><USER33> I think the problem here really is that permutations are defined as bijections, which is rather unintuitive. Now even though I learned that in my undergraduate curriculum I already forgot about that again.

Now think of it as a sequence and you get something like this: {(aᵢ) i∈[1..N] | aᵢ∈1..N, ∀i,j : aᵢ ≠ aⱼ}. Probably already easier to understand.

Or leave it off totally. Formal mathematical definitions don't make sense when they are harder to understand than words and when you do not use them actually later on.

</comment><comment><USER34> I can read this formula and understand it, I just need a little bit more time than the mathematicians. I'm pretty sure that was the case for most computer scientists there.

</comment><comment><USER35> These [1] are the current ACM recommendations for CS among related fields.

In all of them, math plays a major role. But is math notation necessary to understand/communicate math in an ORAL way? I understand this is critical to write a paper in a terse way, but orally?!

[1] [http://www.acm.org/education/curricula- recommendations](http://www.acm.org/education/curricula-recommendations)

</comment><comment><USER36> One area I would argue benefits greatly from this type of formal treatment is the specification of business rules in software. I can be quite insightful to formally spell out requirements from the business, and then apply converse/inverse/etc. analysis to drive out missing cases.

Admittedly, most of us can do this in our head quickly (for easy cases), but I find the formal evidence lends itself well to more complex scenarios.

</comment><comment><USER37> There's kind of a bias here. Does the author mean "computer scientists in America"?

In France, I definitely learned mathematical notation. Actually, I learned ∈, ∀ and ∃ in __high school __. And I had set theory courses in the first year of my master 's degree (I mean first year after high school), among other mathematical courses.

</comment><comment><USER38> totally readable to this lowly cse graduate. that said, the notation is overly verbose and specific, if you could have defined it in less rigorous notation(unless you truly needed it), more people would have understood and engaged in your presentation. Mathematics is a language like many others where the fundamental goal is to communicate ideas.

<comment><USER23> > the notation is overly verbose and specific

That's what _formal_ notation is like. The advantage of a formal notation is that it is both succinct and fully precise, and can, therefore, be used to perform formal proofs, possibly using a mechanical proof checker. Formal proofs are especially important in computer science, where theorems about programs are not mathematically deep but do have a lot of details that can be easily overlooked when reasoning informally. Lamport's talk was precisely about that: formal reasoning about algorithms. In that context, the ideas must not only need to be communicated so that they are intuitively or roughly understood -- as is good enough for math -- but made absolutely precise.

<comment><USER38> as was part of the comment, unless "needed". Otherwise I've fallen into the trap of breaking out the most precise notation from the depths of the annals of mathematics to write slick looking, ultra concise pseudocode in latex (algorithm2e) for submissions to ieee and acm journals, and almost every time i get one or two reviewers saying that the notation is needlessly complex.

<comment><USER23> Yes, but Lamport's talk was about _formal_ specification and verification, and we're not talking some arcane stuff here: set membership and first order logic. CS graduates should know how to read that.

</comment></comment></comment></comment><comment><USER39> It's not about the math, it's about the notation. Mathematic notation is archaic in many ways. We keep using notation that is millennia old in some cases and centuries old in almost any other case.

To make things more difficult, any mathematician opposes vehemently to any change in notation or to use easier notation to pass the same concept.

</comment><comment><USER40> Its just the notations that they might not have recognized immediately, its not the math.

<comment><USER41> How can you get beyond first year in undergrad maths without knowing that notation though?

BTW as an anecdote I recognised the symbols but didn't derive the correct meaning, as you can see elsewhere in this thread.

<comment><USER40> If they are not used to the notation quite often, they are likely to forget it. I surely learnt all those notations, passed the math exams and don't remember some of those notations.

May be related - Even with 15 years of programming, I tend to forget certain syntaxes while programming - but that doesn't mean I don't know programming

</comment></comment></comment><comment><USER42> In {f ∈ [1..N ⟶ 1..N] : ∀ y ∈ 1..N : ∃ x ∈ 1..N : f[x]=y}

What does the colon : mean?

It used to be that:

| = given that

, = and

but, I have never seen a : used in math.

<comment><USER43> It is TLA+, not quite typical math notation. Lambda and list comprehension notations are more common.

</comment></comment><comment><USER44> Can't we also say that mathematicians don't learn computer science? I don't understand what the point is.

<comment><USER45> The foundations of CS, ML, Cryptography, Algorithms, etc... are expressed in mathematical terms. If you are unable to understand Them... well. Programming is not computer science.

</comment></comment><comment><USER46> RWTH Aachen Computer Science Master student here and I know how to read it and what it means.

</comment><comment><USER47> There was a discussion on this a few months back if I remember correctly.

</comment><comment><USER48> "Why aren't people experts outside of their field?"

<comment><USER49> No, I'm going to agree that that is 100% within the field of academic computer science. I literally covered all the relevant notation in my freshman year.

What I'm wondering is whether or not there was some other factor going on, because I'm trained as a computer scientist and found nothing particularly objectionable about the formula, other than the f[] application notation. (And as a polyglot programmer, I've long since made my peace with that sort of notation mutation.) And I am by no means well-practiced in that sort of thing; I've been out of school for 14 years now, and only dabble on the side in this sort of thing now. The "forall y there exists an x such that" pattern in the middle is an extremely common recurring pattern, and what surrounds it on either side is also extremely simple.

<comment><USER48> 'Outside their field' was poor wording on my part. I meant more that it's not the sort of thing that most CS engineers see day to day. People forget things they don't use often.

<comment><USER50> > CS

> engineers

I think it's important to realize that these are two different things. One is a formal research science, the other deals with practical problem-solving and implementations.

Your typical software engineer likely has a CS degree, but CS researchers and software engineers are two separate populations. Sometimes the same person will do both, but usually not at the same time in their life or for the same organization.

edit: for example, you don't even need a computer to learn computer science fundamentals. A notebook or deck of playing cards will do fine.

<comment><USER49> As I write this, thearn4's post is fading into the grey, but it's true. That's why I qualified my post with _trained as a computer scientist_. I have a Master's degree in the field, and I try to keep up with it to some extent, but what I am now is an engineer. Degree or no, I can not currently say "I _am_ a Computer Scientist" with a straight face.

</comment></comment></comment></comment></comment><comment><USER43> The two misnamed sort algorithms shown are bogosort and bozosort. Must be mr Lamport's idea of a joke.

</comment><comment><USER51> Engineers learn math...

</comment><comment><USER52> > "people don't understand my notation"

> They don't know math

ok, let's move on to the next thread.</comment>