You know, this really sucks for me personally. Not the ban, but the sorts of things Eric appears to stand for. I read The Cathedral and the Bazaar when I was 13, and it was probably my gateway into advocating for open source. Somewhere around that age, I ended up speaking on a panel, among other OSS advocates, that successfully sold one of the local school divisions on OSS (we also helped them integrate it, on-site :). To be honest, I don’t quite remember the book or quite what I thought of it, but I know it had a profound influence on me at the time.
Then I see Eric write this:
> Usually (and in this case) accompanied by a lot of bafflegab about “inclusion” and “diversity” so thay anyone who isn't a fan of the new, censorious rules can be cast as some sort of bigot.
:/ Eric, we can have it both ways. I hammer it home into the engineers I’ve lead that code is the ultimate source of truth. I‘ll guide them from, for example, “do we need a mutex here” through to object code to generated assembly through to an intel reference manual, because I want to demonstrate that as engineers, we are in full control of our creations. The engineers I work with all challenge each other, and ask difficult questions, and put ideas through difficult tests. Because we’re mature adults, we can do so with language more advanced than “this is shit” (an open source favorite). It’s real easy. How about, “what happens when <state concern>” or “have you considered <alternate approach>”.
In fact, by soliciting more feedback and criticism, you are being more inclusive - as long as the conversations play out in a constructive way! Yes, it can be hard to teach that, but that’s why we pay people managers and technical leads to do a job.
Honestly, though, what sucks most of all is when you see that people who were so influential to you early in life would apparently look down on the person you are, just because you would ask to be respected in return.
You are taking what he wrote out of context and interpreting it to mean something very different than what he intended.
Eric is not arguing that insults are preferable to dispassionate feedback. (As I noted in another comment upthread, I have worked with him on a small part of one of his coding projects, and in that context he is all dispassionate feedback and no insults whatever. So in actual work he does not exhibit the bad behavior you describe at all.) He is looking at what is being done to OSI, and what is being done to open source projects around the world, in the name of "social justice", and he sees the same game being played that has been played by the Left for centuries to gain control of institutions and then completely subvert them from their original purpose. If you don't understand that historical context, of course you're not going to understand why he is being so forceful about this. He is not trying to stop people from being constructive and non-insulting about actually writing good code. He is trying to stop people whose ultimate agenda has nothing to do with writing good code from taking over open source projects and ruining them, making us all much worse off in the process.
> and he sees the same game being played that has been played by the Left for centuries to gain control of institutions and then completely subvert them from their original purpose
"""Out of context""" that looks REAL similar to a certain other group that seems to be making a name for themselves in this thread. Glad to know he's a conspiracy theorist and so are his current followers.
> that looks REAL similar to a certain other group that seems to be making a name for themselves in this thread
Which other group are you referring to? If you're going to make charges of conspiracy theory, then you shouldn't use innuendo. Just come right out and say what you mean.
> he sees the same game being played that has been played by the Left for centuries to gain control of institutions and then completely subvert them from their original purpose. If you don't understand that historical context, of course you're not going to understand why he is being so forceful about this.
To be clear, the historical context for this point is that this is a Nazi conspiracy theory ("cultural Marxism") that posits left-wing Jews sought (and continue to seek) to subvert academic institutions.
> the historical context for this point is that this is a Nazi conspiracy theory
Um, what? I don't know where you're getting this from. The historical pattern I refer to, as I said, goes back centuries. And the subversion of academic institutions, for example in the US during the 1960s, had nothing to do with Jews.
Repeating a point without adding proof doesn't make your point more valid. When people say "code wins arguments", they're referring to using source code to prove something, not "it wins because it has more source code" (???).
People say "Code wins arguments" because written code that works demonstrates the winning argument against the code that is either not written or does not work.
FB messenger exists and works on crappy connections. Google hangout exists and messes up on crappy connections. Telegram exists and messes up on crappy connections ( see the issues it has in Africa ). Signal exists and does not work well even on non-crappy connections. Whatsapp exists and sort of works on crappy connections. Matrix exists and sucks on crappy connections.
What we need is something that exists and works on crappy connections that has less LOC than FB messenger to demonstrate that it is possible to handle crappy connections and modern messaging in much fewer lines of code.
> written code that works demonstrates the winning argument against the code that is either not written or does not work.
That's why your comment is nonsensical, if not downright contradictory noise.
> Ordering messages and providing reliability does not require 1.7M lines of code.
This has been demonstrated ad nauseum a priori with loads of toy chat apps that reconnect and retain state. It's not really a challenge. EVERYTHING else crammed into it, should be the reasoning for 1.7M lines of code, but as they demonstrated TO THEMSELVES AND EVERYONE, it wasn't (360k now)
> This has been demonstrated ad nauseum a priori with loads of toy chat apps that reconnect and retain state. It's not really a challenge. EVERYTHING else crammed into it, should be the reasoning for 1.7M lines of code, but as they demonstrated TO THEMSELVES AND EVERYONE, it wasn't (360k now)
Yes and they figured out what was needed after first writing a 1.7M line of code thing that worked. That's the process of reiteration and a process of initial LOC bloat before LOC stripping.
Without that process by thinking it has all been demonstrated ad nauseum a priori with loads of toy chat apps that reconnect and retain state you end up with deciding that if Friday was Feb 28th then Monday is certainly March 3rd because date/time handling is simple and end up being Robinhood, down for a day.
That wasn't really the point of the article, I'm showing how to gather data on where they came from. Blocking is completely optional, and not for everyone.
It's code running on partially attacker-controlled inputs. It several times had vulnerabilities that allowed an attacker to trigger blocks for arbitrary IPs.
> 90% of the time, the gains from streaming aren't worth the added effort.
I gotta disagree with that estimate. Virtually any time I have a backend service operating on (mostly) arbitrarily-sized user input, I use streaming so that I can make better guarantees about how much memory my service needs. This, in turn, lets you give your customers much higher service limits (unless you want to scale your fleet's memory just to handle 100th-percentile style use cases).
The number of times I've seen backend services fall over, with a heap graph that looks like a repeated sawtooth pattern to OOM, because a customer's objects were unusually sized (but within limits..)..
Yeah this is an important accidental DOS vector, and streaming APIs are a classic way to fix them.
But you do have to be careful that you're not just overloading some other system (like consuming disk space with files that don't need to be retained). Keep good stats on all of your exhaustible resources, kids.
Apple Music, and particularly iTunes Match, are the opposite of "just works". I wanted to switch back from Spotify, but I found that Match had made a complete mess of my library. Half of my album art gone. Albums were striped with some tracks that were replaced with the iTunes store versions, and some left as my uploaded MP3 V0 versions (most obvious because, even with Sound Check on, the volume levels between each track differ greatly post-iTunes Match).
I've been able to look past a lot of the decline in Apple's software quality, but the data corruption problems springing up (Catalina Mail, iOS 13 Photos incidents also come to mind) are a bridge too far. The primary reason I avoid turning on a new Apple cloud service is that it's likely it'll do something highly undesirable to my data.
Are you referring to the standalone $25/year iTunes Match subscription?
As an alternate data point, I've subscribed to that service for years now (no Apple Music streaming) and have not had any major problems. Lots of custom music tracks as well, which Match has always respected and synced properly across my iDevices.
The only problem I had when first signing up years back was that one of my songs was replaced with the wrong song--but that bad match has since been fixed.
Odd trick: if you have HQ MP3s, and you want them to get “matched” instead of “uploaded”, transcode them to iTunes Plus (256kpbs constrained-VBR max quality AAC) format. iTunes will then be far more likely to get a fingerprint match, for some reason.
Yeah. I cleaned up my library recently. I think I had about four copies in various directories and wanted to get back to a single carnival copy. Whether for Match or other reasons a decent chunk of ripped music was missing. Not enough to just chuck the whole thing and restart from scratch. But enough to waste a day or so of my time.
I would argue that a moderately talented programmer can write code that does exactly what they think it is supposed to do (whether you call that "bug-free" is a question of semantics) if the have a language and type system (or equivalent) that allows them to express their requirements, and they don't step outside what they can express that way (i.e. they don't write code when they can't express what its semantics should be). Languages/compilers that can do that for multithreaded code are extremely niche.
I'd interpret it to stop using the pthreads model of the parallel coding, in general. Because the pthreads model exists and is used in many programming languages.
But stopping to use C is a good start (for whoever has the choice)!
Maybe the functional programming/managed code fans should step up to the plate and rewrite the operating systems, desktop environments, and hundreds of thousands of command line tools etc that have all been implemented in C or C++.
Not as toy, proof-of-concepts. Fully fledged replacements for all that stuff that can be used in our our daily work. Build distros of the stuff so that we don't have to pick and choose this stuff and replace the bits of our systems in a piecemeal fashion.
They could show us how it's done instead of talking endlessly about it in online forums. So let's face it, it's never going to happen.
I never implied you did, they are merely one of the two major major groups of programmers I see consistently deriding C based infrastructure that presumably enables their paychecks to a large extent.
I'm not defending C, I'm merely sneering at its noisy detractors who spend more time complaining about it than supplanting it.
One could argue as a counterpoint that the Rust community (and all the other language communities) have millions of person-hours (and lines of of C/C++ open source code) to reference as they RIIR, a luxury the C/C++ community didn't really have, much of what they've built since Linux appeared was developed from scratch. Outside of 386BSD, there wasn't a lot of unencumbered UNIX source code available to them.
Perhaps as the Rust community grows in size and momentum this will happen more. Right now it seems like a bit of a manpower problem.
I mean to replace the ones that we use today. Not the ones we used 30 years ago. General purpose operating systems. Perhaps with a distribution we can download for free and install on commodity computing hardware, and actually use today for our primary areas of work/interest.
Note the section 1.7 in your own link ("End of the Lisp machines"). The Lisp software ecosystem was never as rich, broad and varied as the C/C++ software ecosystem is today, before it died.
BTW, I only stumbled across your comment by accident, since you replied to the parent poster instead of me. Parenthesis mismatch?
I respectfully disagree. I have a embedded multi-threaded 'C' program running in over 11k+ retail stores in the USA right now. It's been handling multiple client requests to a Sqlite DB since 2007 without any issues. This product has made my company a lot of revenue. The secret to using threads is all in the design. Don't share resources between threads (I only had one shared resource for 50+ threads guarded by a semaphore).
That is a decent anecdote. Well, with respect, allow me to revise and qualify my read of @baggy_trough's comment:
It's perfectly fine to continue using an existing C codebase for a program, not exposed to the public internet, that's maintained by a focused group of maintainers.
But on the other side of this spectrum, for large exposed projects like OpenSSL, Chromium, or even Linux, C/C++ has become risky.
> Tomorrow, I hope someone asks me for an update on my progress ; )
Suggestion to take or leave - instead of being asked, volunteer your status and set the tone for how you'd like others to make use of standup (format, brevity) :).
Ah, so you’d also agree homosexuality is a mental illness that “political groups” lobbied to change? Because, from the perspective of someone who isn’t a conspiracy theorist or bigot, it looks like the DSM updated their definition as more research and academic interest rendered the old definition outdated.
There's an actual, interesting question here, away from the Culture War fighting, which we can have if we want it: How much of any academic field is due to the culture that field is immersed in, and how much is due to empirical evidence and people attempting to be unbiased?
For example, there's the existence of Jesus Christ: Modern historians agree that there was a man named Joshua-son-of-Joseph who was a heretical rabbi in the First Century Middle East who got crucified by the local authorities. Why? Is it because the evidence for him is just that good, or is it because most scholars in Christian countries were Christian and, therefore, unapt to question their surrounding culture?
With Jesus, it's because of the evidence, as it happens, but the question is there, and hooting it down does a disservice to larger questions all fields have to confront as they mature.
Man, I miss what.cd, not just for the content but for the obsessive users they had and the collections they made. Want all albums with a shoe as the cover? They have a collection for that. Want good music to start a journey into classical music in the 1800s? They have a collection for that. I mostly used it to discover great music, and the void that what.cd left has yet to be filled for me.
You can join one of the successor trackers. Though, I expect them to be taken down in turn when they become more well-known.
The centralized private tracker model has a fatal flaw in that it's too easy to take down and all the work/hours people put in in curating and creating metadata ultimately wasted.
There are alternative models where the metadata is distributed but so far nothing has really caught on.
Laughable to compare the obsessive curation of music on what.cd with any of those platforms, not to mention the fidelity and the vast range, far exceeding what’s available on the other platforms.
It's not so much because of the pirating that this service was successful, it's because of the dedicated userbase it held.
If something like what.cd integrated with something like Spotify- a legitimate way of accessing lots of music- say "here's a button to stream" somewhere on the site, it would probably be successful.
Mind you, one of the other reasons that these sorts of things with torrent or whatever backends get so popular is because there isn't a particular gatekeeper that can decide what can and can't be on the platform [1.] Destroying and damaging the effort of people who help your platform on their spare time tends to garner ill will.
I would pay for what.cd. In fact, I did pay. I think I donated about €200 at some point.
The entire experience of what.cd was just amazing, and services like Spotify are lacking a lot. The situation is better than a few years ago, but still very far from perfect.
Yes. But they are nowhere close to the ways you could discover with it.
Spotify's playlists doesn't even compare.
>Oh kay. More like you just liked stealing from creative professionals.
Ofc.
In fact, there are studies that show that piracy helps the industry. And I bet the biggest winners are the creators themselves, as they are the ones that profit the most from exposure. Musicians get more more from concerts than albuns sales.
There's a site that is basically oink 3. Don't forget that what itself was a successor of oink. Not sure if it's against the rules to name it. It seems much harder to get an invite to it than it was for the previous 2 though.
I tried to get an invite for one of them using the "IRC interview", and I was berated for not having "studied enough" because I didn't know the detail of some pedantic rule (I think it was about some detail on which format trumps which) and I explained something else in slightly different words.
The entire thing was super-pedantic and super-silly, and a massive turn-off for that community (I didn't try again). As far as I'm concerned there is no good alternative to what.cd.
Then I see Eric write this:
> Usually (and in this case) accompanied by a lot of bafflegab about “inclusion” and “diversity” so thay anyone who isn't a fan of the new, censorious rules can be cast as some sort of bigot.
:/ Eric, we can have it both ways. I hammer it home into the engineers I’ve lead that code is the ultimate source of truth. I‘ll guide them from, for example, “do we need a mutex here” through to object code to generated assembly through to an intel reference manual, because I want to demonstrate that as engineers, we are in full control of our creations. The engineers I work with all challenge each other, and ask difficult questions, and put ideas through difficult tests. Because we’re mature adults, we can do so with language more advanced than “this is shit” (an open source favorite). It’s real easy. How about, “what happens when <state concern>” or “have you considered <alternate approach>”.
In fact, by soliciting more feedback and criticism, you are being more inclusive - as long as the conversations play out in a constructive way! Yes, it can be hard to teach that, but that’s why we pay people managers and technical leads to do a job.
Honestly, though, what sucks most of all is when you see that people who were so influential to you early in life would apparently look down on the person you are, just because you would ask to be respected in return.