Threads for dl

  1. 31

    It’s odd to see C described as boring. How can it be boring if you’re constantly navigating a minefield and a single misstep could cause the whole thing to explode? Writing C should be exhilarating, like shoplifting or driving a motorcycle fast on a crowded freeway.

    1. 17

      Hush! We don’t need more reasons for impressionable youngsters to start experimenting with C.

      1. 11

        Something can be boring while still be trying to kill you. One example is described in Things I Won’t Work With.

        1. 1

          ‘Boring’ is I suspect the author’s wording for ‘I approve of this language based on my experiences’.

          1. 10

            I suspect “boring” is used to describe established languages whose strengths and weaknesses are well known. These are languages you don’t spend any “weirdness points” for picking.

            1. 6

              ‘Boring’ is I suspect the author’s wording for ‘I approve of this language based on my experiences’.

              I’m curious if you read the post, and if so, how you got that impression when I said things like “it feels much nicer to use an interesting language (like F#)”, “I still love F#”, etc.

              Thanks for the feedback.

              1. 4

                I found your article pretty full of non-sequiturs and contradictions, actually.

                boring languages are widely panned. … One thing I find interesting is that, in personal conversations with people, the vast majority of experienced developers I know think that most mainstream langauges are basically fine,

                Are they widely panned or are they basically fine?

                But when I’m doing interesting work, the boilerplate is a rounding error and I don’t mind using a boring language like Java, even if that means a huge fraction of the code I’m writing is boilerplate.

                Is it a rounding error or is it a huge fraction? Once the code has been written down, it doesn’t matter how much effort it was to mentally wrestle with the problem. That was a one-time effort, you don’t optimize for that. The only thing that matters is clearly communicating the code to readers. And if it’s full of boilerplate, that is not great for communication. I want to optimize for clear, succinct communication.

                Of course, neither people who are loud on the internet nor people I personally know are representative samples of programmers, but I still find it interesting.

                I’m fairly sure, based on this, that you are just commenting based on your own experiences, and are not claiming to have an unbiased sample?

                To me it basically seems that your argument is, ‘the languages which should be used are the ones which are already used’. The same argument was used against C, C++, Java, Python, and every other boring language you can think of.

                1. 3

                  Are they widely panned or are they basically fine?

                  I think the point is that the people who spend a lot of time panning boring languages (and advocating their favourite “interesting” one) are not representative of “experienced developers”. They’re just very loud and have an axe to grind.

                  1. 1

                    Having a tough time reconciling this notion that a narrow section of loudmouths criticize ‘boring languages’, against ‘widely panned’, which to me means ‘by a wide or significant section’.

                    But it’s really quite interesting how the experienced programmers who like ‘boring languages’ are the ones being highlighted here. It begs the question, what about the experienced programmers who don’t? Are they just not experienced enough? Sounds like an unquestionable dogma to me. If you don’t like the boring languages in the list, you’re just not experienced enough to realize that languages ultimately don’t matter.

                    Another interesting thing, some essential languages of the past few decades are simply not in this list. E.g. SQL, JavaScript, shell. Want to use a relational database, make interactive web pages, or just bash out a quick script? Sorry, can’t, not boring enough 😉

                    Of course that’s a silly argument. The point is to use the right tool for the job. Sometimes that’s a low-level real-time stuff that needs C, sometimes it’s safety-critical high-perf stuff that needs Ada or Rust, sometimes you need a performant language with good domain modelling and safety properties like OCaml or F#. Having approved lists of ‘boring languages’ is a silly situation to get into.

                    1. 2

                      To be honest, I don’t really see why that’s hard to reconcile at all. Take an extreme example:

                      Let’s say programming language X is used for the vast majority of real world software development. Through some strange mechanism (doesn’t matter), programmers who write language X never proselytize programming languages on the Internet. Meanwhile, among the set of people who do, they almost always have nasty things to say about X. So, all the articles you can find on the general topic are at least critical of X, and a lot of them are specifically about how X is the devil.

                      Is saying that X is “widely panned” accurate? Yes.

                      Of course that’s a silly argument.

                      Yes it is.

                      The point is to use the right tool for the job.

                      Indeed.

              2. 5

                Normally I’d lean towards this interpretation, but I’ve read many other posts by this author and he strikes me as being more thoughtful than that. Perhaps a momentary lapse in judgement; happens to everyone I suppose.

              3. 1

                That does not sound any different from most other languages. You have described programming.

                To expand a bit on that, GNOME is full of assertions, and it’s quite hard to make it crash internally.

              1. 14

                I think the association between blub and boringness maybe made sense in 2000, but in 2021 (and even in 2015 when this was written) the languages which count as boring today are actually fairly powerful. Vast swathes of software are written in Ruby, Python, and JavaScript, with liberal uses of first-class functions and various other niceties which seemed weird to blub programmers in 2000. Even if you’re writing for Mac or iOS, most people probably choose Swift nowadays, which has its warts but can hardly be called a blub; or on Android I believe Kotlin is generally preferred these days.

                It’s true that low-level infrastructure is often stuck in C and C++ and Java (but even Java has lambdas now, I hear — and it’s never had free, to its credit). But even there, things are changing: I sense increasing interest in Erlang, or at least its infrastructure.

                It’s obviously not that there aren’t still advanced higher-level languages and features out there, but the world has moved on a lot since Paul Graham’s original essay. (He wrote that off the back of being a startup founder at a time when it wasn’t unusual to write web apps in C!)

                1. 16

                  It’s true that low-level infrastructure is often stuck in C and C++ and Java (but even Java has lambdas now, I hear — and it’s never had free, to its credit). But even there, things are changing: I sense increasing interest in Erlang, or at least its infrastructure.

                  C++ has had lambdas since 2011 and (since lambdas are just objects with an invoke method and some fields that reference surrounding state) has had the ability to represent the same idea with a lot of boilerplate for much longer. This was quite apparent from the fact that a lot of C++ libraries didn’t need any changes to be able to accept lambdas because they could already use an arbitrary class with the call-as-function operator overloaded, and a lambda is just a shorthand way of writing one of those.

                  I quite often use C++ now for things where I’d have reached for a scripting language 10-15 years ago. Just in the standard library, you have arrays, maps, strings, regular expressions, tuples, tagged unions, and automatic memory management with the likes of std::shared_ptr or std::unique_ptr to the extent that I never need a raw new or delete in anything other than the lowest-level code. The compile + run time for a short C++ program (even at -O0) doing some data processing is typically shorter than the run time for the equivalent in Python and if I really need to start micro-optimising then everything that I need is available, whereas if I started in a scripting language then micro optimisation means rewriting some of it in C++.

                  1. 6

                    That’s extremely true of C#, too. It’s sprouted a lot of functional features over the last five or so years. If only they’d get around to adding discriminated union types, I’d be perfectly happy.

                    1. 6

                      the world has moved on a lot since Paul Graham’s original essay. (He wrote that off the back of being a startup founder at a time when it wasn’t unusual to write web apps in C!)

                      Perhaps, but I don’t think Paul Graham has moved on, since he wrote “Weird Languages” in 2021 which is arguing the point that this post is making a case against.

                      YMMV on this last bit, but I pretty regularly run into programmers who claim that you basically can’t get anything done in a language unless it has some fancy feature that currently mainstream languages seem unlikely to add, such as higher kinded types.

                      1. 8

                        There’s no way I’m gonna re-read Graham’s original essay, but the new one is very short, and again, from imperfect memory, it makes way less grandiose claims than the first. That one posited that it was the choice of Lisp that allowed PG’s online shopping site to out-innovate the competition. The later one basically says “go ahead, learn a weird language, it will make you grow as a person”.

                        No-one should look down on the programmer learning a new language for their own sake. A programmer who demands the team adopt a new language for no other reasons than it’s weird should be met with more skepticism.

                        1. 1

                          If you were to update the article today, what languages would make the “boring” list?

                      1. 5

                        I read (or re-read) over half of the linked posts. I love this blog, Dan absolutely nerd snipes me every time. Measuring is severely underrated, especially in software engineering.

                        I definitely feel called out about Wirecutter here. I generally do read the “methodology/how we picked/how we tested” and “the competition” sections to see if they make sense, or if the reviewer’s values align with mine. Several times I have found something in “the competition” that the reviewer says is “better for <thing I care about>, but worse for <thing I don’t care about>, so not our pick.” And I can happily say I never bought the webcam. I use a Fujifilm X-T4 for meetings.

                        My problem: if not Wirecutter, then what? Googling for “best X” reviews usually spits up complete garbage. And trawling through Amazon reviews of 15 different products looking for red flags isn’t fun either.

                        1. 3

                          My problem: if not Wirecutter, then what? Googling for “best X” reviews usually spits up complete garbage. And trawling through Amazon reviews of 15 different products looking for red flags isn’t fun either.

                          That’s a tough one since there isn’t a single site that’s comprehensive and solid, AFAICT.

                          Consumer Reports is really good for cars and also solid for some other things, but not everything. Cooks Illustrated / Americas Test Kitchen seems generally good for kitchen equipment. SmallNetBuilder is good for wifi, but I think the person running it has less time for the site nowadays, so it doesn’t have all of the newest stuff. For cameras, I’d probably just ask in a camera nerd forum like the Fred Miranda forum for links to solid reviews, etc.

                          I don’t think this is a great situation for consumers since people can’t reasonably be expected to know which sites are good and which aren’t. I might try to curate a list of these, but it will have to be limited to areas where I know enough to evaluate the reviews.

                        1. 5

                          Company: Twitter

                          Position: PhD (grad student or postdoc) intern

                          Location: Remote, or possibly SF/NYC/Seattle/Boulder/Toronto/Singapore/London when safe.

                          Description: Open-ended research internship on applied “systems-y” team.

                          We had two PhD interns this past year. One has an accepted first-author paper at OSDI and another paper under submission to NSDI. The other has work that will probably turn into one or two first-author papers. Both interns were remote and we expect this to be the case for this coming year as well. Our team was roughly half remote before the pandemic and we have a remote friendly workflow.

                          The team works on a wide variety of systems problems (cache, storage, scheduling, distributed tracing, kernel tracing, automated systems parameter tuning, monitoring, machine health, etc.). We (full-time folks on the team) often don’t have the bandwidth to go after the kind of work that turns into papers and write it up, but we have no shortage of problems for you to work on if that’s something you’re interested in and you can work on open-ended problems mostly independently. In some cases, we have ideas for suggested approaches that we think are promising (this was the case with some of the papers mentioned above).

                          Tech stack: the company is primarily a Java/Scala shop, but we have a lot of problems that are lower level than this (e.g., one of our interns last year primarily worked in C and a significant fraction of his work was related to PMEM applications) as well as higher level (some tech stack independent examples that are arguably “above” our JVM code include data analysis, novel visualizations, and simulation).

                          Contact: [my full name]@twitter.com

                          1. 2

                            My hobby: opening up McIlroy’s UNIX philosophy on one monitor while reading manpages on the other.

                            The meaning of this sentence is quite ambiguous. Looking at the numbers, I guess they are talking about gnu/linux systems or macOS, which are known to have an acute hormone imbalance syndrome regarding command line options. Yet, other unix systems are much closer to the original spirit, with considerably leaner standard tools. For instance, OpenBSD takes great care in providing a beautifully minimal set of tools by default.

                            1. 10

                              While it’s true that OpenBSD utilities tend to have fewer options, are you really arguing that, for example, ls going from 11 options to 28 (2.55x increase) is fundamentally different from ls going 11 to 58 (5.27x)?

                              For people who say that this this growth in options is a sign of insufferable bloat, if Linux is “known to have an acute hormone imbalance syndrome regarding command line options”, how can it be that bloating up half as much is “beautifully minimal”?

                              1. 4

                                I agree. The one true way is that of plan9. Unfortunately, it is not really practical to use it always and we have to settle for bloated compromises like OpenBSD.

                                1. 5

                                  Can’t tell if sarcastic or not.

                                  1. 4

                                    That’s good sarcasm, then!

                                    Actually, it wasn’t. Sometimes I feel like I’m one of the last members of some sort of unix die-hard tribe, when my normal and balanced opinions get interpreted as sarcasm or trolling.

                                    1. 7

                                      Nothing illustrates the protean nature of the word “Unix” better than a self-described “[member of a] unix die-hard tribe” advocating the use of a fork of a fork of a fork of a Berkeley system to approach the never-realized apotheosis of the AT&T ideal…

                            1. 31

                              The Dell XPS series has a firmware so bad that its engineers should be strung up in the town square for building it

                              Perhaps this is nitpicking, but language like this really rubs me the wrong way. It’s short sighted because it assumes it’s all the engineers fault. It’s the kind of language I might expect from somebody with zero people skills and new in the industry, not from somebody who has been around for a while. There’s no place and time where suggesting we hang people because of their work should be acceptable.

                              Setting that aside, I don’t understand what the point of this post is. It’s literally just a rant about laptops, but there’s no conclusion or anything. That’s of course fine for a personal blog, but I think such content does not belong on lobste.rs. I flagged the post for this reason.

                              In terms of laptops, the X1 Carbon series is pretty good. Support is a bit iffy here and there (e.g. the microphone does not work until Linux 5.5), but this is true for pretty much any laptop that came out in the last two years or so. I had a X1 Carbon 3rd generation that worked perfectly, and recently replaced it with a Gen 7 since my Gen 3 was due for a replacement. They’re a bit expensive, but the X1 series is a good series.

                              1. 5

                                language like this really rubs me the wrong way

                                Oh, please! This is obviously an over the top exaggeration used as a rhetorical device. Nobody is asking to kill anybody here. This is a common device in the English language, used often for fun, that even a non-native speaker as me was not confused about.

                                1. 13

                                  This is essentially the same as saying “It’s just a prank!”, which is about the worst excuse for anything.

                                  1. 5

                                    No. It is just colorful language, and perfectly appropriate for a personal, light-hearted, blog post.

                                    1. 3

                                      No. The 90s wants its Torvalds back. This is never appropriate. Even if you’re joking. It’s a personal attack whether it’s a joke or not. Imagine being on the receiving end of this. Imagine walking up to one of the XPS engineers and saying this to their face!

                                      This blog post isn’t light-hearted - it’s full of spite - and “personal” is at its limits when you’re a high-profile developer publishing something on the Internet. So, overall, no.

                                      1. 4

                                        No. The 50s wants its censure back. Fortunately, Monty Python showed us that it is ok to say “fuck” in TV, even on a funeral, and to mock religion. Regardless of whether some people is offended.

                                        1. 5

                                          There is a huge difference between saying “fuck”, mocking religion, and suggesting that we hang people (and for laptops out of all things).

                                          I’m also unsure where you see the censorship here. Nobody is telling Drew he can’t share his opinion. But just as Drew is free to share his opinion, so are others free to hold him accountable for that; especially when he suggests we physically attack a group of people.

                                          This brings me to something important and often misunderstood: the right to free speech does not give you the right to say whatever you want without repercussions. Instead, it simply means the government can’t prosecute you for expressing an opinion within the boundaries of the law. I’m pretty sure that suggesting we hang people is not only tasteless, but potentially also outside of the boundaries of free speech.

                                      2. 1

                                        how is this blog post light-hearted, it’s called “fuck laptops”

                                        1. 6

                                          how is this blog post light-hearted, it’s called “fuck laptops”

                                          It is light-hearted precisely because it is titled “fuck laptops”. The profanity right at the title is a clear indicator that the content of the post is not going to be extremely serious, and it will use a certain amount of hyperbole. When you say that “you are dying to go to that restaurant” nobody in their right mind is going to call a suicide line. Likewise, if I say that you should be tarred and feathered for misunderstanding such an obvious joke, nobody is going to accuse me of hate crime, death threat or intimidation.

                                          1. 6

                                            Do you find it in the least bit strange that, in the face of multiple commenters disagreeing with your disagreement with one of the most upvoted comments on this post, your argument consists of statements like “Oh, please! This is obviously . . .”, “even a non-native speaker as me was not confused about”, “the title is a clear indicator that the content of the post is not going to be extremely serious”, and an analogy to “such an obvious joke”?

                                            Doesn’t it seem like your argument that “it’s obvious” isn’t likely? If the case you’re stating was as obvious to others as it is to yourself, you wouldn’t have to make the case to so many different commenters as well as upvoters.

                                            Just to be clear, I’m not saying that Drew should or should not use the rhetorical style that he did. I think he has a fair point when he says that he doesn’t post this kind of thing to lobsters and he’s just writing for himself. tptacek made a similar point about his writing on HN – he feels limited in what he can write since any random thought he posts to his blog will make it to HN.

                                            1. 3

                                              Isn’t it obvious in this case that your argument that “it’s obvious” cannot possibly be correct?

                                              I guess everybody understood the joke, including some people who just wanted to make a fuss about it.

                                            2. 1

                                              Swearing in a blog post is not a universally-understood signal that its contents are not supposed to be taken seriously.

                                      3. 4

                                        The point was also that the language was used to make engineers look bad without knowing the circumstances.

                                        Overall the tone in the post is unfriendly and offensive, a bit more than necessary for a rant.

                                      4. 3

                                        My 2016 or 2017 era XPS13 model 9360 no touchscreen is perfect.

                                        • kensington lock so i can take a pee at a conference without needing to carry my laptop in like a weirdo.
                                        • sleep on screen shut and resume wokrs and has done since day 1
                                        • 2 usb A ports & a usb c port that can drive external display and GB network
                                        • onsite repair warranty seriously this was amazing when they came round and replaced the keyboard -all day battery use while coding and sysadmin if i dont crank brightness to full -dreaded coil whine never bothered me
                                        • has gone completely in bios and video driver update
                                        • all of the above works on FreeBSD its my daily laptop except the SD card
                                        • i replaced whatever wifi it came with an intel 8265 which is adequate

                                        Pity the whiners are banging on Drew. Write your own display drivers then. Its his blog so whatever its hardly controversial and the exaggeration is not imo excessive.

                                        1. 2

                                          Perhaps this is nitpicking, but language like this really rubs me the wrong way. It’s short sighted because it assumes it’s all the engineers fault. It’s the kind of language I might expect from somebody with zero people skills and new in the industry, not from somebody who has been around for a while. There’s no place and time where suggesting we hang people because of their work should be acceptable.

                                          This. For what it’s worth I agree.

                                        1. -6

                                          I stopped reading this as I rejected the premise early on, the example I had in mind was chess, try get in top 5% on Chess.com or Lichess. “Isn’t that good”? Well, it’s about a 2150 or 2200 chess rating.

                                          1. 25

                                            I think bragging about not reading the article is not a good habit to encourage on lobsters, but you’ve also misread–and the clarification was in the second paragraph.

                                            The relevant comparison isn’t players on chess.com, it’s people who play chess, and that’s a larger group. For instance, I’ve played games against my daughter in the past year, and against a friend or two within the past few years, but I’m not active on chess.com.

                                            Similarly, I’m about 50th percentile in people who play Go tournaments (maybe a little lower even, I can’t remember), but I’m well above average (at least for players in the US. I don’t know what the distribution is like in China/Japan/Korea–they have tons of strong players, but also millions of players overall). I don’t know if I’m 95% percentile, but definitely not near 50th.

                                            1. 2

                                              I skimmed the article, and it’s a rambling mess. There’s some nuggets there but they’re really hard to sift.

                                              I liked the author’s coinage(?) of the word “ridiculable”.

                                              It would generally be considered absurd to operate a complex software system without metrics or tracing, but it’s normal to operate yourself without metrics or tracing, even though you’re much more complex and harder to understand than the software you work on.

                                              This is a good observation, slightly marred by the existence of a plethora of products designed to track employee’s every move on screen. I guess a programmer interested in improving their productivity can get an evaluation license of this kind of software.

                                              Also this link looks interesting:

                                              1. 6

                                                I wonder if it’s the game analogy that’s giving people trouble, because it immediately clicked for me. My game of choice is different – Magic: The Gathering, which first came out right as I was a teenager likely to be able to pick it up and enjoy it – but my experience with it absolutely lines up with the article.

                                                There’s a very large population of people who play Magic. And reaching 95th percentile within that population is something literally anyone could do by putting in the work. It seems like a high bar, but it really isn’t, because even things like reading a few introductory articles on competitive strategy and practicing what you learn from that will quickly advance you past the average kitchen-table Magic playgroup. Not that much more effort will put you up to the level of being able to win at a typical Friday-night tournament in a local game shop. And at that point you are undeniably going to be 95th percentile, if not higher!

                                                Even within the specifically competitive-focused subset of the Magic-playing population I think this holds up. Within the last couple years a new digital version of the game (called “Arena”) has come out and been promoted heavily, and it has competitive play with a ladder of ranks and tiers. It’s attracted a fair number of streamers who are new to the game, and again it seems that anyone willing to put in some effort and practice can start consistently reaching the higher ranks, which again put them into the 95th percentile or higher of Magic players, and even of that specific subset who play on Arena.

                                                Though I think some of the problem here is also perspective: people won’t compare themselves to the general population, or even to the subset who do things like go to tournaments or participate in ranked play on Arena, where it would be clear just how low the skill-level bar of 95th-percentile really is. Instead they compare themselves to the population of established elite professional players, and see a huge skill gulf between themselves and the pros and draw the wrong conclusion. Being only 1% as good as a top-level pro (assuming we could quantify that) does not mean being only in the 1st-percentile of all players, simply because the pros are such a microscopically tiny subset of a very large population, but people often think about it in those terms.

                                                1. 1

                                                  I guess it’s only applicable to fields where casual and enjouable participation is possible.

                                                  On the one hand we have fields like algebraic geometry that you cannot participate in without extensive preparation. For someone with high school math level, it will take years to even start understanding the papers. Even then you are are only ready to start doing any research of your own at all.

                                                  On the other hand we have fields where, until some point of profiency, it doesn’t matter if you are are better than N% participants. There are many people (mostly kids) who play the violin. You can get better than most of them just by learning not to tune the strings to diminished fifths. It will take years of dedicated practice until anyone will genuinely want to listen to your playing though.

                                                2. 3

                                                  The existance of personal tracking software doesn’t imply that it is not “normal to operate yourself without metrics or tracing”. A fairly small proportion of the population use such software.

                                                  1. 2

                                                    I’m thinking of software that allows an employer to track how much time their employees spend in different windows and applications, so they can take action against “incorrect” behavior.

                                                3. 0

                                                  But 2200 is top 5% of people who have ever played chess online, including those 4 or 5 games and so on. As in top 5% of participation metric “has played chess online before”, I thought

                                                4. 13

                                                  This is explicitly addressed in the beginning of the article:

                                                  Note that when I say 95%-ile, I mean 95%-ile among people who participate, not all people (for many activities, just doing it at all makes you 99%-ile or above across all people). I’m also not referring to 95%-ile among people who practice regularly. The “one weird trick” is that, for a lot of activities, being something like 10%-ile among people who practice can make you something like 90%-ile or 99%-ile among people who participate.

                                                  1. -1

                                                    But this is for people who participate. 2200 is top 5% of people who have ever played more than, say, 5 or 10 games of chess online.

                                                    1. 11

                                                      This is triply incorrect and once misleading.

                                                      First, many chess players never play online. I’d even guess that most don’t, so that is not the correct population to compare to.

                                                      Second, chess.com’s displayed percentiles are not for every player who’s ever played, only for active players. There was a change was a number of years ago, before this chart was made.

                                                      Third, if you look at that chart, top 5% among active players is roughly 1600 on chess.com, not 2150 or 2200.

                                                      Fourth, when you say it’s an X chess rating without qualification, I think this would imply to people in the U.S. that this is a FIDE or USCF rating. 1600 on chess.com from when that table was made converts to 1500 USCF and, again, that’s an overestimate because that’s only active players on chess.com which is going to be overweighted towards players who have put more time in.

                                                      Your stated number, 2200, is in the top 0.2% of active chess.com rapid players. 2200 must come from lichess blitz ratings. At the top of their blitz ratings graph, it notes that it’s for players active this week, so that also has the incorrectness mentioned above. Additionally, it’s well known that lichess generally has inflated ratings and blitz is particularly inflated even for lichess. It is extremely misleading to say that top 5% is “2200 chess rating” when referring to lichess blitz ratings.

                                                      Even if you look at people with USCF ratings, which is a tiny subset of the people who have played or play chess in the U.S. (roughly 85k USCF players, out of probably over 100M people who have played in the U.S.; that chart is old and has 65k but the distribution shouldn’t be wildly different), top 5% is still only 2000 USCF. “2200 chess rating”, as you put it, is someone roughly in the top 1000 USCF. Across all U.S. players, even accounting for strong players who don’t maintain a USCF rating, that’s probably at least the top 0.001%.

                                                  2. 4

                                                    I got to around 1900 in lichess classical in about a year without any specific effort starting from scratch, but a lot of play time.

                                                    https://lichess.org/@/acham/perf/classical

                                                    My greatest victory is against a 2314 rated player.

                                                    In school I was about 90th percentile, so in general I think for a lot of tasks, with practice you just slot into where your intelligence level is, with deviation around quality and amount of practice.

                                                    I think looking at the graph of all time rating of players is really fun.

                                                  1. 36

                                                    Twitter is a terrible platform for (among other things) long hand writing, it’s unreadable. I wish people would stop using it for that.

                                                    1. 27

                                                      Unlike the other folks who are defending Twitter, I think Twitter isn’t a great format for consuming content, but I also think it reduces friction for producing content, which results in a lot of great content that wouldn’t otherwise exist. For example, foone lays out his reasons for posting on Twitter here:

                                                      Not to humblebrag or anything, but my favorite part of getting posted on hackernews or reddit is that EVERY SINGLE TIME there’s one highly-ranked reply that’s “jesus man, this could have been a blog post! why make 20 tweets when you can make one blog post?”

                                                      CAUSE I CAN’T MAKE A BLOG POST, GOD DAMN IT.

                                                      I have ADHD. I have bad ADHD that is being treated, and the treatment is NOT WORKING TERRIBLY WELL. I cannot focus on writing blog posts. it will not happen.

                                                      if I try to make a blog post, it’ll end up being abandoned and unfinished, as I am unable to edit it into something readable and postable. so if I went 100% to blogs:

                                                      You would get: no content

                                                      I would get: lots of unfinished drafts and a feeling of being a useless waste

                                                      but I can do rambly tweet threads. they don’t require a lot of attention for a long time, they don’t have the endless editing I get into with blog posts, I can do them. I do them a bunch! They’re just rambly and twitter, which some people don’t like.

                                                      I’ve tweeted about it before, but I’ve been told this is “unprofessional” and I’m sorry if this surprises you, but I am not a professional writer. of course my hobby writing is going to be unprofessional. Cause it turns out there’s good reasons I’m not a professional writer, and the main one is that I can’t do it.

                                                      Note that this also address the one direct criticism in the other sub-thread, broken sentences.

                                                      Personally, if my options are “read foone’s writing on Twitter (or via something that re-writes his Twitter threads)” or “not be able to read foone’s writing”, I’ll choose the former.

                                                      For some authors, like @jxxf, this is less extreme. He has a blog that he writes on, but the tradeoff is still the same at the margin: because he has a low friction platform available to him, he writes a lot more than he otherwise would and I’m glad he does.

                                                      I view this the same way I view complaints that making programming easier has dumbed down programming because (for example) people no longer have to understand pointers to produce useful software. I think that’s great, on balance, even if there are some downsides.

                                                      For people who dislike Twitter so much that they would rather have no content than content on Twitter, they can make that choice for themselves: when they see a twitter.com link, they can not click on it. Some people would prefer to make that choice for other people (as of the time of this writing, this post has downvotes for “spam”, “off topic”, and “broken link”, which are all incorrect IMO) and I don’t agree with that. From looking at lobsters content from twitter, it seems like maybe 2-4 twitter posts get traction each month? IMO, it’s preferable that people who don’t want to read content on Twitter click “hide” 2-4 times a month than to not have this content exist at all or get flagged off of lobsters.

                                                      1. 7

                                                        I’ve read this guy’s reasoning before and I just don’t believe it. The guy may have adhd, I have no reason to doubt him, but I think anyone capable of writing super long tweet messages and doing in-depth device break downs can be taught to write blog posts one paragraph at a time.

                                                        Of course, the dude should write however he likes, I’m not his boss. He may believe what he says, but I think his reason is not real.

                                                        I agree with your “don’t click on it.” approach as what I love about the internet is our ability to choose and filter.

                                                        I don’t comment out of a wish to squash this guys stuff and I certainly don’t have to read it. But I comment because I want to understand why people write this way, and want to discourage others from writing this way, as overall it reduces the amount of content people can read, I think. Since this way takes longer to read, is hard to share and respond to thoughtfully.

                                                        1. 2

                                                          I have ADHD and I can relate really strongly to the sentiment. My thoughts don’t flow in a natural stream, it’s more spurts and fits. I can sit down and write a blog post, sure, but I’ll be sitting around writing it for 30+ minutes (an eon!) before I either a) get bored, and decide the point I’m trying to make isn’t worth making anyway, or b) realize my thoughts really don’t sound as good as I thought they did, even if they may have some merit. In the end, the blog post ends up getting deleted either way.

                                                          I’d say using Twitter over a blogpost is more writer-centric than reader-centric, which obviously hinders the audience, but the way foone puts in the previous post really resonates with me:

                                                          if I try to make a blog post, it’ll end up being abandoned and unfinished, as I am unable to edit it into something readable and postable. so if I went 100% to blogs:

                                                          You would get: no content

                                                          I would get: lots of unfinished drafts and a feeling of being a useless waste

                                                          It’s all about focus, collecting thoughts, and forming them into a singular, discrete narrative - which just does not jive with ADHD behavior.

                                                          1. 2

                                                            Agreed as a fellow. My draft folder is a nightmare, my writing is comment sections and tweets.

                                                            Even if I write a blog post it becomes painful, as I usually hyperfocus on it, will spend multiple days on it and end up rereading it too often out of fear for small errors. Tweet chains are much more permissive and raw.

                                                            The guy may have adhd, I have no reason to doubt him, but I think anyone capable of writing super long tweet messages and doing in-depth device break downs can be taught to write blog posts one paragraph at a time.

                                                            I hate to say it, but if I had a dime for every time a neurotypical person just utters disbelief about how my brain works, I’d have a ton of money on the side.

                                                            These effects are very real.

                                                            1. 1

                                                              I called out the ability to train. I understand ADHD really well. What I meant is that it’s quite possible to train on a writing technique where I write only one sentence or paragraph at a time.

                                                              That’s not unique to twitter. I can do the same thing in WordPress or google docs or many other tools that I can adapt to use.

                                                              Maybe this author can’t do it, but they can learn to produce content in a way that is still possible given their medical condition.

                                                              I was disputing the statement that the author can’t or that it’s impossible given ADHD. I don’t think that’s accurate. Maybe The author doesn’t want to train or learn. That’s cool, that is their prerogative. But the reason they aren’t doing it isn’t ADHD, it’s that the author likes it that way and is unwilling to change.

                                                            2. 2

                                                              Eh I can believe it. I have ADHD. Sometimes the things you can do, and the things you can’t do, don’t make any goddamn sense. ADHD is an executive dysfunction disorder. Shorter tasks do help…

                                                            3. 1

                                                              Not an unreasonable insight, but on the other hand if you can write 20 tweets, you can also write the same 20 tweets in a .html page?

                                                              By biggest gripe with Twitter is that it doesn’t work in Firefox for whatever reason. Clicking “Show this thread” just doesn’t seem to do anything. Probably due to some Firefox setting I changed or whatnot, but it’s really hard to figure out what (I discovered that copy/paste was broken in Twitter because I disabled the clipboard API, took me a long time to figure out). It can also takes ages to load (although not ridiculously slow, my connection in Indonesia is somewhat low bandwidth/high latency).

                                                              It’s all about what your goal is, if you want to just “tweet out in the universe” then by all means, go ahead. But if you want to reach people, then a blog post is probably more effective.

                                                              Perhaps this is an opportunity for creating better blogging software that combines the best of both 🤔

                                                            4. 9

                                                              I like it as a format because it forces you to be concise and make every 280 characters a self-contained point. It’s a fun writing constraint.

                                                              1. 13

                                                                The endless scrolling, broken sentences (that most attempts have) and crappy twitter experience when JS is disabled doesn’t make it fun to read.

                                                                1. 15

                                                                  I’d suggest maybe turning JS on to make your UX better, but I feel like you’re not going to be receptive to that idea.

                                                                  1. 5

                                                                    I suggest nitter, for a far more usable and less hostile experience, without requiring JS:

                                                                    https://nitter.net/jxxf/status/1219009308438024200

                                                                    1. 1

                                                                      Wow - JS or not, that’s a really nice UI.

                                                                    2. 4

                                                                      Ok, even with JS on, it’s still a bunch of poorly separated blocks of sentences and sentence fragments.

                                                                      The comment above mentions a ‘fun writing constraint’.

                                                                      Writers, find a different way to punish yourselves without punishing your readers. The number of hours a writer spends on a piece is almost certainly less (much, much less) than the number of combined hours that readers spend reading it. Don’t drag your readers through shit for “fun.”

                                                                      1. 2

                                                                        Why not? Nobody is forcing you to read it.

                                                                        If someone wants to have fun writing in a weird format, that’s their prerogative. They don’t have to be maximising your utility.

                                                                        That said, consider just using something like this: https://nitter.net/jxxf/status/1219009308438024200

                                                                      2. 1

                                                                        I disagree that JS should be required to be treated decently on a website.

                                                                    3. 6

                                                                      This isn’t a constraint if it’s split over 50 tweets.

                                                                      This tweet stream is an example of how things aren’t self-obtained points. Almost all of these tweets are meaningless without context before and after.

                                                                      This story seems made up, like a business fable and even more so because it’s tweeted out in small amounts.

                                                                      This was interesting the first few times I saw it 13 years ago. But now it’s weird and confusing and shows how valuable friends and editors are to the writing process.

                                                                      I read a novel in 1999 where the entire story took place in emails. It was an interesting constraint. But the same book today would not be original enough to outweigh the awkwardness of such a constraint.

                                                                      I am not sure what’s up with these “tweet storms.” I guess they are best for online brands or something since people can like and tweet each item. This author seems quite successful with hundreds of interactions per message. So maybe it makes more money, or sells more ads, or just shows which paragraphs are best liked.

                                                                      But I just wonder if the author is capable of setting up a blog.

                                                                      I liked the story, but it took much longer to try to read because of all the scrolling. It’s also harder to read because the lack of paragraphs and grammar and links.

                                                                      1. 1

                                                                        Is Exegesis by Astro Teller the book you are thinking of?

                                                                        1. 1

                                                                          That looks pretty cool, but not it. I’ve added it to my to read pile.

                                                                          I was referring to E: a Novel by Matt Beaumont. It was set in present day (2000) office place and was just a simple, relatively ok office drama.

                                                                      2. 0

                                                                        I am with you. There is something engaging about the dramatic separation of paragraphs that each read like headlines. Not great for details, but for short stories I find it fun.

                                                                      3. 2

                                                                        I think there should be automation for mirroring twitter threads in an accessible format.

                                                                        I don’t click Twitter links anymore, because my Twitter experience typically goes as follows.

                                                                        1. Click the twitter.com link on lobsters
                                                                        2. “If you’re not redirected, click this link”
                                                                        3. “It looks like you’re browsing without JS. Do you want to continue to basic site? [Yes]” (Yes is the only option provided here.)
                                                                        4. Get redirected either to the twitter home page or a thread I clicked on 3 days ago on reddit, which was stored in a cookie and did not update correctly.
                                                                        5. Repeat steps 0-2.
                                                                        6. Arrive at the page, start reading the content in between the repeating author name, user name, and irrelevant timestamps.
                                                                        7. Any other Twitter links on that page, go back to step 0.
                                                                        8. Trying to open any images takes me back to either the author’s page, the twitter home page, or some other thread I clicked on recently.

                                                                        I think browsing without JS is valid, and no-JS users deserve to be first-class visitors.

                                                                        1. 1

                                                                          @bandali says:

                                                                          I suggest nitter, for a far more usable and less hostile experience, without requiring JS:

                                                                          https://nitter.net/jxxf/status/1219009308438024200

                                                                        2. -1

                                                                          Twitter threads are a de facto standard for publishing and consuming content like this on the internet, the ship has sailed, and it’s just mind-numbingly uninteresting to have to endure replies like this every time one is shared to a content aggregation platform. Get with the times, old man 👴🏻 ✊🏻 ⛅️

                                                                          1. 3

                                                                            De facto standard lol? Since when? Blogging is still alive and well and blog posts outnumber twitter threads 100:1 on lobsters alone.

                                                                          1. 1

                                                                            I noticed that I already started out-typing the system at 10 ms, however the supposed 60 ms keyboard latency of a Logitech k360 has never bothered me before.

                                                                            1. 7

                                                                              That 10ms and that 60ms are pretty different things. I tried the 5ms setting on my Mid-2014 Macbook Pro and (measured with a high speed camera, plugged in with 50% battery, two browsers open with about 100 tabs between them but nothing consuming more than 10% CPU on the machine), the latency was 130ms - 170ms across a few runs, I’d probably see more variance if I had an automated setup and could easily get tail latency. I tried 100ms and got about 200ms total latency (only two runs at 100ms, it’s 2am local time and I should get to bed, I’d probably see a similar level of variance as with the 5ms setting if I tried more runs).

                                                                              Jamie Brandon has a post on what happens when you try to specify precise delays in the browser. This isn’t the same thing since his post discussed delays when the input pipeline is effectively removed, but even without the input latency, a 10ms specified delay in the browser can easily cause 3x to 7x the actual delay, depending on what you’re trying to measure. As with the measurement I just did, it’s only a few runs, tail latency should be higher. If you want to “port” Jamie’s numbers to what we’re looking at here, Jamie’s delay is added to the input latency that’s already there with any off-the-shelf computer hardware.

                                                                              1. 1

                                                                                Thanks for confirming my suspicions.

                                                                          1. 8

                                                                            I usually find that “math” doesn’t prove real-world facts. In fact I’d go so far as to say that it doesn’t prove anything, beyond itself. When trying to “rate” generals in terms of numbers (from a source the author has admit is limited - notice that Genghis Khan is vastly underrepresented), all you can do is visualize, compare and analyze data. On the one hand, one has to consider that we neither have all the data to accuracy describe reality, nor is all the data trustworthy: let’s not forget, history is written by the winners - and what is written has no necessity to be true. On the other hand, “just” looking at numbers cuts out so many other factors which could have been vital to the course of history, weather, strategy, technology, economic issues like food distribution/production, social factors like election, revolutions, coup d’état, memory of previous wars or bad omens by oracles. War has over and over proved not to be just a conflict determined by manpower - otherwise it would be truly democratic. Cities in Europe capitulated before the Mongols just because of what they heard that they did to cities that didn’t, even though their manpower might have been significantly lower. That’s what I call a good PR campaign. Or how can one say that when Alexander’s army decided not to go further than India, that this is somehow to blame on Alexander the Great himself. What about the Russian generals that forced Napoleon into the Russia winter and thereby destroyed his armies? How is that non battle, negative choice factored in to the statistics?

                                                                            Ultimately, I see this kind of a project as a futile attempt at ahistorical and decontextualized ratings of generals, as if it were some kind of a video game (Interestingly enough this could serve as a foundation to critique a modern video-game mentality of understanding the world and history). If his intention were to rate general based on this WAR mechanism and with limited data, then fine. But the inferred jump from this rating to an absolute standard of “goodness” in being a general. I might even agree that Napoleon, Hanibal and Alexander the Great were good generals, but this is not a statistical matrer, and I don’t belive it can be reduced to an issue described via numbers.

                                                                            1. 8

                                                                              I don’t agree that you can’t quantify this, but I do agree that this article is fundamentally bogus. The thing that bugs about these kinds of overblown claims is that it poisons the well for deeper analysis since it causes people to write off the idea of using data. IMO, the problem here isn’t the use of data, it’s the unreasonably strong conclusion drawn from very weak data. Ironically, you can even see this in baseball if you look at pre-“sabermetric” analysis of baseball. Many of the stats people used to judge baseball players simply weren’t very good (in that they had low predictive power in terms of both future player performance and team win probability), which gave the anti-stats camp ammunition they could use to dismiss the idea of deeper analysis.

                                                                              It appears that the author has taken all factors that aren’t sheer numbers and found “wins about replacement” (WAR) for all of those factors combined. Some things that make WAR work for baseball that seem difficult to apply to warfare include:

                                                                              1. In baseball, there’s a well defined concept of a “win” and regular season wins are equivalent. This is certainly not true in warfare and a single “win” can sometimes reverse the effect of many losses.
                                                                              2. In baseball, runs scored are independent enough that you can predict wins from runs scored “well enough” and the effect of players is independent enough that you can predict run generation and prevention “well enough”. You can apply this type of analysis for sports where players actions aren’t even close to being independent, but it’s much harder to do so. It’s not clear what “hidden” or “intermediate” variables in warfare can stand in for the equivalent variables in baseball. A naive application using intermediate variables like casualties seems likely to yield almost no value (I could be convinced otherwise, but I’d need to see an argument, not the blind application of a formula). If this analysis were serious and not clickbait, I’d expect the discussion of these variables and the justification that these variables are predictive to take up most of the space.
                                                                              3. There’s a large sample size. We have tons of data about baseball (and other sports). While we know about “lots” of battles, we don’t really have good data for many of them. Even for battles that have happened in the past decade, casualty estimates can vary by an order of magnitude depending on who’s doing the estimate. Even if everything else were perfect, you’d have a hard time doing sabermetric analysis of baseball if your error bars on the number of runs scored varied by an order of magnitude. Also note that, when comparing across eras in any sport, you have to adjust for how the environment was different in different eras; different adjustments can give very different rankings of players. If any kind of era adjustment was done in this article, it’s not mentioned and the adjustment isn’t justified. For many eras, I suspect we simply don’t have the data to do a data-driven adjustment, so any adjustment would either involve original research or intuition applied to case studies.
                                                                              4. Replacement level is fixed. There’s a debatable but relatively well defined meaning for replacement level in baseball, but no such thing exists in warfare. As we’ve seen in baseball analysis, moving the replacement level target around can drastically effect findings of who’s “best” and since we have a variable that gives the person doing the analysis total freedom, we need some justification for why replacement level is set to where it is if we want to be convinced the the result isn’t just a post hoc justification. Note that this goes into all of the variables used in (2) and their weights, so in this case the person writing the article had many degrees of freedom that they could tweak to tune the results arbitrarily and there’s no justification for any of “knob settings” in the entire article.

                                                                              I don’t think there’s anything inherently wrong with running the numbers and seeing what comes out. But the author then claims that this somehow “proves” that some generals are mathematically superior to others. As you say, this is not correct.

                                                                              Using a methodology that can’t answer the question being asked and then feeding in bogus data is quite common, so I don’t mean to pick on this article in particular for that reason. The thing I find most unfortunate about this is that I’ve seen this article passed around a lot, and AFAICT it’s been passed around precisely because the author makes a lot of claims that they can’t back up – an article titled “a preliminary investigation of ‘wins above replacement’ applied to warfare” probably wouldn’t go viral, wouldn’t have gotten linked to on Marginal Revolution, etc. This article appears to have been widely read not in spite of being clickbait, but because it’s clickbait. It uses the cachet of sabermetrics, as if sabermetrics is about having some formula and a term called “wins above replacement” rather than being about figuring out what we can “know” from data and what the limit of our knowledge are. As an article about who the “best” general is, it’s pure cargo culting.

                                                                              1. 1

                                                                                I don’t think there’s anything inherently wrong with running the numbers and seeing what comes out. But the author then claims that this somehow “proves” that some generals are mathematically superior to others. As you say, this is not correct.

                                                                                Well that was basically my point ^^ My introductory part about “math not being able to prove anything” (in itself, but it can be used.as a tool to model or calculate, no doubt) were maybe more provocative that they should have been. But yeah, there’s no moral issue or any other issue with doing calculations, nor do I think that anyone belives that, just in case anyone misunderstood the intention of my comment.

                                                                            1. 9

                                                                              It’s amazing to me that this was only 16 years ago.

                                                                              For windows 2000, the original build system was… a single team that approved and manually merged all checkins? Checking anything in to this team required approval, sometimes on paper!? The team approved ~100 changes per day and manually issued the appropriate commands to grab source control and build. That’s for 1400 devs! When the build broke, build activity stopped until the build was fixed.

                                                                              The initial code checkout for a dev took 1 week. Just syncing changes took 2 hours.

                                                                              This was all terrible, so they bought the source code to perforce and created a fork of it. With the fork, they were able to get the initial checkout down to 3 hours, and syncing changes down to 5 minutes. That was considered to be AMAZINGLY GOOD. One of the main points of the point of the talk appears to be to describe this great new system where it only takes 3 hours to do the equivalent of git clone

                                                                              I also like the bullet point, “Abuse and intimidation gets way out of control; can’t keep calling people stupid and except them to listen”, which is nested under “Sloppiness is not tolerated”, next to “Great idea, but very difficult to nurture as group grows”. it’s so hard to nurture the right amount of calling people stupid.

                                                                              1. 6

                                                                                On the whole I agree with the article. I have worked for 3 startups and been burned 3 times. I’m much happier with the mega-corps now. That said; I keep seeing these types of articles talking about $250K packages for a senior programmer and how you can work from anywhere with this kind of salary.

                                                                                This has not been my experience and the Bureau of Labor Statistics seems to be more apt from what I have experienced

                                                                                http://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm

                                                                                I’m well above the BLS median, but not even half of $250K. Is this really achievable as “the norm” from anywhere in the USA, and if so where are all of these opportunities that I’m so obviously missing?

                                                                                How much of that $250K is actual salary and then how much of it is “value of benefits”? This is the other piece that is a head scratcher since the $250K always includes “value of benefits” I feel like it is a bit of sleight of hand that hides the lower actual salary.

                                                                                Here is the BLS breakdown by state, which is also interesting, http://www.bls.gov/oes/current/oes151131.htm#st California median is around 89K and Washington seems to have the highest median, still only 115K.

                                                                                1. 3

                                                                                  Note that the BLS definition of “Computer programmer” appears to be very low level:

                                                                                  “…They turn the program designs created by software developers and engineers into instructions that a computer can follow.”

                                                                                  It’s likely that many of us here who would call ourselves programmers might fit into another statistical bucket for the BLS, like “software developers” - median $97k, or even “Computer and Information Research Scientists”, median $108k. Honestly, even those seem low and so I assume they’re wrapping together some jobs that I wouldn’t consider equivalent.

                                                                                  In general it seems really hard to tell how much of these stories of high compensation to believe without just asking your peers, something I’m always reluctant to do. Certainly having some idea of what sort of field these offers are being made for is useful - Dan’s article was helpful in pointing out that people in “hot fields” get gobs more money.

                                                                                  It’s also not always totally clear what being “senior” means. I think I had “senior” in my title once, but I think it means different things at different places. :)

                                                                                  1. 1

                                                                                    How much of that $250K is actual salary and then how much of it is “value of benefits”?

                                                                                    Zero. A mediocre compensation package for a senior engineer today is $150k salary, $100k/yr of equity that’s not quite as good as cash (but pretty close) and bonuses.

                                                                                    1. 7

                                                                                      It’s certainly not anywhere near that in New York or Boston. Perhaps some SV outliers.

                                                                                      1. 2

                                                                                        That’s what people I know at Google make in Madison, WI. I’ve that numbers in places with a similar cost of living (like Austin, TX) are similar. Numbers are often much higher in SV, of course.

                                                                                      2. 1

                                                                                        Roughly how many years of industry experience does a senior engineer at Google correspond to? (I know that years of experience is a horridly imperfect metric, but it can be useful for HR-type stuff.)

                                                                                        1. 1

                                                                                          A decade, give or take a few.

                                                                                          1. 1

                                                                                            Three or Four or more

                                                                                      1. 7

                                                                                        Functional programming.. I’d lean towards Maybe on this one, although this is arguably a No. Functional languages are still quite niche, but functional programming ideas are now mainstream, at least for the HN/reddit/twitter crowd.

                                                                                        Also Java, so I’d call it a yes.

                                                                                        Model checking is omnipresent in chip design. Microsoft’s driver verification tool has probably had more impact than all chip design tools combined

                                                                                        I don’t know where the author is coming from here. It’s hard to imagine we would achieve the amazing hardware we have today without tools to harness complexity. What does he mean?

                                                                                        1. 1

                                                                                          Sure, tools in general, but probably not for formal methods, which is what’s being discussed in that section. Sorry if that was unclear :).

                                                                                        1. 1

                                                                                          How do you actually do this? The “tactics” presented are unobjectionable (e.g. have a clear mission, have people take responsibility), but they seem more like strategy than tactics. How do you actually make those things happen?

                                                                                          I know a few folks at twitter, and a lot of ex-twitter folks. This is, of course, anecdotal, but the experience of the people I know is highly variable. Some people love it. Some people hate it. A few are somewhere in between. It’s certainly not a place I think of as stable for employees; among folks I know, the attrition rate is quite high.

                                                                                          Contrast that to facebook, where a lot of my friends joke that they must be brainwashing people because almost everyone talks about how much they love it there and how great it is. The attrition rate seems incredibly low considering how many employees there never have to work again.

                                                                                          I don’t think they have different strategies. If you talk to folks at FB, they’ll tell you that it’s important that teams have clear missions and that people take responsibility. But some difference in tactics causes those strategies to be more effective at FB than at twitter.

                                                                                          1. 4

                                                                                            I suspect the answer is that it’s more complex than one might think at first :-).

                                                                                            This interview with Butler Lampson is quite long, but if you’re interested in capability based computing, it’s probably worth reading in its entirety. It the interview, Lampson describes why capability based computing is exciting, and why so many great researchers worked on capability based systems in the early days (Jim Gray, Charles Simonyi, and a number of other well known folks). The conclusion that Lampson and others came to is that, as an engineering trade off, building an OS around capabilities isn’t worth it. It’s not a fundamentally terrible idea, but no one has figured out how to do it simply enough that it’s worth all of the extra complexity.

                                                                                            And then the question is, are capabilities a good tool for organizing the system? And I think our conclusion there was they work, we made it work, and they have some advantages because you get uniformity. By contrast, the way in which security works in UNIX, for example, they have these file descriptors, those are capabilities, but they also have a bunch of more ad hoc things. And on the whole, I think that works better. Some of them are more complicated, but you can tune some of the ad hoc things that need to have high performance better, specific requirements. I don’t know really how you would figure this out. You’d have to do some systematic experiments, and they would have to on a fairly large scale; and no one has ever attempted that kind of thing. Basically, I think our judgment was that there were easier ways to get to the same effect.

                                                                                            1. 5

                                                                                              Does anybody have any advice on how to become a effectively become a better writer? Yes, you want to write as much as possible, that’s a given, but can you get meaningful feedback from someone who’s much better than you at it? Is there quality coaching of any sort that you can get?

                                                                                              1. 3

                                                                                                My advice here is pretty standard, not just for writing, but for any field, but I think it’s standard because it works. Get good feedback and practice incorporating it. Don’t try to fix everything at once; add skills one at a time.

                                                                                                In my experience, it takes a while to find people who will give you good feedback for free. Most people don’t come up with substantive writing critiques, but if you ask for advice on a lot of drafts, you’ll eventually find a few people who come up with meaningful critiques and not just spelling and grammar corrections.

                                                                                                And of course you don’t have to only get free advice. If you’re a programmer, you can certainly afford to hire a professional editor to help you. I don’t want to post what’s basically an advertisement for an editor on lobsters, but if you’re interested in this, contact me privately (see my profile) and I can recommend a good editor.

                                                                                                My process is to get good feedback about something (often a blog post), incorporate the feedback in the current thing, and then try to write something from scratch that incorporates one specific thing from that feedback. I then get feedback on that second thing to see if I was able to improve that one thing. When I’m able to consistently write something that doesn’t get the same critical feedback, I move on to another problem in my writing and try to eliminate it.

                                                                                                I don’t claim that my writing is good, but when I look at how my writing has changed over the past year and a half, it’s certainly improved a lot. For a given level of effort (30 second email, 15 minute blog post, 3 hour blog post done in 3 sittings, etc.), my writing is a lot better. I’d say that my dashed off 15 minute blog posts are as “good” as my serious 2-4 revision blog posts were a year and a half ago, when I started this blogging/writing improvement experiment. Considering the time investment (a few hours a month), I’d say that improving my writing using this method is one of the highest ROI things I’ve done lately.

                                                                                                1. 1

                                                                                                  Does anybody have any advice on how to become a effectively become a better writer?

                                                                                                  Yes.

                                                                                                  Yes, you want to write as much as possible, that’s a given,

                                                                                                  That is a given of course. Read too. Read as much as you can on as much as you can. It really is a shame that our modern lives are so strongly aligned towards any other form of recreation than reading, given reading’s relatively lengthy time requirements to get much out of it. Beware the shysters who claim they can “speed read” at some exorbitant number of words per minute. The act of reading requires more than merely pushing and popping groupings of words into and out of your brain’s mental queue as fast as possible.

                                                                                                  but can you get meaningful feedback from someone who’s much better than you at it?

                                                                                                  Absolutely. Editors exists for more reasons than merely finding typos and other grammatical errors.

                                                                                                  Is there quality coaching of any sort that you can get?

                                                                                                  There are several communities of critiques, readers/writers, reviewers, editors, teachers and so on. In my experience, their eagerness to help is typically proportional to your own reciprocity in helping them in turn. That being said, finding an audience can still be difficult given our desire to become ever more efficient schedulers of our limited (and in some cases decreasing) free time.

                                                                                                  1. 1

                                                                                                    I agree with the posted essay. Writing can bring great clarity and you can grep it.

                                                                                                    A few observations from good essays / blogs

                                                                                                    1. Put your personality into it.
                                                                                                    2. Give a strong purpose to each essay / blog.

                                                                                                    I consider zenhabbits.net to be a good representative of the above said points.
                                                                                                    Words like good and better are however, subjective.

                                                                                                    Hope that helps :)

                                                                                                    1. 1

                                                                                                      (link with typo correction: http://zenhabits.net)

                                                                                                  1. 2

                                                                                                    Minor point: calloc is required to check for overflow. The standard was clarified such that if it’s not possible for all indices up to nmemb to be valid, calloc must return null.

                                                                                                    1. 1

                                                                                                      Thanks for the correction! It’s really appreciated.

                                                                                                      I credited you as “tedu” in the acknowledgments. Let me know if you’d prefer to not be mentioned, or be mentioned with a different name/alias.

                                                                                                    1. 3

                                                                                                      The Rust Guide issue happens when you have certain web fonts installed, they get corrupted and not downloaded for some reason :/

                                                                                                      1. 2

                                                                                                        Thank you so much! Deleting all of my existing web fonts fixed the problem. I wonder why Chrome can’t/doesn’t checksum fonts, and why the problem didn’t affect Firefox.

                                                                                                        1. 3

                                                                                                          Wooo!

                                                                                                          Yeah, totally unsure. It’s a bummer.

                                                                                                      1. 4

                                                                                                        http://danluu.com/ Hardware, hardware/software co-design, and low-level software nonsense, plus whatever I’ve learned lately.

                                                                                                        I’ve been experimenting with blogging by setting aside 30-90 minutes, writing a post in on sitting, and calling it done. That’s resulted in 5 posts in the past week (as opposed to my usual 1 post per month). I’m super interested in negative/critical feedback since it’s hard for me to tell if I’ve writing stuff that’s substantially less readable by not editing seriously.