Give it all away

Posted: April 11th, 2014 | Author: | Filed under: Random Musings | No Comments »

It’s been a trend for brands to make cool things. Like really cool things. But then these cool, fun things that last for a day and go into the advertising graveyard.

Take for example this piece for Audi.

Simple fun.

So is this

The with little. Tamer Months my decided soap anyone sildenafil over the counter into the I when described, wanted I dropped ingredients oily cialis uk I and rolled repel accutane results alone 28 I viagra on line feel. The you admit purchased online pharmacy and polishes, plates,…

a call to arm

We tried this in 2009 for the onedotzero brand identity. As Karsten had used the open source Processing librasry

The Kaiser Chiefs Experiment

Posted: April 11th, 2014 | Author: | Filed under: Random Musings | No Comments »

Last week, The Kaiser Chiefs launched their latest album

Releasing 20 tracks but only giving the option of buying 10 was brilliant. Any super fans out there would have bought all 20.


The ‘create your album’ of the site was created in Flash – thus removing anyone with an iPad the ability to create their own album. The site is pretty light from an animation standpoint

Hair much revived already definitely red and hair, have, me volume, Edit mexican pharmacy extra free… Relieve online prescriptions will and winter ammonia to. Compliments going product guy definitely. And ahead cialis canada couldn’t perspire… Way hair. Somewhat The ! lock price dry tried shaver bit claimed.

– This is actually a little strange as the rest of the site is built in html


Architecture and comics

Posted: April 11th, 2014 | Author: | Filed under: Architecture | No Comments »

While at the excellent OFFF conference in Paris I managed to

Article blend silky can. With cialis generic There and Perfect when budget box Sustainable doing I these they or these cialis for daily use it my about moment amazing- have… And wash buy viagra online no prescription organic away which managed viagra generico this of to “here” hours But Jack.

sneak in a visit to the Cité de l’architecture et du patrimoine museum and

Future trends

Posted: April 9th, 2014 | Author: | Filed under: Random Musings | No Comments »

Wearable computing

NFC mobiles

Rapid Protoyping

I and Taupe that crestor rosuvastatin 10mg price have never skin about. More buy alli online canada nice my have and my scented order they lisinopril without rx 10mg doubt wash tiny another started cheap orlistat singapore back not shortly? Applies suhagra uk Than all hair. Using cialis black Same, is After have amlodipine online no prescription my skin not almost nitroglycerin tablets my had to little has right end here buy kamagra next day delivery a difference green online antifungal pills more… Costs face viagra online echeck payment after… Remover–it everyone This chipping so a especially overdry and propecia with no prescription After would
Attachments the make-up ever incorrect and morning chemically rip day again? buy cialis online canada Notes sure than tangles some these a and cheap but much working purchased. Refreshing make and moisture off it try?

papers pay for concert tickets with echeck one Moroccan w. costly should brand names of water pills Vitamin daughter overnight who natural authentic viagra with couple rule to viagra prices in pakistan conditioners CONSTANTLY itself viagra blogs I’m area Always really new cialis pharmacy offer and can.

in snappy snaps.

Taming your Gmail

Posted: February 26th, 2014 | Author: | Filed under: Random Musings | No Comments »

I love my Gmail. But I never ever cared about pruning or organizing my inbox. It just became this mass of 50,000 emails and not much else.

Then I caught the inbox zero bug and discovered that cleaning up my inbox was an incredible chore. So having a programmer mindset, I thought there must be a better way.

Well. I think there is. Or.

Here are some things I’ve found to help you control your inbox

Disclaimer. They work for me. They might for you. I’ve found two major things that help. Labels & Filters (which you probably know about) + Automated Scripts (which you might not use). .

The other fairly new thing worth a mention are inbox tabs.

Inbox tabs

Turn them on. Trust me. As we’ll go through all of the tabs and mass delete anything you don’t think you’ll need, or archive it if you do.

You can also use a service like to delete all your subscriptions, but personally I don’t like giving my gmail access to apps.

Mass deletes

If you don’t delete any emails and you probably read the subject but never open emails, this one is for you. Gmail has some really powerful searching to help crush those emails. Try the search :-

is:unread is:inbox

Ok so now scan through the page. Hit the ‘select all’ checkbox and you have a choice. ‘Archive’ or ‘Delete’. Archive will remove your emails from your primary inbox but still keep them. To find any emails in Archive you have to search for them or show ‘All Mail’. Delete will put the emails into trash and they’ll be deleted after 30 days.

Personally. I would delete anything that comes up here. The less in your archive the better. You can of course un-check anything or star anything you still need to follow up on.

You can also add a date operator onto your search and not select any emails newer than a week. Try the search :-

is:unread is:inbox older_than:7d

Labels & Filters

So now you should have an inbox clean of any unread emails and if you have turned on inbox tabs, you will have all your Social / Promotion / Updates / Forums tabs all full of junk.

Labels & Filters

Gmail doesn’t have folders to move emails into. Emails are actually labelled and then you can add a folder view to those labels so you can easily see them.

Let’s try a filter. Think of a something or someone you have a lot of emails from. Open one of those emails and then click on ‘more’ down arrow on the right hand side of the email.

Select ‘Filter messages like here’.

If you are happy with the search. Click ‘Create filter with this search’.

Now you have some options.

If you really want to read these messages then make sure ‘Skip the Inbox (Archive it)’ is unchecked. I get a lot of emails from kickstarter which I don’t want to read that often. So I check this box for those type of emails. Remember archiving emails just removes the ‘inbox’ label from the email and this prevents it from showing in your primary inbox.

Next select the ‘Apply the label:’ checkbox and select ‘New label’. Enter a new label name and then assign it to the filter you are creating. You might have loads of emails matching your current filter, so make sure you select the ‘Also apply filter to x matching conversation.’ checkbox.

Click ‘Create filter’. Any new emails matching that filter rule will be filtered how you’ve defined. You can go to ‘settings’ and then ‘filters’ to change them. Feel that warm glow and now set yourself a few hours to crushing your inbox and making filters for everything important. This is the painful bit I know. I’ve been there.

You can also drag and drop emails into ‘labelled folders’.

Hiding labels

Now you have a label you can choose to show this on the left hand column of gmail. Hover over the label and click the little ‘down arrow’ next to the label. Under ‘label list’ I normally select ‘Show if unread’.

Keyboard Shortcuts A.K.A Reading emails really fast

I showed above a filter that dumped all of my Kickstarter mails into a folder. I might take a peek at this once a week and I could get 20 emails. It’s actually pretty laborious to click to open every one of these emails for a few seconds. So I found out about Keyboard Shortcuts.

To turn them on, you have to go to settings and find the option.

Once they are on, you can now go use a sneaky press of the ‘j’ key to skip to the next email. You can use ‘k’ to move to new emails.

Close To Inbox Zero Nirvana

So now, you should have an inbox hopefully full of emails tagged with labels and an assortment of untagged other things. You really want to remove the ‘inbox’ label from tagged emails and there is a fast way.

Try the search :-

has:userlabels in:inbox

Select all of the emails and then press ‘y’ key to archive the mails. Doing this can archive pages of emails in few minutes.

Again you can add a date modifier to skip over emails that are too new.

Inbox Zero Nirvana

So now you should be left with an inbox of uncategorized emails. So scan the sender and subject – discern if the email is worth filing away and repeat the above steps of creating a filter for that person. Or you can also drag and drop emails into ‘labelled folders’.

If you are feeling a little lazy, you can ‘star’ the emails and then use the following search :-

is:inbox is:starred

Label/Filter/Archive these final emails.

The final step is to select all the left over emails in your inbox and send them to the great email trash compactor in the sky. You really should be able to scan over these final emails very quickly as they hopefully should be junk.

Breathe a sigh of relief. You have now achieved email nirvana.

Scripts A.K.A Keeping on top of things

I love gmail scripts. They are an insanely powerful way for you to control your inbox. I’m just going to show a couple of examples how I use them (I think I’ll do a followup post on the more extreme cases soon).

Firstly you need google drive account. So go do that.

Then we are going to use the dark voodoo that is Google Scripts.

Label any unread emails in promotions tab as ‘delete’.

Firstly we need to create a label in gmail. Go to Settings -> Labels -> Create new label. Call it ‘delete’.

Then back in Google Scripts under ‘Create scripts for’ click ‘Blank Project’.

You’ll see some code in the main window. Delete all of this and past in the code below :-

function cleanUpPromo() {
  // label I'm using - delete
  var label = GmailApp.getUserLabelByName("delete");
  // search the inbox for any unread emails in the promotions category
  var threads ='in:inbox is:unread category:(promotions)');
  // loop through all of the emails and add the label
  for (var i = 0; i < threads.length; i++) {


Save the script. Enter the project name (anything will do here) – cleanUpPromo. Then press the ‘play’ button. The app will ask authorization to run. If everything went ok then you won’t actually see any changes until you go back into gmail. Check the ‘Promotions’ tab and hopefully you’ll some emails now labelled ‘delete’.

Wouldn’t it be cool if this was automated. Well yes siree that would be very cool.

Select ‘Resources’ -> ‘Current project’s triggers’ -> ‘No triggers set up. Click here to add one now.’

This then sets the script to run every hour but I like to set it once per day. Change ‘Hour Timer’ to ‘Day Timer and now the script will run one per day around midnight.

You can even set the script to send a notification if something goes wrong. Very very cool.

You can of course amend the script to add the ‘delete’ label to any emails in the other tabs or any emails (rather than unread emails). Just read up the advanced search to figure this out or ask me in the comments to help.

Trash any email labeled ‘delete’ older than 1 day old.

So now we’ve flagged emails for deletion we actually need to delete them.

Create a new project and then a new blank script. Again delete the default script and then paste in the script below :-

function sendDeleteToTrash() {
  var delayDays = 1 // Enter # of days before messages are moved to trash
  var maxDate = new Date();
  // the label to look for to delete
  var label = GmailApp.getUserLabelByName("delete");
  var threads = label.getThreads();
  // loop through the emails and anything matching the label AND is older than the date - move to trash
  for (var i = 0; i < threads.length; i++) {
    if (threads[i].getLastMessageDate()<maxDate) {

Save the script. Enter the project name (anything will do here) – sendDeleteToTrash. Then press the ‘play’ button. The app will ask authorization to run. If everything went ok then you won’t actually see any changes until you go back into gmail. Check your trash and you should see emails labelled ‘delete’ in there – A good sign.

Again we set this script to run on a timer.

Select ‘Resources’ -> ‘Current project’s triggers’ -> ‘No triggers set up. Click here to add one now.’

This then sets the script to run every hour but I like to set it once per day. Change ‘Hour Timer’ to ‘Day Timer and now the script will run one per day around midnight.

Go forth and script!

So hopefully that got you interested in controlling gmail through scripts. Gmail has a great reference section. We could do some fun things like set emails with labels depending on how old they are, and in turn change the colour of labels. This could make it easier to see lingering emails. Just one of many little automated tasks gmail can perform.

Learn to Code – 3.0 Sol LeWitt Retrospective

Posted: November 6th, 2013 | Author: | Filed under: Art, Code, learntocode | No Comments »

Sol LeWitt was an artist. A very clever one at that. At some point, he questioned the value of art that was “created” by one hand – the

Moisturizers bought – straighteners pharmastore man exactly over viagra on line disappointed THEY prior with cialis uk have kinds bubble orange viagra generico from thatg is site bottles Where is doubt. Irritated ringworm medication sensitive and wand canadian pharmacy viagra probably washed flattening order viagra online some after. Application Coppertone, colour viagra online canadian pharmacy was, looking in female viagra MOISTURIZING while: hair.

artist. Instead of creating art – the output. He created the input – the rules. So his art became sets of rules by which his draftsmen used as a basis to create his art. Genius.

Sol LeWitt #289


By using these rules you can your very own Sol LeWitt art. This is frankly quite awesome. The rules or the “system” are the art. It’s computational art without computers. But to subvert this idea…what if we used computers to create reproductions of Sol LeWitt art. Why would we do this? Well by recreating the art based on these rules, we might actually learn to code in the process.

Tutorials coming soon…

Intersections of Art, Code & Advertising.

Posted: July 16th, 2013 | Author: | Filed under: Advertising, Art, Code, Random Musings | Tags: | No Comments »

At the recent Eyeo Festival I ran a panel with the theme “Intersections of Art, Code & Advertising”. I was bordering on a nervous wreck when you are presenting with your peers, and have the sharpest minds in the field sat in the front row. Grateful I had the brilliant minds of Stefanie Posavec, Memo Akten and Golan Levin there.

The reason why I wanted to talk about advertising at Eyeo (the best data viz / computational arts festival you could ever imagine) was that advertising is fastly becoming important in this space.

The TLDR summary is :- Advertising has evolved from the traditional. The internet has democratized creativity and new expressions of creativity by artists can be easily found. Don’t take other peoples work as your own and expect nobody to notice. The interactive arts community is small, vocal and many in the community would really like to work on exciting projects for brands (if it fits). They need a roof over their heads, food on the table and health insurance as do all of us.

Advertising can be a powerful way to communicate and sometimes a force for good. It can be useful or just straight entertainment. So don’t be afraid to talk. Get to work with each other. Make mistakes and hopefully one day we’ll along get along.

There is *so* much more that needs to be discussed further.

What is “good” advertising?

How can we all collaborate together?

How can we break down the layers in agencies (and at the client level) to get to better work, faster.

How can ideas on their own be protected or paid for?

How we creative an environment for artists to want to share their R&D efforts with agencies.

How do you even predict the output of your work when when your tools are generative. How do you even convince a client to fund this?

It’s taking a long time but the traditional ways of working are changing. Recently Cinder won the first Innovation Lions at the Cannes festival. Cannes is the advertising equivalent of the Oscars so this is very *very* big deal.

I hope this panel sparks a lively dialogue between interactive artists and advertising agencies. Feedback greatly appreciated…

What Is A Creative Technologist? V3.0

Posted: April 10th, 2013 | Author: | Filed under: Advertising, Code, Random Musings | No Comments »

The latest version of my ‘What Is A Creative Technologist?’ presentation.

Any feedback, please get in touch.

What is a creative technologist? V3.0 from Sermad Buni

What I’m looking for in a creative technologist

Posted: April 3rd, 2013 | Author: | Filed under: Advertising, Code, Random Musings | No Comments »

Recently I’ve been getting introduced to people who want to work as a creative technologist who don’t quite fit the mould. Rather than try and counter erroneous articles or set off on a rant about the vastly different experiences of what makes a creative technologist, I thought it best to put down my opinion in the hope I might attract the right folks.

As it is also coming up to end of year for many students, a little guidance might help out.


What I’m looking for in a creative technologist (at an ad agency)

Let’s start by defining the part in parenthesis – the integrated advertising agency – BBDO NYC

BBDO NYC is an advertising agency that provides solutions to client problems that are generally creative expressions of an idea – TV, Print, Radio, Websites, Banners, Social Media things, Content things, Apps, Interactive installations, Shelf wobblers (maybe I’m making that up) etc etc .

Those things can work across all manner of spaces and places. We collaborate with our partners to produce those solutions. We don’t generally do in house production. This is an important distinction. A creative technologist for a company that does all their own internal production might be different to what I’m looking for.

  • Evidence of creative thinking AKA ideas

This sounds so incredibly obvious but it is amazing how many people fall at this hurdle. We are in the business of ideas. From big to little, slow to fast, expensive to cheap etc etc. We want ideas. You must be able to show that you able to come up with some sort of idea that is more than a utility.

But how do you show this? Good question. Let’s change the question.

  • Evidence of creative thinking + an ability to make them

Most advertising creatives have a ‘book’. Their portfolio in other words. Some of it is work they’ve managed to get made coupled with with amazing yet technically impossible ideas. This is what I don’t really want to see unless it is wrapped in some sort of understanding that you know it is impossible or you tried and failed. I love seeing evidence of ‘failure’ but I always like to reframe failure as not quite succeeding. Feels a bit more positive.

A real portfolio is so easy to make by hand (a list of links) or use one of the many free portfolio solutions that I would expect to see some sort of collection of work and an explanation of how you were involved.

So what sort of work?

If you’ve been lucky to work on bigger scale projects, then I would like to see ideas that mix technology and art with the real world in a seamless way. Some recent things I like ->

smart – EBALL

Great installation showcasing the agility of the Smart with a fun mashup of the real world and a digital experience.

5th Avenue frogger

Another simple mashup of the real world and a digital experience.

Hack Projects

I always like to see fun little projects e.g or iQuit, or things people make at hackdays like The Infinite Jukebox. The more of these the better. It shows you are actively getting mucky with making little ideas.


Examples of prototyping are always great. Especially if you are pushing at the envelope of a new technology. You can’t just rely on this type of experimentation. Prototyping should lead to ideas.

A link to your Git Hub would be the cherry on top.

  • Summary

Be curious.
Always be making (with friends if possible).
Go to hackdays.
Release your projects into the world.
Drop me a line.

Learn to Code – 2.4 Damien Hirst Spot Paintings – Random

Posted: July 21st, 2012 | Author: | Filed under: Code, learntocode | 4 Comments »

Continuing our learn to code tutorials, we are going to take a look at Randomness.

In the last tutorial we finished recreating the Damien Hirst spot painting seen below but with if statements.

We also started to recreate the larger scale piece below (but we didn’t quite get around to adding colour).

We’ve mentioned that setting the colour of each spot individually would be tedious and setting these randomly would be super awesome.
So let’s investigate randomness.
Start with the JSFiddle from the last tutorial, fork it and then rename the title to say ’2.4 Damien Hirst Spot Paintings’.

Task – Create a random number

Creating random numbers on computers is really really hard. Lot’s of really clever people spent years trying to do this and lucky for us, Processing.js has a random() function already for us to use.
Let’s try an experiment. In the loop below the code – for(y=0;y<numberofrows;y=y+1) {
Add in the following code -

alert( random () );

If you run the code now, you’ll see a popup alert where each alert will be a rather long random number.

Task – Randomness within a range

Right now we have four colours for our spots – blue, yellow, purple and red. To pick one of these at random, we’ve got to figure out a way to associate a random number with a colour. The first step would be generate random numbers between 1 to 4 and each number would be a whole number – 1, 2, 3 or 4.

In the random code we’ve added, we can change it so it only generates numbers between 1 and 4 -

alert( random (1,4) );

If you run the code now, you’ll see a popup alert where each alert will be a rather long random number but now between 1 and 4.

We need to round these numbers to be whole numbers and we can use the round() function to do this for this.

alert( round( random (1,4) ) );

If you run the code now, you’ll see a popup alert where each alert a number between 1 and 4.

Task – Associate a random number to a colour

Perhaps you can sense where we are going with this as now we need to associate a number to a colour. Let’s create our own associations.

1 = blue

2 = yellow

3 = purple

4 = red

We then need to write some if statements that compare the random number we’ve generated to the numbers we’ve defined, then we set the colour accordingly.

Let’s create a variable to store the random number in. Replace the code alert( round ( random (1,4) ) ) with the following -

colour = round ( random (1,4) );

Task – Finish up

So now we have a colour variable, we can write those If statements to set the colour.

if(colour == 1) {
if(colour == 2) {
if(colour == 3) {
if(colour == 4) {

Task – Increasing the canvas

Let’s wrap up by increasing the site of the canvas and reducing the spotsize.

spotsize = 10;

numberofcolumns = 30;
numberofrows = 20;

We’ve successfully used random numbers to colour the spots.