<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>nobigwords.ntxt.net &#187; flex</title>
	<atom:link href="http://nobigwords.ntxt.net/tematy/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://nobigwords.ntxt.net</link>
	<description>not too big words not only about web</description>
	<lastBuildDate>Thu, 08 Dec 2011 23:35:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Levenshtein and Distance Between Strings in 3D</title>
		<link>http://nobigwords.ntxt.net/2011/06/05/levenshtein-and-distance-between-strings-in-3d/</link>
		<comments>http://nobigwords.ntxt.net/2011/06/05/levenshtein-and-distance-between-strings-in-3d/#comments</comments>
		<pubDate>Sun, 05 Jun 2011 00:50:47 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[3d]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[bezpieczeństwo]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[tekst]]></category>
		<category><![CDATA[levenshtein]]></category>
		<category><![CDATA[like]]></category>
		<category><![CDATA[likehood]]></category>
		<category><![CDATA[match strings]]></category>
		<category><![CDATA[similar strings]]></category>
		<category><![CDATA[similarity]]></category>
		<category><![CDATA[strings]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[text metrics]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=312</guid>
		<description><![CDATA[To view the flash content, please go to <a href="http://nobigwords.ntxt.net/2011/06/05/levenshtein-and-distance-between-strings-in-3d/">Levenshtein and Distance Between Strings in 3D</a><br /><br />To view the flash content, please go to <a href="http://nobigwords.ntxt.net/2011/06/05/levenshtein-and-distance-between-strings-in-3d/">Levenshtein and Distance Between Strings in 3D</a><br /><br />To view the flash content, please go to <a href="http://nobigwords.ntxt.net/2011/06/05/levenshtein-and-distance-between-strings-in-3d/">Levenshtein and Distance Between Strings in 3D</a><br /><br />Working on the strings distances, or text metrics, I found out the Levenshtein method insufficient. For less-than-similar strings it doesn&#8217;t help at all, giving numbers close to max possible, and for similar strings it does not consider the quality of different letters. Generally speaking, I find Janet1 closer to Janet2 than to Janet9. Or ABC [...]]]></description>
			<content:encoded><![CDATA[To view the flash content, please go to <a href="http://nobigwords.ntxt.net/2011/06/05/levenshtein-and-distance-between-strings-in-3d/">Levenshtein and Distance Between Strings in 3D</a><br /><br />To view the flash content, please go to <a href="http://nobigwords.ntxt.net/2011/06/05/levenshtein-and-distance-between-strings-in-3d/">Levenshtein and Distance Between Strings in 3D</a><br /><br />To view the flash content, please go to <a href="http://nobigwords.ntxt.net/2011/06/05/levenshtein-and-distance-between-strings-in-3d/">Levenshtein and Distance Between Strings in 3D</a><br /><br /><p>Working on the strings distances, or text metrics, I found out the Levenshtein method insufficient. For less-than-similar strings it doesn&#8217;t help at all, giving numbers close to max possible, and for similar strings it does not consider the quality of different letters. Generally speaking, I find <em>Janet1 </em>closer to <em>Janet2 </em>than to <em>Janet9</em>. Or <em>ABC </em>closer to <em>BBC </em>than to <em>NBC</em>. The notion of number of operations in Lev method didn&#8217;t quite suit me either. Thinking of operations needed to create one string of the other, I&#8217;d rather take the count of smartest possible copy&amp;paste moves. In other words, how many times I have to cut one string to make the other of the slices. That would be distance in first dimension. The other &#8211; distance between letters replacing each other: when abc becomes bbc, it&#8217;s a-b replacement, and distance from a to b is 1. The distance depends on the alphabet used. For some cases it&#8217;s more useful to use a keyboard-layout order of characters instead of usual alphabetic, in order to emphasise similarities based on easy typed sequences, like <em>asdf </em>or <em>qwerty</em>. Here&#8217;s some Flash demo, calculator and benchmark to compare performance of Levenshtein and my method.</p>
<h3>3d position of the words</h3>
<p>it depends on their similarity to the word you input</p>
<p>
<hr />
<h3>Similarity calculator</h3>
<p>gives the original Levenshtein and the distance3d figures</p>
<hr />
<h3>Benchmarking</h3>
<p>Levenshtein is rather quadratic, while distance3d seems more like linear, though the<br />
difference shows up for words longer than 15 characters.</p>
<hr />
]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2011/06/05/levenshtein-and-distance-between-strings-in-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>playing AIR on Android</title>
		<link>http://nobigwords.ntxt.net/2010/08/19/playing-air-on-android/</link>
		<comments>http://nobigwords.ntxt.net/2010/08/19/playing-air-on-android/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 09:37:25 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[Adobe AIR for Android]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[HTC]]></category>
		<category><![CDATA[HTC Desire]]></category>
		<category><![CDATA[programowanie]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=296</guid>
		<description><![CDATA[Keeping on with the simplest stuff and having innocent fun with touching a device :)]]></description>
			<content:encoded><![CDATA[<p>Keeping on with the simplest stuff and having innocent fun with touching a device :)</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/-jLmg-YsUno&#038;hl=pl&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-jLmg-YsUno&#038;hl=pl&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/08/19/playing-air-on-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Portfel Selfcontrol</title>
		<link>http://nobigwords.ntxt.net/2010/08/19/portfel-selfcontrol/</link>
		<comments>http://nobigwords.ntxt.net/2010/08/19/portfel-selfcontrol/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 09:28:46 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[życie]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[budżet domowy]]></category>
		<category><![CDATA[kontrola finansów]]></category>
		<category><![CDATA[planowanie]]></category>
		<category><![CDATA[płatności]]></category>
		<category><![CDATA[wydatki]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=293</guid>
		<description><![CDATA[Walcząc ze stereotypem szewca, co bez butów, napisałem sobie (nam) w AIR aplikację do kontrolowania wydatków. Zapisujemy sobie serie i pojedyncze płatności, korzystając z bazy na serwerze. Mamy siatkę roczną, na której sygnalizowane są zaległości i listę z podsumowaniem. Na liście możemy wyświetlić niemal dowolny podzbiór płatności i obejrzeć go na wykresach.]]></description>
			<content:encoded><![CDATA[<p>Walcząc ze stereotypem szewca, co bez butów, napisałem sobie (nam) w AIR aplikację do kontrolowania wydatków. Zapisujemy sobie serie i pojedyncze płatności, korzystając z bazy na serwerze. Mamy siatkę roczną, na której sygnalizowane są zaległości i listę z podsumowaniem. Na liście możemy wyświetlić niemal dowolny podzbiór płatności i obejrzeć go na wykresach.</p>
]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/08/19/portfel-selfcontrol/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multitouch in AIR 2.5 for Android</title>
		<link>http://nobigwords.ntxt.net/2010/08/16/multitouch-in-air-2-5-for-android/</link>
		<comments>http://nobigwords.ntxt.net/2010/08/16/multitouch-in-air-2-5-for-android/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 22:39:06 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[Adobe AIR for Android]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[HTC Desire]]></category>
		<category><![CDATA[multitouch]]></category>
		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=292</guid>
		<description><![CDATA[Quick and dirty test, which surprisingly says my Wacom/Win7 do not support multitouch, but the HTC Desire does. And that is where I meant it. This app shows red circles, each under its finger. In my case, maximum two at the same time. package &#123; import flash.display.Graphics; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; [...]]]></description>
			<content:encoded><![CDATA[<p>Quick and dirty test, which surprisingly says my Wacom/Win7 do not support multitouch, but the HTC Desire does. And that is where I meant it.<br />
This app shows red circles, each under its finger. In my case, maximum two at the same time.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Graphics</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">StageAlign</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">StageScaleMode</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">MouseEvent</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">TouchEvent</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #0066CC;">text</span>.<span style="color: #0066CC;">TextField</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">ui</span>.<span style="color: #006600;">Multitouch</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">ui</span>.<span style="color: #006600;">MultitouchInputMode</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">events</span>.<span style="color: #006600;">ResizeEvent</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Android <span style="color: #0066CC;">extends</span> Sprite
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> lx:<span style="color: #0066CC;">Number</span>;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> ly:<span style="color: #0066CC;">Number</span>;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> bg:Sprite;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> sprites:<span style="color: #0066CC;">Array</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> last:Sprite;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> tf:<span style="color: #0066CC;">TextField</span>;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Android<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			bg = <span style="color: #000000; font-weight: bold;">new</span> Sprite;
			addChild<span style="color: #66cc66;">&#40;</span>bg<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">stage</span>.<span style="color: #0066CC;">scaleMode</span> = StageScaleMode.<span style="color: #006600;">NO_SCALE</span>;
			<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">stage</span>.<span style="color: #0066CC;">align</span> = StageAlign.<span style="color: #006600;">TOP_LEFT</span>;			
			addEventListener<span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">RESIZE</span>, handleStageResize<span style="color: #66cc66;">&#41;</span>;
&nbsp;
&nbsp;
&nbsp;
			Multitouch.<span style="color: #006600;">inputMode</span> = MultitouchInputMode.<span style="color: #006600;">TOUCH_POINT</span>;
			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'multitouch support: '</span> + Multitouch.<span style="color: #006600;">supportsTouchEvents</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			bg.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>TouchEvent.<span style="color: #006600;">TOUCH_BEGIN</span>, handleTouchBegin<span style="color: #66cc66;">&#41;</span>;
			bg.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>TouchEvent.<span style="color: #006600;">TOUCH_END</span>, handleTouchEnd<span style="color: #66cc66;">&#41;</span>;
			bg.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>TouchEvent.<span style="color: #006600;">TOUCH_MOVE</span>, handleMove<span style="color: #66cc66;">&#41;</span>;
&nbsp;
&nbsp;
			lx = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span> <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">0.5</span>;
			ly = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageHeight</span> <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">0.5</span>;
&nbsp;
			tf = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">TextField</span>;
			tf.<span style="color: #006600;">mouseEnabled</span> = <span style="color: #000000; font-weight: bold;">false</span>;
&nbsp;
			tf.<span style="color: #0066CC;">width</span> = <span style="color: #cc66cc;">400</span>;
			tf.<span style="color: #0066CC;">height</span> = <span style="color: #cc66cc;">200</span>;
			tf.<span style="color: #006600;">y</span> = ly;
&nbsp;
			addChild<span style="color: #66cc66;">&#40;</span>tf<span style="color: #66cc66;">&#41;</span>;
			tf.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">'multitouch support: '</span> + Multitouch.<span style="color: #006600;">supportsTouchEvents</span>;
&nbsp;
			layout<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleStageResize<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			layout<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;			
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> layout<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> g:Graphics = bg.<span style="color: #006600;">graphics</span>;
			g.<span style="color: #0066CC;">clear</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			g.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0xAAAAA0,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
			g.<span style="color: #006600;">drawRect</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span>, <span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageHeight</span><span style="color: #66cc66;">&#41;</span>;
			g.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;			
&nbsp;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> getNewSprite<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:Sprite
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> s:Sprite = <span style="color: #000000; font-weight: bold;">new</span> Sprite;
			s.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span>0xff3333,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
			s.<span style="color: #006600;">graphics</span>.<span style="color: #006600;">drawCircle</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">50</span><span style="color: #66cc66;">&#41;</span>;
			s.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">endFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			s.<span style="color: #006600;">mouseEnabled</span> = <span style="color: #000000; font-weight: bold;">false</span>;
&nbsp;
&nbsp;
			last = s;
			<span style="color: #b1b100;">return</span> s;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleClick<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'asdasd'</span><span style="color: #66cc66;">&#41;</span>;
			lx = <span style="color: #0066CC;">e</span>.<span style="color: #006600;">localX</span>;
			ly = <span style="color: #0066CC;">e</span>.<span style="color: #006600;">localY</span>;
			<span style="color: #808080; font-style: italic;">//layout();</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleTouchBegin<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:TouchEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			tf.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">'id '</span> + <span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span> + <span style="color: #ff0000;">' t: '</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">target</span>;
			<span style="color: #000000; font-weight: bold;">var</span> s:Sprite;
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>sprites<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
				s = sprites<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span><span style="color: #66cc66;">&#93;</span>;
			<span style="color: #66cc66;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #66cc66;">&#123;</span>
				s = getNewSprite<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
				sprites<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span><span style="color: #66cc66;">&#93;</span> = s;
			<span style="color: #66cc66;">&#125;</span> 
			s.<span style="color: #006600;">x</span> = <span style="color: #0066CC;">e</span>.<span style="color: #006600;">localX</span>;
			s.<span style="color: #006600;">y</span> = <span style="color: #0066CC;">e</span>.<span style="color: #006600;">localY</span>;
			bg.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>s<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleMove<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:TouchEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> s:Sprite = sprites<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span><span style="color: #66cc66;">&#93;</span>;
			tf.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">'id '</span> + <span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span> + <span style="color: #ff0000;">' t: '</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">target</span>;
			s.<span style="color: #006600;">x</span> = <span style="color: #0066CC;">e</span>.<span style="color: #006600;">localX</span>;
			s.<span style="color: #006600;">y</span> = <span style="color: #0066CC;">e</span>.<span style="color: #006600;">localY</span>;
		<span style="color: #66cc66;">&#125;</span>				
&nbsp;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> handleTouchEnd<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:TouchEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">var</span> s:Sprite = sprites<span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span><span style="color: #66cc66;">&#93;</span>;
			tf.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">'id '</span> + <span style="color: #0066CC;">e</span>.<span style="color: #006600;">touchPointID</span> + <span style="color: #ff0000;">' t: '</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">target</span>;
		<span style="color: #66cc66;">&#125;</span>		
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/08/16/multitouch-in-air-2-5-for-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Air for my Desire</title>
		<link>http://nobigwords.ntxt.net/2010/08/15/air-for-my-desire/</link>
		<comments>http://nobigwords.ntxt.net/2010/08/15/air-for-my-desire/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 22:27:21 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Froyo]]></category>
		<category><![CDATA[HTC Desire]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[mobile applications]]></category>
		<category><![CDATA[programowanie]]></category>
		<category><![CDATA[przykład]]></category>
		<category><![CDATA[przykładowa aplikacja]]></category>
		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=290</guid>
		<description><![CDATA[Now I&#8217;m proud. Setting up everything was quite a pain, and I still do not grasp the whole process. Nevertheless, the first interactive app, written in AS3, using Flash Builder, works fullscreen on my HTC Desire! The secret plan is to make an eye-and-ear-catching app that my 7-months baby girl could not turn off by [...]]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/gU1PcxBqC-M&#038;hl=pl&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/gU1PcxBqC-M&#038;hl=pl&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><br />
Now I&#8217;m proud. Setting up everything was quite a pain, and I still do not grasp the whole process. Nevertheless, the first interactive app, written in AS3, using Flash Builder, works fullscreen on my HTC Desire! The secret plan is to make an eye-and-ear-catching app that my 7-months baby girl could not turn off by random hand events&#8230; For now, the code was that simple:</p>

<div class="wp_syntax"><div class="code"><pre class="as3" style="font-family:monospace;">package
{
	import flash.display.Graphics;
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.events.TouchEvent;
&nbsp;
	import mx.events.ResizeEvent;
&nbsp;
	public class Android extends Sprite
	{
		private var lx:Number;
		private var ly:Number;
		private var bg:Sprite;
&nbsp;
		public function Android()
		{
			bg = new Sprite;
			addChild(bg);
&nbsp;
			this.stage.scaleMode = StageScaleMode.NO_SCALE;
			this.stage.align = StageAlign.TOP_LEFT;			
			addEventListener(Event.RESIZE, handleStageResize);
			bg.addEventListener(MouseEvent.CLICK, handleClick);
			bg.addEventListener(TouchEvent.TOUCH_TAP, handleTap);
&nbsp;
			lx = this.stage.stageWidth * 0.5;
			ly = this.stage.stageHeight * 0.5;
&nbsp;
			layout();
		}
&nbsp;
		private function handleStageResize(e:Event):void
		{
			layout();			
		}
&nbsp;
		private function layout():void
		{
			var g:Graphics = bg.graphics;
			g.clear();
&nbsp;
			g.beginFill(0x003333,1);
			g.drawRect(0,0,stage.stageWidth, stage.stageHeight);
			g.endFill();			
&nbsp;
			g.beginFill(0xff0000,1);
			g.drawRect(lx - 50, ly - 50, 100,100);
			g.endFill();
&nbsp;
			g.beginFill(0xffff00,1);
			g.drawRect(Math.random() * stage.stageWidth, Math.random() * stage.stageHeight, 5,5);
			g.endFill();			
		}
&nbsp;
		private function handleClick(e:MouseEvent):void
		{
			trace('asdasd');
			lx = e.localX;
			ly = e.localY;
			layout();
		}
&nbsp;
		private function handleTap(e:TouchEvent):void
		{
			trace('asdasd');
			lx = e.localX;
			ly = e.localY;
			layout();
		}		
	}
}</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/08/15/air-for-my-desire/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Market Data Perspective</title>
		<link>http://nobigwords.ntxt.net/2010/07/29/market-data-perspective/</link>
		<comments>http://nobigwords.ntxt.net/2010/07/29/market-data-perspective/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 11:05:39 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[3d]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[ntxt.net]]></category>
		<category><![CDATA[rynek]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[ask]]></category>
		<category><![CDATA[backtesting]]></category>
		<category><![CDATA[bid]]></category>
		<category><![CDATA[charts]]></category>
		<category><![CDATA[data visualisation]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[information visualisation]]></category>
		<category><![CDATA[investing]]></category>
		<category><![CDATA[kdb+]]></category>
		<category><![CDATA[market data]]></category>
		<category><![CDATA[market replay]]></category>
		<category><![CDATA[nagler]]></category>
		<category><![CDATA[order book]]></category>
		<category><![CDATA[orders]]></category>
		<category><![CDATA[q]]></category>
		<category><![CDATA[q language]]></category>
		<category><![CDATA[strategy]]></category>
		<category><![CDATA[symagon]]></category>
		<category><![CDATA[transactions]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=279</guid>
		<description><![CDATA[Here is the first post in English, as its target is perhaps a bit wider than for my usual gibberish. The nine month now work for Symagon GmBH (subsidiary of Nagler &#038; Company) has its fruit. Or even a few. The first and what took the most effort is a Flex GUI for investment strategy [...]]]></description>
			<content:encoded><![CDATA[<p><i>Here is the first post in English, as its target is perhaps a bit wider than for my usual gibberish.</i></p>
<p>
The nine month now work for <a href="http://www.symagon.com/">Symagon GmBH</a> (subsidiary of Nagler &#038; Company) has its fruit. Or even a few. The first and what took the most effort is a Flex GUI for <strong>investment strategy backtesting</strong> and <strong>market data review</strong>. This was done with Rafał Sytek from Symagon. Backend is <a href="http://kx.com/Products/kdb+.php">kdb+, a vector-oriented,  fast database</a> which I know little about ;) and a little <a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/">Java/Blaze DS</a> middleware. The second is a <strong>3D visualisation tool for <a href="http://en.wikipedia.org/wiki/Order_book">order book</a> series.</strong> The 3D tool is only a little &#8216;Flexish&#8217;. The main 3D component is a pure Actionscript thing, with layers, 3D-2D and back transformations, etc. And here is what I find cool enough to show off.
</p>
<p>
An order book is a snapshot of a market, with (almost) all buy and sell offers for a single financial instrument. I pictured a series of order books as a sloped river bank, with the transaction at water&#8217;s level. The ground above is a cumulated size of ask orders beginning from the transaction. The green part is going deeper as the bid orders cumulate. Time axis is horizontal, and Y-axis shows price levels. I believe this visualisation gives a lot more information in a simple manner. Now looking forward to the expert opinion&#8230; see what is coming.
</p>
<h3>Backtesting GUI</h3>
<p>
This was a good lesson. Series renderers, chart extensions, live scrolling, zooming, syncing between the charts show the real flex guts. Sometimes I felt like writing it from the scratch myself&#8230; It was not anything about Flex itself, rather my understanding the complexity of its components. As it turned out, it was usually better to study a bit more the originals rather than implementing one&#8217;s own solutions. Some of the comps developed at the beginning look completely naive and weird now. The motto of future Flex chart works is:</p>
<blockquote><p>ChartElement class is essential to almost all you.</p></blockquote>
<p>And the big application for testing investment strategies looks like this:</p>
]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/07/29/market-data-perspective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tropmy czyli śledzik vel mousetracking</title>
		<link>http://nobigwords.ntxt.net/2010/03/24/tropmy-czyli-sledzik-vel-mousetracking/</link>
		<comments>http://nobigwords.ntxt.net/2010/03/24/tropmy-czyli-sledzik-vel-mousetracking/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 08:54:26 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[analiza]]></category>
		<category><![CDATA[eyetracking]]></category>
		<category><![CDATA[mouse tracking]]></category>
		<category><![CDATA[projektowanie stron]]></category>
		<category><![CDATA[statystyki www]]></category>
		<category><![CDATA[supersklepy.pl]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[web analytics]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[webtracking]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=269</guid>
		<description><![CDATA[Właśnie uruchomiliśmy, w zepsole supersklepy.pl, rzecz do analityki usability i efektywności stron. Na razie, przez małe zamieszanie, pod tymczasowym adresem, docelowy to http://tropmy.net (i dodatkowo tropmy.com i tropmy.pl). Badanie polega na śledzeniu ruchów myszki/kursora, nakładaniu wielu takich śladów i prezentacji wyników. Początek to trzy rodzaje wizualizacji danych: ślady, czyli strona pomazana jak dworcowa ściana, kliknięcia, [...]]]></description>
			<content:encoded><![CDATA[<p>Właśnie uruchomiliśmy, w zepsole <a title="Galeria Najlepszych Sklepów Internetowych supersklepy.pl" href="http://supersklepy.pl" target="_blank">supersklepy.pl</a>, rzecz do <a title="Tropmy.net - mouse tracking and web analytics" href="http://tropmy.net" target="_blank">analityki usability</a> i efektywności stron. <del datetime="2010-04-11T06:27:03+00:00">Na razie, przez małe zamieszanie, pod tymczasowym adresem</del>, docelowy to http://tropmy.net (i dodatkowo tropmy.com i tropmy.pl). Badanie polega na śledzeniu ruchów myszki/kursora, nakładaniu wielu takich śladów i prezentacji wyników. Początek to trzy rodzaje wizualizacji danych:</p>
<ul>
<li>ślady, czyli strona pomazana jak dworcowa ściana,</li>
<li>kliknięcia, czyli dropsy w kolorowej polewie</li>
<li>mapy uwagi (heatmapy), czyli tęcza w kałuży</li>
</ul>
<p>Całość dostępna w wersji demo za darmo, wersja płatna w drodze, podobnie jak rozbudowa. Próbujemy na swój sposób, a jeśli się da to lepiej, zrobić to co np. robi np. <a title="Web Analytics" href="http://clicktale.com" target="_blank">clicktale.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2010/03/24/tropmy-czyli-sledzik-vel-mousetracking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>puścić coś w tle</title>
		<link>http://nobigwords.ntxt.net/2009/08/27/puscic-cos-w-tle/</link>
		<comments>http://nobigwords.ntxt.net/2009/08/27/puscic-cos-w-tle/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 10:26:26 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[flex]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[życie]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[cmd]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[monitorowanie]]></category>
		<category><![CDATA[portal]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[skrypt]]></category>
		<category><![CDATA[start]]></category>
		<category><![CDATA[tle]]></category>
		<category><![CDATA[tło]]></category>
		<category><![CDATA[uruchomić]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=260</guid>
		<description><![CDATA[Chcę móc uruchomić proces w tle za pomocą przeglądarki. Docelowo wszystko będzie działać na linkuksie, ale do testów przydałoby się to mieć u siebie. W linkuksie wiem. costam &#038; uruchamia proces w tle, potem fajnie mogę sobie zarządzać jobs . Ale ja chcę w Windows. Windows Vista, żeby nie było niedomówień. Wywołanie komendy przez exec [...]]]></description>
			<content:encoded><![CDATA[<p>Chcę móc uruchomić proces w tle za pomocą przeglądarki. Docelowo wszystko będzie działać na linkuksie, ale do testów przydałoby się to mieć u siebie. W linkuksie wiem.
<pre>costam &#038;</pre>
<p> uruchamia proces w tle, potem fajnie mogę sobie zarządzać
<pre>jobs</pre>
<p>. Ale ja chcę w Windows. Windows Vista, żeby nie było niedomówień. Wywołanie komendy przez <i>exec</i> działa, ale czeka na zakończenie, a nie o to chodzi. Proces ma działać długo, a ja tylko chcę monitorować jego stan, a nie zamulać Firefoksa.</p>
<pre>
exec("start /b c:/sciezka_do_php/php.exe C:/sciezka_do_skryptu_procesu/bgproces.php > test.txt");
</pre>
<p>Próbowałem też uruchomić jakiś batch (costam.bat), który z kolei miałby uruchomić skrypt PHP, ale to też nie zadziałało &#8211; cały czas przeglądarka czekała na zakończenie całego procesu. Rozwiązanie jest takie, że w PHP na Windows trzeba użyć klasy COM, czyli windowsowych mechanizmów OLE (Object Linking and Embedding). Wygląda to tak:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #666666; font-style: italic;">/*
 * skrypt do uruchomienia w tle skryptTla.php
 */</span>
<span style="color: #000088;">$fname</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'c:/log.html'</span><span style="color: #339933;">;</span> 
<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span><span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #990000;">sleep</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">file_put_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fname</span><span style="color: #339933;">,</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'H:i:s'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&lt;br/&gt;'</span><span style="color: #339933;">,</span> FILE_APPEND<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #990000;">file_put_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$fname</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&lt;hr /&gt;'</span><span style="color: #339933;">,</span> FILE_APPEND<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span> ?php
<span style="color: #009933; font-style: italic;">/**
 * skrypt widziany przez przeglądarkę
 */</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;uruchamiam &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'H:i:s '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'PWD'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
  	<span style="color: #666666; font-style: italic;">// $cmd = '....';</span>
    <span style="color: #000088;">$nullResult</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;php <span style="color: #006699; font-weight: bold;">$cmd</span> &gt; /dev/null &amp;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'sciezka_do_php/php.exe sciezkaSkryptuDoUruchomieniaWTle/skryptTla.php'</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$ws</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> COM<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;WScript.Shell&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$oExec</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$ws</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Run</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$cmd</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot; koniec &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'H:i:s '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot; OK &quot;</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2009/08/27/puscic-cos-w-tle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>spot PO spotem PiS?</title>
		<link>http://nobigwords.ntxt.net/2009/05/21/spot-po-spotem-pis/</link>
		<comments>http://nobigwords.ntxt.net/2009/05/21/spot-po-spotem-pis/#comments</comments>
		<pubDate>Thu, 21 May 2009 11:44:58 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[flex]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[polityka]]></category>
		<category><![CDATA[reklama]]></category>
		<category><![CDATA[tekst]]></category>
		<category><![CDATA[życie]]></category>
		<category><![CDATA[Dolniak]]></category>
		<category><![CDATA[europarlament]]></category>
		<category><![CDATA[eurowybory]]></category>
		<category><![CDATA[Kamiński]]></category>
		<category><![CDATA[kampania wyborcza]]></category>
		<category><![CDATA[Kurski]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[PiS]]></category>
		<category><![CDATA[Platforma Obywatelska]]></category>
		<category><![CDATA[PO]]></category>
		<category><![CDATA[Prawo i Sprawiedliwość]]></category>
		<category><![CDATA[spot]]></category>
		<category><![CDATA[spot wyborczy]]></category>
		<category><![CDATA[TVN]]></category>
		<category><![CDATA[wybory]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=201</guid>
		<description><![CDATA[Polityka polska bywa ciekawa. Rzadko uważam ruchy medialno-marketingowe poszczególnych partii za jakoś szczególnie błyskotliwe, owszem lubię nastawienie do świata i ludzi prezentowane przez PO, uwielbiam happeningi Palikota, ale dziś dla odmiany bardzo pozytywnie zaskoczył mnie team Kurski-Kamiński. Mają się onie zwrócić do p. Dolniaka, szefa sztabu PO, o pozwolenie na wykorzystanie całego spotu PO z [...]]]></description>
			<content:encoded><![CDATA[<p>Polityka polska bywa ciekawa. Rzadko uważam ruchy medialno-marketingowe poszczególnych partii za jakoś szczególnie błyskotliwe, owszem lubię nastawienie do świata i ludzi prezentowane przez PO, uwielbiam happeningi Palikota, ale dziś dla odmiany bardzo pozytywnie zaskoczył mnie team Kurski-Kamiński. Mają się onie zwrócić do p. Dolniaka, szefa sztabu PO, o pozwolenie na wykorzystanie <i>całego spotu PO</i> z poprzednich wyborów jako reklamy wyborczej PiS. Przedstawienie obietnic PO w charakterze pokerowego &#8216;sprawdzam&#8217; uznaję za dobry, odważny i fajny ruch. Nie ma w nim zwykłej zjadliwości, przynajmniej w warstwie bezpośredniego komunikatu. Domyślam się oczywiście, że czai się tam syczące, nawet mimo braku odpowiednich spółgłosek, <i>&#8220;a nie mówiłem?&#8221;</i>, ale jest przestrzeń do własnej interpretacji, a to już oznacza pewien szacunek dla samodzielnego rozumu odbiorcy.</p>
<p>Odpowiedź p. Dolniaka, złapanego przez Brygidę Grysiak z TVN24 w Sejmie, była zachowawcza i bez humoru. Moim zdaniem, jedyna prawidłowa odpowiedź to &#8220;tak, oczywiście&#8221;&#8230; Gdyby z kolei Platforma zgłosiła dla tzw. fair play spot PiS z wyborów przez PiS wygranych, byłaby to nieco paranoiczna, ale przynajmniej oryginalna, kampania wyborcza. Jedni i drudzy mieli podobny czas do dyspozycji.</p>
<p>Natomiast zaprezentowany przez PO spot jest&#8230; tani. Dobrze przynajmniej, że trzyma pozytywny klimat i nikogo nie atakuje. Koncepcyjnie, realizacyjnie &mdash; tani. Ale tak obiecali&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2009/05/21/spot-po-spotem-pis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Niełamiąca spacja we Flashu, czyli tęsknota za   </title>
		<link>http://nobigwords.ntxt.net/2009/01/29/nielamiaca-spacja-we-flashu-czyli-tesknota-za/</link>
		<comments>http://nobigwords.ntxt.net/2009/01/29/nielamiaca-spacja-we-flashu-czyli-tesknota-za/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 19:00:48 +0000</pubDate>
		<dc:creator>Piotr Tomaszewski</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[tekst]]></category>
		<category><![CDATA[formatowanie tekstu]]></category>
		<category><![CDATA[kolumna]]></category>
		<category><![CDATA[łamanie]]></category>
		<category><![CDATA[nbsp]]></category>
		<category><![CDATA[niełamliwa]]></category>
		<category><![CDATA[spacja]]></category>

		<guid isPermaLink="false">http://nobigwords.ntxt.net/?p=73</guid>
		<description><![CDATA[Tu uśmiechną się wszyscy, którzy flasha uważają głównie za przyczynę buszujących po stronach www reklam. Nie wiem jak tam nowe narzędzia w FP10, ale dotąd rzeczywiście o obsłudze &#38;nbsp; (non-breaking space) w polu tekstowym deweloper Flash mógł pomarzyć. Nadal może, ale okazało się (Marcin okazał), że ów deweloper może skorzystać z fantastycznej możliwości wstawienia &#38;#0160; [...]]]></description>
			<content:encoded><![CDATA[<p>Tu uśmiechną się wszyscy, którzy flasha uważają głównie za przyczynę buszujących po stronach www reklam. Nie wiem jak tam nowe narzędzia w FP10, ale dotąd rzeczywiście o obsłudze &amp;nbsp; (non-breaking space) w polu tekstowym deweloper Flash mógł pomarzyć. Nadal może, ale okazało się (Marcin okazał), że ów deweloper może skorzystać z fantastycznej możliwości wstawienia &amp;#0160; zamiast niezłomnej spacji. Co to jest &amp;#0160;? Ano też spacja i też niezłomna. Tylko taka z czcionki &#8211; wystarczy otworzyć w windowsie Tablicę Znaków, piąty znak za małym &#8220;z&#8221;. Jeden kruczek, o którym trzeba pamiętać przy <a href="http://nobigwords.ntxt.net/2008/04/10/osadzanie-czcionek-we-flashu-i-formatowanie-tekstow-bolditalic/">zaszywaniu podzestawu znaków</a>, to że ten znak trzeba dołączyć. Kopiuj-wklej z Tablicy Znaków zadziała tu doskonale, bo z klawiatury ten akurat glif nie jest łatwy do wywołania.</p>
<p>Potem, żeby oszczędzić ręcznej redakcji tekstów, przyda się wyrażenie regularne do automatycznej podmiany zawieszek. O tym, w jakim języku zawieszki są błędem, a w jakim nie, nie będę tu pisał. Brzydkie są i z puchy im wali. A oto lekarstwo:
</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #009900; font-style: italic;">// zakładam, że oryginalny tekst do wstawienia mamy w zmiennej tekst1</span>
<span style="color: #6699cc; font-weight: bold;">var</span> tekst1<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = <span style="color: #990000;">'wąska kolumna przeniesie o do następnej linii'</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #009900; font-style: italic;">// ewentualna eksterminacja htmlowych marzeń, czyli zamiana &amp;nbsp; na spacje</span>
<span style="color: #6699cc; font-weight: bold;">var</span> tekst2<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = tekst1<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">replace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">'&amp;nbsp;'</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #990000;">&quot; &quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>	
<span style="color: #009900; font-style: italic;">// do rzeczy, czyli zamiana spacji po pojedynczych znakach otoczonych odstępami na niezłomną spację </span>
<span style="color: #6699cc; font-weight: bold;">var</span> tekst3<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">String</span> = tekst2<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">replace</span><span style="color: #000000;">&#40;</span><span style="color: #009966; font-style: italic;">/\s+(\S)\s+(\S)/g</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #990000;">&quot; $1&amp;#0160;$2&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>			
<span style="color: #009900; font-style: italic;">// w tekst3 pojawi się: 'wąska kolumna przeniesie o&amp;#0160;do następnej linii'</span>
<span style="color: #009900; font-style: italic;">// a na ekranie, zamiast &amp;#0160; &amp;mdash; niełamiąca spacja.</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://nobigwords.ntxt.net/2009/01/29/nielamiaca-spacja-we-flashu-czyli-tesknota-za/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

