frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Ask HN: Best Podcasts of 2026 [So Far]

10•AbstractH24•4h ago•8 comments

Ask HN: Is GitHub preparing to go behind a login wall?

44•reconnecting•11h ago•32 comments

Ask HN: Where are the good search engines for mathematical formulas?

52•lo0dot0•3d ago•15 comments

Tell HN: Who wants to be hired" posts outpace "Who's hiring" 2 to 1

53•santiagobasulto•17h ago•30 comments

What if users start cloning SaaS using AI

2•mzubairtahir•4h ago•2 comments

Ask HN: Please give us an option to hide our username in the upper right corner

3•swingandamiss•6h ago•13 comments

Ask HN: How do you keep documentation up to date with AI generated code?

4•ghosts_•6h ago•4 comments

I coded a shoot 'em up alone at 18 after learning Lua in a single week

4•DamixLord•8h ago•2 comments

Ask HN: Is anyone experimenting with different ways of using LLMs for coding?

203•yehiaabdelm•4d ago•202 comments

Ask HN: Do you have more or less than 1Mb text of your own writing?

3•cwmoore•9h ago•20 comments

Tell HN: I managed to unsubscribe from Adobe CC without being charged

24•frereubu•1d ago•2 comments

Tell HN: Fable is now credits only

9•teruakohatu•22h ago•7 comments

Ask HN: How do I setup SSO and SLO on my two WP websites with separate databases

2•anitroves•11h ago•0 comments

Ask HN: What is your AI harness that lets you switch LLM models easily?

3•hbarka•11h ago•3 comments

Tell HN: Fable 5 promotion extended through July 12, 2026 at 11:59:59 PM PT

15•theanonymousone•12h ago•5 comments

Ask HN: Are LLMs slowly making companies dysfunctional?

6•haute_cuisine•14h ago•3 comments

Ask HN: Make good open-source products, but how to get user?

3•Loerei•14h ago•4 comments

Ask HN: Who is hiring? (July 2026)

245•whoishiring•6d ago•369 comments

Ask HN: What are alternative to Upwork for side gig?

6•user7878•17h ago•2 comments

Ask HN: Are systems ready for the first negative leap second?

10•Asmod4n•1d ago•11 comments

Claude has the worst pricing – but people want it

10•amukbils•1d ago•21 comments

Ask HN: Who wants to be hired? (July 2026)

151•whoishiring•6d ago•505 comments

Ask HN: Fable 5 promo ends today – is anyone keeping it once it's usage-billed?

10•franze•17h ago•15 comments

Ask HN: What cool stuff have you all been using Fable 5 for?

12•Tsarp•1d ago•14 comments

Ask HN: Since when does Craigslist's front page have emojis?

39•argee•1w ago•33 comments

Ask HN: Is anyone using Jujutsu version control (JJ) exclusively?

7•cabyambo•1d ago•1 comments

Ask HN: Are there good security benchmarks for LLMs?

7•melvinroest•1d ago•0 comments

You've reached the end!

Open in hackernews

Ask HN: Do you have more or less than 1Mb text of your own writing?

3•cwmoore•9h ago
Of all that you have written in ypur lifetime, do you have in your possession more or less than 1Mb (180,000 words) of text?

Printed, blogged, work-related, personal diary, fiction practice, emails you personally wrote (not so much copies of boilerplate, or coauthoring when added for other reasons than actual written words).

Asking out of curiosity.

Comments

KashifNY•9h ago
Yes i do, i like to put down my thoughts in writing as well as planning out strategies and such as i found out that i could not find a pen when i needed it much which was a dilemma of mine and so i started just using my laptop and phone to jot down what came to mind and was worth recording
cwmoore•6h ago
How much more than 1Mb, do you know?
cwmoore•2h ago
50 years of one 50 word grocery list per week (if you keep them) is 130,000 words, but not everyone writes that much, or that consistently, or for that long, or keeps complete digital copies.
Bender•8h ago
Some here probably have more than 1mb in comments. There's probably a way to calculate that through the API if someone were so inclined.
eth0up•6h ago
I just pinged the api to dump my 10 year comment history. Yes, that definitely can be done, in a few seconds and a script.

Edit: the csv = 698kb and the json = 866kb Edit 2: api was the wrong term. I used algolia.

cwmoore•6h ago
Great datapoint, thanks.

My “Ask HN” was not intended to focus on HN comment writing only, but since it headed that way on its own, can you share a scriptlet so that others may do more than speculate?

eth0up•5h ago
You ok with python?
cwmoore•4h ago
I am
eth0up•4h ago
#!/usr/bin/env python3

""" WARNING: For use on mortals only -- WIll break on tptacek and other mutant laureates """

  import argparse
import csv import json import sys import time from pathlib import Path

import requests

API = "https://hn.algolia.com/api/v1/search_by_date" HITS_PER_PAGE = 1000 ALGOLIA_DEEP_PAGE_LIMIT = 10000 # page * hitsPerPage must remain <= this

def fetch_page(username, page, created_after=None, created_before=None): params = { "tags": f"comment,author_{username}", "hitsPerPage": HITS_PER_PAGE, "page": page, } filters = [] if created_after is not None: filters.append(f"created_at_i>{created_after}") if created_before is not None: filters.append(f"created_at_i<{created_before}") if filters: params["numericFilters"] = ",".join(filters)

    resp = requests.get(API, params=params, timeout=30)
    resp.raise_for_status()
    return resp.json()

def get_total_in_range(username, created_after=None, created_before=None): data = fetch_page(username, 0, created_after, created_before) return data["nbHits"], data

def dump_range(username, created_after, created_before, seen_ids, all_records, depth=0): """Recursively bisect time ranges to stay under Algolia's 10k page wall.""" total, first_page = get_total_in_range(username, created_after, created_before) indent = " " * depth lo = created_after if created_after is not None else "start" hi = created_before if created_before is not None else "now" print(f"{indent}Range [{lo} .. {hi}]: {total} comments")

    if total == 0:
        return

    max_reachable = ALGOLIA_DEEP_PAGE_LIMIT  # page*hitsPerPage cap
    if total <= max_reachable:
        # safe to page through directly
        page = 0
        while True:
            data = first_page if page == 0 else fetch_page(username, page, created_after, created_before)
            hits = data["hits"]
            if not hits:
                break
            new = 0
            for h in hits:
                if h["objectID"] not in seen_ids:
                    seen_ids.add(h["objectID"])
                    all_records.append({
                        "id": h["objectID"],
                        "author": h.get("author"),
                        "created_at": h.get("created_at"),
                        "created_at_i": h.get("created_at_i"),
                        "comment_text": h.get("comment_text"),
                        "story_id": h.get("story_id"),
                        "story_title": h.get("story_title"),
                        "story_url": h.get("story_url"),
                        "parent_id": h.get("parent_id"),
                        "points": h.get("points"),
                    })
                    new += 1
            print(f"{indent}  page {page}: +{new} (running total {len(all_records)})")
            if (page + 1) * HITS_PER_PAGE >= data["nbHits"]:
                break
            page += 1
            time.sleep(0.5)  # polite pacing, Be a nice human
    else:
        # bisect on time: find midpoint of range and recurse both halves
        lo_i = created_after if created_after is not None else 0
        # use "now" as a safe upper bound if open-ended
        hi_i = created_before if created_before is not None else int(time.time())
        mid = (lo_i + hi_i) // 2
        print(f"{indent}  -> exceeds {max_reachable}, bisecting at {mid}")
        dump_range(username, lo_i, mid, seen_ids, all_records, depth + 1)
        dump_range(username, mid, hi_i, seen_ids, all_records, depth + 1)

def main(): ap = argparse.ArgumentParser() ap.add_argument("username") args = ap.parse_args() username = args.username

    seen_ids = set()
    all_records = []

    print(f"Fetching full comment history for '{username}'...")
    dump_range(username, None, None, seen_ids, all_records)

    all_records.sort(key=lambda r: r.get("created_at_i") or 0)

    json_out = f"hn_comments_{username}.json"
    csv_out = f"hn_comments_{username}.csv"

    with open(json_out, "w", encoding="utf-8") as f:
        json.dump(all_records, f, indent=2, ensure_ascii=False)

    if all_records:
        fieldnames = list(all_records[0].keys())
        with open(csv_out, "w", newline="", encoding="utf-8") as f:
            writer = csv.DictWriter(f, fieldnames=fieldnames)
            writer.writeheader()
            writer.writerows(all_records)

    print(f"\nDone. {len(all_records)} total comments.")
    print(f"  -> {json_out}")
    print(f"  -> {csv_out}")

if __name__ == "__main__": main()
billybuckwheat•7h ago
Far, far more than 1 MB.
cwmoore•6h ago
Thanks, that’s a lot. Can I ask for a ballpark figure? And how you have written so much?
eth0up•4h ago
In case you don't receive an answer, an alternative to whatever they might have said or not have said, is stupidly simple: Just force yourself to write. Sit down. Lay down, stand on your head. Just do what ever you need to do to force yourself to write. Small personal essays are my suggestion. And a tip: never pause to edit -- just keep writing until you tire, and only then, if you must, go back and scrutinize yourself.
cwmoore•4h ago
Hah! Good advice!

What I was asking was for anyone, prolific at writing or or not, to understand their own output in relation to…L1 cache or a context window.

But thanks! I guess my issue with writing, as a complete amateur, is the later stages, and followup, compiling or reviewing. Reading is not the only reason to write, but it is an important one.

I think it is a relevant human-scale question, relating to and understanding a paltry personal megabyte (or less) on a forum where gigabyte models are half the conversation. Its the wrong metric in a way like LoC, to compare to your comment.

eth0up•3h ago
If I am understanding correctly, you are also putting into perspective the dizzying contrast of human vs LLM, where the mere context window far exceeds an average lifetime of writing, which if so, yeah, ... interesting times. Before they ruined Claude with 4.7 and 5, I had more than a few extensive, hundred-page discussions which still kind of blow my mind in review. I miss it as I do some old departed friends. It would get quite amnesiac toward the ends, but still beat the hell out of many conversations I've had with PhDs.

On that note, my generated content, or product of my LLM interactions, exceeds 6GB, probably a lot more. Of course, on average, the LLM is producing far more output. But that's ~ two years of heavy, mostly research-based dialog, much of it adversarial, probing the frontier systems themselves.

dlcarrier•7h ago
It doesn't take long to build up that many words on online forums, like Hacker News.
cwmoore•6h ago
Thanks for your input. Apparently it does! There’s another commenter on this thread who found less than that in their 10 year history.
senordevnyc•4h ago
Way way more. I write about that in journal entries alone per year
cwmoore•2h ago
Thanks for the feedback! Sounds like you are prolific and consistent!

Do you write outside of journaling? Same amount?

Bender•2h ago
eth0up your last comment went auto-[dead] probably because of the python. I vouched for it, think that much worked.

I would just grab it and add to a text file URL but python cares about spaces and the script is not consistently indented 4 spaces to make it into HN code. Do you by chance have a git repo you can save it to?

Another option is to sftp it to hn@nochan.net (no password), put in /pub/ and I can turn it into a URL. If you can reach it.

cwmoore•2h ago
Exactly right—interesting times. I’m curious whether you could estimate what percentage of the 6Gb sessions were your own writing? Of course you guide the ideas, but this word count is a different question from “how many words have you read?” (or generated, or conpiled from source :)