Wednesday, 14 November 2012

Getting all Fifth Normal Form on your ass


I've been reading up on database normalisation and thinking about how the London Indiepop Eyespy website would work.

Data normalisation is incredibly interesting, but not quite as important as what the site looks like, form dictates function here.

In the original pub game of indie eyespy, you'd spot a band member then look up how many point they are worth.

There's Stuart Murdoch from Belle and Sebastian, four points!

As many of the bands are quite obscure, it would be less likely that you'd know the names of band members, but you could still get points for identifying the person.
There's wassisname the drummer from Camera Obscura, would be worth the same as correctly remembering his name was Lee. Although, if playing indie eyespy competitively with friends, the person who get his name would claim the points.

So here we have the dilema for a website, what should it list:-

  • Check boxes for each band member by name for each band
  • Check boxes for numbered members for each band
  • Text box for number of members spotted and leave the rest to banter

With the limitless possibilities of computing power, I'm tempted to go for option one, and make life easier for folk who can't remember names

As bands evolved and lineups changed so did the way points were allocated, for example spotting Gav from Camera Obscura would get you three points, but if you instead noted it was Gav the bass player from Stabiliser, it would be five points. However, you couldn't then claim eight points for identifying him as playing in both bands. You only get points for one person once.

So the website would need a way of dealing with the same person in many bands.

With the Skilmo website, this sort of problem was easily resolved when it processed the checklist page, each skill was only logged once, for example tunisian crochet only counted once if you clicked it in both the textile arts category and the crochet category because the program ignored categories when logging stuff.

But with indie eyespy, because of the different points values this isn't possible, and rather awesomely, this is precisely in what 5th Normal Form is about in database normalisation theory.

On the database side of things I'd need three tables:-

  • List of people and their nominal point values
  • List of bands and their points values
  • List of which people are in which bands

Then every time the website is accessed a list is constructed by SQL of bands and their members and points values.

Then with PHP an html page is generated which displays this list, with form checkboxes and also generates so neat JavaScript which greys out people who play in different bands when you select them.

Then submitting this form should post a list of people and their points values.

The next page would get a list of the people in the database, and run through the posted data, tote up the score, and log the score.

That seems to work in my head.

Of course the list of names will be normalised with id numbers to cover for there being more than one person with the same name, and same with the list of bands.

The list of bands also needs a status column for whether a band is currently active, on haitus or split up. Cos, of course, active bands are worth more points than bands that are on haitus, but not as much as a band who split up in 1989.

And the list of which people are in which bands needs a column indicating former band members. Because, as I'm sure you understand, spotting the original guitarist from Pocketbooks is worth more points than the current guitarist.

Tuesday, 13 November 2012

The mind-boggling complexity of a London Indiepop Eyespy Website


After the frankly unremarkable failure of my last website, despite our best efforts, I'm unable to persuade people to sign up, I've decided to devote my labours towards creating a dynamic London Indie Eyepsy website.

I don't need to remind you that the basics of London Indiepop Eyespy involve awarding yourself point for spotting well-known Indiepop music scene people at gigs and concerts in London.

At first I figured it would just be a static list of bands and scenesters with check boxes and I could re-use the old php code from my skilmo website. I know where I am with php and a nice MySQL table.

But the more I think about it, the more mind-boggling it gets.

Part of the joy of the original game was that extra points could be gains using various multipliers, for example you get extra points if the person you've spotted is wearing a hipster stripy top, or if they're shopping in Lidl, or double points if you assault, sleep with or have sex with the spyee. There could be different point value for people depending on which band you identify the spyee with, for example, Dan Chapman from Pocketbooks may only be worth 2 points, but Dan Chapman from Hot Booth would be worth 5 points.

So, to do a dynamic check-list where extra lines appear for checking off several band members, or with the stripy top and sleeping with multipliers as more check boxes or radio buttons  this would use JavaScript, which looks straightforward. I've never used JavaScript before, but after a cursory glance at online tutorials it doesn't seem too challenging. A little challenging maybe, but not too much.

However, my mind boggles when I try to figure out how to create a webpage that behaves correctly with Dan Chapman. How do I make it so if you claim your points for seeing him in stripy top as Pocketbooks bass player, you then can't claim points for him as Knickers bass player, or Hot Booth, One Fathom Down. I'm going to need to use php to generate JavaScript that creates check boxes that behave as radio buttons across almost the entire length of the page.

Or maybe the check boxes remain as check boxes but become greyed out when you chose one or other of them.

Then again, maybe starting with a list of bands and scenesters is the wrong start point, and instead the site relies on a list of people, and their band affiliations is on a separate table.

I'm uncomfortable with this.

Even back in the pre-London days of Glasgow Indie Eyespy,  where the scene was much richer and more diverse, the game was pretty much a stalkers charter, where the proximity of creepiness and fun on the indie eyespy spectrum could be easily laughed off or obscured. In London Indie Eyespy, the scene is different, whilst Dan Chapman is a ubiquitous figure in the scene and a great example a few paragraphs above, actually mapping all the bands that various people called Emma are in so that anyone can stalk them in supermarkets makes me uncomfortable.

Imagine, if you will, that I recreated Facebook, not all of it, but your Facebook newsfeed and that of most of your friends, and I did without any input from you. Its clearly at the wrong end of the creepy/fun indie eyespy spectrum.

And so likewise creating a list of people and then mapping with bands they're in, and have previously been in, thats still drifting towards the awkward end of the spectrum. Especially on the lowest levels where playing on stage at The Wilmington Arms is a small step from playing in your bedroom.

Very easily someone could take it the wrong way and demand their details to be removed from the site. There's no way to take into account people's desire for privacy if you're starting from individuals rather than starting with bands.

Back in the early days of Last.fm and Songkick, there was correspondence online of bands complaining that they were listed on the sites despite having not signed up themselves, and it had to be patiently explained that if you're in a band with music to be listened to, then the listening experience belongs to the listener, whoever they maybe.

With Indiepop Eyespy, getting points for spotting Dan from Pocketbooks is one thing, but getting points for spotting Sandy in the supermarket is another matter entirely.

I was at a gig the other night, at Power Lunches, and I saw Katesby, she's a popular scenester. We go back a long way, about 420 miles and half a dozen years, but being a shy sort of chap, I didn't say hi or anything, I just lurked in a corner listening to the bands on stage and concentraing intently on my Samsung Galaxy S3 LTE. I just didn't feel comfortable saying hi, I don't think she saw me.

Maybe that makes me anti-social and a little bit creepy, or maybe its an inherent character trait that's made me the man I am today. Its the same thing I referred to the first paragraph of this blogpost, and its the inherent fallacy in constructing a London Indiepop Eyespy website.

Never the less, I'll have to go and read up and fifth normal form database normalization and see what works.

Saturday, 10 November 2012

Your vote counts

So I've been working hard on my awesome internet startup websitey thing, adding new functionality and cool stuff.

I've now got pages for each photo that's been uploaded for each skill and you can upvote and downvote photos just like on Reddit. And its' kind of neat too cos on the left side of each photo it shows the top votes photos from the same person and other top voted photos for that skill.

So say you uploaded a photo of some awesome piece of knitting you'd done, and some awesome photo of an awesome bit of chainsaw carving you'd done, and an awesome photo of you looking awesome playing bass guitar in some band you were in five years ago. Then when folk were looking at your knitting photo, on the right there'd be pictures of other people's knitting and on the left would be photos of your other awesomey things.

The main problem with this cool websitey thing, is that I'm the only person to have uploaded any photos of anything so its just me gurning and things I've knitted out of Sainsburys carrier bags over the last five years.

Still, the website is here, anyone can sign up and upload photos, please do, cos I'm not quite sure if it works right.

To register on the site, you'll need to go to this page, check off some of the crafts, hobbies and skills what you can do, then come up with some user name, then from your profile page you'll be able to upload photos and stuff.

Let me know if you have any problems, if for some reason you get logged out randomly, and if you have a retina display device, let me know what it all looks like.

Cheers

Wednesday, 7 November 2012

I am a female Goffin’s cockatoo

Thrilling progress is being made on my awesome internet start-up website thing.

This is the main page, this is my profile page and this is where you can register all the skills what you can do and open an account.

Elsewhere on the internet a parrot in captivity has started to manufacture its own tools. Its pretty awesome as we already knew that crows and jays could fashion tools out of bits of wire, but this is the first time its been seen in a parrot.

The bit that interests me most in the story is about Heidi, a female cockatoo in the same cage:-
Heidi, the bird in question, attempted to insert sticks into the enclosure, as she had seen Figaro do. She did not, however, adjust their sizes or attempt to manipulate them once they were on the same side of the wire mesh as the nut. Perhaps if she had been given more time to observe Figaro at work (he chased her off), she might have had a greater sense of how to use the sticks.
Me, I love watching people do things I can't do, and then having a go myself. Its just in my nature to want to try everything.

The past days and weeks have been fraught with the website. I've been learning how to do stuff in php, then once it works, I show it off to my nearest and dearest who just don't seem very impressed, and I don't understand why not.

For example, the checklist page was a huge list of all the skills on the database, I could image people slowly working through it checking off everything they could do, bias knitting, chainsaw carving, programming in FORTRAN, getting little stabs of joy when they learn about the existence of a new skill that they've never heard off before, like punch needle embroidery.

I couldn't understand why no one was registering on the site, why no one was working through the list of 300 or so skills?

Luckily, thanks to some good constructive feedback, I've changed the checklist page so all the skills are in categories, and you can just pick the one you're interested in. Rather than having to read through dozens of random ones that you're not interested in.

Its so obvious, but it didn't occur to me the first time round.

Me, I'm like Heidi, learning new skills. But I'm better than her, with a bit of practise I get better and get it right.

So, the next bit of the site that I'm working on is how it deals with images that have been uploaded by users. I'll let you know how I get on. Awesomeness all round!

Saturday, 3 November 2012

On National Insurance and Child Benefit

There's recently been coverage in the media of a thing called 'The Living Wage', that is a wage upon which people can live comfortably, a somewhat higher wage than the current minimum wage. By a quirk of statistics, the Living Wage is within a few pence of what the take home amount of the minimum wage if it wasn't taxed. That is, if people on minimum wage didn't pay income tax, they'd be taking home the living wage.

Fiscally, I'm a big fan of raising the income tax threshold to £16,000 or so, enough to take the minimum wage earners out of the tax system. And then, with feelings of generousity, I'd raise the threshold to the median wage, so the poorest half of the UK paid no income tax, and the rest pay the rest of it, at whatever rate balances the books.

However, I'm not the chancellor, and I have doubts. There's the whole concept of National Insurance, which I still believe is an insurance scheme and not just a different name for tax. I feel that all earners, no matter what their income, should be paying national insurance, like putting away a little bit each pay day, for when they fall ill, or become unemployed or otherwise fall on hard times.

And here we land at the problem with Child Benefit. Within twelve months, those earning £50,000 or more will not receive Child Benefit. Whether or not this is fair depends entirely on whether that money comes from taxes or national insurance.

If its from the National Insurance Fund then it ought to be a universal benefit, paid for all children regardless of their parents' income. Imagine if you paid for insurance on your car or your house, and then when disaster strikes, the insurance company turned round and said, no, you can afford to repair or replace without the insurance money so we're not paying up. In which case, I imagine you would do your damnedest to ensure that the insurance company never received a penny from you.

But if Child Benefit is paid from tax, then fair enough, deprive the rich of it benefit, as they are paying for everyone else's services anyway, its part of the package, part of the deal you sign up to when choosing how closely you comply with a country's tax regime*. The tax rates vary regularly anyway so any gains or losses are transient rather than long term.

It appears that Child Benefit is not paid from the National Insurance Fund, and is administered by HM Revenue and Customs and so is paid from tax.

In order to hold views such as this I try to indulge tax avoidance as little as possible, I don't give money to charity, I don't use GiftAid, and I don't keep my savings in an ISA.

*Its widely believed that only the rich can take advantage of tax regimes in different countries to maximise their wealth. I believe this is untrue as I've worked for minimum wage in factories where the vast majority are workers who've travelled thousands of miles from far off lands to work for minimum wage and then send a proportion of their earnings back home to ensure their families have a higher quality of life. This is the same package as Sir Philip Green's wife living in Monaco receiving the benefits of the Arcadia group in the UK.

Saturday, 20 October 2012

Its alive!!

Crikey, I gotta say I'm surprised, but it was only a few hours ago that I'd figured out why my first forays into php had failed and now, now my skills website thing works.

Its all functional. It even has a background color!! I know!

Its still a work in progress, so don't get your hopes too high. At the moment it consists of two sections, the skill directory and the checkbox page.

The former is a crappy encyclopedia of skills, crafts and hobbies which are all linked together with tags, you can start navigating around from this page. If you click on Graphic arts, it'll take you to a brief description of the category and a list of the various types of Graphic arts, then if you click on one of those you'll get a more indepth description and a list of other associated tags.

The checkbox page is a list of all the skills in the database, you can check of the ones that you can do, then when you click the button at the bottom of the page, it logs all your selections with a random ID and counts them and presents this as your score.

There's still a long way to go, but it works, and I'm so proud, feel free to play around, its pretty robust.

Please don't tell other people about it yet.

Here's a list of features and pages I need to add:-
  • statcounter code in the page footers
  • sort out header and footer in all pages
  • a home/index page with statistics (most popular, least popular, untried skills, average score, median score)
  • an about page with me rambling
  • descriptions for all the the skills
  • statistics about your score
  • better ordering of skills on checklist page so its more intuitive
  • most popular skills on taginfo page
  • my own photos for skills
  • auto re-size photos
  • discipline page which calculates which tag are subdisciplines
  • scoring system based on popularity of skills
  • your score for each discipline
  • page to add new skills and tags
  • page to delete skills from all tables
  • page to delete photos
  • page of database errors like skills without descriptions, tags without skills, etc.
  • logos and stuff
  • amazon affiliate links to instruction books for each skill
  • links to tutorial websites for each skill
  • recommendation engine.

Wednesday, 17 October 2012

Further adventures in php and GeekSkills or whatever

Something unseen grabbed my throat and dragged me to google, my fingers danced over the keyboard and searched for php tutorials. Before me, on my screen, the aborted php script for my websitey idea appeared and my eyes were drawn to a typo.

I had spelt html wrong.

No sooner was it corrected, and ftp'ed across to chrisgilmour.co.uk, and it worked, a few lines of my database appeared in my browser, summoned from MySQL by my php script.

And so it began once more, resurrecting my ambitions and dreams of winning the internet with an arty, crafty, etsy, songkicky website.

I came up with a new name for it too, instead of GeekSkills. I needed something that wasn't in any dictionary, a new word that sounds a little like arts or crafts or skills. I came up with 'SKILMO', like more skills, but also like half hearing someone call my name.

Anyhoo, here are three pages I've crafted for the site:-

List of Skills - this is a list of all the skills on the database, there are hundreds of them
Skill information - this is the description and associated tags for one of the skills
Skills with a specific tag - This is a list of all the skills that have a specified tag

I want it all to work first, all the php, sql and MySQL stuff working together before I try to make it beautiful.

My next task is to make it so when you click on a Skill on the first page, it brings up the Skill information page for that skill.

And then some kind of form page where you click checkboxes for all the skills you have and crafts you can do, then it gives you an arbitary score and secretly saves your skillset.

Thick Creamy Podcast 12-10-2012

Here's the latest Thick Creamy Podcast, bands playing live at a gig the other night, and me talking


Instead of using SoundCloud or whatever it was I used to use, its up on my own servery thing, ChrisGilmour.co.uk which is kind of neat, but alas there's no streaming player thing so you'll have to right click and save as...

The gig was a Odd Box Records night at The Tipsy Bar in Dalston featuring City Yelps, Fever Dream and September Girls.

It was a bit of a struggle to find the venue, and I'd set off a little late, and the venue was really dark, so I only caught the last two songs of City Yelps. They were noisy, but fun. I dunno whether its just my small palette of band descriptions or Oddbox's taste in music, but I thought City Yelps had that post-punk late seventies Liverpool sound, maybe Joy Division too. I wish I'd caught all of their set.

Second band were Fever Dream, who are awesome. They sound a little art school, really well assembled tunes.
Fever Dream at The Tipsy Bar
Headlining the night were September Girls from Dublin, they were dressed as The Bangles, and played a neat cover of The Clapping Song.

September Girls at The Tipsy Bar
On the way home from the show I tried to record all my talkie bits for the podcast whilst I was drunk and wandering through Ridley Road Market. But when I listened to it in the morning there was this water pouring noise in the background which sounded like I was pissing, and I'd mangled one of the band names.

Its possible to subscribe to these Thick Creamy Podcasts on iTunes so they download automagically every time I put up a new one.

Simply go into the 'Advanced' menu in iTunes, click 'Subscribe to Podcast' and then paste in this rss feed

http://feeds.feedburner.com/ThickCreamyPodcast

and that should give you all the podcasts, forever.

Sunday, 30 September 2012

Thick Creamy Podcast 28-09-2012

Here's the latest Thick Creamy Podcast, bands playing live at a gig the other night, and me talking


Instead of using SoundCloud or whatever it was I used last time, its up on my own servery thing, ChrisGilmour.co.uk which is kind of neat, but alas there's now streaming player thing so you'll have to right click and save as...

The gig was a Odd Box Records night at The Buffalo Bar featuring two of my favourite bands and two other bands who I'd never heard before who were also pretty ace.

First up were Flowers. I loved their soaring guitars, sounded a bit like a teenage My Blood Valentine practising in their bedroom and a lovely warbling girl sounding like the eighties, Kate Bush, Julee Cruise, Cyndi Lauper.
Flowers playing at The Buffalo Bar 28-SEP-2012
Also, they finished up with a song where the wee girl was playing a one-string bass guitar. Back in '95 when me and Pnos were still learning our instruments, we were tempted by such a thing, but never followed through. Good work Flowers!

Next up were The Choo Choo Trains, who looked pretty cool. I got distracted in their set and didn't get any photos and my recording of it has lots of me talking about bus stops and streetlighting design which isn't quite as musical as the band.

The penultimate band were Town Bike, I hadn't seen them for years, they were awesome.
Town Bike playing at The Buffalo Bar 28-SEP-2012
And then headlining were Tender Trap who fans of my podcast will remember featured in a this podcast from March

Amelia from Tender Trap playing at The Buffalo Bar 28-SEP-2012


Its possible to subscribe to these Thick Creamy Podcasts on iTunes so they download automagically every time I put up a new one.

Simply go into the 'Advanced' menu in iTunes, click 'Subscribe to Podcast' and then paste in this rss feed

http://feeds.feedburner.com/ThickCreamyPodcast

and that should give you all the podcasts, forever.

Saturday, 15 September 2012

Thick Creamy Podcast 08-09-2012

For possibly the second time ever, legendary Glasgow band The Plimptons played London. I was at a bit of a loose end last Saturday night, so I happened upon The Buffalo Bar in Islington and popped into to catch the Guided Missile night.

I had my recorder with me so I've put together a podcast of the gig. The four bands playing were Summer Hunter, The Plimptons, Keith Top of the Pops and his UK Minor Indie Celebrity Band and Dream Themes.


Podcast Powered By Podbean



Awesomeness all round then. The first act were Summer Hunter, two girls from Shrag and a chap from the Fire Dept, that's a female band there. I only caught their last two songs, but they were pretty exciting sounding, lots of reverb on the vocals, you can never have too much reverb on the vox.


The Plimptons were on second, the Buffalo Bar was packed to the rafters which was quite a relief cos they were getting a bit worried. They were absolutely electric, the songs thoughtful pieces examining the drinking and music culture of their home towns of Glasgow and Motherwell, illustrated with cartoons, costumes and set pieces that had to be seen to be believed.

I was recruited for videographer duties so I didn't get to take any photies, not sure when the video will surface, but I have faith.

Next were Keith TOTP and his UK Minor Indie Celebrity Band, who were up to their usual high standards. Some might say that three guitarists is one too many, but Keith cranks it up to levels not seen since the Reindeer Section played the QMU with a mighty six guitars, only one bass player though. Maybe they could get together with FreeBase and it would all balance out.

That said, its quite possible that the fifth and sixth guitarists weren't plugged in, how would anyone know?

And headlining were Dream Themes. You know that episode of the IT Crowd where they go to the underground Countdown place, well, Dream Themes play live covers of popular TV theme tunes, and they rock. Highlights would be the Addams Family, Blockbusters and of course the sawing epic vistas of Bergerac.

Anyhoo, after spend around three hours trying to upload the podcast to SoundCloud, I gave up and went with another podcast provider, you should be able to download the mp3 from here with a trusty right click and save link as...

About 1 minute and 50 seconds in you can hear Martin from the Plimptons asking where the toilets are. Rock and Roll!!!!