top | item 834490

Our corporate WebSite runs on Clojure and Google App Engine

12 points| fogus | 16 years ago |hackers-with-attitude.com | reply

17 comments

order
[+] moe|16 years ago|reply
That headline didn't kick me much (well, so you can build a website on clojure, duh!) but while clicking through that site I was fascinated by their writing about the company philosophy.

http://www.freiheit.com/tag/Jobs#ag9mZGN3ZWJzaXRldGVzdDFyDQs...

The english translation is horrible but here some highlights from the Jobs-page:

* The day begins at 9:00AM, not later, preferably earlier.

* Release dates are never(!) shifted.

* We believe in the "Broken Window"-theory. Companies degenerate, too. That begins with a paperclip laying around. Consequently every employee must empty their desk before they leave.

Along these lines there's this cultish subtone in all of their writing which is hard to translate. Reading their blurbs gave me the chills like no other company description I've ever read. Definitely has a "zombie B-movie" taste to it.

[+] radu_floricica|16 years ago|reply
I don't really have a problem with that. I'm self-employed most of the times, but during the occasional "sortof hired" periods I like to take work ethics seriously. And I definitely don't mind a nice quiet clean office - again, not at all something I'd do on my own, but I definitely wouldn't mind such a policy. There is a bit of zen in 5 minutes of cleaning up at the end of the day.
[+] sketerpot|16 years ago|reply
Does anybody actually like tag clouds? I've always wondered.
[+] tjr|16 years ago|reply
No, though I think there may be a good concept in them somewhere.
[+] icey|16 years ago|reply
The only time I've ever liked them was for finding trends when working with analytics.
[+] pstuart|16 years ago|reply
No, but marketing requires them in order to be buzzword-compliant.
[+] tybris|16 years ago|reply
I've never even clicked a tag cloud.
[+] boggles|16 years ago|reply
I assume they have a cron job running to keep the site alive - Google App Engine for Java has a nasty habit of putting your app to sleep and then it takes 20 or 30 seconds to wake it up (at least that's what happens with JRuby - I don't know about Clojure).
[+] tybris|16 years ago|reply
Is it me or is it really slow?
[+] ilyak|16 years ago|reply
I'm curoius why everyone resizes images when they're uploaded.

I think the better way is not in any way changing the uploaded file, instead resizing it when it's actually requested by a client. This way, your pages can ask server for whatever actual size they need in the moment instead of setting image size once in stone. Like, if you've uploaded kitty.jpg, you can then ask for kitty_120x50.jpg or kitty_300x.jpg or kitty_x200.jpg (with missing dimension being calculated to preserve ratio).

If course, resized files are stored along with the original to avoid costly resizing process each time. If there's already a copy with required sizes, it's served really, really fast.

[+] ericwaller|16 years ago|reply
I think amazon.com does something like this. I read an article that dissected their product image urls to explain how their image service worked but I can't find it now. If I remember correctly the service could resize/rotate, add sale "stickers," and a bunch of other stuff.

EDIT found the article: http://aaugh.com/imageabuse.html

[+] mikeryan|16 years ago|reply
This is one of those issues where I have an opinion but I honestly don't care that much either way. If the place I worked had one method in place I'd probably do that.

The nice thing about doing it on upload is It allows you to offload the processing to a job queue so you don't take a huge performance hit. (This is what I've done in the past). If you're resizing to sizes not relative to the original it also gives you the ability to maybe do some editing/cropping to make sure the resized images still make sense. Digg has a tool like this for avatar images.

[+] fnid|16 years ago|reply
The upload process is already time consuming. Doesn't hurt it much to include the resize processing with the upload. People want the images to appear quickly every time. Disk space is cheap and you want requests to images to go to the regular file serving (.jpg or .html) rather than through dynamic serving (.php or .aspx) to reduce load on the server.