Recently in Web Category

UPDATE: Apparently this static-HTML version of the Seaside Book counts as a derivative work. I knew I forgot to do something after I put it together, and it was the most important step: notify the authors of the book and ask for permission (and an exception to the no-derivatives rule of their Creative Commons license). I have apologized in an email and stated that I will remove the files from the website and the links.

I also requested that the authors host a static version on their own site as an alternative because I don't see why Seaside's session management is needed for a tutorial. Hopefully this is done, but maybe it won't be. Ah well.


It's static now. The whole thing. All the images are there too, all the text is there and I changed the stylesheet so it takes up more of the screen space. The overview doesn't have links to all of the table of contents stuff but I'm tired right now.

In any case, it's good enough to start reading from. I did this mostly because I wanted a local copy but hey, it loads faster than the other dynamic version so why not let the rest of the Internet share in the speed?

Download a copy of the book.

Seaside/Squeak

| | Comments () | TrackBacks (0)

UPDATE: Apparently this static-HTML version of the Seaside Book counts as a derivative work. I knew I forgot to do something after I put it together, and it was the most important step: notify the authors of the book and ask for permission (and an exception to the no-derivatives rule of their Creative Commons license). I have apologized in an email and stated that I will remove the files from the website and the links.

I also requested that the authors host a static version on their own site as an alternative because I don't see why Seaside's session management is needed for a tutorial. Hopefully this is done, but maybe it won't be. Ah well.


It's 4am and I'm about to sleep, but I've started converting the Seaside Tutorial book to a proper static HTML package that doesn't require a web server to view. The amount of JavaScript that loads and the way the pages are loaded on the web server was very slow. It took 9 seconds for a single page to load. By making it completely static, it took only a half-second to load.

Learn how to use Seaside and Smalltalk

I'll finish the rest of the pages later today, and then create a nice ZIP file out of it.

For the past few days I have been fixing up a website that my cousin found. He was working on some biology/technology homework and was tired of writing out DNA sequences, manually converting them to RNA and then searching through a table to find the amino acids that each trio of letter corresponds to.

Using jQuery and JavaScript magic, I came up with this. It converts DNA to RNA and then finds the amino acids in the sequence. The conversion between RNA and DNA takes place while you type, but you have to click to get the amino acids.

The whole thing is a single HTML file with 3 JavaScript files and a stylesheet. The JavaScript is divided into three categories; data, logic, and views. The data.js file contains information on amino acids. The logic.js file has code that deals with the conversions, and the views.js file has code for displaying the results. The amazing thing is that all of this works in Internet Explorer 6, Firefox 3, Safari, etc. Note: there are other JavaScript files included but they are for the fancy effects in the views.js file, they aren't part of the core logic of tool. The advantage is that the whole package is self-contained and you can copy the folder over to a USB thumbdrive and use the tool on any computer that has a web browser installed. You don't even need a web serrver.

The code is available at GitHub and is licensed under the MIT License.

A long time ago, I wrote a blog post and some code that validates file uploads in Django. In the last week, it seems a lot of people have been interested in the post and since Django finally has a stable 1.0 release, I thought I would update the previous blog post.

On Friday I was bitching about the lack of websites that can import FOAF profiles. A lot of the popular ones like Twitter and LiveJournal can export them, but they don't seem to be able to import them and make use of the actual FOAF data. A portable file format only works when you can both import and export the data.

There are a lot of websites that export FOAF, Friend Of A Friend, data including: LiveJournal, Twitter, Pownce and hi5. There is a Facebook application that exports your Facebook profile to FOAF too!

FOAF doesn't appear to be dead in terms of exporting, but what about importing? That's the whole point of FOAF...to make your data portable so you can move it around easily. But I've searched and searched and I can't find anything on how to import my FOAF data into Twitter, or LiveJournal, or elsewhere. What's the point of freedom when I can't use it?

A simple example of how importing FOAF is useful: FriendFeed. It aggregates stuff from various social networks. I already have a list of online accounts in my FOAF file. FriendFeed, let me import that file and you can take care of the rest! I hate re-typing in all my account names so you can import them. It's annoying and boring.

The project is still alive. The last time I checked it looked a little dead, but now that I've checked out the mailing list archives, it looks like it's still alive. Awesome awesome :D

cl-terrace

Thanks to the list, I've discovered another web application framework for Common Lisp called cl-terrace. It's a Model-View-Controller framework (aren't they all?) with only the View-Controller part covered. I'm not sure exactly how that works, but it uses the Hunchentoot web server, and djula, a Common Lisp template engine based on the Django templating language which is nice.

The documentation for djula should be generated by the developer since the API is apparently changing around quite a bit. Djula looks like it handles internationalization and translations in a sane way. You specify translations using a dictionary (a.k.a. hash-table), the example shows how to do this.

cl-terrace is ASDF-installable in case you're itching to try it out. Using SBCL, run this:

(require 'asdf)
(require 'asdf-install)
(asdf-install:install 'cl-terrace)
to install it.

Ruby

On another note, a Ruby note, Chris Wanstrath of GitHub fame presented a keynote at the 2008 Ruby Hoedown about side projects where he said,

First off, the time issue. I don't know how many of you read RSS, but I challenge you (that's a keynote term) to give it up for a month. Just turn it off...What should you do instead? ...let other people do the filtering for you. Use your time for other things.

It's a good keynote and lots of communities could learn a thing or two from the Ruby community. The optimism of the community has to be balanced out as Unspace's Pete Forde says,

Folks in Ruby tend to write a lot of nostalgic, self-aggrandizing bullshit, though. You see a lot of "MY MY, THE COMMUNITY HAS EVOLVED INTO SOMETHING SPECIAL" and talk of changing the history of software development. I'm all for progress, and as a musician, I understand the function of hype in generating momentum. But sometimes we need to get real and be a little more harsh in our own self-analysis.

Anyway, off to write some code.

I overslept by a few hours but I decided to change the colour scheme. The stylesheet I uploaded last night was hideous, though good enough for testing. The new styles and page generation functions are up and I've switched the main page to PHP. The Friend of a Friend Creator is also partially up. I need to add more of the FOAF specification stuff of course, but there's a fancy new date picker (Thanks jQuery-UI!)

The design is very retro, very 70s I would say...at least in terms of the colours. The striped background reminds me of the swimshorts I bought that also have racing stripes. Obviously the design is solid because of this, heh.

Some details...