Michael Forrest
Sat 26 Apr 2008
I discovered Quartz Composer yesterday - comes free with Mac OS X (another one of the developer tools). Here is me fiddling with it. Music is from one of my 2007 Installation sessions (ie it was composed live in a pub) - it's called "Looks like riggiddy rain". More stuff at mf.grimaceworks.com
Michael Forrest
Sat 26 Apr 2008
I discovered Quartz Composer yesterday - comes free with Mac OS X (another one of the developer tools). Here is me fiddling with it.
Music is from one of my 2007 Installation sessions (i.e. it was composed live in a pub) - it's called "Looks like riggiddy rain". More stuff at http://mf.grimaceworks.com
Michael Forrest
Wed 23 Apr 2008

Courtesy of tweetstats.com
Michael Forrest
Mon 21 Apr 2008
Good code means the computer does what it's good at. Bad code means you have to do things that the computer could be doing.
All you're doing by writing good code is letting the computer do your 'copy-pasting' for you.
Michael Forrest
Mon 21 Apr 2008
Thought I'd offset my love-related etching from yesterday with a Flex rant...
Using Apple's UI development tools has helped to clarify the benefits of a template-based approach to UI development. Under that mantel I include things like Flex, .NET, Java Struts and Tiles - anything where you use a parameterised components to build a user interface. There are two benefits to a system like this:
1. initial speed of development
2. consistency of look and feel between applications
I say initial speed of development because I have always found that as time goes on, these 'easy, fast' systems tend to result in code that is difficult to maintain as the complexity grows (although you could say that about anything really... I'm really saying that the 'easyness' fosters a certain 'bricklaying' style of programming that is tedious to change due to excessive copy-pasting of details instead of OOP centralisation).
The Apple stuff brought point 2 home - it's very important for an operating system to maintain a look and feel between applications. That's where this sort of thing belongs. The good thing about the Apple implementation is that there are lots of very high quality components and integration hooks that can be used to rapidly build a fancy looking application. Also, since Apple themselves use these tools, their construction is optimised for real world use.
Here's the rub: Consistent look and feel is a no-no for Flash applications. The whole point of using Flash is differentiation of UI concepts, creating branded experiences, creating something unique every time. So Flex is generally more of a hinderance than a help when it comes to building RIAs for the web.
Flex MXML source code looks like bad HTML. As a sometime HTML developer, seeing X and Y coordinates hard coded into my view structure makes my blood itch. Seeing visual implementation details randomly mixed in with structural details scares me. I am deeply concerned that the templating language of Flex has learned nothing from all the progress that has been made cleaning up HTML over the years.
I hate the 'data provider' paradigm. It never works. It was never enough for a .NET app, and it won't be enough for a Flex app. There's always something you need to change that the component API doesn't let you change, so you end up jumping through artificial hoops imposed by the incomplete component implementation.
When you develop parameterised components, you are adding redundant functionality to your code. You try to second-guess future implementations, but you never think of everything. The more flexible a component, the fatter it is. Which is why a Flex application takes so long to download. Watching a progress bar on a website before I can do anything makes me want to leave straight away.
The other facet of this sort of encapsulation is the inevitable event maelstrom. To make a component flexible enough for use in a real world app, it needs to be dispatching events all over the place. And in my experience, the one you need is always missing. It's okay if you have the source code - you can add in an event at the point you need it, but it's never quite right.
Another problem with component encapsulation is that when you have a lot of classes going into your component's implementation, you end up having to override a whole inheritance chain to change a small detail. Um... that is, say you want to change the font on a button inside a combo box - you have to override the combo box to use a different list item class that uses a different button component which creates a differently styled textfield. Unless the developer happens to have implemented that all-important 'kerning' parameter that your designer is insisting you perfect...
So yeah. I don't like Flex because it
1) encourages lazy development practices by purporting to be 'fast' and 'easy'
2) mixes view with model with controller in XML files that can only get bigger
3) creates artificial barriers to the level of customisation necessary for any Flash app with the flawed 'state' model
4) has an ugly default look and feel
5) has components that don't quite do everything you'd expect (try using the keyboard or mouse wheel on some things and you'll see what I mean)
6) results in a lot of tangled up event listeners
I see all of these problems as coming from the parameterised component paradigm, although if the implementation was as good as Apple's then I might be a bit more interested. However, even with Apple's implementation I quickly found myself wanting to return to a code-based UI construction process, cos, you know - why hard code x and y coordinates all over the place when you could have a couple of static constants in your source and work everything else out at runtime?
Michael Forrest
Sun 20 Apr 2008
Michael Forrest
Thu 17 Apr 2008
This guy's got the right idea. Calmly using science to solve humanity's major problems..
http://www.ted.com/index.php/talks/view/id/227Go Craig Venter!
Michael Forrest
Mon 14 Apr 2008
More experiments: grimaceworks.com This is an interactive Java Applet. I'll put a link to it once I've managed to post the applet online. Here's what it says, since I think it's easier to read when you're in control... ---------------------------------------- Listen. You are steeped in information. You are being bombarded. Your brain is made for a society of dozens, maybe hundreds. A few dozen friends. The rest outsiders. You struggle to understand a society of billions. So your belief that ...
Michael Forrest
Mon 14 Apr 2008
More experiments: http://grimaceworks.com/mf/lab
This is an interactive Java Applet. I'll put a link to it once I've managed to post the applet online.
Here's what it says, since I think it's easier to read when you're in control...
----------------------------------------
Listen.
You are steeped in information.
You are being bombarded.
Your brain is made for a society of dozens, maybe hundreds.
A few dozen friends. The rest outsiders.
You struggle to understand a society of billions.
So your belief that times are getting darker is false.
The strong help the weak more than they ever have before.
They help because they feel ashamed.
They help to keep up appearances.
They still help. Altruism does not require pure motivation, only action.
Do not judge them so harshly.
We must all block out hysteria, control our fears,
and calmly build a better world.
Piece by piece.
Brick by brick.
Cell by cell.
Atom by atom.
Word by word.
We will not stay here forever.
We will not be this forever.
Machines and minds will merge in time,
We will expand through melted buckled borders
Even if we burn the whole sky what we are will still survive.
Even if our children turn against us they are still our children.
Our sublime capacity to adapt will transcend the difficult times ahead.
In the future my only hope, MY ONLY HOPE, is that there will still be girls.
In the future I hope there will still be girls.
MUSIC, SOFTWARE, WORDS by Michael Forrest April 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020
Image © http://philip.greenspun.com
Michael Forrest
Wed 09 Apr 2008
More experiments: grimaceworks.com I am working on programming this little visual thing - I settled for this evening on this organic flickering in grey. This is a little improvisation on arpeggiator and mouse clicks. You can see the applet crashing at the end. Guess it still needs work...
Michael Forrest
Wed 09 Apr 2008
More experiments: http://grimaceworks.com/mf/lab
I am working on programming this little visual thing - I settled for this evening on this organic flickering in grey.
This is a little improvisation on arpeggiator and mouse clicks.
You can see the applet crashing at the end. Guess it still needs work...
Michael Forrest
Mon 07 Apr 2008
More experiments: grimaceworks.com er yeah... this is me mucking about with a bit of silly programming nonsense. It's a bit scary isn't it. yet colourful! Hmm... Um basically I'm doing programming and mucking about instead of preparing for my gig on Friday. I think I'll use some stuff like this when I play live.
Michael Forrest
Mon 07 Apr 2008
More experiments: http://grimaceworks.com/mf/lab
er yeah... this is me mucking about with a bit of silly programming nonsense. It's a bit scary isn't it. yet colourful! Hmm... Um basically I'm doing programming and mucking about instead of preparing for my gig on Friday. I think I'll use some stuff like this when I play live.
Michael Forrest
Thu 03 Apr 2008
Just noticed my feed was broken. If you use Google Reader or iGoogle or Netvibes or any kind of rss reader, how about you do me the service of subscribing to my feed? It lives at
http://feeds.feedburner.com/michaelforrest. Shows upcoming gigs at the top, and any updates to this site go through so you don't have to keep coming back here. Plus it works as a podcast so you can subscribe with iTunes and any tracks I put online will automatically get added to your library. Also, Google reader and Netvibes have built in mp3 players so you can listen to my tracks from there too.
Michael Forrest
Thu 03 Apr 2008
I am tremendously excited that mister Marcus Alexander has started a personal blog.

I am enjoying the friendly tone of this blog - there is a distinctly warmer style than Marcus usually uses in his always articulate and insightful communications. Get subscribed, you know it's gonna be good stuff.
withoutsubstance.blogspot.com
Michael Forrest
Tue 01 Apr 2008
Thought you might want a track listing for the CD I'm giving for free with each order from my
shop.
| Name |
With |
Year |
| Clanging | | 2006 |
| been a long time coming - mf+foz | Foz | 2007 |
| Denial | Dewex | 2008 |
| Smunk -Addicted Fanatic | MC Lee | 2002 |
| Smunk - Smoked to Death | | 2003 |
| Dreaming of Polygamy | | 2006 |
| Bumpy Bosbo (radio edit) | | 2006 |
| Blow Up Inside | | 2006 |
| Anger Belly (radio edit) | | 2006 |
| Song Of Technology | | 2007 |
| Sliding Down feat.Schooly Dave | | 2007 |
| No one ever told me what it's like to be dead | Dewex | 2006 |
| I Said I Love You One Time | Lina | 2007 |
| Horoskope Instrumental (work-in-progress) | | 2007 |
| Dark Euphoria | Lina | 2007 |
| Here I Go Smunk Remix | Shadow Huntaz | 2004 |
| CelloNonsense | | 2004 |
| Music For Trains | | 2006 |
| It Doesn't Have To Be This Way Instrumental | | 2007 |
| I wish I could make it all go away | | 2007 |
| Black Hole | | 2006 |
| Selection Rejection.mp3 | | 2007 |
| - Some Day.mp3 | | 2007 |
| I Can't Remember.mp3 | | 2006 |
| Can't Get You Out Of My Head - [backing].mp3 | | 2006 |
| How'd They Ever Get It On Anyway | | 2007 |
| Bumpy Bosbo Long Preview | | 2006 |
| Anger Belly Extended (Needs Mastering) | | 2006 |
| Looks Like Riggiddy Rain | | 2007 |
| Fudruck June 2007 - Live | | 2007 |
| We Did | | 2005 |
| How You See Me | | 2005 |
| Breezing Preload | | 2005 |
| Xut Um Up | | 2005 |
| Sketch of a left hand | | 2005 |
| If You Want To Write | | 2005 |
| That Yawning Hollow Void | | 2005 |
| Human Thing | | 2005 |
| Hobgoblin | | 2005 |
| Juicy Skin Biscuits | | 2005 |
| Something Inside | | 2005 |
| Festivo | | 2005 |
| No Turning Back You | | 2004 |
| Cold Turkey | | 2004 |
| Don't Go Slow Mo | | 2004 |
| Fully Unoperational | | 2004 |
| housey improvisation (live) | | 2004 |
| Darned No Good Shoes | | 2004 |
| I'm Going Through The Bins | | 2004 |
| Slipping Down Not Alone | | 2004 |
| Don't Ever Slow Down | | 2004 |
| Bendy Gutter | | 2004 |
| In the fightyfiftyfourfties | | 2004 |
| Caught In The Bitstream | | 2004 |
| It Hurts, Make It Stop | | 2004 |
| A Put Anotha Bread In Me Bread Bin | Lina | 2008 |
| Make a promise | Lina | 2008 |
Come to my little stall.
Michael Forrest
Tue 01 Apr 2008

Apple Instruments comes bundled with Leopard. It's part of the whole developer toolkit that Apple give you for developing OS X Applications. All their tools are somewhat beautiful (the only real omission as far as I'm concerned is tabs in XCode).
I am doing some Flash work and realised there was a major memory leak and realised that I could use Instruments to track stuff in the Flash Player same as anywhere else.
All you need to do is Launch Executable->/Applications/Flash Player.app, and put the path to your swf in the arguments box in the Select Executable window.
You can monitor and record memory usage, file access, cpu use, beachball-time, and even get screen captures of user interface events on the chart. This is just excellent.