Hacker Newsnew | past | comments | ask | show | jobs | submit | ob's commentslogin

Thanks for writing this. This story is rarely told correctly and you mostly got it as I remember it.


> Do you have any references supporting either that the protocol was more complicated than he demonstrated on stage

BitKeeper itself is open source now and (an old version) of the protocol is documented at https://github.com/bitkeeper-scm/bitkeeper/blob/master/doc/p....


We at LinkedIn have been using CDE's (we call them rdev) for quite a while. We wrote about them in our engineering blog:

https://engineering.linkedin.com/blog/2021/building-in-the-c...

I'm happy to answer questions but others have already posted many of the benefits. As far as I know, local containers on macOS still have performance issues so we mostly use them in the cloud.


The thing about classical music is that you have to understand the works in order to really enjoy them – of course there are exceptions when the melody just grabs you but that's not the norm. There was an album collection called "Musically Speaking" that explained music works and detailed what to listen for. For example, they isolated the flutes in Beethoven's Pastoral and explained they represented birds, etc. My enjoyment of classical works spiked after understanding more. I think it's much easier to connect with Rock/Pop because the works are much, much simpler so it's mostly whether the lyrics speak to you and you like the melody.


> The thing about classical music is that you have to understand the works in order to really enjoy them

Very strong disagree that this is required. Proof: the millions of people who have enjoyed it for 200 years without knowing a cadence from a cor anglais.

Can it help? Sure, probably. I'm a big fan of Rop Kapilow's "What Makes It Great?" series where he does lively walkthroughs of pieces of (usually) classical music [1].

> I think it's much easier to connect with Rock/Pop because the works are much, much simple

I don't think it's about simplicity at all. In the end, all music is a language (in a literal sense) and if you grew up with rock music then you understand and relate to that language, and others will sound foreign. Same for people in China, or in India with ragas and microtones, or people in Mexico who grew up listening to Norteño music with those (to me, nonsensical) drum breaks.

And like any language, sometimes it doesn't come naturally but with enough exposure, one can start to "understand" (in the intuitive sense) what is being said. And there are certainly pieces than are better than others for making the transition into a new genre.

[1] Rob Kapilow is at Stanford's Bing Concert Hall about twice a year. Highly recommended!


> I don't think it's about simplicity at all

I'd go further and say that "simplicity" is the wrong way of thinking about it. Arguing that Western classical music is more complex or requires more understanding — and that complexity on a particular axis is more valuable inherently than complexity on another one – is a poorly informed viewpoint. You can't separate the cultural deification of the Western classical canon from traditional great-man historiography.

A lot of classical music is in meaningful ways much simpler than a lot of pop music, as long as you pick the right axis. Western classical music is, if you were to caricature it, about the elevation of harmony above the other elements of music. It is, particularly, much less prone to developing complex rhythmic ideas. Even within Western music, George Clinton's work is more rhythmically inventive than the majority of the Western canon; John Coltrane's work is arguably more _harmonically_ complex and inventive too. Many high-culture art-music traditions (jazz, Carnatic classical music) are fundamentally improvisational.

This doesn't mean Beethoven sucks, quite the opposite; a lot of music in the Western classical tradition is _really really good_. It doesn't mean it wrong to _prefer_ that music. It does mean that dismissing other musics as intrinsically lesser is fundamentally more about bigotry than aesthetics.

While we're here, let's defend Eurodance too. Modern music in the pop tradition, which I'm going to argue starts somewhere around Joe Meek, has used technology to enable unprecedented _timbral_ complexity. (Yes, yes, Xenakis, Stockhausen, Messiaen, Penderecki; but they're exactly the sort of classical composer this author would reject out of hand too.)


> Western classical music is, if you were to caricature it, about the elevation of harmony above the other elements of music.

While that is definitely important, don't overlook structure. Bach is the quintessential puzzler, Beethoven is nothing without cells and development, Brahms follows both, and the serialists you mention tried to push it even further.

> let's defend Eurodance too

Too bad its timbral complexity never leaves the boink boink boink phase.


> While that is definitely important, don't overlook structure.

Yep, you're right – but the two things are connected, in that the structure of Western classical music is absolutely tied in with the idea of _resolution_.


I agree with your first statement. Classical music captivated me at an early age (5 or so), and I really didn't know Jack about music. As a matter of fact, my first crush was Bach's organ music; I got an album for my 6th birthday.

But there is complexity to it, like there is to jazz and prog. These are also not really popular. And the more complex the classical music (think on a scale from Offenbach to Birtwistle), the less popular it is.

Music is not really a language, despite all the theoretical attempts. It's poetry without language, if you want a metaphor. It conveys timbre, structure, emotion, and time. If it's not your thing, it's difficult to get into.

I do agree that many people don't know if it's their thing or not, for lack of experience. And a music teacher that explains the programme behind Danse Macabre doesn't really count. If anything, it kills the joy.

Another thing that heightens the feeling for classical music is playing it, at least for me. Some form of musical education would really benefit the sector. And that's not just a "sounds good" idea. Where I live, the system of music schools and its support systems has slowly been razed to the ground. The effect is that where once student orchestras were healthy organizations, they're now dwindling, as is the influx to the conservatories. The more famous ones still attract many students, but more and more foreign. It won't be long before they run out of teachers and lose their stature, too. Such are the joys of supply side economics and small government ideology.


Some other HN'er said it far better than I ever could but I can't find the comment, something like 'Photography and painting are how we decorate planes, sculpture and architecture are how we decorate volume and music is how we decorate time'.

It really resonated (pun intended) with me, that's very much how I perceive it. And you can decorate time in all kinds of ways just like you can with planes or volumes.


> Music is not really a language, despite all the theoretical attempts

I always liken it to a language, but not in any formal ("theoretical") way. Rather, in the sense of: it conveys meaning and emotion, but if you're not fluent in the genre then it will be essentially nonsense.

Like the first time listening to Charlie Parker, I thought it sounded cool but it was just a blob of notes. And then the first time with Coltrane's solo work, it was again a flurry of nonsense until I listened enough.


What does it mean to understand a piece of work? Do I have to read the sheet music? Do I need to know musical theory? Should I be familiar with the composer's background? The definition is somewhat vague. However, I would argue that one have to remember the works, know what tune plays next to really appreciate them. At least that's the case for me with Mahler.


> What does it mean to understand a piece of work? Do I have to read the sheet music? Do I need to know musical theory? Should I be familiar with the composer's background? The definition is somewhat vague.

Oh no, I didn't mean any of those at all. Quite the opposite.

I mean "understand it" as the opposite of "it sounds like nonsense." It's at the intuitive level, not about the ability to reason the structure details or whatever.

Everyone grows up listening to some particular types of music in their household, culture, etc. You naturally develop an intuitive understanding, in the same way a native speaker has adopted the rhythms and tones and phonemes of their local language. A typical modern American listening to Charlie Parker rip through a bebop solo, is not too different than listening to someone speaking Mandarin. The sounds don't map onto anything recognizable. But you listen to it enough, and the brain starts to understand the structure. It's not just a blurred stream of saxophone, but a series of phrases, with inflections, patterns, meaning. Listen to it long enough, and you hear every individual note as it flies by.


I believe I do understand classical music in the sense you describe, but I just find it mostly boring. Its features are not what excites me in music.


> What does it mean to understand a piece of work? Do I have to read the sheet music?

Not necessary to read the score. But a familiarity with the structural conventions helps the listener contextualize the listening experience. If I listen to Mozart or Haydn, I should expect that I’m going to hear something in sonata form, meaning melodic exposition, thematic development and recapitulation, with some variations around that format. If I hear a Bach fugue, I’m going to hear even more formalized structure, a subject (ie theme) and then restatement of the theme (initially a perfect 5th lower) then introduction in other voices and elaboration.

Maybe there’s even a wider context to place it in. History, how the structural and other elements mirror similar characteristics in the visual arts, architecture etc.


> But a familiarity with the structural conventions helps the listener contextualize the listening experience. If I listen to Mozart or Haydn, I should expect that I’m going to hear something in sonata form

TBH I listened to (and attended lives performances of) what must be hundreds of hours of Mozart, Haydn, Beethoven string quartets and such, before I finally bothered to look up "sonata form" not too long ago. I can't say the lack of knowledge about the exact [:Expo:][:Devt+Recap:] structure impacted my enjoyment or appreciation of it. I mean, one quickly picks up on the repeated motifs and the "now back to the beginning" patterns without specifically picking out the expo/dev/recap sections.


> The thing about classical music is that you have to understand the works in order to really enjoy them – of course there are exceptions when the melody just grabs you but that's not the norm.

Sorry, but if you need I reason to enjoy something, you don't. There is so much music out there - just enjoy what you enjoy. There is never a reason why you need to enjoy something.

Expose yourself to different genres but if it doesn't hook you move on.

For me the film 2001 I discovered György Ligeti, I wouldn't recommend that to anyone!


And there was this wonderful man and his great commentary program:

Karl Haas, “Adventures in Good Music” https://en.wikipedia.org/wiki/Adventures_in_Good_Music

https://archive.org/details/1.14.1992CatalogueCriteria


I really can't get behind that understanding bit. Some of this stuff is just so beautiful it just gets me. For instance: Marcello's adagio: https://youtu.be/vE2O_yfgtBU?si=f8BcjAg7ul-VuIHA&t=212 for oboe.

But I can easily get similar feelings from much more popular music.


"This is great and here's why you should like it" strikes mme as a terrible argument, especially for things that boil down to taste.


"This thing that most people today don't like, they really might love it if they gave these a try."


> you have to understand the works in order to really enjoy them

That's what they said


sorry, I thought you were commenting on the original article


Rust noob here but couldn't you write

  if let Some(element) = some_vec.first() {
    println!("{}", element); 
    // .. more code
  }
and avoid the unwrap and the empty check?

Edit: Added a `let` I had forgotten.


Exactly (well other than "if let" here.)

Every time you have a Boolean if condition with an unwrap, it means you are not taking advantage of the type system.


Thanks, added.


Yes, but IMO that makes the code a bit more abstract:

You've left behind an explicit "is this collection non-empty" and you're instead relying on a property of a non-empty collection.

The PHP version can also be written as

    if (($element = reset($some_arr)) !== null) {
        echo $element;
    }
But that code is similarly divorced from the imaginary pseudocode equivalent


> Yes, but IMO that makes the code a bit more abstract:

> You've left behind an explicit "is this collection non-empty" and you're instead relying on a property of a non-empty collection.

More abstract for who? I think virtually all Rust programmers would easily understand the `if let` snippet, virtually all PHP programmers would understand the PHP snippet, and virtually all programmers of any language would understand that a non-empty array has a first element. I'm not at all convinced that most programmers would correctly guess that a function called `reset` is used to access the first element in an array though.


A collection is non-empty if and only if it has a first element. Therefore checking for non-emptiness is the same as checking for the existence of a first element.


This is a special case of Pratt parsing (the author wrote another article about it later on: https://www.engr.mun.ca/~theo/Misc/pratt_parsing.htm)


Pratt parsing, precedence climbing and recursive descent are all the same algorithm.

https://www.oilshell.org/blog/2016/11/01.html


Pratt parsing and precedence climbing are the same or very similar, but they are not the same as recursive descent (and the linked article does not claim this).


Precedence parsing can be derived from a recursive descent, taking an iterative approach


(author here)

I generally think of Pratt parsing/precedence climbing as a "variant" of recursive descent. But there are expression parsers in GNU expr and bash that use recursive descent but do NOT use pratt parsing/precedence climbing. They make "extra" calls based on precedence levels encoded in a "grammar".

(That is actually mentioned in the intro to the article.)

I clarified this a bit here:

Precedence Climbing is Widely Used http://www.oilshell.org/blog/2017/03/30.html

I guess I would say the terminology is still kinda confusing. If you consider Pratt parsing and precedence climbing are the same, there are still at least 3 distinct ways to parse expressions, all found in working code. Which one you use doesn't really matter once it's working :)

The plain recursive descent style is less efficient in theory, and somewhat longer. But I doubt it would show up in a profile of any real system.

The "single recursive function" style of "precedence climbing" does appear to pretty popular, so that's why I wrote the followup post. It's the same algorithm but written in a common coding style.


Author here... I wrote this after reading Yudkowsky's article (linked in mine) and had the example posted there in mind as I went through the article. This was many years ago and I too wish I had picked something more upbeat. :-(


For sure man, I understand. As I said though, great article! Visualizations are important IMO in math and stats, even if people are “visual learners” in particular.


No, that is the LinkedIn app. It's the messaging dialog (you can see their custom "send" button at the lower right corner).


I might have linked the wrong tweet, but the user says "Here is LinkedIn copying and pasting from my notes app “Bear”"


Or in the words of John Maynard Keynes: "In the long run, we're all dead". Which means that fixing things "in the long run" is not ideal.


The main problem is performance, it takes long enough to train a regular deep learning AI, let along a homomorphically encrypted one.


agreed, although some HE algorithms with more limited functionality (such as vector ops), can do a bit better. There has also been some work on GPU enabled HE.


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

Search: