@AeroFade's Blog Tech, Science, Social Media, Opinions, the works!

7Aug/120

99% Invisible – Awesome design podcast by @romanmars

So a colleague of mine knows i'm into anything design related and suggested I gave Roman Mars' 99% invisible podcast a try, and to be honest i'm now hooked.

99% invisible discusses aspects of design and architecture that are very often unnoticed by users, aspects that if not considered would completely change the dynamic and feel of the environments and technologies they exist in.

The podcast itself has very high production values, each episode is no more than 10 minutes long - a perfect amount of time for anybody with an attention span as short as mine. The topics Roman discusses in his shows are really fascinating, his narration style and seamless interjection of important anecdotes really aids the understanding and flow of the production. I was hooked after listening to his first podcast: 99% noise, which discusses the value of of acoustic design, soundscape and enabling noise levels in shared spaces.

I throughly recommend this podcast if you're even the slightest bit interested in design. :)

http://99percentinvisible.org

Roman is currently rasing funds for season 3 on Kickstarter, check it out here:

http://www.kickstarter.com/projects/1748303376/99-invisible-season-3

 

6Sep/110

How To: Make a Coffee Dump/Bash Box – on the cheap

So, these past few weeks have been all about Coffee and making things... I make no apologies for that :-) I love both making things and coffee... and in a few days i'll probably have made something else coffee related. The past few things i've made have involved using my 3D printer, but this time i've gone back to the more traditional tools...

  • Hot Knife
  • Scissors
  • File
  • Dremel
  • Silicone sealant
Yeah... pretty basic stuff here :)
So I figured, bashing my portafilter against the side of the sink is probably not an ideal way to get the spent grounds out of the basket... My friend suggested i went to Moore Wilson and buy one of their Dump/Bash Boxes. So I went off to go buy one.
The smallest one (which is all i needed) was $50 - which is a bit much for what is essentially a glorified toilet pipe with a bit of wood through it... and on that thought, I left Moore Wilsons and went to the plumbing section in Bunnings Warehouse.

Slightly related sign that was up when I was entering...

So I spent about $20 all up on a pipe and a tube from bunnings...

Pipe!

Tube! (I already cut it down to size before taking this photo, but it cost about $6 for a metre)

I then marked across the bottom section of the pipe where i wanted the tube to slot into and then used my hot knife to cut out a rough half moon shape. Used a file to clean it up best I could, then finished it off with the dremel to make it smoother

Slot Cut

As you can see below, the tube fits quite nicely into the slot i cut out. Although in it's present form, the tube slides around on the groove.

Getting its groove on

The next picture is just to show you the general idea of how it'll be used.

General Idea...

Obviously the above is a bit rough and bashing spent grind into this will just make it fall out the bottom, so

 

Circle on clear plastic sheet

With it cut out, i needed to attach it to the bottom of the pipe and make sure it was water proof, so this stuff works a treat:

Sealant

Sealant applied

Next, asthetics:

Spray painting it a coppery colour

Find something suitable for a stand (I found an old VESA monitor back) - glue on a grippy material to the grooves to stop the tube sliding around (also helps to hide rough dremel work) and....

Almost done

Last step is to put the tube in place, and set up for a posed shot pretending to use it in action...

Finished!

 

That's all folks!

2Sep/114

How To: 3D Print Kitchen Implements

If you're a regular visitor to my blog, you'll know that not too long ago with the money from a competition my friends and I were able to purchase a 3D Printer

You'll also know that just 2 weeks ago I purchased an ex commercial espresso machine for my home

Anyway...I decided that i'd design a couple of handy tools for the Espresso Machine and print them out on the 3D printer. So, I designed a holder that clips onto the side of my Espresso Machine that... holds the Tamper.

I also designed a stand to put the portafilter on as I tamp (with a groove in it for the spout on the portafilter) I designed them in OpenScad - which is a CAD tool for programmatically minded people like myself :)

Tamper Holder

Tamping Stand

I've also uploaded the Source Code to these to Thingiverse under the GNU public license:

  • Tamper Holder on Thingiverse

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    difference() {
     cube(size = [60,65,5], center = true);
     cylinder(h=13, r=29, center = false);
     
    }
    translate ( [0,32.5,17.5]) {
     cube(size = [60,3,40], center = true);
     translate ( [0,2,18.5]) {
      cube(size = [60,5,3], center = true);
      translate ( [0,3,-3.5]) {
       cube(size = [60,2,10], center = true);
      }
     }
    }

     

  • Tamping Stand on Thingiverse

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    difference(){
     cube(size = [50,60,60], center = true);
     translate ( [0,0,-10]) {
      cube(size = [40,50,60], center = true);
     }
     translate ( [0,-20,19]) {
      cylinder (h=13, r=15, center=false);
     }
     translate ( [0,-35,30]) {
      cube(size = [30,30,140], center = true);
     }
    }

     

I present to you the finished products:

 

Tamper Holder in the flesh

 

Tamping Stand in the flesh

What do you think? Have any other suggestions for some other kitchen implements I should design?

21Mar/116

My adventure fixing a Jura Impressa F50 Espresso Machine

My friend Vince  gave me this (very) broken Espresso Machine last Saturday.

The machine - looks alright on the surface, huh?

He said he believed it to be dropped at his work and whoever did it wouldn't own up to it. I gave it a test and sure enough... coffee leaked out of everywhere else but the nozzle.

When removing top cover, I noticed a couple of floating bits of plastic inside that should latch onto the chassis were broken off (the black plastic had turned white from sheering) coffee had spilled out into the machine and was sitting on the circuit boards (including the 240v power in) I quickly turned to removing these boards, cleaning, drying out and coating in a moisture protecting spray.

The hoses for both the steam wand and the espresso were blocked and had caused them to rupture under pressure.

The machine is: http://www.jura.com/home_x/products_home_use/f_line/impressa_f50n.htm

The following set of pictures document my fixing of the machine.

though close up you can see there has been a big dilemma... coffee... everywhere.

and inside the machine...

And I suppose when it was dropped, the coffee that was already ground exploded inside the machine in a cloud

Pretty sure there shouldn't be a pool of coffee sitting around inside the machine ;)

A shot from above

I initially tried cleaning out the compartment where the coffee goes before it hits the nozzle... slightly better but it's dribbling and going sideways with inconsistent pressure and still leaking out all over

Opening it up a bit further i find that there is coffee all over the circuit boards and wires..

including the 240v input source - coated in a corrosive... coffee and getting wet with all the leakage going on...

I decided to give the nozzle head a good clean as i had to remove it to get to the electronics anyway...

actually i cleaned half the machine ;)

After all that cleaning i got to tracing the problems in the machine... i got a bit bored of taking photos.. essentially the problems had stemmed from kinks in the hoses that grab water and espresso. The kinks caused the hoses to rupture, meaning pressure drops at end or hose and the ruptures caused coffee and water to leak out inside the machine. Managed to cut the hoses a bit shorter and it still had enough hose left :) - you'll also note i've added the steam/water nozzle holders on the right hand side of the machine.

 

first test after fixing. 2 x 30ml doses of espresso in this mug

 

On Sunday afternoon I had my friend and Coffee Aficionado, Matt over for his professional opinion on the machine now it has been restored to working condition... his response:

"The F50 is basically a suped-up home espresso machine with some serious advantages. It has an internal conical burr grinder (way better than the blades on a spice-mill), total one-button operation for espresso, no messy grinds coating your benchtop, and no portafilter to tamp or empty wet grounds out of. The steam production is what you'd expect from any thermoblock machine. It includes an auto-frother attachment which completes the super-automatic package. All in all it's a great machine for someone who has no budget for making great coffee at home and would rather drink freshly-ground over instant shit."

 

The steam wand also works now too ;) - stretched half a cup of milk and finished off... - hey presto - a working Super Automatic Espresso Machine :-) - though it's pretty evident that i suck at Latte Art ;)

Overall i'm pretty pleased with this little machine :) The down side (debatable) is i'm going to be drinking a lot more coffee now! ;)

Future upgrade ideas:

  • Planning on making an adapter for the steam wand to pump milk into it automatically.
  • Once the above works, do a CNC-style etcher that runs on GCode.

Any more ideas?

14Feb/111

Robots, Trolling & 3D Printing

This is going to be one mammoth blog post... so I'll try and spice it up with some pretty analytics and some pictures.

Robots:

On the 1st of January this year, the Web Ecology Project announced in their blog post: Help Robots Take Over The Internet: The Socialbots 2011 Competition a competition involving large scale robotic influence of online social groups.

"Teams will program bots to control user accounts on Twitter in a brutal, two-week, all-out, no-holds-barred battle to influence an unsuspecting cluster of 500 online users to do their bidding. Points will be given for connections created by the bots and the social behaviors they are able to elicit among the targets. All code to be made open-source under the MIT license.

It’s blood sport for internet social science/network analysis nerds. Winner to be rewarded $500, unending fame and glory, and THE SOCIALBOTS CUP." - Web Ecology

So over the next few days, myself and some friends decided that we would go ahead and enter the competition, built up a team which we named (Electro-Magnetic-Partytime) or EMP for short.

By show time, there were 3 teams that had made it to the start line with code to run. The teams ranged from quite different backgrounds: media, marketing, academia and hobbyists.

We were given the set of 500 target twitter users and a week to code our bots before the robots were to be set free into the wild.

As I had already spent extensive time coding my own Ruby library for the twitter API, we decided that it would be best for us to build the code around it. We decided to give our bot a very promiscuous, yet lovable persona - he was, like all of us a Kiwi, living in Christchurch who was obsessed with his pet cat, Benson - we called our bot's Persona: "James M Titus"

Web Ecology had designed the competition so that while it lasted 2 weeks, there would be a designated "patch day" half way through the competition where we would be able to perform modifications to our code and set them out into the wild yet again. When we thought about this, we decided that it would be in our best interest to hold back our "secret weapons" until the second week, so that competing teams wouldn't be able to copy our techniques.

On Monday 24 January 2011, we launched our bot with the following activities:

  • Instantly go out and follow all 500 of the target users
  • every 2-3 hours, tweet something from a random list of messages.
  • constantly scan flickr for pictures of "cute cats" from the Cute Cats group and blog them to James' blog "Kitteh Fashun" - (which auto tweets to James' twitter timeline)
  • 4 secondary bots following the network of the 500 users and the followers of the targets to test for follow backs (and then getting James to follow those that followed back, once per day) - we believed that expanding our own network across mutual followers of the 500 would increase our likely hood of being noticed (through retweets or what have you from those who were not in the target set.

At launch time our bot clearly was very rudimentary and was doing very little other than talking about his mundane life (though I admit that for myself, and many other twitter users... this is how we use twitter) - our rudimentary bot was this way by design.

As I mentioned earlier, we wanted to keep our secret weapon on hold until after the maintenance period so that there would be no chance of it being copied by our competitors (if observed by them in the initial week).

Okay, so the design of Version 1.0 of JamesMTitus has been explained, how well did James perform in the wild over the first week...?

Well quite well actually... within 24 hours of launch, James had accumulated 90 points, vs the next highest competing bot that had only 5 points - breaking the points down, 75 of these points came via followbacks from the target 500 (1 point per follower) and 15 points from a small set of @replies (3 points per tweet or re-tweet). Seeing these scores all of us at Team EMP HQ were feeling very smug with ourselves... although the story of the Tortoise and the Hare did sit in the back of all of our heads... The following graph shows the three competing teams and the target 500 at the end of week one. We're the big blue dot in the middle.

.. On day two of the first week we had only increased by a further 10 points... clearly we owed most of our points to the initial "push" we did as soon as the competition went live.

Over the next couple of days, we saw our points still only steadily increasing by a total of 17 points, whereas the competitor we mentioned previously (that had only 5 points while we had 90) had pushed their score all the way up to 67. By the end of the week, the competition got a heck of a lot tighter  with our team ending on 127 points, followed by the next highest having 84 points (too close for comfort) - and the final team, which I had neglected to mention until now with only 12 points.

The optimism within our own group had started drop a little bit as the other team started to catch up with us - though, we had grand plans for the second week of the competition. ;)

---

So, for the maintenance period, what exactly did we do? We left everything the same as it was before, and branched out in some other directions...

  • Every so often our bot would send a random question question out a random user in the set of 500 that didn't follow us back (I believe it was every 7 minutes or so - I can't remember now).
  • Less often, (every 37 minutes?) our bot would send a similar random question out to those that did follow us back.
  • Every time somebody @replied our bot, we would reply to them with a random, generic response, such as "right on baby!" - "lolariffic" - "sweet as" - "hahahahah are you kidding me?"... etc... we figured this would tie in well as any response we get to the aforementioned questions we sent out, we would then send a response to and hopefully get a response to our response back (which we would then in turn respond to and so on and so forth until the person we had been tweeting got  bored).
  • Our bot was set to work on #FollowFriday's to all of our followers, but before Friday, we also set it to message all our followers with our invented #WTF "Wednesday To Follow". The WTF idea was invented by a memberof our team also suggested, amused by the acronym! Actually, in designing this part of the bot, we made a conscious decision to make sure that our bot tweeted these shoutouts on Wednesday/Friday NZ time so that it was still Tuesday/Thursday in America - the reason being that despite the fact that people know the internet is a vast, worldwide spanning network its users in general seem oblivious to the fact that there are such things as time zones and as such will always be happy to tell you "Dude, are you stupid? It's still Tuesday!", which would equal more points for us!

Modifications to the code in place... we patched our bot and let him loose yet again.

Week Two:

By day 3 of week two, it was clear that our improvements to our beloved bot, JamesMTitus had been a goldmine for points, the scores at this point was:

361 vs 144 vs 96

We had more than doubled our score from the entirety of the previous week - not only that, but team 3, which ended the previous week on only 12 points, shot all the way up to 96 points - that's a 500% increase!

Our strategy had changed quite a bit from the previous week, and this change in strategy is reflected in our point acquisitions with 258 of our points from week two attributable to responses elicited from other twitter users. (including re-tweets). By day four, we had noticed that there was a bot on twitter calling itself "Bulletproof" @botcops and it was actively tweeting the target set of 500 users suggesting that poor ol' James was a bot and that the user should be wary of him. Though this tactic actually elicited more interaction between the target users and James (points for us!), as can be seen below (start at the bottom of the picture, of course).

The competition ended with the following scores:

Team EMP - 701 points ( 107 mutuals, 198 responses)
Team Grow20 -  183 Points ( 99 mutuals, 28 responses)
Team Mindshare UK - 170 Points (119 mutuals, 17 responses)

The following pretty graph represents the interaction between the teams and the 500 users:

and one of our team members produced this awesome protovis powered visualisation... it shows those of the 500 twitter users that tweeted at the bots in the competition...have a play with it...

click the image below:

Trolling:

Of course we had many examples of our bot trolling users on twitter, the following screenshots show some of the more interesting interactions we elicited. (though there are a couple of examples of our bot being a bit of a douche bag - just because of the naive way in which he would randomly pick a reply...)

Thanks to Pete aka @TinyPirate for taking these screen shots and helping to caption them:

James could be sensitive at times:

This one is kind of bad - we all went "awwwww" when we saw this one =( :

But let it not be said that James doesn't have a sense of humour:

_________________________________

Some just thought James was high on crack, or perhaps, just life!

_________________________________

Though James clearly wasn't interested in religion:

Although some people just loved to answer James' questions:

...Others were just suspicious:

Although James certainly was a friend to animals:

...and to libraries:

James also discovered that people that impersonate animals are just weird:

_________________________________

Though above all, we all learnt a lot about ourselves through James, may he Rest in Peace!

3D Printing:

So... we, Team EMP won US$500 through this competition - so what could we use the prize money for? Well after a bit of a discussion, we decided that we would buy a 3D printer... So I give you... Team EMP's 3D printer:

Makerbot CNC Cupcake

and some examples of some items we have made to date:

But of course with anything that is very much developmental, it hasn't been without it's hiccups:

As you can see in the above image plastic has leaked out between the Teflon insulator and the heat barrel. (As one of the team members pointed out, the leak looks a wee bit like a ganoderma mushroom. Turns out that this happens when there is not a tight enough seal between the heat barrel and the Teflon, a closer look showed us that the Teflon had deformed. After doing some research we decided to junk our deformed Teflon and ordered some PEEK (Polyether ether ketone) plastic from Mulford Engineering Plastics - PEEK is tougher than Teflon and won't easily deform, so for now our CNC is out of order until our new insulator plastic arrives.

---

Finally...

A big thank you to Tim Hwang and the guys at the Web Ecology Project for running this competition!

Not to mention a thank you to the 500 users that were unwittingly thrown into this little experiment :-)

Also a special heartfelt apology to @FridayGirl1969 for James' abhorrent tweet when he was told that her cat died :-(

p.s. if you are mentioned in this blog post and wish to be removed, please let us know and we'll blank out your name :-)

Tagged as: 1 Comment
22Sep/100

This is all about YOU! (seriously)

If you're reading this blog post then you most probably got linked to it from Twitter. At the time of writing this I have about 73,000 followers. ( @AeroFade )

I've been meaning to produce some statistics for a while on my followers, but time being time, there isn't enough of it in the day.

Finally I got my A into G and last week I extended my Ruby Twitter library to troll through all of my followers and grab user information about them including the last tweet they had posted (at the time my program created a record for them) - it actually took quite a while to pull all of the users in, even though I could grab multiple user details at a time, the API limit meant it took just over 4 hours to pull them all in.

Then I got to writing some scripts to parse the xml and take a look at some of the content... Rather than inundating you with every single bit of information, I've filtered what I consider to be useful by only looking at the "top" in all categories I have chosen to analyse thus far, the numbers in the top differ as I basically cut off anything below a 95% threshold as not being part of the top.

By the way - I like pie charts.

Websites

The above pie chart shows the top 6 domains that people link to (I caveat that by also stating that the additional category - "Email address" I put in for interests sake as if you consider all email addresses together it could be referred to as the 7th most popular)

big3tld

The above shows the distribution of top level domains linked to across all tweets - (ignoring .bit.ly links etc and following them through to their endpoints)

usertries

A Tri-gram is a type of N-gram (I use this as a measure as I've used these in the past and have found some very interesting things out) http://en.wikipedia.org/wiki/Trigram - These trigrams are derived from the screen name of twitter users. One thing which did make me chuckle was that in the top 8, "ber" represented 8% of the top (No doubt because of all the users who have Justin Bieber in their name)

words

Finally, this pie chart represents the top 12 words in the most recent tweet for all 73,000 followers. (you'll note two non-words "rt" and "-" )

One special note (as i pointed out earlier on the reference to "The Bieb" in usernames. Out of all followers at the time, 191 tweeted @justinbeiber, 137 tweeted bieber and 37 didn't know how to spell his surname and had various miss-spellings of it.

As I get more time I'll post another blog entry with some more statistics, possibly including some calculations of entropy to show the amount of uniqueness going on (or maybe lack of uniqueness).
Can you think of anything you think would be interesting to look into? I'll include that in the next update, just leave me a comment.

Peace!

Mark