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.

Labels: , ,


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).

Labels: , , , ,


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.

Labels: , , , , , ,


Monday, March 16, 2009

The New Links Page

I guess it must be spring break! Instead of hanging out on a beach in Cancun, I dilligently worked on updates to this site. One of my favorite new updates in the links page.

Thanks to Delicious, I can now grab RSS feeds of all my favorite Latin links and show them to you as I find them. There are about 20 links up right now. Feel free to send me your suggestions!

Labels: , ,


Saving the Latinitas Recens Lexicon (Update)

I recently searched for latinitas recens (a Latin Lexicon of modern terms such as "bicycle" et cetera) and came across a post on alt.language.latin saying that it was missing. The original blog post is here: Saving the Latinitas Recens Lexicon.

I'm sad to see that it has gone missing from the web. Unfortunately, the Google Cache has also expired. Since this very important resource is in danger of extinction, I took the liberty of mirroring the Latin-English portion of the site (including sigla). I will keep the page posted until the original maintainer (Florus) can re-upload his version.

Here is the link: Latinitas Recens (Speculum)

Seeing as how one group-member suggested a one-page version, that's what this mirror is. Keep in mind it's about 430K.

Two notes: I am missing pages 8 and 9 (no longer in cache, not in archive). If you have them, please email them to me so I can include them. Also, I will do the English-Latin as time permits.

I hope you all find it useful. Feedback is appreciated.

Update: Thanks go to Rodericius who has generously provided page 9.

Labels: , , , , , , , ,


Friday, March 13, 2009

Verb Paradigms

As I promised, I've been working on verb paradigms. As of now, they're up and running. Just search for any Latin word and click "see the complete paradigm".

Most verbs show up just fine, but of course some irregular verbs will show odd glitches. Therefore the data is "beta" but the paradigms should still prove helpful.

Here are some caveats:
  • certain irregular verbs will have weird forms, for instance, the participles for esse (which didn't exist until late antiquity).
  • deponent verbs will show active forms. Remember that deponent verbs do have active participles, and the imperfect subjunctive is formed from the "reconstructed" active infinitive. I'm trying to imagine a way to "gray-out" the unused active forms, but I haven't decided fully on that yet.
  • as a result of deponent verbs having "active" forms, they are now stored in the dictionary in their active forms, although on flashcards they will still show their deponent forms. So for instance sequor will be searchable under sequo.
  • unusual forms, such as dic, duc, and fac will show up as dice, duce, and face. I haven't implemented and "irregular forms" system yet, even though I've half mapped it out. UPDATE: It turns out that Plautus was fond of using forms like dice, duce, and face even though they were later rejected by Terence.
  • UPDATE: Some forms which are not known to exist (in other words, we don't have a record of them) but can logically be deduced will show up on the paradigm charts. For instance, the rare future active participle of volo, voliturus shows up and so does it's non-extant future active infinitive voliturus esse. Many grammar books will not show these forms simply because we don't have a record of them. Nonetheless, it is logical to assume they existed or would have been known to exist during Roman times (at least in theory).
So, work continues! Enjoy.

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: , , ,