HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
egladman
herodotus
JavaScript2016–2016
egladman / herodotus · Archived

herodotus

An IRC bot written in node.JS that logs a channel's activity and saves it to JSON, JSONL, Markdown, or CSV

2Distinct people
2Mentions
0Explicit recommenders
39GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

An IRC bot written in node.JS that logs a channel's activity and saves it to JSON, JSONL, Markdown, or CSV

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by hour2 dated mentions

Observed mentions: 2016-02-20 11:38:15 UTC to 2016-02-20 17:41:03 UTC.

012016-02-20 11:00:00 UTC to 2016-02-20 12:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsFeb 20, 11:002016-02-20 12:00:00 UTC to 2016-02-20 13:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-02-20 13:00:00 UTC to 2016-02-20 14:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-02-20 14:00:00 UTC to 2016-02-20 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsFeb 20, 14:002016-02-20 15:00:00 UTC to 2016-02-20 16:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-02-20 16:00:00 UTC to 2016-02-20 17:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-02-20 17:00:00 UTC to 2016-02-20 18:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsFeb 20, 17:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Feb 20, 11:002016-02-20 11:00:00 UTC2016-02-20 12:00:00 UTC110
Feb 20, 12:002016-02-20 12:00:00 UTC2016-02-20 13:00:00 UTC000
Feb 20, 13:002016-02-20 13:00:00 UTC2016-02-20 14:00:00 UTC000
Feb 20, 14:002016-02-20 14:00:00 UTC2016-02-20 15:00:00 UTC000
Feb 20, 15:002016-02-20 15:00:00 UTC2016-02-20 16:00:00 UTC000
Feb 20, 16:002016-02-20 16:00:00 UTC2016-02-20 17:00:00 UTC000
Feb 20, 17:002016-02-20 17:00:00 UTC2016-02-20 18:00:00 UTC101

What Hacker News says

2 sources
Wtf?! https://github.com/egladman/herodotus/blob/master/server.js#... How can a developer be that stupid? file.write is atomic (guaranteed to "work") for PIPE_BUF (posix) octects ~ 16ko at most. JSON is guaranteed to be unparsable if the file is truncated of the last chars (it is not very resilient). Hence the write may corrupt your WHOLE log if a non recuperable failure happens or the code is interrupted. The code DOES not use fixed size allocation ... thus is can crash randomly because of SEGFAULT in the middle of the writing. The history will take cumulative size in memory. This coding attitude highers the probability of this failure to happen BY DESIGN. Is it that complex to FIRST write the file, and THEN atomically rename the new file to the old file at worst (resulting only in losing the current session, but not the whole history).
Read the rest
If your log are that precious, why would you not take extra care about protecting them? This code makes me want to puke. On the other hand, it is representative of the reason why I am disenchanted by modern coding standards.
In Show HN: Herodotus – An IRC bot that logs a channel's activity to JSON

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.