Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Minimal Reader for the ESV Bible, Written in Janet (github.com)
151 points by jonstaab 14 days ago | hide | past | web | favorite | 74 comments

One thing that bothers me about modern Christianity is that I don’t think Christian Bibles or worship songs should be copyrighted. I understand why they feel the need to protect their work but it seems like that work should be funded with donations and not by restricting how many verses of the Bible a person can copy at a time, which according to the license you included is what the ESV Bible requires.

Cool project though, I like the idea of being able to read the Bible without accidentally pressing play on an audio version.

I think a lot of Christians haven't thought about that. Translating the Bible takes a lot of work. The work on the ESV started in the early 1990s from what I could find on Wikipedia, so we're talking about 7-11 years of work before it was published. I don't know how well donations would cover those costs.

So I think a lenient copyright would be fine such as it expires in 30 years at the most and it allows for copying whole chapters but perhaps not whole books. Even with current copyright restrictions the only people that are impacted are authors using lengthy direct quotes, but with allowing whole chapters to be included that shouldn't be an issue. I would be for a shorter copyright term, but it does take time for new translations to be adopted.

This is great! Hadn't heard of this API before. I was just tinkering with a small Bible cli in bash using time TSV-formatted Bible data, but now I think I'll just check this out!

Very nice. I love the ESV translation. If you're into minimal Bible versions and old-school protocols, here's my ESV Bible on gopher:


Ahhh the simple TXT days of gopher. I always appreciated gopher and hate more wasn't done with it. Thank you for this!

If you're content with the KJV, John Walker of Autodesk fame has it available at https://www.fourmilab.ch/ under “Books on-line.”

I'm not linking to it directly, because his site is a candy store that deserves exploring.

How can I access that?

"curl gopher://gopher.black/1/bible/Jonah/jonah-1.txt"

"echo -n /bible/Jonah/jonah-1.txt | nc gopher.black 70"

Very cool ^

Looks nice yet I feel like reading the Bible or whatever alike in a single translation makes little sense. IMHO viewing the originals + all the possible translations for every word + a number of translations to a number of languages in parallel is a must if you want to know what was actually written there. G-d bless.

Agreed. Interlinears are essential to get the full sense of any given passage. That's one of the reason there are so many bible translations, it's half written in a language that demands a reader of the native language insert letters contextually to arrive at the correct word (Aramaic) and half written in a language that's the colloquial example for something hard to understand (Greek).

I bought a subscription to Logos (Faithlife) a while back - it's some amazing software, and the books they sell have a, frankly, jaw-dropping amount of cross-references linked both into most any bible translation you could imagine, but other books as well.

There isn't very much Aramaic in the bible (parts of the book of Daniel and a smattering of verses in a few other books), I think you mean Hebrew. And no letters are inserted. You are thinking of the vowels, but the vowels are not letters, they are represented by a point system. And the Hebrew Bible if fully pointed. It is just modern Hebrew for adult readers that is not pointed (things like the newspaper and novels).

A translation is basically offloading all that to a team of scholars.

Other religious books may have been standardized so you can't compare different versions, but that does not diminish the versions studied today.

"A translation is basically offloading all that to a team of scholars."

Especially a brilliant translation like the ESV.

For example, Peter J. Williams (https://www.crossway.org/authors/peter-j-williams/) is just one of the PHDs who worked on the ESV Translation Oversight Committee. I once listened to a talk Peter gave at St Helens' Bishopsgate (https://www.st-helens.org.uk/resources/talk/51892/audio/) on how translating has improved his confidence in the textual reliability of the manuscripts. I've never heard someone speak so well before.

It's true that reading more than one translation helps, but I find that even just reading a formal equivalence translation such as the ESV, together with a dynamic equivalence transalation such as the old NIV, will get you 98% of the way there, and there are commentaries to help with the rest.

It would be a real shame to never read the Bible in your mother tongue, when so many translators have sacrificed so much to make that possible, simply because one feels it can't be understood unless "you read it in a 100 languages". I think the question then becomes, well, do I want to read and truly understand, am I open-minded or am I just filibustering?

I took a year of Biblical Greek and Hebrew in college. The main reason I think it is required for Theology majors is to show that the translators did a really good job most of the time. There are times knowing both languages has helped clear up a passage, but comparing various translations and reading what other translators have to say about the passage would probably be just as good for that.

Best is reading the originals directly. As I recall the bible is written in 5 languages, so learn those 5 to fluency and read that. Since most of us don't have the time to learn 5 languages well enough to understand subtle details we rely on translations.

Problem is... we DON'T have the originals.

Something few people know:

The greek translation of the old testament, might be more accurate than the hebrew version.

The reason is that the complete hebrew version we have (I mean, ignoring fragments found in archeological digs recently), was written about 700 years after Jesus, by a group of people that were strongly biased against the idea that Jesus was the Messiah, also their version has explicit editor notes, and commentary, and obvious errors (for example "alphabetic" psalms that are missing letters, while the greek translation still have them).

Some of my favourite translations are ones that did research to find what was probably closest to originals, instead of reliance on the language of manuscripts, there are even some ethiopian texts (in ethiopian language!) that are reputed to be more reliable than more recent texts that are supposed to be copies of originals in original language.

"Problem is... we DON'T have the originals."

That's a common misunderstanding of textual criticism, when it comes to the Bible, often peddled by pop-scholars writing for the masses, who make out that the sheer number of minor textual variants is a major stumbling block in getting back to the original text.

On the contrary, the more copies you have, the better. It's the same with Google, you hope they make thousands of backups, and at different points in time.

With textual criticism, you don't need the originals if you have thousands of copies to compare, in different languages.

Likewise with ancient history, you don't need to have been there, to know that an event happened in the past.

I would encourage you to read people like Bruce M. Metzger, F.F. Bruce, or Paul Barnett if you want to understand the logic of ancient history and textual criticism, or if you want to balance your perspective.

I found this paper by Maurice A. Robinson very informative on the subject, but he does advocate for Byzantine priority. http://rosetta.reltech.org/TC/vol06/Robinson2001.html At the very least it's a good introduction to New Testament textual criticism, and it goes further in depth on your points.

What are the five language? There is Hebrew and Aramaic in the OT (though Aramaic is a close to Biblical Hebrew as Spanish is to Portuguese, so it's not very hard to pick up one when you know the other). In the NT we have Greek and a smattering of Aramaic/Hebrew words. What are the other two languages?

Good question. I do not know, I jut recall someone telling me that 5 once. It seems like it is in the right range.

> A translation is basically offloading all that to a team of scholars.

Those same scholars would say the same thing: You can not understand the original intent from a single translation. (For example some words have multiple meanings, and all the meanings are intended.)

Translations have different purposes, some are intended for smooth reading, or poetic language, or literal direct translation (never mind if it's hard to understand), or easy comprehension.

And ALL of them are valuable! If you have a specific need, pick the translation that matches your need.

But, for study, to really understand the material you need more than one, and in particular you need notes and explanation.

Of course, but no theologians are telling laypeople to learn Greek, ancient Hebrew, Aramaic and vulgar Latin before reading a translation in their first language! Or at least not since post counter reformation.

A team of scholars who have a (perhaps unconscious) doctrinal bent that influences their translation. If a word can be translated 10 different ways into English, of course you are going to choose the English word that matches your concept of doctrine. This is inevitable. By reading many different translations from scholars from different belief systems (catholic, protestant, orthodox, restoration, etc.) you will get a more rounded sense of possible meanings.

If you're interested in tools for this, Logos Bible Software is quite good.

Yeah, I'm using "And Bible" on Android, and one of the big killer features for me is that it can easily show a selected verse in every translation that it has downloaded.

Why did you use a hyphen in place of the letter o?

Whoa this is really cool. I've seen janet on HN a few times now!

It's a pretty great language

Yea the ESV API is really cool. Thanks for the share

I've long had the dream of a bible app that functions like Google Photos. One scrollbar, top is Genesis, bottom is Revelation. I've given it some thought, but haven't written any code yet. @jonstaab is that something you'd be interested in collaborating on?

Edit: fix typo in name

That wouldn't be too hard, though you'll have to take a different approach to loading the content than I did here.

I made this project for myself, so I'd be unlikely to use much else for reading/quick reference, but if you find the xode helpful, you're welcome to dork it! You migh also check out: https://www.notion.so/About-Theographic-bb40cb93b1ac43bd9825...

Side bar with books and chapters would be nice too, like google photos months and years.

I had this idea two days ago, but to do it with Douay-Rheims. Then I fiddled around and came to the conclusion that my laptop is too bright for heavy reading even with white text on black background. Maybe an OLED laptop would alleviate eye strain for long reading at night, can anyone confirm?

Can confirm. Since the first Galaxy, all Samsung Galaxy phones have had OLED screens. I frequently read in absolute dark and eye-strain is not an issue (especially with the red light filter).

Really responsive, smooth interface. Great work.

Thank you for publishing this example, it looks great. I noticed that it works with Heroku, would you be open to trying it on OpenFaaS Cloud using the free Community Cluster?

It should be easier to use than Heroku and you can encrypt your API keys using SealedSecrets too.

Reach out? alex@openfaas.com


I've always wanted a Bible without verse numbers.

There's a lot that gets in the way of reading most Bibles. This old Kickstarter laid out the problems nicely (not an endorsement, I don't own this version). https://www.kickstarter.com/projects/adamlewisgreene/bibliot...

They actually publish a few like that now (an ESV version included actually I think). It’s my favorite way to read it.

In case anyone is wondering what to google, they're called "Reader's Bibles".

I see a header with a search box and the rest of the page is blank. Chrome 78.0.3904.70

Console: (index):247 Uncaught (in promise) TypeError: Cannot read property 'length' of undefined at search ((index):247) search @ (index):247 async function (async) search @ (index):245 (anonymous) @ (index):130

Yep, looks like I got rate-limited. Good old HN hug of death. I've just added a caching layer, so maybe it'll recover soon.

Edit: should be good now.

Is this (janet) a lisp interpreter ?

You can find details on the language here: https://janet-lang.org/

Awesome. Any chance it can have an option for using other translations? Big fan of RSVCE personally.

The biggest limit is availability of a good API; I couldn't find any for the RSV or NRSV.

I'm keeping my scope very small - feel free to fork and modify though!

If I scroll up to/past Luke 21, it goes blank with "No results found". Firefox 70.0.1. I like the minimalist style though.

Probably the rate limiting thing, I kicked their leaky bucket pretty hard.

Speaking of Luke, typing "Luke" into the search bar does not come up with Luke. Typing "Luk" works.

Refreshingly simple. Well done.

awesome! I used to use emacs with an api key to read ESV, this is nice.

I like the ESV API, hadn't seen that before.

Thanks, author.

I don’t have a problem with people finding comfort or something of value in religion, but also don’t think that a rationalist community like HN should assist in promulgating religion any further into society than it already is.

"HN" isn't promulgating anything. Jonstaab has shown us a side project, which is a) written in an interesting new language and b) may be of use to the many religious people that are a part of our community.

The bible is an interesting, mysterious, historical phenomenon. You don't have to be religious to read it. I'm not religious and I'm currently on a plan to read it in Spanish in one year by my next birthday. Just for fun and to say I did it.

I like this website because it lets you compare different bibles and translations side by side:


The fact that there is an API to publish verse by verse the text of one book, i.e. a handful of megabytes uncompressed, is interesting.

The fact that this book happens to be a book of which there is a copy in every hotel room makes it a bit paradoxical.

The fact that this book is the scripture for a religion which considers usury a capital sin makes it the best example of artificial scarcity i can think of.

In one sense, they're not copyrighting the Bible itself, just the years of scholarly and commercial work that was put into making the ESV. Paul (and Deuteronomy) says "Do not muzzle an ox while it is treading out the grain".

On the other hand, it's hard to argue that Bible publishers' spammy newsletters and aggressive copyright protection amount to much more than Simony.

I had never heard of this translation, tending KJV myself.

The idea that people wish to be compensated for spiritual effort is perfectly capitalist. I may need to take a look. But if the tone of the ESV resembles the NIV, the ESV may be lacking bass in the mix for my taste.

You just can't improve on Ecclesiastes in the KJV:

"Consider the work of God: for who can make that straight, which he hath made crooked?"


Please review 1 Corinthians 9, which contains the quotation jonstaab cited. Paul there asserts that it is reasonable to be compensated materially for spiritual effort— although Paul personally chose not to avail himself of that right.

For Ecclesiastes 7:13, the ESV reads: “Consider the work of God: who can make straight what he has made crooked?” With the subjective exception of the word “for”, I would consider this an unqualified improvement on the KJV, inasmuch as it is modern English rather than what was already overly formal English 400 years ago.

For general use, I wouldn't knock on someone using the KJV. While there are a decent number of differences between the KJV and other, more modern translations (NASB, ESV, etc), the majority of them are inconsequential. However, there are a few that are of significance. The most famous of those is the Johannine Comma (1 John 5:7). More modern translations are a result of collation from far more ancient texts, including the Oxyrhynchus Papyri that were discovered well after the KJV was translated.

Ecclesiastes is powerful in any human language, and belongs to the whole world, every nation, tribe and tongue. It would be a mistake to make it the sole property and possession of the KJV:

"Siehe an die Werke Gottes; denn wer kann das schlicht machen, was er krümmt?"

"Aanmerk het werk Gods; want wie kan recht maken, dat Hij krom gemaakt heeft?"

"Regarde l'oeuvre de Dieu: qui pourra redresser ce qu'il a courbé?"

Honestly, in Dutch (the second quote you posted) that phrasing will leave few impressed with the text due to its extremely archaic formulation and the pompous capitalisation of that god's pronouns (which is kind of modern in a sense, but surely not quite what the authors intended).

A better translation that will be more readily understood by readers of Dutch born in the last 70 years reads:

„Bezie het werk van God: wie maakt recht wat hij krom heeft gemaakt?”

Thanks! I am second-generation Dutch living in South Africa. I speak Afrikaans, so that translation sounded fine to me. Your translation does sound much more flowing.

I hope my point still stands, that what's important ultimately in Ecclesiastes is not so much any superficial style or dialect, but the substance being conveyed.

Of course, Ecclesiastes is full of beautiful poetry, and I appreciate it on that level, but the book is my favorite because of the ideas and lessons being taught, which I think transcend language and culture.

Not my translation of course, this one is the NBV (Nieuwe Bijbelvertaling) from 2004.

The ESV was specifically translated as an alternative to the NIV.

My favorite of late has become the Geneva translation. All the good parts of the KJV were lifted directly from the Geneva, with some effort to modernize the language, so you should feel right at home once you get used to the language. (or maybe I just enjoy saying the KJV too modern for my tastes)

Please avoid religious flamebait on HN.


It's immoral to teach your kids anti-science truth or co-science truth. There is one truth, scientific truth, and you should pause before beginning the process of teaching your kid that there are optional, comfort based co-science truths. Having said that, it's neat reader.

> It's immoral to teach your kids anti-science truth or co-science truth.

You mean "co-science" truths such as... morality?

Or to take it one step at a time:

* You have proposed a moral precept.

* By attempting to apply it to people who clearly disagree with it, you imply that this moral precept is an objective truth -- that like physics and math, it applies to everyone whether they like it or not (as opposed to personal preferences or conventions such as whether to drive on the right or left-hand side of the road)

* But science itself does not deal in moral precepts. Therefore, the moral precept you propose would count as "co-science".

* So if you teach your kids any morality, then you are violating the moral precept you propose.

One step further: the moral precept proposed violates itself, if it's ever applied, by virtue of being a moral precept (and thus being a "co-science" truth claim).

Its immoral not to teach your kids religious truth in addition to scientific truth, IMHO. At our dinner table we read the scriptures with the kids and have family prayer, but we also do stuff like watch videos of rocket launches and talk about various science topics.

There’s plenty of unsupported beliefs that the hacker news community pushes that can be just as dangerous and that come from an over reliance on science. Teaching religion is no different than teaching that the universe may be part of a simulation, or that extra terrestrials probably exist, or that AGI is a real problem that they should fear. Faith is anything you can’t directly validate and nobody has a perfectly rational basis for all their beliefs, it’s not possible.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact