The new Beatport.com has Launched

picture-3For quite some time now the Realeyes development queue has been taken up with the new Beatport.com site. Well, tonight it has launched!

Congratulations to everyone who worked on the project and thanks for all the hard work. Good job!

Get the details on the update.

Check out the new site at Beatport.com

Posted in news | Tagged , , , | 1 Comment

RMAUG Mini-Max Pixel Bender Presentation Files

Last night I gave an extremely fast run down on Pixel Bender to the Rocky Mountain Adobe User’s Group Mini-Max meeting last night. The presentation was the bare minimum you need to get started playing with Pixel.

I’ve got to give props to Lee Brimelow and his other site gotoandlearn.com for information used in the presentaion as well as the start file for the PixelBender class file in the Flex project.

Resource Links from the preso:

Downloads:

http://www.thekuroko.com/wp-content/plugins/downloads-manager/img/icons/winzip.gif download: RMAUG PixelBender Slides and Sample Class file (562.24KB)
added: 12/10/2008
clicks: 632
description: The slides from the presentation as well as the sample class to load a shader file.

http://www.thekuroko.com/wp-content/plugins/downloads-manager/img/icons/default.gif download: RMAUG PixelBender Sample Flex Project (1.62MB)
added: 12/10/2008
clicks: 647
description: Sample Flex project that loads a PixelBender shader and applies it to an image.

Posted in presentations | Tagged , , , , | Leave a comment

Yammer and SVN post-commit hooks

If you don’t know what Yammer is, it is a twitter like communication tool for your company:

Yammer is a tool for making companies and organizations more productive through the exchange of short frequent answers to one simple question: “What are you working on?”

Whats nice about Yammer is it is an internal tool that you can quickly communicate with everyone, well anyone listening, in your company. Answers to questions come quickly and from the appropriate party without much effort on either end and notifications to everyone are a snap.

The notifications is what got me thinking about Subversion and post-commit hooks. Subversion provides hooks that allow you to trigger scripts based on a repository event. So, I set up a script that retrieves information about the latest commit to the repository formats an email which is sent to Yammer and published. Now, when someone commits to the repository, everyone is automatically notified without the developer having to write an email and send it to everyone that needs to know about it.

Another unforeseen benefit of this system is that everyone has gotten much better at their SVN comments for their commit. I would imagine this is because they get instant feedback about inadequate comments when everyone see it in Yammer.

On to the resources – SVN hooks are pretty easy to implement and provided by default. They reside in each repository you create in a ‘hooks’ directory {SVN_ROOT}/{REPOSITORY}/hooks. There is a provided template for each type of hook that SVN supports. The script can be any type of script (shell scripts, Python scripts etc), it just needs to have the same name as the supplied template file. For our Yammer script I dusted off the .bat script skills to retrieve the commit and send an email. To send the email I downloaded blat to handle sending the email to Yammer. Finally we create an email for out SVN user and a yammer account using the svn user email.

So here is the list of what we have so far:

  • SVN Repositoy and access to the hooks directory
  • Email address for the SVN user
  • Yammer account using the SVN user’s email address
  • Some way to send an email (Blat)
  • SVN post-commit hook script (post-commit.bat)

Now on to the contents of the script – The post commit hook receives 2 arguments, the name of the repository and the revision. The script uses svnlook, the repository name and revision to retrieve the details (message and author) of the commit. Then usign the commit details the script creates a text file that Blat uses as the email body and sends the email to Yammer.

Here is the actual script (names have been changed to protect the innocent):

@echo off

:::::::::::::::::::::::::::::::::::::::::::::::::::::
::: ARGUMENTS :::::::::::::::::::::::::::::::::::::::
SET REPOS=%1
SET REV=%2

:::::::::::::::::::::::::::::::::::::::::::::::::::::
::: GENERAL INFO ::::::::::::::::::::::::::::::::::::
SET DIR=%REPOS%/hooks
SET MESSAGE_FILE=%DIR%/message.txt

:::::::::::::::::::::::::::::::::::::::::::::::::::::
::: SVN INFO ::::::::::::::::::::::::::::::::::::::::
SET DIR=%REPOS%/hooks
SET REPO_PATH=file:///%REPOS%

::: Get the author ::::::::::::::::::::::::::::::::::
For /F "Tokens=*" %%I in ('svnlook author %REPOS% -r %REV%') Do Set author=%%I

::: Get the log messsage ::::::::::::::::::::::::::::::::::
For /F "Tokens=*" %%I in ('svnlook log %REPOS% -r %REV%') Do Set log=%%I

::: Set the message body ::::::::::::::::::::::::::::::::::
ECHO Commit - rev %REV% (#%author%): '%log%' - %REPOS% > %MESSAGE_FILE%

:::::::::::::::::::::::::::::::::::::::::::::::::::::
::: EMAIL INFO ::::::::::::::::::::::::::::::::::::::

set to=-to yammer@yammer.com

set subj=-s "SVN Commit (Revision %REV%)"

set server=-server mail.domain.com

set debug=-debug -log blat.log -timestamp

set auth=-u email@domain.com -pw yourpasswordhere

set from=-f email@domain.com

:::::::::::::::::::::::::::::::::::::::::::::::::::::
::: SEND THE EMAIL ::::::::::::::::::::::::::::::::::
C:/pathtoyourrepos/_tools/blat/blat %MESSAGE_FILE% %server% %to% %from% %subj% %auth% %debug%

Or you can download the script:

http://www.thekuroko.com/wp-content/plugins/downloads-manager/img/icons/default.gif download: post-commit.bat.zip (1.03KB)
added: 09/10/2008
clicks: 596
description: SVN post-commit hook .bat script to send an email to yammer.

Posted in samples | Tagged | Leave a comment

ANT + Growl notifications = Happy Coder

We have a bunch of projects around here that we build with ANT. One of the biggest gripes with ANT builds and Flex is the amount of time it can take – Flex compiles can be slow. So whilst I’m building a project, I usually end up getting distracted for 10 or 15 minutes by something else, and my newly compiled Flex project sits there waiting for me to return. When I do return I have inevitably forgotten what I was doing.

Enter Growl and ant-growlnotify (thanks Jamie) with the ANT -listener argument. Using it is pretty simple:

  1. Download the ant-growllistener-0.4.jar from google code
  2. Drop the jar into your ant’s lib directory
  3. Run your ANT script with the -library arguement set to com.google.code.ant.growlnotify.GrowlListener
    or add -listener
    com.google.code.ant.growlnotify to ANT_ARGS
  4. Now when you run your ANT script you should get nice Growl notifications.

You’ll need to make sure that you’ve installed growlnotify. growlnotify is in the Extras folder when you install Growl.

In the same notification vein, I also tracked down ImTask last night and got build norifications going with an XMPP server. The project seems a little dated (released in 2003), but still works with OpenFire and Jabber.org.

Posted in news | Tagged , , , | Leave a comment

Mozilla Ubiquity – Useful and fun

So i’ve been checking out Ubiquity and playing with it a bit. Even in its “early, rough” state, it is fun stuff to play with and definitely useful!

I even had the time (about 2 min cause I just copied one of their commands) to create a custom command for is.gd the shorter URL service.

CmdUtils.CreateCommand({
name: "isgd",
takes: {"url to shorten": noun_arb_text},
preview: "Replaces the selected URL with an is.gd URL.",
execute: function( url )
{
var baseUrl = "http://is.gd/api.php";
var params = {longurl: url.text};
jQuery.get( baseUrl, params, function( isgdUrl )
{
CmdUtils.setSelection( isgdUrl );
})
}
})

To add this command jsut open up Ubiquity (opt/ctrl+Space) and type command-editor, then hit enter. Add the code (it automatically saves as you type). Then your good to go.

To use the new command, have some text selected in a new email or blog post, open Ubiquity type isgd, then the url, hit enter and the text that was selected will be replaced with the shortened URL.

Shortening a URL with is.gd and Ubiquity

Shortening a URL with is.gd and Ubiquity

Of course there are plenty of other ways you can use/play with Ubiquity.

Ubiquity’s Intro: http://is.gd/1Wns

Custom Commands: http://is.gd/1Ydc

That’s right, I even used Ubiquity to create the links above.

Posted in ubiquity | Tagged , , , , | 1 Comment