20080830
Giant SNES table: Video and final touches
Me
Giant SNES table: Video and final touches
Me
Me and my roomate
Judging from some reactions, I think alot of people missed the point of this entirely. I love woodworking, and saw this as a big challenge for my craftsmanship. I also love video games, though I'm usually too busy to play them much. I also thought this would be a cool novelty/ conversation piece. I might eventually make it into a table w/ legs, but for now I like it as a stand alone controller. Its not 4 feet wide, its 40 inches. I did this so it would be more ergonomic to play with one person. The D pad and buttons are a comfortable arms length.
So heres a few responses to comments from some of the other blogs that posted an article about the controller.
- "Props for the man's craftmanship, but I think he needs a job. Possibly, a wife too."
-I have a sweet job as an intern as well as being a Senior at UCF for Engineering, and I'm 21, not lookin for a wife. - "So is this that guy's bid at becoming King of the Dorks?"
-I don't think I'm 1st in line, but "the dorks" welcome me with open arms. - "He should have just spent the time building a life sized girlfriend."
-I might be wrong, but wouldn't that be more pathetic? - "Surprised no one has said "OMG THE BUTTONS ARE THE WRONG COLOUR!!" I was expecting someone who grew up playing the PAL or Japanese SNES to at least come in with that comment."
-I've said this a few times now, but I grew up with the purple toned SNES. I like the 4 color PAL/JAP colors better, but its not near as nostalgic for me. I've lived in FL all my life, not too many people around here would recognize the other color set. - "the best controller just got bigger :P"
-I totally agree, my favorite controller as well. - "SCAD Inc., which I will charitably call a garage-based novelty enlargement collective"
- Wow, pretentious much? First off, I live in an apartment without a garage, so I work on my front porch and store the tools in my room. Also, we don't claim to be anything but a couple guys that like to build things. We thought it'd be fun to give our not-so-company a name and logo. This was a project I took on myself, but many of the other projects on here were done by all 3 of us (surf fins, sub box... which I'll put up at some point... etc). We just build the things we want that can't be found anywhere else... not "novelty enlargement". But thanks for the post and link to my blog, I appreciate the hype. - "How is this the least bit pratical? How do you use a 4 foot wide controller?"
- Its not practical... its fun. I use it just fine, watch the video. - "Yeah, thats a gag for my console but it really works. But mainly I play DAoC on the big machine. " He remarked. " DAoC ? What is DAoC ? " She asked. "Ahhh, you have to see this, it is the best RvR MMORPG on the net!" He answered. "Oh!" She exclaimed. "Nevermind, I play WoW, I think the little cartoon people are sooo cute!">>> BASH <<<>>> Thud <<<<(or date killer if you are a single guy)I like dual purpose hardware."
- What? - "didnt they do a working nes controller?now this will be even harder for just 2 people to usewhos going to be hitting the l1/l2 and r1/r2 buttons"
- Yes the NES was done, thats why I did the SNES, and again, watch the videos for playability. Oh, and there are no L2 or R2... - "not when you are over compensating and have to produce something like a 4 foot snes controller to make yourself sleep better at night."
- I sleep fine, but thanks for the concern. - "someone needs to work on their jig saw skills..."
-really? Didn't realize Bob Vila over here was judging me. - "all i can say is "why?"
- A bad question deserves a bad response. Why not. - "So this is only the.. what… 1000000th giant game controller?"
- Third to my knowledge, though theres also an atari stick, not sure if it worked. - "Those springs look too weak to support enough push for the buttons.I would like to see him fabricate a giant silicone membrane :P"
- (this was a comment on a pictureonly showing the button mount, no buttons) The springs your referring to don't support the buttons, they are the grounding side of the contact for the button. Each of the ABXY buttons are supported by 3 springs wrapped around bolts cut off and nailed into the buttons. The other buttons are different. If you're interested read the older posts. - "this creation is only 15 years overdue. Do you realize snes hasnt been around since 1993!?"
- Old systems don't disintegrate when a newer one comes out, though clearly some people don't appreciate that.
Heres just a few links, there are so many more. If you know of anymore definately post them for me!: http://www.ripten.com/2008/08/29/geeked-out-giant-working-snes-controller/
http://www.examiner.com/r-1875102~Four_Foot_SNES_Controller_Actually_Works__For_Shaquille_O_Neal___Modding_.html
http://gonintendo.com/?p=54269
MAKE!!! My favorite so far.
http://blog.makezine.com/archive/2008/08/worlds_largest_snes_contr.html
http://gizmodo.com/5043619/four+foot-snes-controller-actually-works-for-shaquille-oneal
http://kotaku.com/5043796/at-last--a-4+foot-snes-controller-that-works
http://www.rssmeme.com/tag/giant-snes-controller/
http://digg.com/nintendo/Four_Foot_SNES_Controller_Actually_Works_PICS
http://digg.com/nintendo/Giant_SNES_Controller_Brings_a_New_Meaning_to_Tabletop_Games
there are so many more, google around if you're curious. Also, theres a "links to this post" section that you can see a few more.
20080827
Bound properties in Scala
- A getter method.
- A setter method.
- A listener / notification mechanism for when the property changes.
The key problem with the ad-hoc implementation of properties (as in JavaBeans) is that they tend to make classes noisy, with all of the
getX()
, setX()
stuff, and the listener mechanism. Things become even more complicated when properties take on the nature of collections, where multiple objects can conceptually be added or removed.In a search for simplicity, I have been investigating JavaFX and the even more impressive ScalaFX. However, JavaFX does not yet allow bindings to properties implemented in a Java model, and ScalaFX, although very promising, is not quite ready for prime time. (It's more the potential for bugs I can't understand rather than API changes that have put me off ScalaFX for the time being.)
Until ScalaFX is ready, I have found a neat stop-gap solution. Inspired by the Scala wiki entry on Properties, I have set up my own properties as follows:
My Properties extend
scala.swing.Publisher
so it's possible to listenTo
them for events. I defined a PropertyChanged
event that is intended to be fired when a property changes. The properties also have apply()
and update()
methods which act as getters and setters respectively.So, what advantages do these kinds of properties have over normal
getX()
, setX()
and a listener mechanism?Firstly, the contract of a property is clearly defined. There is no bean-like assumption that a
setX()
method on a class is related to a corresponding getX()
method, nor that a particular event will be fired when a change occurs.Secondly, each property is nicely modularized. Properties often refer directly to a value stored in a class, and it's easy to define a
ValueProperty
which performs this automatically. Then, for the enclosing class, you can write something like this:Instead of something like this:
At first glance, the properties version of
x
may appear to break the principle of encapsulation, but it doesn't. If, in the future, I wish to change the implementation of x
, I could do something like this:Clients of the code will then be able to use the
x
property in the same way they always did.This method of defining a clear contract for a property can also be extended to vector properties, in which the property contains a collection. It can be done fairly generally, so that the collection property may be backed in various ways by pre-existing collections (in the same way that you could implement a
Map
as a HashMap
or a TreeMap
or whatever).A final advantage of these properties arises when they are bound into a GUI. For example, I have a text field derivative called
BoundIntField
which displays an integer value. To create an instance of this class, bound to property x
I do the following:And... that's it! The
BoundIntField
automatically listens for changes to x
and updates itself. Also, when BoundIntField
loses focus or receives an enter key press, it updates x
. This is all done without breaking encapsulation, and without me having to write any duplicate glue code at all!
20080824
Ticketing - Fail

20080813
Ego boosting news paper scans!
I figure it is better to do less posts, with lots of substance, than more posts that are just pointless and completely uninteresting.
Also, I've been working like 15 hours a day on my final semester uni project, which is sending me slightly mental, so I haven't had time to try anything else constructive (I'll make sure to post some updates on how that is going a bit further down the track).
Anyway, since a couple of friends have been asking to see them, I thought I'd better scan-in-and-upload a few of me super famous news paper appearances of the last few weeks.
So here you go:
This was the first one to be published, the guys from the Extra:Tech section of the Herald sun decided to do a short write up for the July 16th news paper:

Soon after that, The Australian called me to ask a few questions, they also sent out a photographer to get some snaps, this article was published on the front page of the Higher Education section in the 23rd of July paper.
Also that week, the Moonee Valley Community News called as well as the Leader, to organise a photographer to be sent out , unfortunately I was going away on a ski trip with some friends that week, so the leader wasn't able to get a photographer out in time, but the community news was able to.
The photographer from the community news was really nice and totally took the best pictures I reckon (the guys from the bigger papers were a lot older and kind of hostile).
So I totally hit the front page of the local paper as you can see here:
And there was a photo of both me and Emily on page 12.
Holy crap, I am so pasty white in this picture, you can't even see where my T-shirt ends and my arm starts....

So yeah, all this has been quite beneficial for me, especially since I am finishing uni in a few months and will be looking for a job soon, and any publicity is good publicity.
I reckon the coolest part so far though is hearing from other people who have been inspired to make their own giant videogame accessories and stuff.
That's a pretty fucking cool feeling; inspiring people.
My favourite so far is definitely Matt from http://scadinc.blogspot.com/ who has (apparantly just finished) making a giant SNES pad.
That thing looks fucking awesome, I'm pretty impressed by how he has done the round edges, that's a whole lot of gap filler he must have used there...
The only problem I've got is the colours, he totally should have done the PAL/Jap colours, the US version of the SNES just looked like arse, with it's pansy purple colours.
But either way, that takes nothing away from his awesome craftsmanship.
Oh also; every asking for a wiring diagram for the controller;
There is none! Just locate ground on the pad and wire it to the ground wire in the buttons, then link each of the "active" (or whatever you call them) wires to their corresponding ones.
The Male/Female plug was just so that I could unplug the controller from the original.
Either way, I might post a tutorial in the future explaining how to wire old controllers into USB-computer controllers, so you can play NES/SNES/Megadrive etc. emulators with their original controllers.
Till next time, awesome.
20080811
Giant SNES table Phase IV: Wiring, Button Adjusting, Detail Painting... etc
The Controller is finally finished! It has taken me all summer to do it, mainly because of classes and the new job... which by the way also helped me build the controller.
Button Mounting and wiring. The mounting was a bit tricky getting all these clamps in while it dried... but I somehow made it work.
Soldering for the SNES controller card, actually quite easy.
Giant SNES table Phase IV: Wiring, Button Adjusting, Detail Painting... etc
The Controller is finally finished! It has taken me all summer to do it, mainly because of classes and the new job... which by the way also helped me build the controller.
Button Mounting and wiring. The mounting was a bit tricky getting all these clamps in while it dried... but I somehow made it work.
Soldering for the SNES controller card, actually quite easy.