Monthly Archive for January, 2008

Page 2 of 2

AjaxLife restored with more languages

After some maintenance, AjaxLife has been restored. As a bonus, it’s now available in Japanese and Portuguese (Brazil). Just pick the appropriate language from the box at the right of the screen. Also supported: English and Hebrew. :P

Thanks to Alissa Sabre for the Japanese and Aurelio A. Heckert for the Portuguese.

By request…

I have been asked to post this on my personal blog, so…

Stupid OU

That is all. Also, the level of paranoia utilised by the Schome project is absurd.

(“OU” standing for “Open University”)

Server glitches

The server is having minor issues. By which I mean it’s spectacularly broken (i.e. slow).

I’m trying to work out why.

AjaxLife updated

[UPDATE] IE6 still doesn’t work. I don’t really care any more. Go get a decent browser, the 13% of you who still use IE6 with AjaxLife (IE6+7 are at 25%, Firefox is now at 62%, Safari at 8%, Opera at 3% and the built-in SL client at 0.5%).

I can’t test IE6 in the same place I can work on stuff, so it’s officially unsupported. Because it’s horrible.

I may or may not have fixed the issues with IE6 that crept up in the last update. We’ll find out tomorrow!

Also, AjaxLife is now available in Hebrew:
AjaxLife in Hebrew

AjaxLife – Request for Translations (also a minor change)

[19:17 06/01/08] I have a Hebrew translation, courtesy of Smiley Barry. I’m waiting on more contributions before I add it in, since doing so involves deploying server code, which is tedious.

[UPDATE 09:39 06/01/08] Fixed a display bug in Firefox, the only browser that actually seems to care about such things, caused by uploading ui.css as text/javascript instead of text/css.

First, AjaxLife now uses javascript files minified and munged by the YUI compressor, then merged into a single file.

Right. Now, it would be very much appreciated if anyone capable of doing so with free time could translate AjaxLife into the language of their choosing, or update the existing translation for that language.

The language file can be found at http://static.ajaxlife.net/translate.txt – to translate it, change the text on the right, in quotes, to the translation of whatever is in it right now. The text outside these quotes must remain unchanged. Additionally, the UI assumes that the strings in some places (e.g. map buttons) will not gain in length significantly – otherwise, the buttons will overlap. Any text in the format #{word} is a placeholder – do not change this text, but place it where the text should go. The word is usually fairly self-explanatory. Please send your files to katharine@katharineberry.co.uk using UTF-8 encoding.

If you know what you’re doing, and there’s already a partial translation for your language, you can find it at http://lab.katharineberry.co.uk/ajaxlife/AjaxLife.Strings.js

Any efforts will be much appreciated.

[Updated] AjaxLife fixes applied

Grumble. I have some AjaxLife fixes (I think), but LL broke SL again, so I can’t test them. Sigh.

Side-note: There’s a crash bug related to viewing certain scripts (and possibly notecards) that brings the whole server down. I think I have that fixed, but I can’t tell. Grumble.

EDIT: Turns out it’s not fixed. Looks to be either a bug in libsl or a regression between mono 1.2.5.1 and 1.2.6.

EDIT 2: It seems to be mono 1.2.6′s fault. Reverting to 1.2.5.1 fixed the problem. I’m putting up the fixed version – should be ready in about half an hour.

EDIT 3, half an hour later: Oops, made a typo. Done in fifteen minutes!

EDIT 4: Taken the site down. It’ll bring itself back up with the new patch once the instance launches. :P

EDIT 5: Finished at last. Fixes include: Doesn’t bring the whole thing down when viewing certain scripts, some minor changes I forgot. :P

AjaxLife changes

The hosted version of AjaxLife has changed significantly – or, at least, will have by the time your DNS cache updates.

To sum up all the changes in a sentence: AjaxLife is now hosted on Amazon AWS.

In more detail:

AjaxLife’s texture cache is in an S3 bucket
This ensures that it won’t get lost, and also that it works comparatively well.

AjaxLife’s static files are in an S3 bucket
Hopefully more reliable than my hosting. Definitely much faster than my hosting.

AjaxLife itself is run on Amazon’s Elastic Compute Cloud
This means that AjaxLife has a bigger server to run on. It also means that, once I’ve figured out the critical number, I can set up the loading system to bring up another server if needed. Another advantage is that AjaxLife should finally self-correct failures – should the AjaxLife server fail, the server it’s running on will be terminated and a new one launched within ten minutes. The servers are configured to load AjaxLife as they boot up.

ajaxlife.net is now on the same server as katharineberry.co.uk
Saves me £35/$70 per month. The new system actually costs more, but is also much more powerful. More on that later.

As such, logging onto AjaxLife should now follow a sequence something like this:

  1. Navigate to ajaxlife.net in your favourite web browser.
  2. You will may receive a message telling you AjaxLife’s down, in which case it should be automatically restored in a few minutes. You will otherwise be redirected to a seemingly random IP
  3. Log on and use as usual

BIG IMPORTANT NOTE THING: The observant among you may notice that AjaxLife no longer uses HTTPS. Don’t worry – your details are still safe. Since HTTPS is a significant contributor to lag between the client and AjaxLife server, not to mention the impracticality of getting SSL certificates for whatever odd hostname the application ends up on (ec2-67-202-36-23.compute-1.amazonaws.com, anyone?), it was dropped. Instead, AjaxLife uses 1024-bit RSA encryption to ensure that your password cannot be read in transit, combined with a challenge/response to ensure it is not susceptible to replay attacks. Although anything past login is not encrypted, this is not actually a loss – they were never passed to SL encrypted anyway. That said, if it bothers you, try https://old.ajaxlife.net/client/ – although the certificate won’t be valid, and it’ll usually be down.

Other changes made with little or no relation to AWS:

  • AjaxLife can now download textures with transparency correctly
  • AjaxLife will pull profile images directly out of SL’s search, for speed reasons. This results in a tiny watermark in the bottom-right corner, however.
  • The minimap seems to work again
  • Updated to libsl 0.3.2

I hope you enjoy the theoretically more reliably service. However, there is another note to add: These improvements cost me money directly proportional to your usage. If you find you use the service frequently, please donate using the button (that will be) in the sidebar. Thanks!

Happy New Year!

Happy New Year to the UK!

(and exactly on time, too)