Web Application Development with Clojure
vijaykiran.com
vijaykiran.com
I understand the choice to build a blog was arbitrary, but as a clojure dev looking at this it just looks an immensely painful process for something that should be one of the simplest things to do on the web.
I've found clojure to be a fantastic language for managing data transformations (we're using it for continuous delivery stuff at work and it's been remarkable). For static content like a blog it just seems remarkably burdensome.
There is probably a reason most clojure developers don't use blogs written in clojure.
Choosing to build a blog was to just avoid writing more about the type of the app I'm building & to skip explaining the requirements :)
i'm not just aiming at this post (the series of articles here look good). but web pages are not new tech these days. blog sites particularly. why do we still see so many go down once they have more than zero load?
especially when the article is supposed to be teaching about web dev...
cache: http://webcache.googleusercontent.com/search?q=cache:C6RrQdO... (first page only)
[edit: there are lots of ways of caching to static files. wordpress has plugins that do it. more recently github has popularised jekyll. you can have comments through javascript and a 3rd party - i've set up a jekyll based blog with discuss comments on bitbucket and it was easy to do. it's not even hard to write your own (my own blog is nothing exciting, sure, but for years was generated as static pages from email using just a few bash scripts).]
Aside from your caching remark, how would you design a dynamic content system like a blog? Should blog engines like Wordpress produce and maintain a series of static files to prevent db lookups for each page?
How to write a post with WordPress:
1. Click the + button
2. Write
3. Check the tags you want
4. Click publish
How to write a post with Octopress: 1. Type `rake new_post["whatever you want your title to be"]`
2. Navigate to source/posts/yyyy-mm-dd-whatever-you-want-your-title-to-be and open it
3. Type your post
4. Enter the categories in brackets at the appropriate place in the YAML front matter
5. Go back to the root of your site and type `rake generate`
6. Type `rsync -az public/ user@yourserver.com:yoursitedirectory`.
This is based on the Octopress documentation -- I've only ever used naked Jekyll, but it sounds fairly similar, so I don't think I'm being too unfair here. I'm also giving Octopress a lot of leeway by e.g. including the press of "publish" as a separate step for Wordpress but not the equivalent step of saving when writing for Octopress.It only gets harder from there. Installing and tweaking a Wordpress theme or plugin is pretty easy. With Octopress, you actually have to sit down and code.
I get that some hackers might be into all that, but surely you can see why somebody might find Wordpress more convenient.
Any thoughts on using vim for slime/swank-like development? I hear Nailgun can be quite rough to get working.
For haskell, that's http://www.yesodweb.com/ and for clojure it's http://www.webnoir.org/
What trade-offs you encounter are going to be unique given what problem you are trying to solve with your web app, but the best way to see which suits you is just to take some time and try them out!