M

Madhadron

madhadron.com · Personal blog · on HN since 2011

Madhadron is a programmer and former bioinformatician who writes on programming languages, bioinformatics, statistics, and working habits.

What HN saysHN commenters cite his bioinformatics farewell post, his seven ur-languages essay, and his energy-tracking experiment, often when discussing the state of bioinformatics tools.
29HN people shared it
8linked it in comments
32stories submitted
750story points
7 months agolast shared
2011people per year2026

Most-shared posts

  1. 1
    The seven programming ur-languages
    5 people · 4 points · first shared 2023 · 1 comments on HN
  2. 2
    A farewell to bioinformatics (2012)
    4 people · 8 points · first shared 2015 · discussion on HN
  3. 3
  4. 4
    A criticism of Ruby (2013)
    2 people · 69 points · first shared 2017 · 38 comments on HN
  5. 5
    The seven programming ur-languages
    2 people · 54 points · first shared 2021 · 27 comments on HN
  6. 6
    A criticism of Ruby
    2 people · 10 points · first shared 2013 · 1 comments on HN
  7. 7
    Protecting your hands as a programmer
    2 people · 3 points · first shared 2015 · 1 comments on HN
  8. 8
    A farewell to bioinformatics (2012)
    1 people · 337 points · first shared 2013 · 170 comments on HN
  9. 9
    Bayesian vs. frequentist: squabbling among the ignorant
    1 people · 110 points · first shared 2014 · 38 comments on HN
  10. 10
    Public comments considered harmful
    1 people · 45 points · first shared 2013 · 18 comments on HN
  11. 11
    Getting Better at Software Engineering
    1 people · 3 points · first shared 2025 · discussion on HN
  12. 12
    The problem with Silicon Valley’s libertarians
    1 people · 3 points · first shared 2013 · 5 comments on HN
  13. 13
    Show HN: Into the Sciences
    1 people · 3 points · first shared 2015 · discussion on HN
  14. 14
    How to store images in your database
    1 people · 2 points · first shared 2023 · discussion on HN
  15. 15
    Creating Effective Pull Requests
    1 people · 2 points · first shared 2021 · discussion on HN

What HN people wrote when they linked it

madhadron · 2012-05-24
Try monitoring your energy level. I ran this experiment on myself (http://madhadron.com/?p=254) with very useful results. I know that my energy level drops like a rock at 16h and doesn't really come back until about 20h. So I take care of stuff that doesn't require massive energy in that gap and try to protect my second energy burst of the day for getting other stuff done. As for the articles you've emailed yourself, I find it quite often the case that I no longer have enthusiasm a few hours later to read something that seemed interesting at first glance. The best solution there is not to read it and find something better. I also find that it helps to schedule a block of time for a particular project. For example, I'm typesetting a book for some friends of mine. On my calendar for yesterday evening was to put the chicken on to roast and then typeset while it roasted until other friends came over for dinner at 7. The broccoli and sweet potatos required some time, but not much focused attention, so I could keep the state of the typesetting in my head while I did prep work and then go back to it when things were cooking. You also may be using up your capacity for certain kinds of thought (e.g., programming and mathematics) at work. Try a project that uses a different part of your brain, such as drawing or writing fiction.
wickedchicken · 2011-06-16
These are still hotly debated and one paradigm is hardly 'waning' compared to the other. I think when you say "non-compiled, non-statically-typed" you actually mean "dynamically-dispatched." This page: http://madhadron.com/?p=191 popped up on HN a while ago and talks about this, the author talks about how dynamic dispatch lets you create and mold the language as you see fit -- "language as medium." It's not a better/worse comparison as much as it is a design decision: non dynamically-dispatched languages (C, Go) don't have their semantics modified at runtime and behave in a more "predictable" manner (and are easier to analyze and prove, which compilers take advantage of for speed). On the other hand, dynamically-dispatched languages (Smalltalk, Ruby and Lisp) let you modify the semantics of the program as it's running (see Ruby's method_missing and define_method for an example). This gives you tremendous power to craft really amazing things (Rails magic), but it also creates tremendous complexity and makes things less predictable. A side-effect of this is that a JIT is needed for programmatic analysis/optimization. I tend to consider dynamic dispatch the transfinite numbers of computing -- staying within the realm of regular integers "frees your mind" from mind-blowing concepts; you're limited in what you can make but you have more brainpower focused on making that "perfect." On the other hand, full dynamic dispatch opens up so many possibilities that sometimes you worry…
haihaibye · 2019-10-30
With age and humility has your view of the field tempered with time from "Fuck you, bioinformatics. Eat shit and die."[1]? I totally get your point, and it maddens me daily but I take the interesting + meaningful work/money tradeoff and enjoy being one of the best coders in a building (much harder in pure tech) [1] http://madhadron.com/posts/2012-03-26-a-farewell-to-bioinformatics.htm…
semiinfinitely · 2025-09-15
other file formats that rival fasta in stupidity include fastq pdb bed sam cram vcf. further reading [1] > "intentionally or not, bioinformatics found a way to survive: obfuscation. By making the tools unusable, by inventing file format after file format, by seeking out the most brittle techniques" 1. https://madhadron.com/science/farewell_to_bioinformatics.html
RetroTechie · 2023-08-20
Shouldn't hurt most programmers to look at problems from a different angle. Or at least allow their brains to re-wire into considering other programming styles. But that holds for other paradigms too: https://madhadron.com/programming/seven_ur_languages.html
jpfr · 2023-05-09
k and q are array languages in the APL tradition. APL is one the "ur programming languges". https://madhadron.com/programming/seven_ur_languages.html Here's an open source implementation of k: https://codeberg.org/ngn/k/ kdb is a time-series database with deep integration to k. It is famously used in the financial industry.
rak1507 · 2021-11-15
I'd learn at least 1 from every major paradigm (see https://madhadron.com/posts/seven_languages.html), but in particular I'd say Haskell and APL can be pretty mind bending.
lazyjones · 2013-03-02
I don't know, I still remember this from HN: http://madhadron.com/a-farewell-to-bioinformatics

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