Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. OpenJev(openjev.com ↗)
    95comments
  2. ZCode, the GLM coding agent, silently uploads your Git history(tokenstead.ai ↗)
    16comments
  3. Jemalloc 5.4.0(github.com/jemalloc ↗)
    54comments
  4. Microsoft exec called AI scraping 'the largest theft of labor in human history'(techcrunch.com ↗)
    173comments
  5. The scourge of x86 emulation(fex-emu.com ↗)
    35comments
  6. Cekura (YC F24) Is Hiring(ycombinator.com ↗)
    discuss
  7. Astra for Law(openai.com ↗)
    597comments
  8. Bonsai 2 27B: Near-Lossless Compression in a 9x Smaller Footprint(prismml.com ↗)
    142comments
  9. Subnormal floating-point numbers are expensive on Intel processors(lemire.me ↗)
    1comments
  10. Replacing Pull Requests with Delta(zed.dev ↗)
    16comments
  11. Bend – A language that blocks AI mistakes via proof, on CPU and GPU(bend-lang.com ↗)
    238comments
  12. Qwen 3.8 Omni Flash(qwen.ai ↗)
    87comments
  13. Hister: A private search engine for the pages you visit and the files you keep(github.com/asciimoo ↗)
    171comments
  14. Wax motor(wikipedia.org ↗)
    75comments
  15. Fujitsu launches made-in-Japan next-generation CPU FUJITSU-MONAKA(global.fujitsu ↗)
    236comments
  16. Pre-Greek: The lost language hidden within Ancient Greek(linguisticdiscovery.com ↗)
    43comments
  17. When the fractional part of a float fixes your shader(crocidb.com ↗)
    8comments
  18. Warren Buffett Steps Down as Berkshire Chairman, Names Son to Replace Him(nytimes.com ↗)
    12comments
  19. Dr Julius Neubronner's Miniature Pigeon Camera(publicdomainreview.org ↗)
    discuss
  20. How to Write with an LLM(sockpuppet.org ↗)
    125comments
  21. A heap overflow and SSO misconfiguration to compromise OpenAI internal repos(hacktron.ai ↗)
    159comments
  22. Google illegally retains customer data,and I am taking legal action against them(medium.com/istokovicsgyorgy79 ↗)
    6comments
  23. Shapelearn Qwen 3.8 27B (13.1 GB VRAM)(byteshape.com ↗)
    15comments
  24. Ask A Monk – A digital wilderness for thoughts with no immediate answer(askamonk.online ↗)
    27comments
  25. Flet 1.0 – Build cross-platform apps in Python(flet.dev ↗)
    66comments
  26. Telstra outage: The night a network decided the year was 2006(netnod.se ↗)
    29comments
  27. Speeding up gearhash on ARM64(sam.dev ↗)
    discuss
  28. Diplodocus, Long Thought Exclusively American, Turns Up in Spain(sci.news ↗)
    45comments
  29. The most important product decision is what you don't build(liamnugent.me ↗)
    41comments
  30. Why I didn’t sign the Fields medallists’ letter(gowers.wordpress.com ↗)
    374comments

Ask HN: How long do you take to digest a Hard Programming Text?

6 pointsby 15y ago
5 comments
This question probably isn't the most useful, but it's always been a curiosity of mine. A recent look at Rick Hickey's Clojure bookshelf (http://www.amazon.com/Clojure-Bookshelf/lm/R3LG3ZBZS4GCTH/ref=cm_lm_byauthor_title_full) while trying to decide which book to tackle next prompted this question.

First, some definitions.

By digest, I mean to internalise all the core concepts of the text. I'm not just talking about practical implementation here; one recent personal example was the implementation of Hume and Sunday's Tuned-Boyer-Moore algorithm. I could express the algorithm pretty easily, but never knew what "unrolling the inner loop" meant until exploring and staring at various sources for a month. That represented probably about 30 hours of total time, something which, on the surface, seems like a horrendous waste of time (I learnt a lot while researching that of course - but it doesn't feel like it.).

By Hard Programming Text, I mean any document (book/paper/etc) which requires that you understand a completely new paradigm, or that changes substantially the quantity of your knowledge. So for example, a book like "Lisp in Small Pieces", which taught me the concept of Continuations, was considerably hard on the conceptual side. This also took at least a month of conscious connecting the dots between what was in the text, tail-recursion, and those funny callback functions I've been writing in nodejs, before i "Got it".

Naturally, that process is a little draining, but brings with it it's rewards. Still, what immediately follows is the reflective stage, when which I question whether I'm wasting my time, bringing to mind the images of first-hand experiences with people who just seem to internalise novel concepts like a sponge.

Anyway, TL;DR - understanding a programming text is really difficult, how long does it take you to internalise the concepts in that text, and what do you do to speed it up (if possible)?

15y agoHN ↗

It's been 10 years since SICP was assigned to me for a class, and I still find that it has previously-undiscovered truths waiting for me every time I open it up.

15y agoHN ↗

I should probably take a second run through that classic now. =P

15y agoHN ↗

I find it takes about 3 weeks if I start reading the text with a real-world use in mind. A week into it I'll try to write something towards that real-world goal and it will be horribly broken, but it will force me to really research what I'm not understanding as I'm going through the book instead of going back to re-read it 2 months later when I'm trying to use the new language/technique/etc.

15y agoHN ↗

I suspect you're going to get very different answers depending on what people consider "hard".

Continuations took me months, as did monads and typeclasses. Largely because there were preconceptions about programming that I had to unlearn before I could learn them. Continuations essentially require that you descend to a level of abstraction below structured programming and think "what is the computer actually doing", and then re-ascend the abstraction ladder with a new way to structure that. Monads require that you understand typeclasses, and typeclasses require that you think in terms of sets of types and the relations that govern them; it's not enough to import familiar OOP concepts.

A bunch of papers use such obtuse mathematical language that I couldn't hope to understand them without a grad degree in math.

OTOH, reading something like Lisp in Small Pieces (or even SICP) now is considerably easier, because I'm familiar with the basic concepts.

15y agoHN ↗

Thanks for the feedback. What you've said is true, and I should have included a clause asking what the answerer's background was.

Personally, I started out programming with Lisp, and hence got introduced to the functional style early on. So that was 2 years spent with Lambda's, and a year with laziness, type classes and purity (Haskell) before being introduced to Continuations.