Saturday, November 28, 2009

OpenID Repaired

After the server upgrade a few weeks ago, I busted the OpenID login system. I've spent a few hours fixing it and improving it, so if you use OpenID to login then it should work now. Feedback is always welcome!

Labels: ,


Tuesday, November 24, 2009

Regular Progress

I like to keep the news relatively fresh, even if nothing major is happening. But even though this is a somewhat slow time for Numen development, there are still a constant stream of small updates. I'd like to keep everybody apprised of the situation.

One of the benefits of having students who actively use this dictionary is their feedback. One of the things they noticed was that sometimes an error message pops up saying, "AJAX has timed out", and it would happen relatively often -- especially on the flashcard practice tool. So I dug into the code and found the issue: I designed the site so that -- if any request took more than a few hundred milliseconds -- it would give an error. Such timeouts always involve a balance between briefness and lengthiness of waiting, and I quickly realized that I had not struck that balance. So I bumped up the timeout duration to something reasonably middle-of-the-road and. Voila! Problem solved! Gratias vobis ago, discipuli.

More: My big project with Vergil and Livy is still paying off. I continue to correct dozens of tiny mistakes and errors in the data every week, and I was able to run some statistics. Excluding proper names and place names, the parsing engine can analyze and pin down around 98.5% of all the words in these two Augustan authors. So accuracy is definitely improving daily! I can't yet account for all false positives, but they seem to be less than a fraction of a percent (anecdotally).

Speaking of accuracy, there is still room for improvement in three key areas:
  1. syncopated forms (laudaverunt => laudarunt), which Livy loves by the way!
  2. irregular forms (bobus, filiabus)
  3. proper and place names (which do not, for the most part, exist as a regular part of the Lewis Elementary dictionary).
I have been cogitating over solutions for all three issues, but it might take a while to implement them -- probably not until December or January (winter holidays, yay!).

In other news -- I guess I have more than I had first assumed -- I've almost got a word list feature finished. This is for people who prefer to work with formatted word lists as opposed to flashcard decks (which I understand are sometimes referred to as index cards). The only major problem I have with this process is that the Lewis Elementary dictionary does not provide a "core" definition for most words, so the word list would have extremely lengthy definitions. I think one of my best options is to import the data from Whittaker's Words, which have more simple, more core-like definitions. But this could be problematic as a 1:1 mapping between Lewis' forms and Whittaker's forms would be difficult to achieve. Alas, I shall continue to think on this one.

Okay, so that's enough for now! Keep using it, and please keep reporting problems and errors! It may take a few days or weeks, but I eventually do fix all the errors!

Labels: , , , , , , ,


Thursday, November 5, 2009

IE8 Flashcard Bug Fixed

Salvete omnes!

I fixed a small bug that affected flashcard decks in Internet Explorer 8 (and presumably earlier versions). If you couldn't create a flashcard deck in that browser, it should be fixed now!

As a side note, I've been working on a big project with Livy and Vergil. I've essentially been editing all the mistakes and unfound words in those authors. This is especially useful in Livy because we have a corpus of about 1 million words! So the accuracy of this dictionary is creeping up to the highest possible levels! With the exception of proper names and place names, I'll ballbark its accuracy with common classical authors at about 95%.

Also, thanks to the people who have been reporting errors and bugs! It's really helpful to have your feedback!

Labels: , , , ,


Monday, February 23, 2009

Again with the optimizing! Oy!

I've been tinkering again.

First, I did some server-side wizarding and sped up the website by a small margin (maybe 25%) and also stopped a nasty bug that was slowing down pages every once in a while.

I fixed some smallish bugs on the search pages. The user interface should be a tad more useful and friendly there.

While designing a new, awesome feature (verb paradigms!) I uncovered some paradigm errors. Those have been neatly squashed.

Soon, you will see a masterpiece in action! Full paradigms for all parts of speech! Right now I've got the verbs mostly working. I'll unveil this feature when I feel it's good enough for prime-time.

That's all for now! Carry on...

Labels: , , ,


Saturday, February 7, 2009

Lucretian Updates

Based on the recent lack of news on this site, you might assume that the Latin Lexicon is dormant or stagnant. Yet nothing could be further from the truth! In fact there's been quite a bit of behind-the-scenes activity!

Let me start out by apologizing for not updating more often. This semester has turned out to be rather more packed with excitement than the last one. Since I've been short on time, I allowed blogging and site documentation slip.

In terms of back end coding, there hasn't been much activity. I've cleaned up a few bugs here and there. For instance, I cleaned up a UTF8 bug on the Word Study Tool.

But in more interesting news, I've been a busy beaver correcting words that appear in Lucretius' De Rerum Natura Book III. For the last 5 semesters our classes have focused on Augustan poets. Since the vocabulary is somewhat stock among those guys, I ended up doing very few corrections to the dictionary entries themselves. But since Lucretius uses a whole new set of vocabulary, the amount of "cleanup" is massive! This is a good thing, since words which contain errors get fixed and the Latin Lexicon slowly improves in quality.

Since the news/blog section of this site gives the first impression to new visitors, it might look bad if the front page isn't regularly updated. Good impressions are the best impressions, so I'll try to update more regularly despite the crazy-busy semester I'm having.

On that note, it's back to the grindstone for me. Valēte!

Update: To the parsing engine I added a couple of pronouns: quisquam and quidam, since Lucretius is so fond of them.

Labels: , , , , ,


Wednesday, December 24, 2008

New Server and Speed Increases

It's finally here and up and running!

I bought a new server. Did you know you can get slightly older computers, but still really powerful, for super cheap? People and businesses upgrade and then basically give their computers to discounters for nothing! I got this server for $144, with tax, shipping and an extra year's warranty. I'm very impressed.

Also, U.N.M (University of New Mexico) gave me a static IP address on their network, so we have a super-fast internet connection.

So, if you're used to this site being slow, get ready for serious changes! In general, moving to this new server on this new internet connection has increased the speed by an order of magnitude (from 300ms per request to 15ms per request). Wow!

But that's not all folks! I've also done some back-end coding to cache the results of morphology lookups. So now morphology lookups should increase by another order of magnitude (as long as a word is cached). If the word is not cached, the lookup will still be 2-3 times faster.

I apologize for geeking out a bit here, but I hope you notice the speed improvements.

As usual, I'm always developing The Latin Lexicon, but since I'm on winter break, expect to see some serious improvements for January!

Oh, one more thing. I also set up some bug-tracking software (BugZilla) to keep track of issues and improvements. So if you find all this technical stuff interesting, feel free to check it out!

Ok, one more thing! OpenID logins will be down for a day or two. Also, if you created an account or any flashcards between the 16th of December and today, I'm afraid that information is lost because I upgraded the database on the 16th and didn't get it moved until today. Sorry about that, if you're affected. 

Happy holidays! Happy Hannakwanzaamas!

Labels: , , , , , , ,


Tuesday, September 30, 2008

UNUS NAUTA

As most Latin students know, UNUS NAUTA is not just "one sailor" but the acronym U.N.U.S. N.A.U.T.A. It is taught as a mnemonic device to memorize the 9 special adjectives whose genitives end in -ius: unus, nullus, ullus, solus, neuter, alter, uter, totus, and alius.

In a recent post, I noted a problem with the adjective neuter. In the neuter form, my parser was not discovering the forms for nominatives and vocatives. I dug into this problem and discovered some interesting facts that I never really took to heart.

UNUS NAUTA is not one declension, as many Latin grammars would have us believe. It is actually composed of four different declensions: the normal UNUS NAUTA declension (unus, nullus, ullus, solus, totus), then the alius declension (which is unique because its genitive is alius instead of aliius as we would expect; and it has neuter-singulars in -ud), next the R-type declension (neuter, uter), and finally the ER-type declension (alter). I can see why Wheelock compressed his declensions, but it turns out that he didn't spend enough time pointing out the differences! To be sure, they are minor, but somewhat important if you're writing software to parse out the different forms!

So I created 4 unique declensions for the 9 different types of adjectives. Now, the UNUS NAUTA adjectives parse properly!

Update: I fixed indeclinable nouns, too. I had forgotten to add their (non-) paradigm.

Enjoy!

Labels: , , , , ,


Tuesday, September 23, 2008

A couple of small changes...

It's been a few weeks since it's been a busy semester. But I'm still making changes and continually updating words!

But here is some news to keep it fresh. First, I added a couple of rare "metria gratia" forms. The form "largibar" in Propertius 1.3.25 is from the verb "largior." The correct imperfect passive form should be "largiebar" but it seems to have been contracted to "largibar" ... Apparently this happens in Propertius and Plautus and not many other places. I will have to do some research to see what other rare forms show up.

Second, I fixed a couple of small bugs with neuter nouns and adjectives. There was a problem with them not showing up in the accusative (since neuters are always the same in the nominative, accusative and vocative). I also found a bug (but didn't have time to fix it) in some pronouns ... a pronoun like "neutrum" should be parsed as nominative, accusative and vocative, but it's only being parsed as accusative.

Finally, I applied for a grant for a new, faster, dedicated server. With any luck, they'll give me the grant and I'll have the new server up in a month or two!

Labels: , , , , , ,


Thursday, August 28, 2008

iPhone Client Bug

There was a small bug in the iPhone/iPod touch AJAX code that prevented it from working. I've fixed that for the time being. Sorry!

Labels: , , ,


Wednesday, August 13, 2008

As promised, more updates...

I have no major updates, just small ones.

I cleaned up a bit more backend code so smallish bugs are slowly disappearing.

One of the most important things I've been doing lately is making the site "search engine" and "standards" friendly. I set the language to English officially, except on certain tags which are known to contain only Latin. On those, I set the language to Latin with the lang attribute. Also, I've been cleaning up the code to conform to XHTML 1.1 strict standards. Although my pages are not perfectly strict yet, they're definitely coming along.

Next, I cleaned up the styles on the flashcards page, since I hope students might start using that feature.

Finally, I added a couple of more paradigms. I added the relative indefinite pronoun (quicumque, quaecumque, quodcumque) and the reflexive pronoun (sui, sibi, se, se). You should know that the sui, sibi, se, se are listed alphabetically under a non-existant pronoun su. It makes sense, doesn't it, to conform with the tu, tui, tibi, te, te paradigm? I expect some experts will think this is weird, but since my database lexical entries for pronouns are entirely nominative, I didn't have much choice. Besides, I don't think it's a big problem. It happens in Greek dictionaries all the time where the "unknown" lexical form is listed with the asterisk/star, denoting a "probable but unattested form".

Enjoy!

Labels: , , , , , , , , , ,


Wednesday, August 6, 2008

Prettying up the Joint

So I haven't had as much free time as I wanted this week. I've been busy at my day job getting everything "taken care of" before my last day there on August 13th. After that, I'll just be contracting with them for 5 hours a week, because I'll be a full time teaching and grading assistant for the University of New Mexico Foreign Languages and Literatures Department. I'm pretty excited about that!

Nevertheless, I had a few hours free tonight, so I did some sprucing up. I made some icons, fixed some style sheets and squashed some small bugs. There are a few things I want to include before the semester starts:
  • Add a few pronoun paradigms: is and iste for sure.
  • Add some verb paradigms: perhaps volo verbs.
  • Fix up the database backend, especially in the realm of update cascades (it's technical, and you're probably wondering what that means -- don't worry, it'll make things better).
  • Speed up the morphology lookup. It's not slow by any means, coming in at approximately 100 milliseconds per word. But still, I think I can get it down to 40ms. Every bit helps, especially if this site ever gets popular!
  • Make a new database and web server. Right now it's being graciously hosted at the place I work here on campus (Natural Heritage New Mexico). I've been the system admin there for about 5 years, but now -- as I wrote earlier in this post -- I won't be there for very much longer.
I'm sure there's more to update, but I think it's time to take a break for the evening. Enjoy!

Labels: , , , , , , , , ,