Thursday, October 27, 2005

Google Ads...

So, you may have noticed the addition of Google ad's to my blog. It was an expirement. I haven't made any money yet, but if you click on the links, I get paid... and the more people who click, the more money I get :-)
But what I was particularly interested in is the topics that come up. Recently, I've had a lot of stuff about DMX, lighting and Wireless DMX. I've found that quite facinating given my discussion about writing software that uses DMX protocol. And even more interesting is that fact that we are planning to write ArtNET control software. ArtNET is the current standard for DMX over Ethernet. Hmm... I hear your mind ticking over. DMX over ethernet. I know you next question is can I run it over a WiFi connection, and thus make wireless DMX? Well, the answer should be YES! We have the directions to turn a netgear router into a box running embedded linux, and then, by simply connecting a Enttec DMX USB device to the Netgear router's USB port we can turn it into a remote DMX node controlled over WiFi from an ArtNET server (eg a Powerbook). It's interesting to see what else is out there. On a slightly different note - I've always wondered about the logistics of Wireless DMX. It could be great to just shove a Wireless ArtNET (notice the transition) node onto some truss in the roof, plug a DMX dongle into it and run all of the Moving lights that require DMX through it. That should save a lot of energy/hassle with cabling and looping DMX around to various different locations. Not to mention, it's only about $400 to build.
But is it reliable? Well the answer to that is that in theory it's as reliable as your WiFi connection...

iTunes music store

So, many of you know that the iTunes music store has started in Australia. This is great. It begins to bring an end my long term delimma over the fact that it is technically illegal in Australia to "rip" music from CD's and place them into iTunes (or incedently, any other program like Windows Media Player).
The Music Store gives us quite a few options now. You can download the music, and put it on five seperate computers, and play it. Some might say that's different from a CD where you can put it in any cd player and expect it to play, however I must say - it really isn't. You can only play a CD in a single computer at a time. I can play my iTunes music that I download on any number of computers at once. That is much better licensing terms.
Apple even encourages you to make a CD backup (and suggests it as part of the licensing conditions). It is illegal in Australia to make any copies of a CD - so how much better is that! Not to mention the instantaneous access to a hugely wide variety of music that we didn't have access to before. Shame about Sony BMG though.
But this begs the ethical question. Should I now delete all the music I own out of iTunes, and slowly repurchase it through the iTunes music store, or can I continue in the knowledge that I own the CD's, that the CD's are filed in a cupboard somewhere and I do not listen to the CD's - I only listen to them off iTunes, and as such I'm not breaking the spirit of the law...

Tuesday, October 25, 2005

Podcasts

So this is a quick one as I run off to collect my wife... Christian Union's Public Meeting Talks are available online as Podcasts as of today. Yay! It's interesting and fun technology... and there is even an RSS parser working to update the main page!

Saturday, October 22, 2005

LX Control on a Mac

Well - we are getting there. I just thought I'd update my readers on my progress of getting the Enttec DMX usb widget to work on a mac. Funnily enough, it's not that hard.
I have a little C program that controls my Martin Mania SCX500 quite well. Well - it does a couple of things, fades the light up from 0 to 100%, and pans from 0,0 to 256,256. It also can set random positions, intensity, gobo and colour.
Biggest challenge so far - update rate. Believe it or not, if you try and update the DMX widet 1000 times a second, the driver resets the widget and freezes your output. Solution? usleep for 10000 microseconds. This creates a smooth, stable and accurate DMX playback!
Will write more... have many questions and thoughts...

Friday, October 14, 2005

Light me up!

So today I have acquired an Enttec DMX USB Pro interface. Apparently it controls DMX enabled lighting fixtures/dimmers from a computer. I'm quite excited about this idea. I've used these things before, and software such as Freestyler is quite good.
I would like to write a MacOSX moving light control application, but as of today, I'm not 100% sure on how to do it. I think I'll be able to work it out. I'd want to be able to do things initially like:
  • Set scenes of lights
  • Define bezier curves for moving lights
  • Set limits on lights
  • Be able to tell lights where a predefined X, Y and Z are and then work in a virtual 3d space for focusing lights
  • Be able to soft patch lights (turn convenient Andrew numbers into real DMX channels
  • Be able to control gobo, colour etc on movers
  • Have some sort of command interface so I can type something like M2W1-5@F and have it understand that to mean Mac 250 Wash 1 through 5 at Full intensity
I know it sounds like a lot, but at the same time, it isn't really. It might be a project I play with for Summer Camp, and do some testing in free time at Camp. It could be a lot of fun, and really useful into the future. I'd like to make whatever I write open source, because there is a shortage of good mac applications out there. So what I'm waiting for now is for someone to donate me a DMX enabled Scanner so I can test my software :-)

Thursday, October 13, 2005

I'm thirsty...

And we have nothing to drink. If you read this, and drive, and know where I live, please bring me something to drink :-)
... actually... I do have Milk. So don't bring me milk. Bring me Apple Juice. Or Orange Juice. Or any other juice. Thankyou!

JavaScript bugs...

JavaScript in Safari really annoys me at times. Like, the fact that Safari doesn't have one of the most basic list iterating functions ever. Admittedly, it's only new to JavaScript - but that's why I hate JavaScript!

But now... I have written a JavaScript indexOf function for an array. And here it is:


if (!Array.indexOf) {
Array.indexOf = function (searchString) {
var i=0;
while (i<Array.length) {
if (steps[i]==searchString) return i;
i++;
}
}
}


First it checks if the function exists, and if not defines it. Sure it's slow, but you don't really do this much faster, unless you write it in C :-)

Tuesday, October 11, 2005

Does anyone read my blog?

Just a question... if not... i might stop posting... :-(

Sunday, October 09, 2005

Our Garden

Our garden is a lot more "controlled" now. That's a bit exciting, but also a bit weird. I cut (well... me... Grandma... Lynn... Ed... Grandad *sp* ) back a lot of the low growth branches on trees to free up the space under a lot of plants we had. Obviously this was the intention. The trees had started growing out and killing the plants. But yes - it's a lot cleaner now. We also have some mulch. Mulchers are interesting machines - but fun. I might take some photos and post them...
Down side? More gaps in trees, so we can see neighbours, and they can see us. But they'll grow back... we hope...
Oh... and my wrists hurt again. Maybe it's just an end of year thing...

Changes upcoming for See

Well - for those of you who keep track of See changes, this is a bit of a preview as to what to expect soon. I'm about to start migrating See to using WebKit for all of it's display rendering and editing. This is a pretty big change. Just to give you an idea of what this will mean:
  • Proper interaction with flash & quicktime
  • Ability to design complicated slides nad layouts using just HTML
  • More user-flexibility in choosing background colours/images
  • Easy templating for slides using CSS
  • Faster rendering
  • Neater code - now I'm just writing HTML/CSS to format slides, rather than doing all the complicated maths - which I'm sure I do slowly

There are some downsides too. The WebKit HTML editing engine is still relatively primative. I've done some initial tests and it seems as though I can get it to behave reasonably for a basic text slide - although I don't know how it will behave for complicated things. Lists seem to cause it to stuff up - you can't edit the last element. Tables do weird things too. And there is no nice way to do paragraph settings. I'd have to make an interface for that. But it's not that hard to do that... It's just a case of working out how...
I also don't yet know how to do pagination in a smart way. But I guess that will be something I can learn in time. My guess is that I can probably do it in a similar way to the way I do it now (if not an identical way).
I also still need to try scaling the WebKit view down (as per the preview panes). This concept probably also makes preview panes display proper QT and flash content as well.
As WebKit continues to evolve and be upgraded we will automatically gain the benefits of the new features and updates.
Look forward to a new version in a month or so...

Friday, October 07, 2005

How does the Countdown Clock work?

Really simple. It updates 5 times per second. Each time it does the following:

1) Get your computer's current unix timestamp (number of seconds since 1st Jan, 1970 - but this date is relatively irrelevant)
2) Get the 26th Dec, 2005 3:00pm as a unix timestamp. (SC Start Time) The functions pay attention to Daylight Savings, and presume the current time zone. I could probably make it smart and know that it is AEST, but why?
3) Subtract the current time from the SC Start time and call it diff
4) Calculate the days, hours minutes and seconds using some fancy division and the int function
5) Chuck it all in a string and display it.

So you have something like:


var d1:Date = new Date();
var d2:Date = new Date(2005, 11, 26, 15, 0, 0, 0);
var nowTime:Number = d1.getTime();
var scTime:Number = d2.getTime();
var diff = int((scTime-nowTime)/1000);
var days = int(diff/(60*60*24));
diff = diff - (days*60*60*24);
var hours = int(diff/(60*60));
diff = diff - hours*60*60;
var minutes = int(diff/60);
diff = diff - minutes*60;
var seconds = int(diff);
countdownClock.text = days + " days " + hours + " hours\n" +
minutes + " minutes " + seconds + " seconds";

What have I been doing?

Well folks - you may have been wondering what I've been doing. Maybe not, but I'll tell you anyway.

We've been working on a couple of big projects over at PY headquaters in the last few weeks that are really exciting. One is the Ministry Centre. You may remember me posting about it a few weeks ago - but now it's getting very close to completion. Basically, ministry centre is a subscription service where you can go online and download resources for your church. The highlight is the ministry papers - which are very good. There's also some bible studies and other papers up there too.

So - that leads me to number two task - dealing with Westpac. Not the easiest thing in the world. In fact, they make me want to scream at times. We have to use them for credit card processing. But one month later - we finally filled out application forms and the system is now underway.

You may also remember me posting about AFES's Consider Christ. I've had a great time cutting together a Promo DVD as well as doing work on the full night DVD. If you were there and would like a copy, call the AFES office to order your copy.

I've also been working on Presbyterian Youth's Cafe Theologica, and some of the PY Internship Material.

But onto a new topic - I'M JOINING A CREW! Yes, that's right folks... I'm going to help with Eastwood Uniting Church Musical Society's production of Chess. Not sure what role, but should be a great challenge.

Which leads me to the next topic... DMX USB Dongles. But that's for another blog on another day!

Monday, October 03, 2005

Comments... and blogger

So - it seems I have been spam commented again. That's a bit sad. But Blogger has once again won the day with it's cool image verification software. You need to enter the code on the image to be able to comment. I think that's cool.
That said - it's not overly exciting. Something like that is a relatively simple bit of code to write - just shove some text on the page, the a bit of a custom skew.... hey presto.
But my blog is fixed. More about what I'm doing might be going soon...

Saturday, October 01, 2005

Count Down Clocks... and flash

So I start this post with a winge about flash. Why is it that when you use a date object, the years are 1 based, the days are 1 based, hours, minutes, seconds all normal - but the months are indexed 0 - 11. It just seems stupid. So
new Date(2005,1,26,0,0,0,0) 
means the 26th Jan, 2006. Hmmph.
Ignoring Flash's stupid design, I have invented a countdown clock for PY's summer camp. It's available online at the summer camp website in the promo section. It's cool. Stupid and geeky, but cool.
Google