Functional Principles for Object-Oriented Development by Jessica Kerr

Lately I have been playing a bit with F#, mainly out of curiosity. To be honest, functional programming looks a bit scary to me, especially the syntax. But the guys over at fsharp.org and fsharpforfunandprofit.com are pretty persuasive, so I did decide to invest a bit more time in playing with it. I will see where it will lead me. Hopefully I'll blog something concrete about #fsharp in a little while.

As a part of my journey so far I stumbled upon this video where Jessica Kerr explains the basics of functional principles and how to apply them in our "main" languages, like Java or C#. I strongly suggest you invest a bit of time and at least take a look at what it's about and how you can apply functional principles already today.

I really, really think you can watch the video and take away something from it immediately. It might even inspire you to try a bit of functional programming yourself.

Jessica also has a blog and she also tweets under @jessitron. I suggest you pay her a visit.

A few quick tips on how to improve site speed

Search engines care about page speed. Users care about page speed. It only makes sense that you try to make your pages load as quickly as possible, without losing anything important.

So, here's a few quick tips on how to do that. Let's get into it:

1. Reduce number of HTTP requests

Browsers have limitations how many parallel requests per server/proxy they do.

Firefox 2:  2
Firefox 3+: 6
Opera 9.26: 4
Opera 12:   6
Safari 3:   4
Safari 5:   6
IE 7:       2
IE 8:       6
IE 10:      8
Chrome:     6

Source: stackoverflow, you can also take a look at Browserscope.

So, what can we do about this? First thing that comes to mind is bundling. Bundling basically means that you combine all the different CSS or JS files into a single file which then browser downloads using only one HTTP request.

Before bundle:

After bundle:

Pretty nice, huh? In this manner we can really reduce the number of HTTP requests. So how do we do bundling?

Another way to reduce number of HTTP requests is also to use CSS sprites. This means combining image parts of your layout into one large image and then use CSS background-position to show appropriate part. This way not many small images are downloaded, but one larger which again - reduces the number of HTTP requests.

Not really related to bundling or sprites, but I also found one extra tip for designers - this interesting point on Dawid Walsh's blog - Combine Your CSS Media Styles Into One File.

More...