Mar 28 2008

Adobe Photoshop Express Beta

Tag: OtherIonut Grosu @ 1:48 am

Adobe just released a beta version of Photoshop Express. It’s a free online photo editor that’s not meant to replace Adobe’s current offerings, but “make Adobe imaging technology immediately accessible to large numbers of people.”

Personally, I think it was just a matter of time until this happened. By now there are quite many online tools of this kind (picnik, preloadr, faxuto,etc) all of them are taking the market from a different point of view. What you will see after you create an account on Photoshop Express is that Adobe is not targeting the online imaging tools market only, it’s more of a online photo management and sharing application. (similar to Flickr). You can easily create online albums, edit and share them. Plus you have some serious photo-retouching tools at your disposal.

All in one, Photoshop Express is a great example of the graphics capability in the Flash Player and you definitely want to try it out.


Mar 23 2008

Magic lines of code (Trick-Shot #1)

Tag: Trick ShotsIonut Grosu @ 8:57 pm

Always wanted a magic line of code that will do the job no matter where you put it. : ) For instance this line will remove any eventListener registered on any eventDispatcher target for any type of event.

Considering that “e” is the event:

e.target.removeEventListener(e.type,arguments.callee);

Used something like this … and no matter in which listener you will put it, will do it’s job.

private function onEvent(e:Event):void
{
e.target.removeEventListener( e.type, arguments.callee );
}

It’s not much but you could find it pretty usefull in some cases.

This “trick-shots” category will contain all sort of tiny cool thing like this. So keep an eye on this one.


Mar 19 2008

Ascii Video Playback!

Tag: FlexIonut Grosu @ 2:35 am

This is an idea that came to me long time ago and finally had some time to implement it.

It’s an ascii video player. Check it out :)

DEMO HERE ! (Right click for source)

I find it as an useless but cool idea. But still, if anyone finds a use for this and is interested in the source code, let me know and i’ll post some code and details.

[Updated] - added the view source option.


Mar 12 2008

Debug utility

Tag: Air, FlexIonut Grosu @ 2:36 am

At last, my first tech post. : )

Here’s a way to ease the debugging into flex. I’ve created a simple class which takes advantage of the getStackTrace() method of the Error class and traces the calling function name before any debug message.

package com.ionutgrosu.logging
{
import mx.utils.ObjectUtil;
/**
 * @author Ionut Grosu ( http://www.flexwizz.com )
 * Simple Debug Util Class
 */
public final class Logger
{
	/**
	 * enable logging
	 */
	public static var isDebug : Boolean = true;

	/**
	 * Traces a message
	 * @param str
	 * @param introspect Set this to true if you want the 1st param to be introspected
	 */
	public static function log(str : * = '', introspect : Boolean = false):void
	{
		if(!isDebug) return;
		if(introspect) str = ObjectUtil.toString(str);

		trace(getCallingFunction(new Error())+ str);
	}
	/**
	 * @private
	 */
	private static function getCallingFunction(err:Error):String
	{
	return (err.getStackTrace().split("at ")[2].split("()")[0]+'()').replace('/',".") + "  ";
	}
}
}

You simply use it like Logger.log(”message”) and check the output. Should look similar to appName.componentId.blabla.functionName() “message”.

Of course, you can step in deeper and redirect the output to a custom log target, filter messages and so on. But I’ll come back on this with a more compressive code built on top of logging framework which needs a little cleanup.

Note that the getStackTrace() method is only available in the debug version of flash player so you should disable the logger class when exporting a release version. A single call to getStackTrace() will usually crash the application with no errors. So make sure that you set isDebug to false before any log() calls when releasing.

Cheers.


Mar 09 2008

New flex blog in town !

Tag: OtherIonut Grosu @ 1:45 am

Yeap, you got it right. I am starting a blog for the first time and I will be mostly focused on Adobe Flex and Air technologies, keeping track of all the things that I learn, experiments, concepts, custom component development, programming in general.


« Previous Page