Leaving early.
We've been running the live db with open access since the last time I rebuilt it, so in the process of doing other updates (such as rolling out the Java sorting collations) I've also added back the protection that we had before. In the process of doing this, I got bitten by the horrible eXist bug which enables you to lock yourself out of the admin account if you edit the admin user and forget to retype the password into the two password boxes (the effect is that you end up with a random admin password that you can never discover). As a result, I had to remove the server version of the app and replace it with a refreshed version of my local copy. This failed the first few times -- Tomcat tries to auto-deploy the app before it's completely uploaded the dbx files, so the uploaded .filepart files can not be renamed to overwrite the ones created by the live startup. It took two or three shots to get this problem solved. The only way seems to be to let it deploy, but stop it immediately in the Tomcat manager; then delete all the dbx, lock and log files; then upload them again; then restart it in the manager.
1) For the linguists' dictionary, we would like to see:
first phonemic representation in bold <orthography in angle brackets> [narrow transcription(s) in square brackets], for both forms and cits - e.g.:
ʔáyx̣ʷt <ʔáyx̌ʷt> [ʔáyəx̣ʷt]
√ʔáyx̣ʷ-t
1. be tired
2. tired, worn out
• √ʔáyx̣ʷ-tl kɬʔámnc
<√ʔáyx̌ʷ-tl kɬʔámnč>
[√ʔáyəx̣ʷ-t ləkɬəʔámənč]
he is tired of waiting (for you / me)
2) On the website, we would ultimately like things sorted by orthography.
ES noted that recent changes she'd made weren't appearing on the production site at francotoile.uvic.ca.
I had a connection in the exist admin client that used pear.hcmc.uvic.ca as the domain. I thought that would be dead, but when the connection succeeded, I assumed that domain name was forwarding to the current instance. Wrong. Obviously there is another instance somewhere on "pear" that is still running.
Created a new connection in the admin client using tomcat-devel.hcmc.uvic.ca as the domain and that worked. Also, the webapp in the new instance is francotoile and not francotoile21 as it was in the old instance.
In poking through the files, also noticed a connection string using lettuce.uvic.ca, so changed that to hcmc.uvic.ca and it seems to be working.
Updated the lastpass records.
This morning we decided that a simple and quick way to distinguish between homographs with different meanings is required to make the English lookup part of the dictionary less confusing. This will be achieved by adding a clarificatory word or phrase in the @n attribute of a gloss. Glosses will then be presented in the E-to-M view with this clarification in parentheses. Processing on the website will need to be changed to take account of this, and the print dictionary rendering will also have to be written with this in mind.
Wrestling with similarity metric algorithm...
I've now figured out how to create an extension module for eXist, following the instructions here. These are some things I've learned:
- The only practical way to do this is to work with your module code in the context of the eXist tree, in $EXIST_HOME/extensions/modules/src/org/exist/xquery/modules.
- You can use a non-eXist namespace -- I'm using http://hcmc.uvic.ca/ns/usm -- but it seems safest to use the eXist package structure, so my package is in org.exist.xquery.modules.unisimmetric.
- All the extension modules are built together into a single jar called exist-modules.jar. You can build this jar alone, using
build.sh extension-modules, then drop that jar into an existing eXist instance (although if the new jar was built with a substantially different version from the rest of the code, there could well be problems). - To turn on your module, you add a line to the conf.xml file like this:
<module uri="http://hcmc.uvic.ca/ns/usm" class="org.exist.xquery.modules.unisimmetric.UniSimMetricModule" />
along with the other modules.
I'm not yet happy with my module, and I'm still working on it. In particular, I'm not happy with the scores it's generating, and I think this might be something to do with other bits that get included in the GZIP stream, such as a header; if I can figure out how big those are, I can remove them from the calculation. The highest difference I seem to get is around 0.53 with completely dissimilar strings, so it seems as though the results are being compressed into a range much smaller than 0-1.
After an update to DSM 4.2 rutabaga no longer allowed rsync backups, failing with:
sh: rsync: not found
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: remote command not found (code 127) at io.c(605) [Receiver=3.0.9]
After much wailing and gnashing of teeth we discovered that non-interactive users do not have /usr/syno/bin in their path (it *is* in their path if they shell in to the NAS, so they can run rsync *from* the NAS when shell'd in).
So, that's an easy fix, says us: add a symlink to /usr/syno/bin/rsync in a logical spot that *is* in a non-interactive path, like /usr/bin.
Problem: admin user cannot su root (error message = su: must be suid to work properly), so cannot create symlink.
Answer: TURN ON TELNET AND LOG IN AS ROOT USING THE WORST POSSIBLE METHOD!!! Then, you make the symlink and turn off telnet - quick!
Late duty, then fighting with @W(*%&($^ Rutabaga which has forgotten how to do rsynb backups. Still not solved. GRRR.
I've written out the prose of the Oxford talk. Still remaining to do before July:
- Presentation slides (with diagrams etc.)
- Creation of SF project.
- Move of files out of MoEML repo into SF repo.
- Replacement of them in MoEML by a script that exports them into place.
- Addition of licensing info, SVN headers etc.
- Prettying-up the SF site.