You're viewing blogs from Work only. RSS?

View all different categories

26th of September

London Frock Exchange launched

London Frock Exchange launched Today we launched The London Frock Exchange which is a joint project between Fry-IT, Charlotte Davies and Sarah Caverhill

Elevator sales pitch: Unlike other clothes swapping sites, with Charlotte, Sarah and Rani as an expert hub in the middle you don't swap straight across; no you swap one frock in and can choose a frock (of equal value) from the pool of frocks.

Fry-IT is co-founding this venture and hope it'll make us billionaires by the end of the year (They take a small admin fee of £25 for sending you a frock back but sending it in is free with freepost). It's been great fun to work on it over the last couple of months as it means we (Fry-IT is a all-male highly technical company) have had to learn about sizes, body shapes and trying to learn how a female web audience thinks. The ladies have done a great job of seeding it with lots and lots of frocks all of which you can wear in a matter of days if you just swap one of equal value in first. Enjoy!

10th of September

Google London Automation Test conference (part II)

This is the second part of the summary of the Google London Automation Test conference that I blogged about.

The conference lasted two days. Here's a brief summary of what happened on the second day which was on the same theme as the first: automated testing of software. The highlight of the day was Goranka's talk about performance testing.


Read the whole text (582 more words)

8th of September

Google London Automation Test conference

I'm writing this from Googles office in London, UK where Google is hosting a conference on Automated Testing. Testing of software that is. There's been very little talking about usability testing or hardware testing. There's been a lot of talks about taking unittesting taken to the next level.

I'm going to blog again about the stuff I learn today. Below is a summary of the stuff I learnt yesterday. Just coming to see the Google office was a very interesting experience. It's very impressive. The office building is beautiful and has a nice feel to it. One of the most impressive things about this office is the free-food canteen which I've used almost excessively but nobody except my girlfriend and my kung fu teacher will minds. I'm only here for two days and they can afford it :)


Read the whole text (438 more words)

3rd of August

Sorting transform function in PostgreSQL

A database table that I've had to work with has a something called identifiers which are humanreable names of questions. There's a HTML template where the question designer can place the various questions in a human-sorted order. All questions get identifiers in the form of <something><number> like this: Head1 or Soma3 or Reg10 where Head, Soma and Reg are sections. Changing the nameing convention from Head1 to Head01 is too late because all the templates already expect Head1 not Head01. Initially I sorted the identifiers like this:

 SELECT id, identifier 
 FROM questions
 WHERE section=123
 ORDER BY identifier 

The result you would get is:

 Head1
 Head10
 Head2
 Head3
 ...

The human readable sort order should have been this:

 Head1
 Head2
 Head3
 ...
 Head10


Read the whole text (90 more words)

11th of March

Quick PostgreSQL optimization story

There are several ways to do case insensitive string matching in SQL. Here are two ways that I've tried and analyzed on a table that doesn't have any indices.

Option 1:

 (
  LOWER(u.first_name) = LOWER('Lazy') OR 
  LOWER(u.last_name) = LOWER('Lazy') OR
  LOWER(u.first_name || u.last_name) = LOWER('Lazy')
 )

Option 2:

 (
  u.first_name ILIKE 'Lazy' OR 
  u.last_name ILIKE 'Lazy' OR
  u.first_name || u.last_name ILIKE 'Lazy'
 )

A potentially third option is to make sure that the parameters sent to the SQL code is cooked, in this case we make the parameter into lower case before sent to the SQL code

Option 1b:

 (
  LOWER(u.first_name) = 'lazy' OR 
  LOWER(u.last_name) = 'lazy' OR
  LOWER(u.first_name || u.last_name) = 'lazy'
 )

Which one do you think is fastest?


Read the whole text (92 more words)

12th of January

An idea for a better timesheet tracker

Here at Fry-IT we use timesheets, like so many other companies, to track the time we spend on each client project. Despite being a very "web modern" company we still don't use a web application to do this. What we use is a python script that I wrote that uses raw_input() to get the details in on the command line. The script then saves all data in a big semicolon separated CSV file and is stored in cvs. This works quite well for us. It's in fact all we need in terms of actually entering our times which is usually very easy to forget.

But, here's an idea for a timesheet tracker that will not guarantee but will really help in not forgetting to fill in your timesheets. The idea is that you have a web application of some sort that is able to send out emails to registered individuals. These emails will be sent at (a configurable time) the end of the work day when you're about to leave for the day. You might have seen this before on other timesheet tracker applications; it's not new. What is new is that the email would contain lots of intelligent URLs that when clicked fills in your timesheets for that day.


Read the whole text (307 more words)

 

Older entries