This Blogger site is just a holding place for our news!

To access the Latin dictionary, click this link:

Numen - The Latin Lexicon - An Online Latin Dictionary

Thursday, October 1, 2009

I's and J's and U's and V's

So one problem with Numen is that it doesn't recognize the different possibilities when dealing with I's and J's and U's and V's. As you know, the J and the U were not Classical Latin letters. There has been a lot of back-and-forth over the past 200 years -- some editors prefer the originals and some prefer the modern versions.

But how should Numen deal with this issue? Internally, the computer is more precise and less forgiving than a human, and so in order to provide highly sensitive and accurate searches, the data needs to be "normalized". For example, I recently normalized verbs for consistency by changing all deponent verbs into their active forms and simply marking them as deponent with a data flag. Now, when you search for a deponent verb, the flashcard still shows something like sequor but internally it's stored as sequo. The reasoning here is simple: deponent verbs, regardless of their dictionary form and traditional morphology, still have active participles and their imperfect/pluperfect subjunctives are still formed from active infinitives.

But what about the I's and J's? Those are easy. Convert all the J's to I's, and most Latin readers won't have a problem -- this has been the convention for quite some time now. But then what about the V's and U's? Should I convert all the U's to V's? The opposite is true here: most Latinists would be mildly irritated by this form: uiuus (vivus).

The solution, which would be similar to the one for the deponent problem, would be to mark internally everything with I's and V's but then show the contemporary I's and U's and V's to the end users. That way, the computer can do accurate searches, but users get the information they are used to.

So, in the coming weeks, Numen will undergo this under-the-hood transformation. For the most part, users will never even notice -- except in one area. Searching for uiuus will be the same as searching for vivus!

Saturday, August 29, 2009

New Server

I apologize for taking down Numen for a few hours! But it was for a good reason. A couple of weeks ago (as I posted) the server died, and I had to jury-rig a (slow) home computer to be the server.

Well, just yesterday a bunch of new parts arrived via UPS and I quickly built, tested and verified the new server. I took down the old one about 11am, copied over all the data, and fired up this new one just a few minutes ago.

This new box is quite a bit faster than the home computer which was the temporary surrogate, but you'll be happy to hear that it's also zoom-zoom-zoom fast compared to the original server! It's somewhere in the range of 2 to 3 times faster overall.

The computer power users might be wondering what the new server consists of. It's a very simple configuration. It's a dual core Athlon 245 (?) Athlon II 2.9GHz processor, an nVidia-based AM3 motherboard, 4GB of DDR-2 1066, an Antec EarthWatts 380W power supply and a WD Green 1TB hard drive. I was specifically trying to build a power-sipper here. My best guess -- because I forgot to bring a Kill-A-Watt to test it, is that this server runs somewhere around 85W and around 110W at peak. I wanted to get an Intel SSD (160GB Generation 2), but ... I felt that the performance gain from that wouldn't outweigh its cost (around $420). Now why does that matter? Because this entire computer, including shipping and a $20 mail-in-rebate was about $292! Nice!

Okay, enough geeking-out for now. I hope you enjoy using Numen, and as always, feedback is welcome!

Friday, August 14, 2009

Server Outage / Restored

You might have noticed that this site was down for about a day. That's because the web server crashed! Well, that's a simple way of saying something more complicated. Don't worry, absolutely no data was lost. I did, however, have to load everything up on a smaller, older, slower server -- so what that means is that the site is going to be a bit slower until the replacement server arrives. It's under warranty so it won't be a problem to replace it, but it might take a few weeks.

If anything is broken, feel free to email me to let me know!

Wednesday, July 8, 2009

DNS Lookups Cause Site Slowness

As per the usual, I've been tinkering with the back-end from time to time. Things slowly and silently improve -- well, hopefully!

Right now I'm at the University of Kentucky participating in an intensive conversational Latin seminar. Intense is the appropriate word. Today is day 2 of the seminar itself, although I've been here since the 4th of July. We'll see how my Latin improves after 10 days of immersion.

Since I've been here at UKY I found a bug -- well, a performance issue. Some Universities (like this one) don't put individual host names in DNS for their various thousands of connections. UNM happens to be one that does. Normally, my web server is set to perform a DNS lookup on every single connection (inefficient, I know). For a normal internet connection (say, a UNM student or a home Comcast user), that lookup takes microseconds. In the case of UKY, that lookup took 6 seconds ... to timeout. That timeout happened every single time the browser connected. Needless to say, this site must seem incredibly slow at a University like this. I can verify that it did for the short time it was affecting me.

So, to all the UKY students out there ... I apologize for the slowness. I also apologize to all the users of this site who experienced the ... shall we call it a mismatched configuration? On a pleasant note, this was a truly easy situation to resolve. One # (hash) sign in the config file and all is well. C'est la vie? Oui. Or in Latin, perhaps Re vera est? Ita.

Incidentally, I clean up words on the back-end on a regular basis. Since I've been intensely studying here, I've been catching a few more errors than usual!

I also had a suggestion to incorporate the full Lewis and Short dictionary into this site. Great idea! I'm looking into it now.

Friday, May 29, 2009

Flashcard Printing Support

I've re-enabled printing support for flashcards! Yay!

I've also re-written the instructions. Hopefully they will make printing a bit more clear.

Wednesday, May 27, 2009

Speed Improvements

Sometimes I take a little bit of time off from reading and cogitating to work on important stuff -- stuff like speed improvements for this website.

This is incredibly nerdy stuff. It actually takes my mind off harder things. Don't ask!

The biggest improvements came in database queries. Some of the queries I was using were executing more slowly than I would have expected. In researching this problem I discovered something called prepared queries. I had no idea they would improve execution speed of certain queries by nearly 10x! On the back-end of things, that's a considerable improvement. On some pages it reduced the overall server load of each page by half -- to 35ms from 65ms! On the front-end, the site will probably feel a tiny bit snappier. Overall your average page load will reduce from about 160ms to about 130ms (since it takes about 100ms for intercommunicative data to traverse the internet from your computer to the server and back). That may not seem like much on your end (a 15% drop in latency) but on the server side it's quite dramatic (a 50% drop in latency).

Monday, May 25, 2009

Flashcards, UTF8 and XSS

I know, I know! I've been bad about updating. But as usual, there's way more going on behind the scenes here than meets the eye.

I've been a busy beaver since the semester ended. I've got two main things going on in my life right now: my reading list and this web site. I read Lombardo's translation of the Aeneid and now I'm reading Ferry's Georgics. I'm also working through Discourse, Consciousness and Time by Wallace Chafe.

But I've also been working on this site! If you've tried to visit in the last week, you might have noticed that the site was a bit flakey from time to time. It's true, and I apologize, but it was all temporary and for a good cause.

First, I rewrote the flashcards feature entirely using AJAX technology. Check them out! They're completely awesome. They should work at the very least in IE8, Firefox 3, Chrome and Safari 3. That should cover 98% of the people out there. Maybe I'll test them in Opera later. There is one major feature missing: printing. But I added two super-awesome features: custom flashcards decks and practicing those decks online! Two other minor features are missing: timed slideshows when practicing and searching by tags. Those are minor additions that I'll get to later.

I also made the site more uniformly UTF8 compatible. This is a technical, backend feature that won't affect you at all, most likely. I used to send all the Latin characters to your browser in HTML entities, but now I'm sending them directly in UTF8 encodings. Surprisingly, that was a really easy feature to enable.

Another big improvement is the site security. I've been looking for holes and security breach-points. I discovered a big one: XSS (Cross Site Scripting). It's kind of an ugly loophole on websites, one which has been around for ages. Essentially I fixed my back-end library code to disallow these so-called XSS attacks. With a bit of luck and some salt thrown over the shoulder, I've hopefully closed all the loopholes.

As usual, I'll add a promise to try and update the news regularly. But if I don't, just remember that this site is continually improving behind the scenes.

Video Tutorials