Posts Tagged ‘rails’

Setting up Nginx with Rails

Posted by rich on May 22nd, 2008 categorised as How-to | 2 Comments »

So the other day I decided to switch from using Apache to Nginx not because apache isn’t any good, far from it. Nginx just uses much less ram and when you’re on a fairly small slice, using up more ram just isn’t good. I was going to benchmark speed and things between apache and nginx but I forgot to take some readings before stopping the apache service and installing nginx so we’ll skip over that idea like the thought never came into my head.

I’ll mention a few things I like about nginx first:

  1. It’s Russian -Being Russian it makes me feel like a communist, which is fun. It also reminds me of being build to take all things thrown at it.
  2. It uses a lot less memory - As I said before, not really done much benchmarks so these were some quick figures from ‘top’ but I had apache running with about 5 instances each using 2-3% of ram even at 2% each that’s still 10% of ram being used just for apache… with nginx I appear to have 2 instances running both using 0.2% of ram, so 0.4% in total - which is a nice difference.
  3. Faster page serving - Now this is meant to be a server fast at serving static content so its not just be me but I find the site much quicker compared to when it used to be on apache (all the sites in fact). I’m not to sure if I just think it’s quicker, the slice has more ram free so never going into swap or…. it is just a lot quicker at serving pages.

Read the rest of this entry »

I love web frameworks, why don’t you?

Posted by rich on May 11th, 2008 categorised as Grind My Gears | No Comments »

Lately I’ve become fanatical over web frameworks, mainly Django, Rails and CakePHP. Something about them just clicks, maybe its because I can go back to a rails app months after I’ve written it, even with no comments, and just know where each file is likely to be and where to find a certain method. Also I can create CRUD (Create, Read, Update and Delete) functionality in seconds as most frameworks provide some form of scaffold, something that would take time to produce without a framework in something like PHP.

If there is one thing that pisses me off about frameworks - it’s the people who don’t like them. If like me you’ve read a lot of people talking about how crap frameworks are? How they don’t see the point: “What’s the point in a framework? I can just find all the different library’s I need such as templating, databases and include them in my app”. Why? Why would you want to waste your time including a database class, setting it up and then going to find a template engine to include and then setting that up too! When the framework will just give you that from the word go. It just confuses me. Then there is the fact that with most frameworks you get nice clean URL’s, free without having to do anything. try doing that in your simple PHP app without doing some form of mod_rewrite YOURSELF.

Most frameworks will log errors, show debug information (in development mode), give you the option of simply editing a file (not having to set it up too) to get nice 404/500 type errors. Something that would require you to make your own form of exceptions, your own error logging if you were not using a framework, which would do it all for you.

Another thing that pisses me off about not having a framework - is validating form inputs. Argh, it annoys me so much having to do lots of if statements to check if a field is empty, having to do a query to check a field isn’t already taken. In a framework, for example rails I just have to do:

validates_presence_of :title

Tell me again why people prefer to spend ages writing if statements and queries to check form data?

People will always try to say “I don’t like being told how I should code” - Fuck me, yes maybe…maybe there are some standards you have to stick to in frameworks and if you’re totally mentally retarded you might think this is horrible idea to have to agree on a naming convention for the benefit of others. It’s like these people have never worked with other people? At work we’ve had entire meetings just agreeing on a standard form of code to use, have you ever tried submitting a PEAR class?! talk about anal. I’ve found apart with some naming conventions you can pretty much code however the hell you like in a framework - much like you can if you were not using a framework!

From my experience so far I’ve never had a website that has not fitted the framework type model… now I’m sure there are loads of sites that would not work at all in a framework and the anti-framework people will be the first to tell you but that’s fair enough if it doesn’t fit the model then you don’t have much choice. But these people do it out of choice?! Are they better than us mortals? Do they know something we don’t? No! from my experience the people who shoot down using a framework to speed up development, to help bring out creativity, to help with debuging, these people are generally scared to learn something new, scared to well…learn. They refuse to even look becuase they know it’ll be something else that’s not what they know, even if the current method they use is rubbish.

All this technology, all the advances in medicine we have, space travel, you name it. It all comes from people wanting to discover, people wanting to learn. So I beg you, don’t just push the framework out the window as though it’s all ‘hype’ and doesn’t have any real world use.. please please please just give it a try. There’s a reason it’s popular, even among the big names, because frameworks are damn good.

New Site and the holiday

Posted by rich on April 2nd, 2008 categorised as General | No Comments »

New website

I’ve finally fixed the website, from that file I
deleted. True it wouldn’t of required
that much effort to fix but I thought I’d give the site a re-code/design while I was at it
- I seem to have a habit of that but anyhow since I’ve improved on my Rails skills since the last code this build went much smoother which leads nicely into the next change. The layout.

I’m
sure you have noticed the new layout but I bet you did know that it in
fact changes between a night theme and a day theme at 6AM or 6PM….
but if you prefer one theme over the other why not click one of those
little icons in the top right? They change the theme to whatever one
you choose for that session (while the browser is open) you can even
switch back to the time based theme if you prefer that.

You’ll also notice the flickr, twitter and last.fm
integration on the right of the page. Apart from twitter they are all pulled in from an RSS feed and then using fragment caching with memcache in rails to do
some time based caching so the flickr feed is updated every hour and the last.fm one every 5 minutes. I will talk more about how I did this in a later post.

The twitter feed is updated/imported using their javascript code so that should be real time. Oh and about twitter I’ve finally decided I’d get one after months of thinking hmmm is there much point in telling people what I’m doing all the time? Well I thought meh why not? People don’t have to read it and its something all the ‘cool’ kids are doing.

Holiday

So for the past two week I’ve had some time off work and was lucky enough to spend 5 days in Edinburgh and 3 days in London with my girl friend (Kerry). Both trips went smoothly and a I thoroughly enjoyed both (I even enjoyed London :o).

National Portrait Gallary (Edinburgh)Edinburgh is both amazing and beautiful me and Kerry had a fantastic time here looking around both the city, art galleries and museums of which there are lots! We took a Flybe flight up to Edinburgh from Birmingham on a small plane which was nice. When we arrived in Edinburgh they had a very handy and excellent bus service from the airport which took us all the way into the centre, the buses run every 10 minutes - I really did think this was excellent. We stopped in the Royal Garden Apartments which was a very nice apartment. The apartment was but 5 minute walk from Prince’s Street and any shops we needed also being close to most of the attractions. Oh and the national portrait gallery was right opposite the apartment so of course we went there first =) (left image was view from the window).

Part of Edinburgh Castle

On the second day we went to Edinburgh castle, although I’d been before I was quite young so I only remembered bits so going again was a very fun day out, it also meant I got to take lots of pictures and blend in with all the cute Japanese tourists taking all their pictures. The castle was quite busy as you expect though there were a lot of school trips there with all these Scottish kids, I love the Scottish accent its cute.

On the third day we decided to visit all the galleries - national, modern, etc… these were spread all over the city so it took all day to get around. They were quite interesting but I’m sure Kerry enjoyed/appreciated them more so than I.

On the fourth day we went to the Museum of Scotland and the Royal Museum, which are attached, these were both very interesting and fun :), while being quite big and hard to navigate around at the same time.

Edinburgh

London Art GallaryThe 3 days we spent in London were very fun too, again we visited the art gallery and the natural history museum which were both very big and full of interesting paintings and animals the real excitement of course for me was the science museum :D getting to play with all the interactive stuff like a little child, amazing amounts fun indeed. Although we did get evacuated from the building for some reason, and I’d love to know why lucky for us though we were in the last room.

London Natural HistoryThe tube was not to bad at all, we found our way around with ease and although it got a little busy now and then majority of the time it was pretty empty. Also for some strange reason unbeknown to me I like the smell at the tube station, must be all that unclean air plus the tube kinda reminds me of the 60’s, maybe its because the icon looks all retro.

So all in all the holiday’s went very well and I enjoyed both lots and lots, although going back to work was a shock to the system.