« March 2006 | Main | May 2006 »
April 27, 2006
FITC from the Bitch.
I've been meaning to do a nice in depth report of FITC but have failed to do so earlier, as frankly, I'm old and still recovering from four consectutive nights of trashing my liver. I've uploaded more pictures to my FLICKR account.
So here it goes - session by session. Take what I have to say for what its worth.
First off, I got harassed non-stop for mis-pronouncing Chafic's name for which I promptly apologized and made an ass out of myself in doing so to the nice dude. I know him from XBOX, and if its pronounced that way on xbox live, i'm gonna follow suit. However, here we go - I'm an ass. Please forgive me for publically slaughtering his name. :)
Sesssion Overview
Friday
Creating a Visual Language with Brandon Hall
Brandon is always a good speaker. And from this seminar I took away alot about process. I really like Brandon, he's the coolest self-proclaimed geeky guy.
Playing with Yourself.
Grant Skinner is smooth. Despite the technical difficulties in starting the preso, everything else when pretty flawless. He's definitely one of the most enthusiatic speakers and it shows in his presentation style. All my students proclaimed this to be their fave.
Keynote
The Keynote, personally, dissapointed me. It didn't tell us anything we didn't already know. However, Sho is one helluva a presenter and really good for that public type of role. Incredibly nice guy too.
Keep Interested
The things this dude does for a banner ad.... I was really glad I saw Natzke again. He really gave me what i was looking for - inspiration.
Red 5 - Staying on Target
Yes, I didn't go to Josh Davis's preso. I've seen him a couple of times and decided to go check out the Red 5 bit with John and Chris. It was pretty amazing - where they are at and what they are doing in terms of open source Flash Communicationesque type of project with remoting incorporated. They are in version 0.4 from what I can remember, but this could be super cool.
SATURDAY
Beyong Usability
Kristin gave a really good preso. Looking around, it looked like a lot of educational people were in the room, but i think just about anyone could have grabbed something useful from her preso.
Light From Sound
Robert Hodgin gave probably what I would consider my most favorite presentation. The stuff he is doing with Processing was so incredible to see - in terms of the evolution of the idea to execution. Damn man.
Future of Remoting
Kinda of a let down for me when I walked in and the dude was typing out code and mistyping because I think he was nervous. Showing code is good, typing it not so much.
How and What of Geoff McFetridge
Simplicity reigns here. It was cool to see the process and evolution of this guy's work
SUNDAY
AS 3 - How low can we go?
In terms of technical details, this preso takes the cake for me. It was pretty technical and I learned ALOT in this presentation. Darron Schall knows his stuff. Definitely my favorite presentation for learning technical details.
Making a VJ tool
Mario gave a great preso and his sense of humour really engaged the audience. And even tho I can't really see the commercial value for his VJ app- its soooo cool to see someone put in that much time and effort and forethought into an application that really does render wicked results.
Behaviours and AI Simulations
All i can say is this wasn't really for me. Maybe cos the dude beside me was practically sitting on my lap and was a hardcore heavy breather.
And that's the preso's I took in.
Overall impressions -
What's with the lack of tech support in FITC? I think at least 4 presentations suffered from technical issues which could have been quickly resolved if an IT guy was around. Its not fun to see the speakers up there struggling to get the camera or resolution or what not.
Once again, the conference suffered from large attendene, small venue for the social events at night. The Drake hotel was a great example, half the flash community were sitting outside to get into a dinky little basement. Or so i have been told... i was inside taking advantage of the open bar. :)
I came away from the conference with what I came to it for - inspiration. So for me it was a great time and totally worth. I also got to put a lot of faces to names - like Kristin, Brent, Chafic, Darron Schall, Keith Peters, Sam Robbins. I even finally met Mesh and told him i was gonna rock him in Halo- never happened tho. I'll save the brutalization for online play where he can sacrifice his ego;)
Posted by bitch at 02:12 AM | Comments (3)
April 25, 2006
FITC pictures
Just a sampling of some of the pics,I've uploaded about 1/10 of them to my flickr account...... Um don't drink & point and shoot. It was always interesting to see what pictures appeared on that lovely little cam of mine the next morning.
Metalliq and Skinner...

Chafic and Mario

Sam indulging in canadian beer

See the rest of my unorganized flickr account.....
Posted by bitch at 02:10 PM | Comments (3)
April 17, 2006
Podcast-o-rama
I need more cowbell baby! Listen to my very first podcast with Leif Wells at goToAndSay and you will know what I mean. Check out the show notes for the details and topics that we cover ( why flashcoders suck... best blogs posts of the week, picks for fitc seminars).
I hate hearing how much I giggle. I hate hearing the Uh's. All i hear in fact is Leif's accent. But its finally out, and creating the podcast with Leif was both challenging but fun. Next time I promise not to drink before recording. :)
Posted by bitch at 09:58 PM | Comments (4)
April 14, 2006
Flexities
As I find things out about Flex, I'm going to start posting them to share. One of the things i discovered by looking at Jesse Warden's drawing pad example is this wicked line of code :"hasEventListener(MouseEvent.MOUSE_MOVE) == true".
Thats awesome, you can actually check for a listener for specific event. You don't know how many times oddness or memory leakage due to people adding event listeners and never removing them when they are no longer needed OR when the item no longer exists. A prime example is adding a movieclip via attachMovie, adding it as a listener, removing the movieclip, but NOT removing the listener. So that item still exists in the _listeners array - even tho itself doesn't exist. Correct me if I am wrong, but I am sure thats the scenerio.
Posted by bitch at 08:50 PM | Comments (0)
April 07, 2006
Singleton vs Static
My Outlook has been getting a serious workout on the topic of Singleton vs Static. These kinds of discussions typically get started by Derek Vadneau who usually shoots me off an email with question that always gets me thinking. And true to my own nature, I typically respond without thinking and it snowballs from there. The question "Why would you use a Singleton over a Static, and vise versa?" is no different.
Immediately my initial reaction was - well, Static classes have no instance level variables. They are best suited for utility type classes where you can group like functions together - like a String utility class. Or they are good if you want to have them as an entry point for a factory type of approach where they take care of generating the items - I use this terminology loosely, but something like the Alert class might be a good example of what I mean. Singletons and Statics both provide a "global" type of entry point in terms of referencing them, but a singleton is more effective if you need to keep track of stateful items.
Those were my first reactions to that question. I asked a bunch of people and the responses were varied. Tony had proposed the idea of stateless vs stateful as a distinction between the two. Static classes, altho they can retain information about state are better off retaining information that is stateless. Singletons are better of taking care of information that is stateful. Of course, all this is just paraphasing.:)
I then png'd a developer I had the great pleasure of working with on the SNL merger model, Brian. This dude knows his stuff and its nice to get a perspective that isn't flash based or even biased ;). And his explanation was soooo good that I am just going to dump it here and hope that he doesn't shoot me one day for posting this:
Looking at a practical example:
public SomeClass {
public static int doSomething(int a, int b) {
return a + b;
}
}
public class AnotherClass {
private AnotherClass instance = new AnotherClass();
private AnotherClass() { // private constructor so no one else can instantiate objects }
public static AnotherClass GetInstance() {
return instance; // classic singleton
}
public int doSomething(int a, int b) {
return a + b;
}
}
There is no functional difference between the following:
int x = SomeClass.doSomething(1,2);
int y = AnotherClass.GetInstance().doSomething(1,2);
Personally, I feel the second construct (what you call "singleton") is more flexible because it hides object management and subclassing from the application layer. For example, I can make the following changes rather easily:
// Converts from singleton to factory
public static AnotherClass GetInstance() {
return new AnotherClass(); // factory method, returns a new object instance each time
}
// Change the implementation altogether
public static AnotherClass GetInstance() {
return new AnotherClassSubclass(); // abstract factory method, returns a new implementation altogether
}
public class AnotherClassSubclass extends AnotherClass {
public int doSomething(int a, int b) {
return a * b;
}
}
Both are very significant changes but we can effect them WITHOUT changing the code.
int y = AnotherClass.GetInstance().doSomething(1,2); // this line of code still works whether you use singletons, factory methods, or abstract factory methods
If you wanted to accomplish the same thing using static methods, you would definitely have to change the code
SomeClass s = new SomeClass(); // explicitly declare a new instance
int x = s.doSomething(1,2);
or
int x = SomeClass.doSomethingDifferent(1,2); // add another static method to multiply instead of add
or
int x = SomeOtherClass.doSomething(1,2); // add another class altogether if you want keep the same method signature and multiply instead of add
These differences are extremely subtle but they do impact how resilient the system will hold up after years of subtle changes, new features, enhancements, etc. Most developers dislike system maintenance and I feel the biggest reason is because systems aren't really designed to be maintained. By incorporating the "singleton" pattern above, I've abstracted object creation and typing away from my core business logic which is critical to long-term maintenance.
In short, while there isn't much of a difference in terms of functionality, there is a pretty significant difference between these approaches in terms of flexibility. From experience, things will change over time and if I can push my changes to the fringe of the app and leave the core app logic unchanged, I feel better about my design. I only use static classes if I'm convinced the details won't change over time -- a utility class for parsing strings is a good example. If the code contains business logic, which is likely to change over time, I prefer the flexibility of the singleton approach."
--------
Good advice I'd say. Thoughts, comments, discussion on this, as always, is welcome and encouraged.
Posted by bitch at 06:38 PM | Comments (3)
April 04, 2006
FITC Call out
Alrighty kids, FITC is in around 2 weeks. I can't wait to *finally* meet some of the people I've played Halo with (Guy, Cantrell, Mesh, Dizznog Schall), and other people I've had the pleasure meeting in various ways- email, blogs, conferences, etc. Who's gonna be there? More importantly, who's going to be buying me beer?
Posted by bitch at 05:55 PM | Comments (14)
April 03, 2006
Teknision is Hiring
Teknision is hiring. We're looking for both a senior developer and a senior designer. If you're interested in working in Ottawa,Canada, you can find more details can be found on our site - Teknision.
Posted by bitch at 02:50 PM | Comments (0)
Not once, but twice!
Just got word that Teknision is nominated for two FITC awards - one for Technical Excellence with the SNL Merger Model, and the other for Convergence with UpdateHollywood.com. It's nice to see the recognition for all the hard work.
Posted by bitch at 02:45 PM | Comments (2)