Skip to navigation.
Recent Posts

Vim Tips: Replace 0px with 0

23
Jun
2009

I like little wins. I was just looking through the CSS file for this site and noticed that - for some reason - I'd used 0px instead of 0 a LOT of times. Most values need numbers (10em, 10px, 10% and 10pt are all very difference sizes) however 0 is one of the few valeus which is the same in all cases (0px, 0pt, 0% and 0 are all zero!). This adds up to wasted data and bandwidth; admitedly not a lot, but still Every Little Helps!

So I fired up Vim. Initially, I just did:

Indenting in Vim

27
May
2009

Vim LogoEver had that situation where you've enabled :set paste and pasted in hundred of lines of code into vim only to see it all fully left aligned? I just did… And bugger going over each line and manually indenting it! Want know how to indent a visual block of text?

How to use "sed" to find and replace

26
May
2009

After Worldpay recently changed to use the RBS system, I was tasked with finding every instance of select.worldpay.com/wcc/purchase in our forms and replacing it with select.wp3.rbsworldpay.com/wcc/purchase. There appeared to be thousands of files and I wasn't going to do it manually&hrllip;

PHP's display_error, not always a good thing!

19
May
2009

I just hit an interesting issue while trying to upgrade a Drupal 5.18 site to Drupal 6.12. I went to the update.php page and noticed an error at the top implying the url_alias table was having issues due to Drupal 6 expecting a language column which wasn't present in Drupal 5. "No problem" I thought, "That'll get fixed during the update!". This was the beginning of a long learning curve through the new Batch API system!

Backing up a Drupal Database: Redux

27
Apr
2009

Back in November last year, I wrote a script which handled backing up a drupal database. There were quite a few comments and I've taken some on board and developed the script on a little further to be more "generic".

One of the main complaints/suggestions about my previous snippet was the hard coded nature of it. The follow script offers far more configuration through the command line itself.

I'm a lazy linux piper

11
Mar
2009

This morning I updated a site to the latest release of Drupal 5.16. Nothing special there at all. I've done that many times as has (hopefully) mabye other drupal devs… However, I'm a bit of a newbie when it comes to SVN. Didn't I mention this drupal site was in an SVN repository? ;-)

So, I've svn copy'd the trunk to an "update_to_5.16" branch, checked out this branch and done a cvs up -dP -r DRUPAL-5-16. Everything is going according to plan so far. Next I run svn status to get a list of files which I need to mark as added or deleted (or to list anything else which has gone wrong). What happens next is I get a list of hundreds of CVS Template files which have been added to the CVS folders. For example…

Free Kasha Wallpaper

24
Feb
2009

My friend over at Kasha Music has just released a REALLY nice free wallpaper. It's based on a starfield background with Kasha's face screened over the top. It's really effective!

How to import users into Drupal using Devel

15
Jan
2009

The first test is a valid email address test. The second test is if an account exists for that email address. The third is if the username, generated by the "user" part of the email address, exists. If there are any issues, the "error" is logged into and array and printed at the end.

As the function goes along, a user is saves with the user part of the email address as their name, a random 6 character password and the email address as the contact address. In this example, it also give the user role number 3, which was our "subscriber" role.

Neat commenting in Vim

12
Jan
2009

I am a bit of a "neat geek" when it comes to coding. Things should be indented neatly and should have well laid out comments! Why? Well… It's easy to do and in 6 months time when you look at your code you will appreciate it! It will also me even more appreciated by another developer in less than 6 months time ;-)

Finding the largest files in a folder

06
Jan
2009

I just needed to find the largest files in a folder (in an attempt to find out why it was so bloody huge!) and have ended up with the following handy combination of commands…

find /path/to/folder -size +1M -print0 | xargs -0 du -h | sort -nr

New Dr who is Matt Smith

03
Jan
2009

Matt Smith

The new Dr Who appears to be Matt Smith!

Whoa! He is so young! Almost depressingly, he is only 11 days younger than ME. Yes… The new Dr Who is younger than me.

I think he could be good. When the replaced Christopher Ecclestone with David Tennant I was a little wary and wondered if he could pull it off - which he obviously did. This guy looks (from the clips) like he should fit the character perfectly!

Lighttpd book

30
Dec
2008

Lighttpd Book by Packt Publishing

As many readers might know, I use Lighttpd a lot. I really like it for many reasons. Its fast, free, easy to configure, very light-weight (handy if you're running a cheap VPS or a low end server)… This is very apt for me because almost EVERY website I make now is a Drupal site (why would you use anything else?!).

Drupal is, inherently, a rather large web app - mainly because of its ability to do nigh-on anything. This means one needs to be a little careful about what you do with your resources. From my experience, Apache (which is bloody brilliant) can tend to get a little "bloated". I know there are ways of slimming it down and improving it, but I also like playing with new toys too! This is when I moved over to Lighttpd

OpenSuse 11.0 Issues

12
Dec
2008

After about 4 days of using OpenSUSE 11.0, I'm not overly impressed with it in comparison to RedHat Enterprise 3/4/5, CentOS 5, Fedora 9 and Ubuntu 8.x (other distro's I've used). OpenSUSE has some annoying habits and default/unusual configurations…

Free Christmas Wallpapers

30
Nov
2008

As part of my RSS reading, Smashing Magazine is rapidly becoming something I look forward to reading. Every month they do a roundup of desktop wallpapers which include a calendar and are, in some way, seasonal. This month is no exception! They have a fantastic selection of christmassy wallpapers for you to chose from and they're all free!

Backing up a Drupal Database

26
Nov
2008

I was just dumping a database using mysqldump and I noticed that tables such as cache (and its cousins cache_page, cache_menu, etc), sessions and watchdog can be pretty big and are also not often essential for backing up. I mean, when you restore your web site do you really care about restoring people's logged in sessions from when the backup took place? I can understand maybe keeping watchdog; but then again should you lose your site you would probably lose it several hours after the backup so would miss out on any relevant watchdog notices.

Anywho… I did a mysqdump for a large database for a website I maintain and the dump came out at 400Mb. I then spent a few minutes cobling together a small script which would do a mysqldump but had some pre-programmed Regular Expressions to match specific groups of tables which it would only dump the structure for (ie, no data). After running this script, the SQL dump was only 220Mb. Much better! It also runs considerable quicker too and will cause less table locking.

So - the script?

SVN + NFS = svn nfs cant get exclusive lock

25
Nov
2008

Last night I was trying to configure SVN on a server. The setup was that the SVN Repo was on "srv2" and the frontend and code I wanted to import was on "srv1".

I created an NFS share on srv2 and mounted it on srv1 in /mnt/svnroot. The mount worked perfectly and I could touch and remove files from srv1.

So I tried to create a "sites" folder where I wanted to import a site I wanted to version control. This is where I started to have problems… The sollution was to add "nolock,bg" to the mount options on the client. Read on for more details!

List enabled services in Linux

21
Nov
2008

Today I needed to list all of the services which were enabled on boot-up for one of the servers I maintain. Obviously, my first port of call was to use the nifty tool ChkConfig like so…

Upgrading Netgear DG834PN

14
Oct
2008

Something I thought I'd post up quickly which caused me a little trouble just now…

I tried to upgrade my Netgear DG834PN (an ADSL WiFi router, EXCELLENT piece of kit incidentally) from the stock 1.3.30 firmware to the latest (as of writing) 1.3.39. There was no particular reason for the upgrade - I'm just a "bleeding edge" kinda guy!

Relevant Content gets some love

25
Sep
2008

Druplicon tag cloudI while ago (almost a year!) I released a module called Relevant Content to the community. This module executes a relatively lightweight SQL query which pulls up other nodes and sorts them by how many terms they have in common with the current node you're looking at. This provides a rudimentary method of suggesting other content to visitors to the page. It also provides a way of teaching search engines about other potentially relevant content.

Abessive For Drupal 6

16
Sep
2008

My first theme, Abessive, gets a new release today for Drupal 6. Turns out to be a pretty easy upgrade!

In case nobody caught onto what Abessive was the first time; it is an (almost) image free theme with flexible 1, 2 or 3 column layout (depending on where/if you place any blocks). Each block/section has rounded corners and slight top & bottom gradient which is achieved using only CSS techniques involving margins, padding and background colours. This makes the theme very lightweight and elegant at the same time.

Abessive Screenshot

It'd be nice if you asked before taking stuff from my site. Contact me at webmaster [at] thingy - ma - jig . co . uk

This site was based on the Cobalt 2.0 Theme for phpBB written by Jakob Persson

Sponsors
Recent comments
RSS Feed
Search
Follow Us
Weblinks

Add to Technorati Favorites

TGC Webring

CMS Drupal Showcase

Feedburner for ThingyMaJig

View Nicholas Thompson's profile on LinkedIn

Nicholas Thompson's ClaimID

IconBuffet

Twitter

Become A Fan

bile-edge