— React-Native Programmierer . Patrick Tresp

Archive
Allgemein

or…. how to get back to efficiency.

One of the major issues for me as a developer is how to use my time. Decisions need to be made, what has to be done ( by me ) till when and what needs to be worked on next.

Since i am a very lucky in the fact, that i have lots of jobs, i tended to fuddle up everything and not get anything done stress free.

So what now? I won’t be the one, that will invent a time stretching mechanism in physics, astrology or whatever.

I read an article that came per tweet ( can’t find it of course by now ) that inspired me, coming back to more efficiency.

First, a couple weeks ago a friend reminded me, that i could set my phone to not push e-mails anytime to my phone. Which means, whenever i want or need to receive E-Mails, i simply open the mail-app manually. Whoa what a relief – the phone does not „pling“ all the time which distracts me or wants my attention.

Which leads me to the second point. Event though my phone doesn’t pling that much anymore, i wondered, what distracts my attention to code while programming. The pling… it is still there, cause my mail program of course is checking my mails all the time. Every 10-20 minutes or in even smaller periods the pling comes up. I sat back and read the mails, that needed so much urgent attention:

  • Cheap Flights to London for 29 € ( Oh yeah lets go )
  • Get a Picture framed for 40% off ( right, haven’t done that for a while )
  • Tibet needs help – Donate here ( just phish my account! )
  • etc.
  • etc.

I figured, its not SPAM! I really signed up for those newsletters and surely marked them as read, whenever they came in. So for a couple of weeks i unsubscribed all newsletters which i really do not need to receive, since i look up stuff manually that interests me. Many services are unsubscribed by now and daily E-Mail rate dropped 80%. Still working on more!

Third– Email is no real-time communication, even though we tend to force ourselves to believe that. I do, for example, have a time, where i am very productive in coding, another time for writing Mails, another for doing office stuff. There not the same each day, but when i feel, i am getting ready to code, i close my mail program for at least an hour. no more pling…

Oh, don’t want to forget the other attractors, even though nobody does it while working! Twitter, Skype, Facebook, g+, Online-News, community etc, etc.
Since Skype is the only thing, that connects me to other developers and friends i tend not to switch it off, Facebook kind of killed that totally crazy chatting anyhow. Whenever i really want silence – i am „busy“.
Twitter, Facebook, News and all the other information spreaders i watch first in the morning, before i even start thinking of work, after lunch and sometimes before i leave.
Compact distraction!
This week i did work on 7 different jobs and different clients, usually it would mean, i don’t get home till midnight and i feel worn out, but i didn’t.
It wasn’t a 9-5 week of course but i sure did have the time to come down, think about, what i do and i even found time to write down those lines….

Read More

With the latest Update of OSX Lion and therefore getting the new Webkit, the external Viewer seems to shrink the output swf.

Even though i do like small applications, i love to be able to read an click what i produce.

So whats up?

FDT creates a wrapper to launch the swf when using the external swf viewer. In this wrapper, the embed tag does not include any informations about width and height of the swf, and that causes the swf to shrink. Thanks to FDT support, it is possible to have a workaround on that, besides using the standalone player or the browser ( i kinda got stuck to the external viewer ).

Basically, what you do is:

  • get the generated code from the wrapper FDT created
  • create a HTML-File
  • copy the generated code and insert the width and height attributes in that code
  • change the Debug-Configurations, on what to open after the compile process ( yes, the new HTML-file )

The bug is filed under : http://bugs.powerflasher.com/jira/browse/FDT-2255
Don’t like reading? http://screencast.com/t/lylw8JVrve

Read More

If this service is really working, it will save a lot of pushing informations through different channels and will make some peoples days.

It only works by invitation currently, but i will give it a try now.

http://ifttt.com/

 

Read More

While trying to set up a simple Example with the StageVideo in FlashPlayer 10.2 i had lots of trouble setting up the Environment. Neither could i use Flash IDE to export correctly for FP10.2 nor could i use FDT to compile a running version.

I relied on the fact, that Flex Hero automatically includes FP10.2 which turned out to be false. Therefore i downloaded the last update and finally had the playerglobal.swc for FlashPlayer 10.2 available.

After having this working, the Example to check the performance was a piece of cake.

package vid
{
	import flash.display.Sprite;
	import flash.display.Stage;
	import flash.events.StageVideoAvailabilityEvent;
	import flash.events.StageVideoEvent;
	import flash.geom.Rectangle;
	import flash.media.StageVideo;
	import flash.media.StageVideoAvailability;
	import flash.media.Video;
	import flash.net.NetConnection;
	import flash.net.NetStream;
 
	/**
	 * @author patricktresp
	 */
	public class StageVideoTest extends Sprite
	{
		private var _nc : NetConnection;
		private var _ns : NetStream;
		private var _stageVideo : StageVideo;
		private var _video : Video;
 
		public function StageVideoTest()
		{
			var stage : Stage = Main.getInstance().stage;
 
			stage.addEventListener( StageVideoAvailabilityEvent.STAGE_VIDEO_AVAILABILITY, onStageVideoState );
		}
 
		private function onStageVideoState( event : StageVideoAvailabilityEvent ) : void
		{
			var available : Boolean = (event.availability == StageVideoAvailability.AVAILABLE);
 
			_nc = new NetConnection();
			_nc.connect( null );
			_ns = new NetStream( _nc );
			_ns.bufferTime = 0;
 
			var customClient : Object;
			customClient = new Object;
 
			customClient.onMetaData = onMetaDataHandler;
			_ns.client = customClient;
 
			if ( available )
			{
				addStageVideo();
			}
			else
			{
				addRegularVideo();
			}
 
			_ns.play( "video/hd.f4v" );
		}
 
		private function addRegularVideo() : void
		{
			var stage : Stage = Main.getInstance().stage;
 
			var video : Video = _video = new Video();
 
			video.smoothing = true;
 
			video.attachNetStream( _ns );
			stage.addChildAt( video, 0 );
		}
 
		private function addStageVideo() : void
		{
			var stage : Stage = Main.getInstance().stage;
 
			var v : Vector. = stage.stageVideos;
 
			var sv : StageVideo;
			if ( v.length >= 1 )
			{
				sv = _stageVideo = v[0];
				sv.addEventListener( StageVideoEvent.RENDER_STATE, stageVideoStateChange );
				sv.attachNetStream( _ns );
			}
		}
 
		private function stageVideoStateChange( event : StageVideoEvent ) : void
		{
			resize();
		}
 
		private function resize() : void
		{
			_stageVideo.viewPort = new Rectangle( 0, 0, _stageVideo.videoWidth, _stageVideo.videoHeight );
		}
 
		private function onMetaDataHandler( meta : Object ) : void
		{
			if ( _video )
			{
				_video.width = meta.width;
				_video.height = meta.height;
			}
		}
	}
}

Next Step will be the test within an existing application running in Projector.

For Performance Testing i used a very fast Picture-Changing Movie:

No StageVideo:

Yes StageVideo:

Of Course the video.smoothing has a direct effect on the high CPU-usage, without smoothing:

Still more than 30% saved and another step closer to „green programming“.

Read More

Another FFK ( Flash Forum Konferenz ) / beyondtellerrand has passed and left me with new inspirations on how i want to work on and what i want to work on in the future.

Find some interesting Ressources here:

FDT

Molehill

JavaScript

The conference hat obviously more topics than listet before but these are the resources i will need to use in the future.

I am very curious, how molehill will affect the complete Flash importance in the web.

Thanks FFK11!

Read More

Just a try to use WP-Syntax available at the Plugins page…

ActionScript Code Snippet Test

public static function getSquareButton( width : uint, height : uint, color : uint ) : Sprite
{
	var s : Sprite = new Sprite();
	s.graphics.beginFill( color );
	s.graphics.drawRect( 0, 0, width, height );
	s.graphics.endFill();
	return s;
}
Read More