Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    T

    The Shape of Code

    shape-of-code.coding-guidelines.com · Personal blog · on HN since 2010

    Derek Jones writes about evidence-based software engineering, estimation research, programming languages, and data analysis of software development.

    Visit blogHN submissions
    ProgrammingScience
    What HN says

    HN links it for critiques of software engineering research and effort estimation, and commenters debate his takes, including a study replication and rebuttal.

    Stats for nerds
    42HN people shared it
    47linked in comments
    2Kstory points
    Aug 2021last shared
    2012people per year2021

    Top posts on HN

    1. 1
      Software effort estimation is mostly fake research
      2 people · 780 points · first shared 2021 · 308 comments on HN
    2. 2
      Evidence-based software engineering: book released
      2 people · 292 points · first shared 2020 · 118 comments on HN
    3. 3
      Research software code is likely to remain a tangled mess
      1 person · 182 points · first shared 2021 · 165 comments on HN
    4. 4
      What can be learned from studying long gone development practices?
      1 person · 160 points · first shared 2021 · 138 comments on HN
    5. 5
      Algorithms Are Now Commodities
      1 person · 155 points · first shared 2020 · 72 comments on HN
    6. 6
      Evidence-based Software Engineering – book beta
      1 person · 133 points · first shared 2020 · 22 comments on HN
    7. 7
      Performance variation in ‘identical’ processors
      1 person · 98 points · first shared 2020 · 54 comments on HN
    8. 8
      Memory capacity and commercial compiler development
      1 person · 30 points · first shared 2011 · 13 comments on HN
    9. 9
      Most developers don’t really know any computer language
      1 person · 20 points · first shared 2012 · 22 comments on HN
    10. 10
      Happy 30th birthday to GCC
      2 people · 19 points · first shared 2017 · 2 comments on HN

    What HN people wrote when they linked it

    • nickpsecurityFeb 2018

      The original study saying formal verification was useless. In Section 6 of this paper [1], Avra Cohn gave a similar reality check when attempting to mechanize a hardware proof. Also, Guttman summarizes here [2] problems with many verification efforts. Finally, Wired has a modern take [3] on debate in 1979 paper by de Millo et al. These collectively represent most of opposition’ points to formal verification of software.

      This is great for its description of social process of mathematics, the traditional approaches, and the limitations. I’m probably going to do a takedown of some points in the de Millo et al work at some point because I think the field got far enough to address some of it. There’s still some truth in what they’re saying. Probably best to treat new approaches as something different from traditional math with their own goals and expectations.

      Any rebuttal of mine would focus on the LCF + de Bruijn approach negating much risk in proof steps, the high-level languages/frameworks that were built to make it easier (not easy), the fact that many people are doing what they suggest they won’t, the examples corroborating reliability benefits, and something exploring vetted theorems vs vetted verified components which I think are similar in how they’re used.

      The risk that they predicted best was trusting verified components so much they didn’t include other checks: many ended up doing that. Good news is we have ways to do assurance in depth for those that are willing.…

    • YAFZOct 2012

      I was just about to write a response to 'Scratch bashing' ;-). Luckily you have voiced most of them. So I'd like to add the following:

      The Scratch programming environment, being the most child-friendly system I've ever seen so far (and I have tried to teach children, as well as adults with zero prior programming experience, using environments as different from each other as StarLogo and Python), lets children create amazing programs, but most important of all introduce the fundamentals of computational thinking and creativity with almost zero barriers for entry. From a programming perspective it definitely has a lot of shortcomings (most of which have been addresses by 'add-on's or similar systems built on top of it) but if you want to show the basics to a bunch of kids who are 7 or 8 year olds, then it is a great system.

      Moreover, the social aspects of Scratch, namely easily publishing your projects and seeing the source code of others, are a gift. Try to do the same with Python and GitHub (one of my favorite combinations when I'm not dealing with children ;-), starting from scratch (some pun intended) and showing them all the tools... I'm curious how far their attention span would go.

      Finally, apparently a number guessing game can be super easily implemented with a 'fake programming language' such as Scratch, too: http://scratch.mit.edu/projects/emres/2859373

      And the source code, plain and simple, is probably easier to explain to children (and I had kids create much…

    • xiongchiamiovNov 2014

      R is awful. It's full of decisions made by people who seem to not have much programming experience, in that they seem good at the time but cause major issues later on. See, for instance, http://www.talyarkoni.org/blog/2012/06/08/r-the-master-troll-of-statistical-languages/ , http://blog.revolutionanalytics.com/2008/12/use-equals-or-arrow-for-assignment.html , http://shape-of-code.coding-guidelines.com/2012/02/29/parsing-r-code-freedom-of-expression-is-not-always-a-good-idea/ , and the necessity of http://tim-smith.us/arrgh/ (I wrote up some stuff about the *apply functions, but not yet in a form suitable for the guide: https://github.com/tdsmith/aRrgh/issues/18 ) .

    • curuinorAug 2018

      these folks were the first to push CASE tools, which are a footnote in software history because they failed rather completely in actual production usage. they invented COCOMO, which never gets used for the easy reason of routine order-of-magnitude margins of error (60% in studies, 600% in practice...). they were the biggest pushers or UML and graphical programming, which dies and lives again and again in increasingly zombified states...

      have a dealie about cocomo specifically, I suppose.
      http://shape-of-code.coding-guidelines.com/2016/05/19/cocomo-how-not-to-fit-a-model-to-data/

    • gilbetronAug 2021

      > 3) Why do you consider a 20 year old paper that's only been cited 16 times to be critical reading about estimation, when a vast body of research in forecasting exists, written by people who have measurements of the accuracy of estimates to base their theoretical models on?

      Have some links to this vast body?

      I've encountered very few over the years that actually qualify as "science" as much of it is fake or close to fake.

      http://shape-of-code.coding-guidelines.com/2021/01/17/software-effort-estimation-is-mostly-fake-research/

    • pascal_cuoqMay 2016

      This post, written by someone who is or has been on the standardization committee gives a different point of view:

      http://shape-of-code.coding-guidelines.com/2014/08/31/undefined-behavior-pay-up-for-shut-up/

      What always surprises me is that, when a new optimization comes out justified by a sentence in a dark corner of the C standard, you can usually trace the sentence back all the way to C90.

    Related

    Shape of Codeshape-of-code.com19 people

    A new career in software development: advice for non-youngsters

    Shape of Code
    Personal · last shared 2026
    Jimmy Koppelpathsensitive.com47 people

    The Benjamin Franklin method for learning more from programming books

    Jimmy Koppel
    Personal · last shared 2026
    Derek Jonesknosof.co.uk22 people

    Evidence-based Software Engineering: based on the publicly available data

    Derek Jones
    Personal · last shared 2025
    Never Work in Theoryneverworkintheory.org73 people

    “Extremely angry with the state of academic CS research right now”

    Never Work in Theory
    Publication · last shared 2026
    Andreas Muellerpeekaboo-vision.blogspot.com20 people

    Machine Learning Cheat Sheet (for scikit-learn)

    Andreas Mueller
    Personal · last shared 2021
    Statistical Modeling, Causal Inference, and Social Sciencestatmodeling.stat.columbia.edu350 people

    Suspicious data pattern in recent Venezuelan election

    Statistical Modeling, Causal Inference, and Social Science
    Publication · last shared 2026
    Better Programmingbetterprogramming.pub319 people

    Three programmers got fired, including me, due to a single app crash

    Better Programming
    Publication · last shared 2025
    Bits and Behaviormedium.com/bits-and-behavior23 people

    What I Learned from Researching Coding Bootcamps

    Bits and Behavior
    Personal · last shared 2026