Archive for the ‘ Speaking ’ Category

 
Monday, February 8th, 2010

I’ll be speaking at IGDA Switzerland in Bern in few weeks,
Piergiorgio Niero IGDA Switzerland
a great opportunity for me to talk about the Flash Platform as a gaming platform, to share the experience I had making the engine of Wazzamba and to meet new people I only “met” in twitter or in their blogs :)

The meeting will take place in february 25th at “Nothing” (great name guys ;) ) hq in Wabern, you can find more info here in IGDA Switzerland blog.
See you there ;)

I’m pleased to be speaking at “Arrivano i guru” stage of Milan the next September 26th.
Arrivano i guru is a moving conference iterating the whole italian peninsula. Here’s the complete list of stages
Main topics are Adobe Flash Platform , SEO, and graphics. Great speakers are involved, such as Tiziano Fruet, Luca Mezzalira, and many others.

This is my session’s outline:
(ITALIAN)
Special Effects in Flash CS4
Impariamo ad utilizzare bitmaps, filtri e tweens in Flash CS4 per creare effetti speciali custom.

I filtri in flash
- cosa sono i filtri in flash
- applicare i filtri con AS3

I blendmode in flash
- cosa sono i blendmode in flash
- applicare i blendmode AS3

Sveliamo i bitmap
- cos’è un bitmap in Flash
- i bitmap come tela di un pittore
- manipolare i bitmap in AS3

TweensyFX
- cos’è Tweensy
- animare i propri effetti speciali

(ENGLISH)
Special Effects in Flash CS4
Let’s learn to use bitmaps, filters and tweens within Flash CS4 to create custom special effects.

filters
- what are filters in flash?
- applying filters using AS3

blendmodes
- what blend modes are
- applying blendmodes using AS3

discovering bitmaps
- what are bitmaps for Flash?
- bitmaps as a painter’s canvas
- manipulating bitmaps using AS3

TweensyFX
- what’s Tweensy?
- creating and animating our own special effects

See you there ;)

 
Wednesday, April 1st, 2009

Great news! Cross communities events work in Italy too and this is going to be an awesome one.

all4web

What
All4Web is a whole day of conference, completely free, completely geeky,  and completely across as many RIA technologies as you can count.
There will be great sessions about both server side and client side technologies such as the Adobe Flash Platform (and obviously Flex and AIR), JavaFX, AJAX, Microsoft Silverlight, Adobe Coldfusion, J2EE and so on :)
Who
Many talented guys from every corner of Italy (and Switzerland) representing their usergroups and discussing about their favourite technology.
Involved usergroups are

Take a look at the agenda to have an idea of what a great event it’s going to be :)

Where
In Milan, at the University “Bicocca” (Edificio U6 Piazza dell’Ateneo Nuovo 1) (google maps here)

When
May 8th 2009, from 10AM to about 6PM.

Furthermore….
There will be a great debate about “RIA vs RIA”…just to start the day…(I can’t wait!!!!)
There will be lots of gadgets
There will be a lot of technology fighting! :D
IT’S COMPLETELY FREEEEEEEEE!!!!!!!!
To get the broadest audience ever all sessions will be taken in italian.

…and finally…I’m back on the stage ready to speak! :D

I hope to see you all there ;)

 
Wednesday, November 5th, 2008

Sorry for the nerdy title guys, but as I wrote that it sounded sooooo nicely! :D

Anyway, here’s the news: FlexCamp moved inside Adobe Max Europe (w00t!) and will take place on 30th November in Milan.
Further, every flexcamp attendee will have a HUGE discount on Adobe Max ticket.

Take a look at flexcamp official site to have more informations, anyway… wow… I’m going to speak at Max… It’s an amazing news isn’t it? let’s say woot all together :P

see you soon in Milan :)

 
Wednesday, September 10th, 2008

Here’s the next great meeting from Actionscript.it community!

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

Join the party, we’re going to share together our nerdy love for Adobe Flex!
Just compile the widget and submit that form ;)

 
Friday, May 16th, 2008

Another 30onAir video from 360Flex Europe in Milan,

i couldn’t not to post it here! uhuh! :)

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

 
Saturday, May 10th, 2008

I’ve been searching for a while this video of me that Lucinda and Andrea took at 360 flex in milan last month.


I had just finished my session +
that night i slept just few hours =
I WAS DELIRIOUS!°_°'

(Either JavaScript is not active or you are using an old version of Adobe Flash Player. Please install the newest Flash Player.)

thanks to Andrea and Lucinda..I hope to meet you soon :)

[sat 10 2008 edit]...and thanx Sumi too :) [/edit]

 
Sunday, April 13th, 2008

Hi there!
It’s sunday…wonderful day to publish some 360 pic on flickr. Go take a look at those photos, here two links of my album and my friend luca’s too.

flickr_pigiuz.png

flickr_luca.png

Got pics? Send me the link so we can build up one big album! :D

 
Thursday, April 10th, 2008

I’m finally back to my Venice and found many liters of mails and skype messages about 360 Flex Europe.Now I have to finish some work (be abroad for 3 days means be working for 3 nights once back!:D) but I can’t resist one minute more to put this video online!Zohar created it on the fly with his great Kaltura framework during his session, take a look, it’s funny! :D

immagine-2.png

 
Sunday, April 6th, 2008

Domani inizia la prima 360 Conference europea, l’eccitazione √® alle stelle…Stasera ci sar√† il ricevimento degli speakers in quel di Milano, finalmente stringer√≤ la mano a Tom e John…e da domani YEAH, 3 giornate ricche di sessions!Ricordo che la prima giornata (domani, luned√¨ 7) √® GRATUITA, mentre la sera ci sar√† un “evento nell’evento” aperto a tutti organizzato da Actionscript.it in cui si discuteranno i temi caldi della giornata :)
Vi lascio con questo esempio in papervision e vi aspetto alla mia session martedì :D

Questo il codice sorgente:

?View Code ACTIONSCRIPT
package{
	import flash.display.BlendMode;
	import flash.display.Sprite;
	import flash.events.AsyncErrorEvent;
	import flash.events.Event;
	import flash.events.NetStatusEvent;
	import flash.events.SecurityErrorEvent;
	import flash.geom.ColorTransform;
	import flash.media.Video;
	import flash.net.NetConnection;
	import flash.net.NetStream;
	import org.papervision3d.cameras.Camera3D;
	import org.papervision3d.core.effects.BitmapFireEffect;
	import org.papervision3d.core.effects.utils.BitmapDrawCommand;
	import org.papervision3d.core.geom.renderables.Vertex3D;
	import org.papervision3d.core.layers.BitmapEffectLayer;
	import org.papervision3d.materials.BitmapMaterial;
	import org.papervision3d.materials.VideoStreamMaterial;
	import org.papervision3d.objects.primitives.Plane;
	import org.papervision3d.render.BasicRenderEngine;
	import org.papervision3d.scenes.Scene3D;
	import org.papervision3d.view.Viewport3D;
	[SWF(width="400",height="400",frameRate="24",backgroundColor="0x111111")]
	public class Flag3D extends Sprite	{
		[Embed (source="assets/360.png")] private var FlagAsset:Class;
		private var _scene:Scene3D;
		private var _cam:Camera3D;
		private var _view:Viewport3D;
		private var _render:BasicRenderEngine;
		private var _bfx:BitmapEffectLayer;
		private var _p:Plane;
		private var _bgp:Plane;
		private var _sine:Number=0;
		private var _srcs:Array = [
		//"http://www.youtube.com/get_video?video_id=Qk1qSpM63u4&t=OEgsToPDskIHja8NsMXSksfwHJKkwY2t",
		"http://www.flashfuck.it/360/get_video.flv"
		];
		private var _conn:NetConnection;
		private var _video:Video;
		private var _stream:NetStream;
 
		public function Flag3D()
		{
			super();
			stage.scaleMode = "noScale";
			stage.align = "TL";
			initVideo();
			init3D();
		}
 
		private function initVideo():void
		{
			_video = new Video(320,240);
			connection();
			trace("init video")
		}
 
		private function init3D():void
		{
			trace("init 3d")
			_view = new Viewport3D(0,0,true,true,true,true);
			_view.addEventListener(Event.ADDED_TO_STAGE,onViewPortReady);
			_cam = new Camera3D();
			_cam.focus=100;
			_cam.zoom=11;
			_cam.z=-1000;
			_scene = new Scene3D();
			_render = new BasicRenderEngine();
			addChild(_view);
		}
 
		private function onViewPortReady(e:Event):void
		{
			addElements();
			setupEffects();
		}
 
		private function setupEffects():void
		{
			_bfx = new BitmapEffectLayer(_view.width,_view.height);
			_bfx.addEffect( new BitmapFireEffect(1,1,1,1) );
			_bfx.drawCommand = new BitmapDrawCommand(null,new ColorTransform(1,1,1,1),BlendMode.HARDLIGHT,true);
			_bfx.drawLayer.blendMode = BlendMode.OVERLAY;
			_view.addRenderLayer(_bfx);
			_p.material.renderLayer = _bfx;
		}
 
		private function addElements():void
		{
			trace("add plane");
			_p = createFlag();
			_scene.addChild(_p);
			_bgp = createBG();
			_scene.addChild(_bgp);
			startRendering();
		}
 
		public function startRendering():void
		{
			this.addEventListener(Event.ENTER_FRAME,render);
		}
 
		public function stopRendering():void
		{
			this.removeEventListener(Event.ENTER_FRAME,render);
		}
 
		private function createFlag():Plane
		{
			trace("plane");
			var p:Plane = new Plane(createBitmapMaterial(),200,200,5,5);
			return p;
		}
 
		private function createBG():Plane
		{
			trace("plane");
			var p:Plane = new Plane(createVideoMaterial(),3200,2400,5,5);
			p.z = 1800;
			return p;
		}
 
		private function createBitmapMaterial():BitmapMaterial
		{
			var m:BitmapMaterial = new BitmapMaterial(new FlagAsset().bitmapData);
			m.doubleSided=true;
			m.smooth=true;
			return m;
		}
 
		private function createVideoMaterial():VideoStreamMaterial
		{
			var m:VideoStreamMaterial = new VideoStreamMaterial(_video,_stream);
			m.smooth=true;
			m.doubleSided=true;
			return m;
		}
 
		private function render(e:Event=null):void
		{
			_cam.hover(1,_view.containerSprite.mouseX/400,_view.containerSprite.mouseY/400);
			_p.yaw(.2);
			_render.renderScene(_scene,_cam,_view);
			_sine++;
			tweenPlaneMesh();
		}
 
		private function tweenPlaneMesh():void
		{
			var _deltaZ:Number= 30;
			var count:int=0;
			//plane waving:)
			for each(var v:Vertex3D in _p.geometry.vertices){
				var _vz:Number = Math.sin((count+_sine)/10)*_deltaZ;
				v.z = _vz;
				count++;
			}
		}
		private function connection():void
		{
			_conn = new NetConnection();
			_conn.addEventListener(NetStatusEvent.NET_STATUS,netHandler);
			_conn.addEventListener(SecurityErrorEvent.SECURITY_ERROR,crossdomainHandler);
			_conn.connect(null);
		}
		private function netHandler(e:NetStatusEvent):void
		{
			switch(e.info.code){
			case "NetConnection.Connect.Success":
                    startVideo();
                break;
                case "NetStream.Play.StreamNotFound":
                    trace("404!");
           		break;
			}
		}
 
		private function crossdomainHandler(e:SecurityErrorEvent):void
		{
			trace("security error: "+e);
		}
 
		private function startVideo():void
		{
			_stream = createStream();
			_video.attachNetStream(_stream);
			_stream.play(_srcs[0]);
		}
 
		private function createStream():NetStream
		{
			var stream:NetStream = new NetStream(_conn);
			stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR,manageAsync);
			stream.addEventListener(NetStatusEvent.NET_STATUS,netHandler);
			return stream;
		}
 
		private function manageAsync(e:AsyncErrorEvent):void
		{
			//nada de nada :D
		}
	}
}

Download Source