Is Haskell good for web development?

May 12, 2012 – 2:49 pm Tags: ,

I’ve been trying out Haskell for developing a web application, using the Yesod framework.

I always found Haskell quite nice, but never tried developing web apps with it. After using Yesod, I’m slowly starting to think that Haskell might be much better for it than many of the commonly used languages like PHP, Python, Ruby or JavaScript.

Here’s why:

Read the rest of this entry »

5 ways how PHP is better than Node.js

April 24, 2012 – 5:32 pm Tags: ,

All hail Node.js! Boo PHP!

Except there are various things where PHP is better than Node…

Read the rest of this entry »

How to run Apache and NodeJS based sites on the same server with Varnish

April 15, 2012 – 7:11 pm Tags: , , , ,

While developing Battlefield 3 Web Commander, I wanted to keep it on my VPS where I was already running Apache.

Of course I had the option of putting it in a non-standard port like 8080, but it wouldn’t be nice if the URL would be somedomain.com:8080. The second option was ordering an extra IP address from Linode. That would’ve cost me a bit each month, so I didn’t really want to do that either.

The third option turned out to be pretty easy: Use Varnish.

Here’s how I did it…

Read the rest of this entry »

Nodejs application architecture: Battlefield 3 Web Commander

March 10, 2012 – 8:11 pm

In this post I’ll talk a bit about the architecture of my first nodejs application, Battlefield 3 Web Commander.

In addition to your usual web app stuff, Web Commander talks to Battlefield 3 game servers in real time and has many features related to that. It also displays data from the servers in real time. Because of these, there is a fair bit of complexity to it.

Read the rest of this entry »

Creating custom dojox.dtl filters

February 15, 2012 – 7:46 pm Tags: ,

Dojo’s implementation of the Django Template Language (DTL) is pretty convenient for client-side templating in Dojo applications.

However, sometimes you need to customize formatting of values, or add other custom logic to it. Using a filter for this purpose is quite convenient, but Dojo’s implementation is completely undocumented as to how you would add your own.

Turns out it’s actually quite easy.

Read the rest of this entry »

Why does everything need to be integrated into a framework?

January 21, 2012 – 8:21 pm

There is occasionally people asking about things such as “Is there an integration for X in framework Y”

Then they are disappointed when it isn’t, acting as if it’s a really bad thing.

But why do things need to be integrated to begin with?

Read the rest of this entry »

Thoughts on CoffeeScript

January 9, 2012 – 5:35 pm Tags:

I initially dismissed CoffeeScript as just another silly attempt at making JavaScript not be JavaScript. It probably also compiled the code into some sort of totally wonky JavaScript, too.

However, after thinking about it for a while, I decided to actually try CoffeeScript and see for myself. Now, after using it quite extensively on some projects, I feel I’m qualified to give my completely unbiased, 100% accurate and correct opinion on it.

Read the rest of this entry »

2012 – Mayans beware

January 3, 2012 – 6:36 pm

As I’ve been doing before, here is some statistics from the year 2011 and some other random stuff!

Read the rest of this entry »

How to troll a programming language related community

December 26, 2011 – 9:04 pm

Here’s an easy guide you can use to troll any programming language community. IRC channels, forums, whatever. Your success may vary.

Read the rest of this entry »

My latest project: Battlefield 3 Web Commander

December 5, 2011 – 9:10 pm

Some of you have been wondering why I haven’t been updating.

Well, it’s because I’m lazy I’ve been working on something else:

Behold, Battlefield 3 Web Commander!

It’s essentially a Battlefield 3 server live tracking / admin tool service. It’s powered by nodejs and MongoDB, using libraries Express, Socket.io, Mongoose, Knockout, and a few others.

Do check it out, let me know what you think, and if you own a Battlefield 3 server, be sure to sign up for the beta :)