Feb 16

I try to enhance my posts with audio or video whenever possible and I just realized that the simple media component I threw together to do this might be useful for other people using BlogCFC or BlogFusion so I figured I’d bubble it back up into the community. I did separate files for audio and video but with a little more thought the media type could be abstracted and you could just use one file. Here’s how I do it:

  1. create a separate directory for video and audio, encode the clips in .flv and .mp3 format and place them in their respective directories
  2. put the .swf for each type of media in its respective directory. The audio player is an example of calling inline and therefore only uses the swf, the video player is a separate external .cfm file that demonstrates playback in a new window. This just shows two ways of doing it and either component could be switched to inline or external.
  3. use the following code in your post to call the media files:
<!— inline Audio Player Code —>
<object classid=“clsid:d27cdb6e-ae6d-11cf-96b8-444553540000” codebase=
http://fpdownload.macromedia.com/pub/
shockwave/cabs/flash/swflash.cab#version=7
,0,0,0
width=“330” height=“230” id=“playback” align=“middle”>

<param name=“allowScriptAccess” value=“sameDomain” />
<param name=“movie” value=“/downloads/audio/inlineAudioplayer.swf” />
<param name=“quality” value=“high” />
<param name=“bgcolor” value=“#ffffff” />
<embed xsrc=“/downloads/audio/inlineAudioplayer.swf
?audioFile=http://www.Your_Domain_Goes_Here.com/audio/test.mp3
quality=“high” bgcolor=“#ffffff” width=“330” height=“230” name=“playback” align=“middle” allowScriptAccess=“sameDomain” type=“application/x-shockwave-flash” pluginspage=http://www.macromedia.com/go/getflashplayer />

</object><!— calling the external video player —>
<a xhref=
/video/VideoPlayer.cfm?theFile=test.flv
>

Launch Video</a>

I’ve zipped up the test files and put them here. I also included the .fla files so you can see how the .swf’s were built and re-skin them if you like. The real key to this technique is a small bit of actionscript in the swf that treats the file name as a variable so you can pass it in dynamically. Until we find a service that does protected podcasts, we’re using this audio component in conjunction with my iTalk within the Grid7 pilot right now internally to capture the audio from our meetings and make it available via streaming flash audio. It’s useful for anyone who missed, any participants that were there but need clarification (or inspiration) and most importantly, so future members can hear the conversations that have taken place before they arrived and so they can come up to speed quickly and get an idea of the culture of Grid7 before their first participation. Hit me here with any questions if you need help on setting it up. I use Quicktime to export as .flv for the video (I know Sorenesen Squeeze is supposed to be good too). I know someone in our CFUG had been working on a server-side way of encoding the .flv’s so you could just upload the .avi and not worry about that piece. Would be slick to see a total solution integrated with BlogCFC. Hopefully this trick reduces the friction for people adding media to posts and more people start doing it.

On an entirely different topic, we had a bit of a snafu with the Grid7 domain on our first day out of the gate and have chose to change domains and rebrand while we’re still a newborn. If you’re interested, this is the detail of what happened. The new domain is Grid7Labs.com– anyone who subscribed to the RSS feeds since Tuesday will need to update their feeds to reflect the new URL.

sean

© 2005 Lights Out Production – All Rights Reserved Worldwide

Tagged with:
Feb 14

It’s a bright morning in AZ- I am happy to announce that the Grid7 site is live! This project has been a labor of love for the past few months and I imagine this is about how a parent must feel when watching a child graduate and enter a new phase of life. Visualize for a second this scenario: you’re working with brilliant people who contribute their skills to help you execute an idea you have for a side project – one that has been on a backburner and you wouldn’t have done on your own otherwise, but given the “perfect storm of contributors,” it’s something that ends up coming together painlessly and now runs in the background generating passive monthly income. In exchange for the help you receive, you contribute your unique skills to bring their ideas to life and all the while using free hosting, specialized collaborative tools and access to a pool of contacts to make things happen at 5x normal speed. The osmosis effect alone of surrounding yourself with all these experts in their respective complimentary fields is that you absorb huge amounts of knowledge of relevant, peripheral skills which you can then apply towards your day job. But your day job gradually loses whatever appeal it might have had because you’re now waking up in the middle of the night with eureka-type moments centered around these project ideas…

Well we’re one week into the pilot program for Grid7 with a team of project assasins hand-picked to be our charter members and so far this comment from Matt (one of the pilot members) sums it up best -> “this FAWKING rawks.”

We will be working closely together over the next few months to implement a handful of the proposed projects in order to prove the cooperative model. Rather than explain the whole Grid7 concept here, I would instead invite you to cruise around the new site and discover for yourself what type of idea could possibly generate enough thought and dialogue to make an 8′ whiteboard look like this.

I’ll be sharing what I learn from our pilot program over the next few months on this dedicated Grid7 feed here . I _can_ say that countless hours of thought have gone into this effort and that at the very core of this whole thing is the noblest of intentions to bring people together to build cool stuff and to ensure that toxic work environments like this one go the way of the dinosaur giving way to ultra-efficient, ad hoc teams of specialists working together cooperatively to realize their dreams. There’s little chance you could have the level of excitement that we in the pilot do right now but if you have something to say about any of this, let us and the rest of the world know. And if this idea we’re proposing resonates with you and you want to be considered for membership to the Grid, fill out an application on the site and help us all… Build Something. BIGGER.

-sean

© 2005 Lights Out Production – All Rights Reserved Worldwide

Tagged with:
Feb 04

I know I know, “why would you want to go and do this?” Assuming you have your reasons though, it’s not as straightforward as it might seem. I don’t fully understand the details but the crux of the problem has to do with the fact that linux blows away the master boot record. There are other sites that can explain the details but this one had the winning solution which finally worked. And here is the key set of instructions:


Boot with a DOS floppy that has “debug” on it; run “debug”. At the ‘-‘ prompt, “block-fill” a 512-byte chunk of memory with zeroes:

f 9000:0 200 0

Start assembly mode with the ‘a’ command, and enter the following code:

mov dx,9000
mov es,dx
xor bx,bx
mov cx,0001
mov dx,0080
mov ax,0301
int 13
int 20

Press <Enter> to exit assembly mode, take a deep breath – and press “g” to execute, then “q” to quit “debug”. Your HD is now in a virgin state, and ready for partitioning and installation.


Kudos to this person whoever it was for figuring this out. Assembly language is no joke. We found a dos boot disk with debug.exe here. File this under "priceless gems" if you ever need to convert a linux box back to windows someday.

© 2005 Lights Out Production – All Rights Reserved Worldwide

Tagged with:
Oct 03

For anyone who uses a software lifecycle process like FLiP to make clickable prototypes and hash out web applications with their clients, I ran into an interesting and frustrating problem today that you might be interested in. I have been using FLiP and specifically Adalon to generate a wireframe and ultimately a clickable prototype of a monsterous extranet application I’m building for Arizona Behavioral Health Corporation. FLiP involves more work up front but it’s really paying dividends in terms of helping us to unearth requirements that we missed in the brainstorm and wireframe phases. I made a mock application that consisted of static HTML pages that will look exactly how the screens appear in the app itself, only all the form controls are dummy controls simply linked to other static pages and don’t actually send any dyamic data. I did this by just href’ing the buttons to the target result pages and it worked great in both IE and Firefox when browsing the files on my laptop’s filesystem (not on a webserver), however when I posted the mock to my production server to demo to the client, I failed to retest the prototype in both IE and FF and only checked FF. Since it had already worked in both on my laptop it seemed like a fair assumption that just checking in one was adequate on the webserver. Apparently IIS 6.0 has this great ummmm error checking feature (ahem, annoyance) that disallows sending form data to staic pages and instead throws the following error:

HTTP Error 405 – The HTTP verb used to access this page is not allowed

The confusing thing is that it only throws this error for IE. I would think an error generated on the server-side would display regardless of the browser and I have no idea why Firefox works fine and IE doesn’t. If it were a real live application I would welcome this type of error since obviously it does no good to send form data to a static page. But for the purposes of my prototype this caused major pain today. It would be nice if there were a setting I could choose in IIS to the effect of “thanks for your concern IIS, but really, just serve my pages and don’t tell me how to write them” but alas, IIS insists on enforcing this error checking. I do know that this is the workaround that finally solved the problem: I had to manually go through each page that had a form on it and do two things:

  1. Change all method=”post” tags to method=”get”
  2. Specify the desired linked page under the form action tag as action=”blahBlahResults.htm”

Unfortunately I had arrived today at ABC to meet with the entire staff and get feedback on the prototype. After I went through it in FF with the CEO, he sent out a staff email and told everyone to check it out. Of course everyone else was on IE and the phone started ringing off the hook with people who couldn’t get in and it took me an hour battling this issue along with learning how to rollback revisions in the Subversion repository using the “reverse merge” technique. Once I wiped the egg off my face though, we made some great progress today and got a lot of good feedback from the actual people that will be using the app. I definitely see the advantage now of using a software lifecycle process like FLiP to uncover features and usability issues before ever writing a line of application code or modeling a database.

© 2005 Lights Out Production – All Rights Reserved Worldwide

Tagged with:
Aug 31

I’ve looked through a lot of flash detection scripts and have found none that allow you to do inline flash detection (ie. test the browser and display either a piece of flash or a substitute graphic on the same page without redirecting the user). Flash 8 will supposedly come bundled with scripts to do this but in the meantime I found some javascript code that did the trick. I’ve finally got around to cleaning it up and wrapping the whole thing in a simple custom tag I call FlashIfYouCan. If you want to see it in action you can check my company homepage here (note that it only plays on the first visit and you’ll have to use the replay button after that). Unfortunately I don’t remember where I got the original javascript from or who the author was (it looks like it might have been generated from Dreamweaver because it uses the “MM_” prefix). There were no copyright notices so hopefully it’s cool to pass it along. Big thanks to whoever it was the created the original source. This is the syntax for calling the custom tag:

<cfmodule template=“FlashIfYouCan.cfm”
pathToNonFlashFile=“/images/headerHome_nonFlash.jpg”
pathToFlashFile=“/images/fishheader.swf”
AltTag=“When searching for a technology consultant, you’ll find there are a ton of fish in the sea.”
width=“785”
height=“183”
bgcolor=“##AFAFAF”
usemap=“##imagemap”
flashVersion=“7”>

It lets you specify the minimum version of Flash you require and will allow you to have an imagemap on the static graphic to emulate the flash controls. The only problem I can see with using this method w/ js is that in the unlikely event that the viewer has flash but has disabled javascript, this tag will display a placeholder graphic instead of the swf which the user COULD play. The likeliehood of this scenario seems pretty rare to me though and the value of not having to do the wacky redirect technique outweighs the downside of having a few people that will falsely fail the flash detection.

On another note, the Arizona CFUG had Greg Rewis from Macromedia at Monday’s meeting talking about Studio 8. We had about 75 people attend in person and another 50 via breeze. The archived meeting is here if you missed it- it was a three hour tour of the features in the new Studio. Flash 8 looks promising, they really improved the video codec and the enhancements for doing encoding from within Flash are nice. Honestly, I don’t get very excited about the alphachannels, live dropshadows via actionscript, and designer-centric enhancements. The most powerful addition to me seems like the CSS support in Dreamweaver. Supposedly MACR had a dedicated team working just to ensure that CSS renders correctly in all browsers and in Dreamweaver and the demo proved that they nailed it. I just hope that team got a fat Maui vacation at the end of that process because that sounds like gruelling work. Apparently MACR is en fuego sales-wise w/ Studio 8- they beat their stated goal within 4 days of accepting preorders. Way to go out w/ bang guys!

© 2005 Lights Out Production – All Rights Reserved Worldwide

Tagged with:
Aug 28

So my creosote bush in my front yard is out of control. Apparently it’s found some untapped source of groundwater and doubled in size enveloping my mailbox. The postman is not happy with this situation and seems to be in silent protest of my shrubbery encroachment because about a week ago he stopped delivering snail mail (no explanation of any kind for the cesation of mail delivery, just an empty mailbox for the past week). The funny thing is, what surprises me most about this incident is not the postman’s silent protest nor the failure to leave notice about the but… the fact it’s had exactly zero impact on my daily life- the only thing that’s really changed is that now I don’t have to stroll to the end of the driveway when I get home to clear out the coupons and creditcard offers to make room for tomorrow’s batch (and the junkmail I get now is still a fraction of what I received before doing the NewDream.org postcards). If it wasn’t for the fact that the new WIRED just came out, I wouldn’t be cutting back my shrub this morning. This little mishap w/ the bush actually IMPROVED the quality of life both for myself and my postman this past week.

So I got to thinking more about this situation. A few months ago I ditched my physical fax machine in favor of using MyFax.com for all fax transmissions. It’s great because in keeping with my desire to be entirely mobile as a consultant, I am now no longer leashed to a physical fax machine – I can go in over a web interface from anywhere and send, receive or call up an old fax. Having this kind of flexibility along with a digital timestamped archive of all fax correspondence is priceless to me – $13/mo is a no-brainer (not to mention I have one less communication device to check since I get faxes emailed as pdf to my gmail and simplicity is always a good thing). My question is this: "Does the equivalent of MyFax exist for snail mail" Please tell me somebody has developed a service where I can get a PO Box w/ Virtual SnailMail of Arizona and direct all my paper crap there. They scan it and give me an RSS feed of what’s clogging my inbox (now their physical inbox). I can setup intelligent SPAM filters (since it’s just another message to me at this point) and minimize the white noise I deal with daily. Does exist, and if not, ummm hello-potential-business-idea…

 

© 2005 Lights Out Production – All Rights Reserved Worldwide

Tagged with:
preload preload preload