Thursday, March 31, 2005

Back in Australia again soon...

Well it's been about 32 years since I was in Australia, and I'm flying out on the 16th April, I should arrive at 6:45 on the 17th... If everything goes smoothly...

This will be my first return visit to my home country and since I was about 2 years old when I came to the UK, I'm very excited about it. It seems really odd that I haven't been back already, but I don't care about that now... I'm just glad I finally got it organised and it's soon to become a reality.

I'll be working for most of the time while I'm out there and will be coming back to the UK on the 25th of June. I'm expecting to returning to the UK temporarily and most of my time in Aus this time round will be in Syndey to check out my work situation and see what's what.

Next time around I'll probably be over for at least a couple of years and will be moving between Sydney, Melbourne and Brisbane... plus I hope to get over to NZ and check it out over there too...

I'll be concentrating on doing more in the Flash community and working as a Macromedia trainer for Flash and probably Flex, and with a tiny bit of luck I'll be enjoying more time at the beach and in the great outdoors... I am, as they say, "pumped!"

Monday, March 28, 2005

New Release of NaturalGUI. NET

Daniel at Protozoo has released a new version of his NaturalDocs front end NaturalGui .Net.

This new release adds a new feature and also a bug fix

  • New Feature: The Input, Output & Exclude pathnames can be edited in their windows by double clicking on them
  • Bug Fix: The pathname where NaturalDocs / NaturalGui is run from can now contain spaces

If your running NaturalDocs and are working on a PC then this is an essential download.

SEPY Snippets new features

The snippets panel in SEPY (note: CVS version only) now has the added functionality of parameter defaults. You can also insert a snippet without filling in all the parameters first.

If you haven't used SEPY's snippets window before, it gives you a way to create small text templates which you can insert into your code quickly and easily, thus speeding up the creation of repetitive pieces of code like documentation stubs or code structures, conditions and loops etc...

To use the new parameter defaults, you insert a parameter into your snippet using the syntax @@MyParameter@@, adding the default value at the end of the parameter name using =[myvalue]

e.g.

    @@MyParamterName=[My Default Value]@@

The parameter will now appear as usual in the entry dialog, and default values will be listed in the entry fields. Clicking the OK button then inserts the snippet into your code at the cursor position.

Tutorial:

This is a quick tutorial for SEPY Snippets to create a code structure using the new defaults system..

Here's a simple for loop through an array

for(var @@index=[i]@@:Number = 0; @@index@@ < @@ArrayName@@.length; @@index@@ ++)
{
    @@ArrayName@@[@@index@@]
}

In this example the code inside the loop is just a simple copy/paste-able reference to our current position in the Array but you can, of course, use the technique to create more complex code structures.

To explain what's going on here we are declaring the loop @@index@@ parameter at the beginning of the for loop, and setting it's default to "i" then we are creating the rest of the code with references to the @@index@@ parameter.

Note that you cannot supply more than one default value for a parameter, as this causes SEPY to throw an error.

When you insert the snippet index will have the default "i" value for the index and you can change it if you need to, once you have filled in the ArrayName and click ok the for loop will be inserted into your code.

Note: This feature is in the CVS version of SEPY only, and as such should be considered unstable.

Thursday, March 17, 2005

SEPY AutoCompletion

I've just been having a quick look at the new release of SEPY and I realised today that I'd missed a really important addition to the auto-completion system.

Since release 1.0.6.63 SEPY will scan your custom classes and build an auto-completion and syntax highlighting file...

In Preferences go into the Auto Completion tab and enter the base path to your class library (above com, net, org etc...) then click Run... SEPY does the rest, all you have to do is restart and be very pleased.

If I wasn't so reserved I'd be punching the air right now and saying something like.. "Woo!"... or "Oh Yeah!" ...

Instead I'll just say "it's really rather good."

Google Video Search...

I heard about the Google video search recently, but it wasn't until today that I tried it out... it seems pretty cool.

I had a good laugh on my first search, now I'm assuming that only US TV shows are being searched at the moment... so I came up with the first piece of authentic US TV Dialog I could think of... which happend to be "Hey Dick Wad"...

Hopefully the 1st result will amuse you as much as it did me.

Admittedly I could have thought of "Oh P-lease", or "What-ever"... but anyway...

Wednesday, March 16, 2005

SEPY Icon and Logo competition...

Alessandro Crugnola, (aka Sephiroth) recently launched a competition to create a new icon and logo for the SEPY ActionScript Editor.

SEPY is my favourite open source application and I've been busy working on some ideas that I hope will be the winning icons.

So far I've created about 25 different colour and finish variations, I think I've got the design nailed, but I'll probably try some other ideas if they hit me.

Here's some of the one's I've made so far...

I'd be very pleased to hear which colour scheme's people prefer, my favourite is the SepyGreen11 variety...

Maybe I'll get some time at the weekend to try out a few logotype ideas... some early draft icon ideas of mine are posted on the Sephiroth.it forums, and I'll be turning those into true icons very soon too.

Monday, March 14, 2005

Doing a bit of design...

For a bit of a laugh I've decided to spruce up that standard template look of my blog.

I had a few attempted designs lying around that were going to be front ends to my roll-your-own blogging engine, but I've gone off them, fickle b*stard that I am.

This means I'll probably change the look again in a couple of months...

Depends how busy I am in Sydney next month.

Firefox Theme - Brushed

I'm bored of the regular Firefox theme and I didn't find much to inspire me in the Firefox site's Theme section...

I was about to start designing my own skin and I came across 2 very nice Theme's which'll save me the bother for a while at least

The first one is the best Firefox Theme I've seen so far, it's called Brushed, take a look if you like the OS X Safari browser.

The second is called Aluminium Kai , it's based on the prototype theme for Netscape 8. Apparently after having the Japanese page translated for me (Thanks Sari!) I shouldn't really draw attention to it. But since I found the link on the Mozilla forums it's probably a bit late for the hush-hush treatment.

Friday, March 04, 2005

Design Patterns - Real World Analogies...

When you're trying to learn anything, it's pretty obvious that gaining a fundamental understanding of the subject at hand is pretty key.

Personally the process of learning requires that I reach a point where I have a solid core understanding of underlying processes, I know I've reached that point when disparate pieces of knowledge simply "slot" into this core of understanding.

To reach this point I generally need to study a subject from several different angles, using realworld analogies often plays a big part in this, especially when the subject is heavily based on theory.

Now I'm trying to construct this core understanding of the GoF Design Patterns and I've stumbled across this set of Real World Examples. They've turned out to be very useful. If you're in the same boat I'd recommend you take a look...

Thursday, March 03, 2005

Superformula

The Superformula developed by Johan Gielis is a simple formula that can generate a vast diversity of natural shapes. It produces everything from simple triangles and pentagons, to stars, spirals and petals. More information on the Superformula: Paul Bourke. Based on the first Flash implementations of Flashforum members, Especially based on e2e4 and i++ contributions.

I've put together a little example to draw SuperShapes, copy the code into frame 1 of a new flash movie.

function getSuperPoint (m:Number, n1:Number, n2:Number, n3:Number, phi:Number)
{
 var r:Number;
 var t1:Number;
 var t2:Number;
 var a:Number = 1;
 var b:Number = 1;
 var x:Number = 0;
 var y:Number = 0;
 t1 = (1 / a) * Math.cos ((m / 4) * phi);
 t1 = Math.abs (t1);
 t1 = Math.pow (t1, n2);
 t2 = (1 / b) * Math.sin ((m / 4) * phi);
 t2 = Math.abs (t2);
 t2 = Math.pow (t2, n3);
 r = Math.pow (t1 + t2, 1 / n1);
 if (r != 0)
 {
  r = 1 / r;
  x = r * Math.cos (phi);
  y = r * Math.sin (phi);
 }
 var p:Object = {x:x, y:y};
 return p;
}
function drawSuperShape (m, n1, n2, n3)
{
 var maxAngle:Number = 12 * Math.PI;
 var x = 300;
 var y = 200;
 _root.lineStyle (1, 0x0000AA);
 for (var i = 0; i <= maxAngle; i += 0.01)
 {
  var p:Object = getSuperPoint (m, n1, n2, n3, i);
  if (i == 0)
  {
   _root.moveTo (x + (p.x * 100), y + (p.y * 100));
  }
  else
  {
   _root.lineTo (x + (p.x * 100), y + (p.y * 100));
  }
 }
}

// Then create an animated runner...

var a = 70, b = 10;
var m:Number = a / b;
var n1:Number = .5;
var n2:Number = 3;
var n3:Number = .5;

_root.createEmptyMovieClip ("control", 100);
control.onEnterFrame = function ()
{
 b -= 3;
 a += 1.5;
 _root.m = a / b;
 _root.clear ();
 _root.beginFill (0x000000, 10);
 _root.drawSuperShape (_root.m, _root.n1, _root.n2, _root.n3);
 _root.endFill ();
};