Vivek Haldar

blog.vivekhaldar.com · Personal blog · on HN since 2011

Vivek Haldar writes about programming, code quality, Unix, Emacs, and working as a software engineer over a long career.

What HN saysHN commenters cite his post that code size predicts code quality, argue over that metric, and also discuss his Emacs and command line pieces.
40HN people shared it
9linked it in comments
210stories submitted
2.4Kstory points
3 years agolast shared
2011people per year2026

Most-shared posts

  1. 1
    Size is the best predictor of code quality (2011)
    6 people · 457 points · first shared 2011 · 188 comments on HN
  2. 2
    The Levels of Emacs Proficiency
    6 people · 17 points · first shared 2011 · 1 comments on HN
  3. 3
    The Cognitive Style of Unix
    5 people · 23 points · first shared 2011 · 1 comments on HN
  4. 4
    GUI vs CLI: Operation vs Expression
    3 people · 134 points · first shared 2011 · 82 comments on HN
  5. 5
    How Unix Won
    3 people · 11 points · first shared 2020 · 1 comments on HN
  6. 6
    Tldr summary: deliberate practice for expert performance
    2 people · 84 points · first shared 2011 · 13 comments on HN
  7. 7
  8. 8
    T-shirts are currency
    2 people · 44 points · first shared 2012 · 46 comments on HN
  9. 9
    The programming assembly-line
    2 people · 16 points · first shared 2011 · 1 comments on HN
  10. 10
    The 0.1x developer
    2 people · 7 points · first shared 2011 · discussion on HN
  11. 11
    Why technologists want to secede
    2 people · 6 points · first shared 2014 · discussion on HN
  12. 12
    How to debate
    2 people · 4 points · first shared 2012 · discussion on HN
  13. 13
    The Automatic Corporation
    2 people · 4 points · first shared 2014 · discussion on HN
  14. 14
    New frontiers in text editing
    2 people · 4 points · first shared 2012 · 3 comments on HN
  15. 15

What HN people wrote when they linked it

beefman · 2016-11-23
I agree. Thanks for the links. In the case of TodoMVC I count 186 SLOC for Riot, 192 for Vue, 235 for jQuery, 346 for Polymer, and 451 for React (all of which implement routing). GitHub SLOC is a bit flawed but it's a good first-pass estimate of code complexity.[1] This analysis is almost a year old but I don't think any of the implementations have changed. Which is concerning, actually. [1] http://blog.vivekhaldar.com/post/10669678292/size-is-the-best-predicto…
sytse · 2016-09-30
GitLab is 30k+ lines of Ruby code http://gitlab-org.gitlab.io/gitlab-ce/coverage-ruby/#_AllFiles We're not missing static typing as far as I know. We still are able to ship a lot of changes every month. I'm not sure if it is our structure (idiomatic Rails), test coverage (over 85%), something else, or maybe we should miss it but don't realize it. One disadvantage is that static typing causes more lines of code than dynamic code. And code size is the best predictor of code quality http://blog.vivekhaldar.com/post/10669678292/size-is-the-best-predicto…
npsimons · 2014-07-24
I was half expecting you to realize that you answered your own question before you asked it (why do you implore novices to try out the command-line?). But what the hey, I'll throw out some links that go better into why Emacs is still a very viable contender for your editor of choice. Steve Yegge wrote a classic programming read "Tour De Babel"[1], which has a bit on Emacs under the Lisp section. He also wrote "Effective Emacs"[2], which just the intro tries to explain why you should use Emacs. Lastly, there's Vivek Halder's "Levels of Emacs Proficiency"[3] which will either amuse/awe you or scare you. [1] - https://sites.google.com/site/steveyegge2/tour-de-babel [2] - https://sites.google.com/site/steveyegge2/effective-emacs [3] - http://blog.vivekhaldar.com/post/3996068979/the-levels-of-emacs-profic…
joeyespo · 2012-09-19
What's interesting and somewhat related are the studies done where, all things being equal, code size is the best predictor of code quality [1]. I think as far as justifications go, this research gives us a compelling reason to continue down the path of minimalization and simplicity, even when we have the capacity to store and execute very large programs. [1]: http://blog.vivekhaldar.com/post/10669678292/size-is-the-best-predicto…
gruseom · 2013-08-17
Without going into too much detail Please do go into detail. What is some of this "quite a lot" of knowledge that sheds light on the questions at hand? It would be great to have new references. "code size" is an awful metric This has come up on HN before and the evidence does not support what you're saying. The gold standard in recent work [1] found that more complicated metrics have no value beyond simple program length: "After controlling for size none of the metrics we studied were associated with fault-proneness anymore." it's about as verifiable and confirmed as cyclomatic complexity is Do you mean they're both awful? Actually, if what you say is literally true, it follows by Occam that cyclomatic measurements are worthless, since they are far more complicated and no more valuable than the most trivial metric there is. The studies may be weak and often old, but at least there is a body of evidence around this, and the body of evidence points reasonably consistently to the conclusion that code size is (a) the best measurement of complexity that we have, and (b) the best predictor of error rates. (The only other one I know of that has repeatedly been verified is code inspections, and that's a process not a metric.) Contradictory evidence is welcome. It's true that there's a debate around how best to measure code size. But that's a separate question. That also has received some pretty high-quality discussion on HN in the past--see the link below. It changed my…
gandalfgeek · 2019-08-24
Not just code bases, but it is useful to think of large planet scale systems in organic terms. https://blog.vivekhaldar.com/post/6972614229/large-computer-systems-ar…
PuercoPop · 2014-10-31
This -> people make social rather than technical decisions Leo Meyerovich did a study on the social factors that affect language adoption[0]. Vivek Haldar has a highlights the salient points[1]. More info at his site: [2] [0]: http://lmeyerov.github.io/projects/socioplt/papers/oopsla2013.pdf [1]: http://blog.vivekhaldar.com/post/56972066006/empirical-analysis-of-pro… [2]: http://lmeyerov.github.io/
jonmc12 · 2013-07-29
“Business destroys creativity, self-knowledge, emotional well-being, your ability to be social,” - does not seem to reconcile the partition of mental activity presented in "The Role of deliberate practice in the acquisition of expert performance" (summary: http://blog.vivekhaldar.com/post/3881908748/tldr-summary-the-role-of-d… - notably, "The importance of rest" has its own section. Productivity tools are not destructive, they are just useful in context and inefficient when mis-applied - just like any other tool.
akkartik · 2011-09-22
A week ago I would react differently to this article. But I just had my belief system overhauled by reading http://blog.vivekhaldar.com/post/10126017769/smeeds-law-for-programmin…

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