Index HTTP statūs numeri

Last night, when talking with a friend, I quipped

Django est omnis divisa in partes tres, quarum unam incolunt moduli, aliam visus, tertiam templates, qui exempli gratia DTL aut jinja2 appellantur.

This is a modification of the opening sentence of Cæsar's “De Bello Gallico” regarding the Gallic war, where he explains that Gaul was at the time divided into three parts. Django, often described as a MVT (Model View Template) framework was a natural fit for this sentence and my late-night desire to find a practical application for my long and not always pleasant years of Latin.

Now, because I'm terrible at deciding where to stop, I now have opinions on how to translate words like “model” and “form” (because, ironically, forma is one of the better fits for “model”). My research included a whole lot of ineffective internet searches (“latin” being part of an encoding name turned out to be horribly inconvenient), and then research in old dictionaries.

The Latin Vicipaedia, the obvious choice for the researching modern classicist, sadly does not focus on technical matters of the internet. Not that I blame them: While many aspects of modern life have been translated to Latin, including books like the very charming Winnie ille Pu, and the not quite as charming Harrius Potter et Philosophi Lapis, for reasons beyond my understanding, translators so far have focused on literary works, and have neglected to translate technical documents. I decided to make a humble contribution, and translate the HTTP Status codes.

Disclaimer for classicists: I'm not a classicist, and my knowledge of Latin is completely drawn from not-yet-forgotten lessons I had in school. I used a couple of dictionaries and looked up similar words in literature where I remembered helpful passages. So yes, I'm sorry for what I have done. Mea Culpa. Where I felt I could choose from several words, I chose the one more familiar to people who know English.

Disclaimer for tech people: I left out application specific codes like WebDav's 102 Processing. The 307 and 308 codes were so close to 301 and 302 that I didn't bother with them either. 506-510 are so unimportant that they do not even have their own MDN page, so I left them out, too, even though “Insufficient Storage” was one of the most translatable codes.

HTTP Statūs numeri

1xx: Statūs neutri

100 Pergere
Everything is alright, keep doing what you're doing. Just keep swimming.
101 Mutare Protocollum
The “And now for something completely different.” of status codes. The word protocollum is Medieval Latin for “draft”, but we'll take what we can get.
103 Significationes Priores
Start preloading stuff. Has anybody seen this in the wild?

2xx: Statūs læti

200 Bene
Most Latin words for “success” have strong military connotations, so let's stick with “good enough” for, well, “good enough”.
201 Creavit
Just like in In principio creavit Deus caelum et terram, a 201 response indicates that something was created, but not that it is perfect or will last forever.
202 Suscepit
We have received your request, and may get back to you in the future. Don't count on it, though. Choir singers or dedicated catholics may know this word from the “Suscepit Israel” from the Magnificat.
203 Informationes Non Auctoritates
Informationes is modern Latin, but was used in scholarly and scientific writing starting in the 16th century. We're using a hodgepodge of Latin here anyways, so we may as well use the best words available.
204 Inanis et Vacua
As in Terra autem erat inanis et vacua (“And the earth was formless and void”).
205 Rescribere
The concept of a reset doesn't translate well apart from “write again”.
206 Particulatim
It's probably not the best word for a partial response, but it's the prettiest.

3xx: Statūs referens

300 Optiones Numerosæ
Choose your own HTTP response adventure.
301 Relatus Certus
Had to resist calling the permanent redirect “Perpetuum Mobile”.
302 Inventus
As in quaerite, et invenietis, seek and thou shall find.
303 Cf.
304 Non Mutatus
While reading up once again on cache control headers, I'm pretty happy that I don't need to find a word for “cache”, though “penarius” seems like a good word to steal for this.
305 Internuntium uti
I'm missing a better solution here, because Internuntium sounds like a person, and uti does not apply to people. On the other hand, tech lingo is full of phrasing like that, so maybe it's not that bad.

4xx: Statūs culpæ clientis

400 Prex Mala
Translating “request” was not easy. I went with prex, which can mean both prayer and request – but that's the case for all words for requests. And let's be fair here: With some services, sending out an HTTP request does resemble praying for an answer.
401 Sine Auctoritate
This incident will be reported – to Cæsar, not to Santa.
402 Datio Necessaria
This is experimental as of yet, but who are we kidding.
403 Impermissus
I'm preferring words that are recognizable to English speakers, which is a bit random, but when you can choose one from four words for “forbidden”, you can either start researching each word individually, or just choose one that sounds alright.
404 Non Inventus
If 404 is “not found”, and 302 is “found”, then these two are clearly anti status, or a status with an arch nemesis, or something.
405 Modus Non Licet
This one actually sounds plausibly like Latin.
406 Non Gratum
To be read in Alan Rickman's best Snape voice.
407 Authenticas Internuntii Necessaria
Internuntius is a decent word for proxy, I think. Interestingly enough, “proxy” itself came into usage in the 15th century and has Latin roots, by way of contraction and fudging of words: The original Latin word is procuratio/procurare, management, and also the root of “procure”.
408 Prex Dormiens
The sleeping request.
409 Collisus
Even Latin has a word for “Conflict” that does not imply armed troops, I'm amazed.
410 Absens
… and one for “gone” that does not imply death. This is terribly unlikely, seeing as roughly half of Latin words have a secondary meaning connected to (violent) death.
411 Longitudo Necessaria
412 Præcondicio Mendosa
Interestingly enough, condicio is the word you think of when you say “condition”. conditio, on the other hand, means a method of preserving food, and/or seasoning with spices (think condiments).
413 Onus Nimium Magnum
This one is tricky: onus has a secondary meaning of “load” (apart from “cargo”, which this status is going for), which could imply that the server is under too much stress instead of receiving a huge request.
414 URI Nimia Longa
Do not put the whole works of Cæsar in your URI, I guess.
415 Genus Artis Desertum
Genus Artis recalls, hopefully, the distinction between literary genres, which is the closest we can come to “media types”.
416 Spatium Precis Non Complendum
See, I even remember fancy forms. non complendum is the same construct as in Carthago esse delendam, incidentally.
417 Expectatio Mendosa
As in HTTP 412. “falsa” sounds better to the modern ear, but implies a level of negligence or ill will that is not actually there.
418 Cantharus Sum
(British people homework: find out what teapots were actually called in Latin.)
421 Prex Deerrata
“This request got lost”, which is pretty close to target.
425 Præmatura
Less words are better words.
426 Emendatio Necessaria
As long as this status code is used for protocols and not for subscription content, we're good.
428 Præcondicio Necessaria
See note for 412.
429 Preces Nimiæ Quantæ
If it's DDoS and you know it, clap your hands! (429 times)
431 Initia Precis Nima Magna
Let's call “Header Fields” the “begin of the request”. I guess “salutations” would work, too. Grammar note: I found two versions of the word I use for request, and I went with prex, precis f, and not with preces, precum f, for hopefully understandable reasons.
451 Lege Inaccessus

5xx: Statūs culpæ patroni

Note: If we have the client on the one side, we have to have the patron on the other side, that's just how Rome works. I don't make the rules.

500 Culpa Patroni
This sounds like a Harry Potter spell.
501 Non Descriptum
I went with the civilian version of “Huh? There is nothing written about this”, but “I have no orders for this” (Non Iussum) is at least as good, if not better.
502 Aditus Malus
This led to me finally looking up what a gateway is in the real world, so yay for learning something!
503 Officium Inaccessum
Funny how this word means both service-as-in-office and service-as-in-duty, and it's always interesting to see who sees their servers more in a position of authority, and who sees them more in a position of duty. Just saying.
504 Aditus Dormiens
I could have gone for “dead” or “unresponsive” instead of “sleeping”, I guess, but this is what I usually picture anyways.
505 HTTP Versio Deserta
“unsupported” is not exactly a Roman concept. I was very tempted to make this something of a moral judgement (if we do not support it, it is wrong, or not virtuous, etc), which would have been very in line of usual Roman arguments.

Books: 2019-05

May was a very generic month. Did the working, did the volunteering, did the reading. Noticed that I am unhappy and figured out what to do about it, as you do. I didn't read as many books as I'd like, and none of them stood out too much.

Read more…

Books: 2019-04

April was a travelling month: I spent all of five days at home, and the rest of the time I moved between Berlin, Copenhagen, Vienna, and Berlin again. While this was fairly stressful, it gave me plenty of time to read on the various trains and ferries I travelled on.

Read more…

A @context decorator for Django

Even the happiest Django developers with the most ardent love of class-based views can get tired of writing super().get_context_data(**kwargs), only to add a couple of already-implemented properties or methods to the template context.

django-context-decorator provides, as the name may hint at, a decorator named @context. You can wrap it around both methods and properties, including Django's cached property, and it will add the property's value or the method's return value to your template context:

Read more…