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.

What HN saysHN links it for critiques of software engineering research and effort estimation, and commenters debate his takes, including a study replication and rebuttal.
42HN people shared it
10linked it in comments
47stories submitted
2.0Kstory points
5 years agolast shared
2010people per year2026

Most-shared posts

  1. 1
    SE research is starting to become serious
    3 people · 4 points · first shared 2019 · discussion on HN
  2. 2
    Software effort estimation is mostly fake research
    2 people · 780 points · first shared 2021 · 308 comments on HN
  3. 3
    Evidence-based software engineering: book released
    2 people · 292 points · first shared 2020 · 118 comments on HN
  4. 4
    Happy 30th birthday to GCC
    2 people · 19 points · first shared 2017 · 2 comments on HN
  5. 5
  6. 6
    Cocomo how not to fit a model to data
    2 people · first shared 2018
  7. 7
    Research software code is likely to remain a tangled mess
    1 people · 182 points · first shared 2021 · 165 comments on HN
  8. 8
  9. 9
    Algorithms Are Now Commodities
    1 people · 155 points · first shared 2020 · 72 comments on HN
  10. 10
    Evidence-based Software Engineering – book beta
    1 people · 133 points · first shared 2020 · 22 comments on HN
  11. 11
    Performance variation in ‘identical’ processors
    1 people · 98 points · first shared 2020 · 54 comments on HN
  12. 12
    Memory capacity and commercial compiler development
    1 people · 30 points · first shared 2011 · 13 comments on HN
  13. 13
  14. 14
  15. 15
    Software Maintenance via Genetic Programming
    1 people · 15 points · first shared 2010 · 3 comments on HN

What HN people wrote when they linked it

Pwntastic · 2012-11-16
Yeah, it's 404'd now, but Google still has it cached: http://bit.ly/QN6XTt edit: Actually it looks like the entire article is still visible right on the blog landing page: http://shape-of-code.coding-guidelines.com/
nickpsecurity · 2018-02-20
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.…
YAFZ · 2012-10-25
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…
gilbetron · 2021-08-03
> 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-…
fanf2 · 2019-11-27
There's another review of the same study/replication/rebuttal at http://shape-of-code.coding-guidelines.com/2019/11/20/a-study-a-replic… which agrees that the rebuttal is unconvincing and the replication study rightly showed the original studies were seriously flawed.
curuinor · 2018-08-13
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-t…
pascal_cuoq · 2016-05-17
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-behavi… 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.
xiongchiamiov · 2014-11-06
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-statis… , http://blog.revolutionanalytics.com/2008/12/use-equals-or-arrow-for-as… , http://shape-of-code.coding-guidelines.com/2012/02/29/parsing-r-code-f… , 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 ) .

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close