<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Sun Metamorphosis</title>
	
	<link>http://www.sunmetablog.co.uk</link>
	<description>The software engineering blog</description>
	<lastBuildDate>Mon, 15 Aug 2011 05:33:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/SteviePOnSoftware" /><feedburner:info uri="stevieponsoftware" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Financial products markup language (FpML) : Version 5.2 released</title>
		<link>http://feedproxy.google.com/~r/SteviePOnSoftware/~3/wldndv-idvQ/</link>
		<comments>http://www.sunmetablog.co.uk/?p=757#comments</comments>
		<pubDate>Mon, 15 Aug 2011 05:33:46 +0000</pubDate>
		<dc:creator>Steve Psaltis</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Finance]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[financial messaging]]></category>
		<category><![CDATA[FpML]]></category>
		<category><![CDATA[ISDA]]></category>

		<guid isPermaLink="false">http://www.sunmetablog.co.uk/?p=757</guid>
		<description><![CDATA[FpML 5.2 has been released. For those of you who have not come accross FpML it is the industry-standard protocol for complex financial products, defined by the ISDA (International swaps and derivatives association). It is based on XML (eXtensible Markup Language), the standard meta-language for describing data shared between applications.Take a look at this powerpoint [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fpml.org/" title="FpML">FpML</a> 5.2 has been released. For those of you who have not come accross <a href="http://www.fpml.org/" title="FpML">FpML</a> it is the industry-standard protocol for complex financial products, defined by the <a href="http://www2.isda.org/">ISDA (International swaps and derivatives association).</a> It is based on XML (eXtensible Markup Language), the standard meta-language for describing data shared between applications.<a href="http://www.fpml.org/documents/ISDA_FpML_50_webinar_20101014.ppt">Take a look at this powerpoint presentation for more details on FpML</a></p>
<img src="http://feeds.feedburner.com/~r/SteviePOnSoftware/~4/wldndv-idvQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.sunmetablog.co.uk/?feed=rss2&amp;p=757</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sunmetablog.co.uk/?p=757&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=financial-products-markup-language-fpml-version-5-2-released</feedburner:origLink></item>
		<item>
		<title>High frequency trading technology : Submersion cooling</title>
		<link>http://feedproxy.google.com/~r/SteviePOnSoftware/~3/243KdRJEmOQ/</link>
		<comments>http://www.sunmetablog.co.uk/?p=730#comments</comments>
		<pubDate>Sat, 06 Aug 2011 06:57:24 +0000</pubDate>
		<dc:creator>Steve Psaltis</dc:creator>
				<category><![CDATA[Fun Stuff]]></category>
		<category><![CDATA[Trading]]></category>
		<category><![CDATA[HFT]]></category>
		<category><![CDATA[high frequency trading]]></category>
		<category><![CDATA[submersion cooling]]></category>

		<guid isPermaLink="false">http://www.sunmetablog.co.uk/?p=730</guid>
		<description><![CDATA[With existing transistor processor technology reaching its physical limits, cooling technology is getting more sophisticated. Companies such as Hardcore Computer already supply submersion cooled desktops that enable the CPU to be overclocked further than with air cooling or liquid cooling technology. What is submersion cooling? Traditional water cooling involves keeping water well away from electrical [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.sunmetablog.co.uk/wp-content/images/frozen_computer.jpg" alt="Submersion cooling" width=500px/></p>
<p>With existing transistor processor technology reaching its physical limits, cooling technology is getting more sophisticated. Companies such as <a href="http://www.hardcorecomputer.com/index.html">Hardcore Computer</a> already supply submersion cooled desktops that enable the CPU to be overclocked further than with air cooling or liquid cooling technology.</p>
<h3>What is submersion cooling?</h3>
<p>Traditional water cooling involves keeping water well away from electrical components because as we all know: water + electronic components := short circuit! But there are liquid substances that do not conduct electricity known as dielectric (not electrically conductive) substances. Vegetable oil is an example of a dielectric but Mineral oil is preferred due to its odourless, colourless and safe properties. With submersion cooling, all of the PC components are submersed in a dielectric substance, other than optical and HDD drives, maximising the heat transfer rate from all components. Dielectrics can be 1300 times more efficient at displacing heat than traditional cooling systems. A secondary benefit of submersion cooling is that there is no cooling fan noise, as a result submersion cooled systems run almost silently.</p>
<h3>How does submersion cooling benefit HFT systems?</h3>
<p>HFT is all about squeezing every millisecond of performance out of all the technology involved, be it physical networking through locating hardware geographically close to the financial exchange. Or in this case getting the most out of the CPU and GPU through overclocking. Overclocking means that the processor has to work harder which generates higher temperatures. The lower you can keep temperatures, the higher you can overclock the processor, and that&#8217;s where submersion cooling comes in.</p>
<p><a href="http://highfrequencytradingreview.com/over-clocking-and-submersion-cooling-%e2%80%93-the-future-of-hft-technology/">Click here for an interview with one of the founders of Hardcore Computer.</a></p>
<img src="http://feeds.feedburner.com/~r/SteviePOnSoftware/~4/243KdRJEmOQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.sunmetablog.co.uk/?feed=rss2&amp;p=730</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sunmetablog.co.uk/?p=730&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=high-frequency-trading-technology-submersion-cooling</feedburner:origLink></item>
		<item>
		<title>High frequency trading talent : Facilitating high levels of liquidity?</title>
		<link>http://feedproxy.google.com/~r/SteviePOnSoftware/~3/-ap-6Tjn73I/</link>
		<comments>http://www.sunmetablog.co.uk/?p=721#comments</comments>
		<pubDate>Fri, 05 Aug 2011 14:05:02 +0000</pubDate>
		<dc:creator>Steve Psaltis</dc:creator>
				<category><![CDATA[Trading]]></category>
		<category><![CDATA[HFT]]></category>
		<category><![CDATA[high frequency trading]]></category>

		<guid isPermaLink="false">http://www.sunmetablog.co.uk/?p=721</guid>
		<description><![CDATA[Contributing to high levels of liquidity in the financial markets; I think HFT is here to stay. However the challenges facing HFT developers is just as much about hardware and networking as it is about software and mathematics. This article gives an insight into the types of skills that are involved in a world where [...]]]></description>
			<content:encoded><![CDATA[<p>Contributing to high levels of liquidity in the financial markets; I think HFT is here to stay. However the challenges facing HFT developers is just as much about hardware and networking as it is about software and mathematics. </p>
<p>This article gives an insight into the types of skills that are involved in a world where every cutting edge concept within computing is being applied to a very fast moving and specialist area. Fascinating&#8230;</p>
<p><a href="http://www.advancedtrading.com/managingthedesk/220900539">You can read the full article here</a></p>
<p><a href="http://www.efinancialnews.com/story/2011-06-29/high-frequency-trading-firms-talent-hiring<br />
">Also check out this article on the topic.</a></p>
<img src="http://feeds.feedburner.com/~r/SteviePOnSoftware/~4/-ap-6Tjn73I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.sunmetablog.co.uk/?feed=rss2&amp;p=721</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sunmetablog.co.uk/?p=721&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=high-frequency-trading-talent-facilitating-good-levels-of-liquidity</feedburner:origLink></item>
		<item>
		<title>PowerShell : Extracting persisted Workflow instances to XML files</title>
		<link>http://feedproxy.google.com/~r/SteviePOnSoftware/~3/gT9-CDPxw58/</link>
		<comments>http://www.sunmetablog.co.uk/?p=710#comments</comments>
		<pubDate>Thu, 28 Jul 2011 15:23:07 +0000</pubDate>
		<dc:creator>Steve Psaltis</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[DotNet]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Workflow]]></category>
		<category><![CDATA[#yam]]></category>
		<category><![CDATA[Powershell persistence]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[workflow variables]]></category>

		<guid isPermaLink="false">http://www.sunmetablog.co.uk/?p=710</guid>
		<description><![CDATA[CodeProject Sometimes its useful to extract the variables from a persisted workflow to debug an issue or to verify your persistence for various reasons. Workflows are persisted in binary xml format by default, so it&#8217;s possible to extract the data into an xml file. Creating a project in visual studio to do this is somewhat [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sunmetablog.co.uk/?feed=rss2" rel="tag" style="display:none">CodeProject</a></p>
<p>Sometimes its useful to extract the variables from a persisted workflow to debug an issue or to verify your persistence for various reasons. Workflows are persisted in binary xml format by default, so it&#8217;s possible to extract the data into an xml file. Creating a project in visual studio to do this is somewhat tedious so I created a PowerShell script to help me out a little.</p>
<p>The script uses Ado.Net to connect to the workflow persistence store, which in my case is a Sql Server database. It reads the relevant table and then exports the data to a file which is given the name of the workflow instance id.</p>
<p>I am assuming you have used PowerShell before. If not then check out <a href="http://www.powergui.org/index.jspa">PowerGUI</a> to get you started. If you have not installed PowerShell yet you will need to do two things to run this script in PowerShell&#8230;</p>
<p>Firstly you will need to run the Set-ExecutionPolicy cmdlet so that you can run scripts. I use RemoteSigned which ensures that any scripts downloaded onto my machine need to be signed before they can run. This will allow you to run scripts created on your machine freely.</p>
<p>Secondly I am using .Net 4.0 classes in my script so I need to make sure that PowerShell is running in the 4.0 runtime or above.</p>
<p>To check which version you have running; type &#8220;[System.Environment]::Version&#8221; into your PowerShell console. If the version is less than 4.0 then you will need to add the following registry key to your registry: </p>
<p>32-bit apps on a 32-bit operating system<br />
64-bit apps on a 64-bit operating system<br />
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]<br />
&#8220;OnlyUseLatestCLR&#8221;=dword:00000001</p>
<p>32-bit apps on a 64-bit operating system<br />
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework]<br />
&#8220;OnlyUseLatestCLR&#8221;=dword:00000001 </p>
<p>So now you can paste the following script into your PowerShell script file replacing the connection string value and the query with your required settings. In my case I am extracting data from the ReadWriteComplexDataProperties column so you may also want to change this.</p>
<p><code>$connectionstring = "Data Source=localhost\SQLExpress;Initial Catalog=SQLPersistenceStore;Integrated Security=True;"<br />
$connection = New-Object System.Data.SqlClient.SqlConnection $connectionstring<br />
$command = $connection.CreateCommand()<br />
$command.CommandText = "select * from [system.activities.durableinstancing].instances"<br />
$connection.Open()<br />
$reader = $command.ExecuteReader()</p>
<p>[System.Reflection.Assembly]::LoadWithPartialName("System.Runtime.Serialization")</p>
<p>while($reader.Read())<br />
{<br />
	$report = $reader["ReadWriteComplexDataProperties"]<br />
	if (!$report.Equals([System.DBNull]::Value))<br />
	{<br />
		$stream = New-Object System.IO.MemoryStream (,$report)				</p>
<p>		$xmlReader = [System.Xml.XmlDictionaryReader]::CreateBinaryReader($stream,[System.Xml.XmlDictionaryReaderQuotas]::Max)<br />
		$xmlReader.Read();</p>
<p>		if($xmlReader)<br />
		{<br />
			$xml = $xmlReader.ReadOuterXml()<br />
			$instanceid = $reader["instanceid"].ToString()<br />
			$xml | Out-File c:\temp\reports\$instanceid.xml<br />
		}<br />
	}<br />
}</p>
<p>$connection.Close()</p>
<p>trap [Exception]<br />
{<br />
	$connection.Close()<br />
}</code></p>
<p>I think the script is fairly self-explanatory. The only thing I think worth mentioning here is the trap exception block at the end which will ensure that the connection is closed in the event of any error.</p>
<p><a href="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/Powershell/PowershellPersistedWorkflow.zip">You can download the script and registry file from here</a></p>
<img src="http://feeds.feedburner.com/~r/SteviePOnSoftware/~4/gT9-CDPxw58" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.sunmetablog.co.uk/?feed=rss2&amp;p=710</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sunmetablog.co.uk/?p=710&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=powershell-extracting-persisted-workflow-instances-to-xml-files</feedburner:origLink></item>
		<item>
		<title>Flex 4.5 with Flash Develop: Slow Android emulator workaround</title>
		<link>http://feedproxy.google.com/~r/SteviePOnSoftware/~3/YIag_LjMzpo/</link>
		<comments>http://www.sunmetablog.co.uk/?p=688#comments</comments>
		<pubDate>Tue, 19 Jul 2011 20:35:35 +0000</pubDate>
		<dc:creator>Steve Psaltis</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[flex 4.5 development]]></category>
		<category><![CDATA[Flex 4.5 SDK]]></category>
		<category><![CDATA[Slow android emulator]]></category>
		<category><![CDATA[slow emulator]]></category>

		<guid isPermaLink="false">http://www.sunmetablog.co.uk/?p=688</guid>
		<description><![CDATA[CodeProject The cool thing about developing on the Air platform is that the end result should be device independent. So if I am developing an application for an Android tablet I can probably get away with testing the app on any tablet OS that supports the Air runtime. At least in the development stages anyway. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sunmetablog.co.uk/?feed=rss2" rel="tag" style="display:none">CodeProject</a></p>
<p>The cool thing about developing on the Air platform is that the end result should be device independent. So if I am developing an application for an Android tablet I can probably get away with testing the app on any tablet OS that supports the Air runtime. At least in the development stages anyway. Of course most of the time you will be able to get away with using the ADL desktop player but testing on a device simulator is necessary to test gestures work as you would expect for your application. So we know the Android Emulators are slow. To be honest they are so slow I think they are the wrong tool for doing intermediate development testing. I now use the android emulators when I want to test the application actually works on specific devices before I submit to the marketplace. Of course you should always test on the actual hardware if you can. So what can we use in the development stages?</p>
<h3>Use the Playbook simulator</h3>
<p>Of course if you are using Flex Builder then this may seem a little more obvious. However with Flash Develop the device support is not so integrated.</p>
<p>RIM have a great Playbook simulator which works a treat. <a href="http://us.blackberry.com/developers/tablet/adobe.jsp">Simply download the Playbook SDK and simulator package</a>, install it and use the following command line to package to the simulator substituting the arguments with your project specific values.</p>
<blockquote><p>
blackberry-airpackager -package bin\MyFlexProject.bar<br />
-C bin -installApp -launchApp application.xml<br />
bin\MyFlexProject.swf -device 192.168.189.128
</p></blockquote>
<p>You will need to start up the simulator virtual machine before you run this command and swap the IP address with the IP of the virtual device.</p>
<p><a href="http://docs.blackberry.com/en/developers/deliverables/30123/Testing_your_application_from_the_command_line_1702715_11.jsp">You can find more information on the command line deployment process on the RIM website</a></p>
<p><a href="http:///www.sunmetablog.co.uk/samplecode/FlashDevelopPlaybookProject/MyFlexProject.zip">You can download the sample Flash Builder project containing the DeployToPlaybook.bat file that I have created from here.</a></p>
<img src="http://feeds.feedburner.com/~r/SteviePOnSoftware/~4/YIag_LjMzpo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.sunmetablog.co.uk/?feed=rss2&amp;p=688</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sunmetablog.co.uk/?p=688&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=flex-4-5-with-flash-develop-slow-android-emulator-workaround</feedburner:origLink></item>
		<item>
		<title>Flex 4.5 for Android : Getting started with Flash Develop</title>
		<link>http://feedproxy.google.com/~r/SteviePOnSoftware/~3/bMbZLqTK9NU/</link>
		<comments>http://www.sunmetablog.co.uk/?p=625#comments</comments>
		<pubDate>Mon, 18 Jul 2011 10:18:40 +0000</pubDate>
		<dc:creator>Steve Psaltis</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android development]]></category>
		<category><![CDATA[Flash Develop]]></category>
		<category><![CDATA[flex 4.5 flex hero SDK]]></category>
		<category><![CDATA[Flex 4.5 SDK]]></category>

		<guid isPermaLink="false">http://www.sunmetablog.co.uk/?p=625</guid>
		<description><![CDATA[CodeProject Following on from my last post about getting up and running with Flex. Here is how to quickly get an end to end Android dev environment up and running with Flash Develop. You can download the complete Flash Develop project from here. But you will need to update the SDK paths. Step 1 : [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sunmetablog.co.uk/?feed=rss2" rel="tag" style="display:none">CodeProject</a></p>
<p>Following on from my last post about getting up and running with Flex. Here is how to quickly get an end to end Android dev environment up and running with Flash Develop.</p>
<p><a href="http://www.sunmetablog.co.uk/samplecode/FlashDevelopAndroidProject/Flex4FlashDevelopProject.zip">You can download the complete Flash Develop project from here.</a> But you will need to update the SDK paths.</p>
<h3>Step 1 : Install Flash develop and the latest Android and Flex 4.5 SDKs</h3>
<p><a href="http://developer.android.com/sdk/index.html">Install Android SDK</a></p>
<p><a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4.5">Download Abobe flex 4.5</a></p>
<p><a href="http://www.flashdevelop.org/wikidocs/index.php?title=Main_Page">Download and install Flash Develop</a></p>
<h3>Step 2 : Create a new Flash Develop Project</h3>
<p>Create a new Air Flex 4 Projector project and give it a name e.g. &#8220;MyFlexProject&#8221;</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/FlashDevelop/new_project.jpg" alt="Create a new flash develop project" title="Create a new Flash develop project" /></p>
<h3>Step 3 : Enable the project for Flex 4.5 compilation</h3>
<p>In FlashDevelop go to Project -> Properties and under the &#8220;Output&#8221; tab you will need to create a custom command to test your movie as follows : $(FlexSDK)\bin\adl.exe;application.xml bin. Replace $(FlexSDK) with the path to the flex 4.5 SDK that you downloaded. </p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/FlashDevelop/set_target_custom_command.jpg" alt="Set the platform target" title="Set the platform target" /></p>
<p>Under the &#8220;Compiler options&#8221; tab set the &#8220;Custom path to flex sdk&#8221; property to your flex SDK bin directory that you downloaded earlier. </p>
<p>Add the following additional command line arguments:<br />
-swf-version=11<br />
-target-player=10.2</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/FlashDevelop/compiler_options.jpg" alt="Set the compiler options" title="Set the compiler options" /></p>
<h3>Step 4 : Create the application.xml file</h3>
<p>Now we need to replace the application.xml with the latest supported version from the SDK. I always start with the Applicaiton.xml content that comes with the SDK to pick up any changes. In your flex 4.5 SDK directory under &#8220;Templates\Air&#8221; copy the contents of the descriptor-template.xml and paste into your application.xml file.</p>
<h3>Step 5 : Setup the package and deployment .xml files</h3>
<p>Open the PackageApplication.xml and change the adt call to :</p>
<blockquote><p>call adt -package -target apk-emulator %SIGNING_OPTIONS% %AIR_FILE% %APP_XML% %FILE_OR_DIR%</p></blockquote>
<p>Change the signing options by removing the TSA option:</p>
<blockquote><p>set SIGNING_OPTIONS=-storetype pkcs12 -keystore %CERTIFICATE%</p></blockquote>
<p>Change the AIR_FILE variable to point to an apk file instead of a .air file e.g.</p>
<blockquote><p>set AIR_FILE=air/YourProjectName.apk</p></blockquote>
<p>You will also need to update all the references to &#8220;$(FlexSDK)&#8221; to the path of your flex SDK. The same will need to be done for the CreateCertificate.bat file.</p>
<h3>Step 6 : Create an android deployment bat file</h3>
<p>Just to make things a little easier, create a deployment bat file with a call to&#8230;</p>
<blockquote><p>call adb install -r air\MyFlexProject.apk</p></blockquote>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/FlashDevelop/deployment_file.jpg" alt="Create a deployment bat file" title="Create a deployment bat file" /></p>
<h3>Step 7 : Test your project</h3>
<p>Build the project to test the new settings. If everything has been setup correctly your project should build successfully.</p>
<h3>Step 8 : package for android</h3>
<p>Now let&#8217;s package the application for installation on an Android device.</p>
<p>Run your CreateCertificate.bat file and then run the PackageApplication.bat file. For the package to work you will need to ensure you have valid values set in the applicaiton.xml file. If all goes well you should find a .apk file in the air sub directory of your project working folder.</p>
<h3>Step 9 : Deploy to the android emulator</h3>
<p>Run the Android SDK and AVD Manager which you will find in your start menu once you have installed the Android SDK. </p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/FlashDevelop/android_avd_manager.jpg" alt="Android AVD manager" title="Android AVD Manager" /></p>
<p>Create an Android Device which must be running Android 2.2 and above to be able to run the Flex 4.5 Air runtime. Start up the Device.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/FlashDevelop/android_device.jpg" alt="Android device" title="Android device" /></p>
<h3>Step 10 : Test your application on the device</h3>
<p>Just to make sure the environment is running smoothly; go back to Flash develop and open the main.mxml file and add a panel with a simple label control. You will need to change the Root &#8220;WindowedApplication&#8221; tag to a &#8220;Application&#8221; tag. WindowedApplication is not supported by Android.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/FlashDevelop/simple_app.jpg" alt="Create a simple panel" title="Create a simple panel" /></p>
<p>Now Build the project and run it. You should See your Panel and Label in the Air debug launcher.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/FlashDevelop/debug_simple_app.jpg" alt="Debug your application" title="Debug your application" /></p>
<p>Now Install your application onto the device using the PackageApplciation.bat file and then run the DeployToAndroid.bat file that you created earlier.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/FlashDevelop/deploy_to_device.jpg" alt="Deploy your application" title="Deploy your application" /></p>
<p>You should now see your application appear in the Apps on the emulator</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/FlashDevelop/installed_app.jpg" alt="Your application should now be installed" title="Your application should now be installed" /></p>
<p>After running the application it should look as it did when you ran it in debug mode.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/FlashDevelop/running_app.jpg" alt="The running application" title="The running application" /></p>
<p>Enjoy!</p>
<img src="http://feeds.feedburner.com/~r/SteviePOnSoftware/~4/bMbZLqTK9NU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.sunmetablog.co.uk/?feed=rss2&amp;p=625</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sunmetablog.co.uk/?p=625&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=flex-4-5-for-android-getting-started-with-flash-develop</feedburner:origLink></item>
		<item>
		<title>WPF : Creating a scalable glass button in Blend</title>
		<link>http://feedproxy.google.com/~r/SteviePOnSoftware/~3/8wYMJ9zb464/</link>
		<comments>http://www.sunmetablog.co.uk/?p=643#comments</comments>
		<pubDate>Thu, 14 Jul 2011 18:32:49 +0000</pubDate>
		<dc:creator>Steve Psaltis</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Fun Stuff]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[Glass button]]></category>
		<category><![CDATA[Scalable glass button]]></category>

		<guid isPermaLink="false">http://www.sunmetablog.co.uk/?p=643</guid>
		<description><![CDATA[CodeProject It&#8217;s amazing how a simple effect can transform an application. I have tried to find ways to create a simple glass effect as quickly as possible and with as few brushes and layers as possible to aid in render performance, particularly for Windows mobile 7. My previous attempts looked more like a pipe than [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sunmetablog.co.uk/?feed=rss2" rel="tag" style="display:none">CodeProject</a></p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/finnished_button.jpg" alt="The finished Button" title="The finished Button" /></p>
<p>It&#8217;s amazing how a simple effect can transform an application. I have tried to find ways to create a simple glass effect as quickly as possible and with as few brushes and layers as possible to aid in render performance, particularly for Windows mobile 7. My previous attempts looked more like a pipe than glass and involved too many brushes. I have managed to get mine down to two brushes. I think i could get it down further and just use colour substitution but that&#8217;s for another post! So here is how I am currently doing it&#8230;</p>
<h3>Step 1 &#8211; Create the first rectangle</h3>
<p>Start with a blank user control and ensure you have a layout root grid. This will be very important for the scaling later on.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/Start.jpg" alt="Expression blend project start" title="Start expression blend" /></p>
<p>Create a new rectangle in your required dimensions, in my case its 150 x 50 pixels. Set the fill to a gradient fill maintaining the default gradient. Set the first colour to Black and the second colour to a dark grey, i have used #FF454444 as the dark grey. Set the corner radius to 3 for both x and y.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/first_rectangle.jpg" alt="Create the first rectangle" title="Create the first rectangle" /></p>
<h3>Step 2 &#8211; Create the glass effect rectangle.</h3>
<p>The next step is to create the inner rectangle which will give us the glass effect. To do this simply copy the previous rectangle and paste. For now we just want to shrink it so we can get the look right and feel right. Shrink the inner rectangle so that it&#8217;s just under half the height of the first rectangle and so that there is a nice gap on either side. Change the gradient colours to white and set the Alpha of the first colour to 10 and the second to 75.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/inner_rectangle.jpg" alt="Create the glass rectangle" title="Create the glass rectangle" /></p>
<h3>Step 3 &#8211; Make the button</h3>
<p>Now it&#8217;s time to make a Button out of the rectangles we have. First we need to group everything into a Grid. So right click and select &#8220;Group Into&#8221; and select &#8220;Grid&#8221; or Ctrl + G. </p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/group_into_grid.jpg" alt="Group the elements into a Grid" title="Group the elements into a grid" /></p>
<p>Now select &#8220;Tools&#8221; -> &#8220;Make into control&#8221; and select the button control. Give the template a name.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/make_into_control.jpg" alt="Make the elements into a control" title="Make the elements into a control" /></p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/make_into_button.jpg" alt="Make the elements into a button control" title="Make the elements into a button control" /></p>
<p>You should now see the button text appear in the centre of the control. This will also put you in template edit mode. You will need to either double click on the canvas or click the &#8216;Button&#8217; element at the top of the designer. This is so that You can set the font size and colour of the button to the desired settings. I have set them to 23 and White.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/exit_template_mode.jpg" alt="Exit template mode" title="Exit template mode" /></p>
<h3>Step 4 &#8211; Make the button scalable</h3>
<p>You should now have something that looks like a button however if you try to scale it the elements won&#8217;t stay in proportion to the height and width of the actual button. </p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/button_layout.jpg" alt="Button layout complete" title="Button layout is complete" /></p>
<p>The Easiest way to get around this is to place the elements into a layout element that scales its content. I find the Grid makes the most sense so enter template edit mode by right clicking the control and selecting &#8220;Edit Template&#8221; -> &#8220;Edit Current&#8221;.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/edit_template.jpg" alt="Enter template edit mode" title="Enter template edit mode" /></p>
<p>Select the Grid you grouped the elements into earlier from the &#8220;Objects and Timeline&#8221; toolbar and add to it three columns and three rows. You can do this from the layout tool bar.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/select_grid.jpg" alt="Select the grid" title="Select the grid" /></p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/edit_grid.jpg" alt="Add rows and columns from the layout toolbar" title="Add rows and columns from the layout toolbar" /></p>
<p>Set the column with to 0.025,1 and 0.025 star respectively and the row heights to 0.15, 0.75 and 1 star respectively. This is very important as it is what will retain the relevant proportions of the elements.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/add_columns_to_grid.jpg" alt="Add rows and columns to the grid and set the width and height" title="Add rows and columns to the grid and set the width and height" /></p>
<p>Place the background rectangle and the content presenter in row and column 0 with row span and column span set to 3. Place the glassy rectangle in row 1 column 1 and now set the glassy margins to 0 and its height and width to Auto with horizontal and vertical alignment set to stretch.  </p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/set_position_margins.jpg" alt="Set element grid positions" title="Set element grid positions" /></p>
<p>Make sure that the Content element is a layer behind the glassy rectangle by moving it in the Objects and Timeline toolbar. This is so that the whole button will appear to be glass including the text. You can test this is the case by changing the foreground of the button to a shade that will make this clear to see.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/set_ordering.jpg" alt="Set element ordering" title="Set element ordering" /></p>
<p>That&#8217;s it. You should now have a very simple scalable glass button.</p>
<p><img src="http://www.sunmetablog.co.uk/wp-content/uploads/2011/07/finnished_button.jpg" alt="The finished Button" title="The finished Button" /></p>
<img src="http://feeds.feedburner.com/~r/SteviePOnSoftware/~4/8wYMJ9zb464" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.sunmetablog.co.uk/?feed=rss2&amp;p=643</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sunmetablog.co.uk/?p=643&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=wpf-creating-a-scalable-glass-button-in-blend</feedburner:origLink></item>
		<item>
		<title>Glass: Why I love software engineering so much!</title>
		<link>http://feedproxy.google.com/~r/SteviePOnSoftware/~3/ZYUjAa1hXIQ/</link>
		<comments>http://www.sunmetablog.co.uk/?p=637#comments</comments>
		<pubDate>Tue, 12 Jul 2011 11:15:29 +0000</pubDate>
		<dc:creator>Steve Psaltis</dc:creator>
				<category><![CDATA[Fun Stuff]]></category>
		<category><![CDATA[concept tech]]></category>
		<category><![CDATA[cool screens]]></category>
		<category><![CDATA[cool user interfaces]]></category>
		<category><![CDATA[Corning]]></category>
		<category><![CDATA[glass user interface]]></category>

		<guid isPermaLink="false">http://www.sunmetablog.co.uk/?p=637</guid>
		<description><![CDATA[My job is a great passion of mine and although sometimes I forget why, it&#8217;s clips like this that remind me why I wanted to become a software engineer so badly when I was a wee boy! TV programs such as Star Trek engaged me not for their stories but for the concept technology and [...]]]></description>
			<content:encoded><![CDATA[<p>My job is a great passion of mine and although sometimes I forget why, it&#8217;s clips like this that remind me why I wanted to become a software engineer so badly when I was a wee boy! TV programs such as Star Trek engaged me not for their stories but for the concept technology and paradigms that I hunger for even today.</p>
<p>Check out this cool clip from <a href="http://www.corning.com/index.aspx">Corning</a></p>
<p><iframe width="560" height="349" src="http://www.youtube.com/embed/6Cf7IL_eZ38" frameborder="0" allowfullscreen></iframe></p>
<img src="http://feeds.feedburner.com/~r/SteviePOnSoftware/~4/ZYUjAa1hXIQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.sunmetablog.co.uk/?feed=rss2&amp;p=637</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sunmetablog.co.uk/?p=637&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=glass-why-i-love-software-engineering-so-much</feedburner:origLink></item>
		<item>
		<title>Windows 8: A paradigm shift has arrived</title>
		<link>http://feedproxy.google.com/~r/SteviePOnSoftware/~3/iENT9eCXYZ0/</link>
		<comments>http://www.sunmetablog.co.uk/?p=596#comments</comments>
		<pubDate>Fri, 10 Jun 2011 06:15:34 +0000</pubDate>
		<dc:creator>Steve Psaltis</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[hypotheses]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[Tiles]]></category>
		<category><![CDATA[user interaction]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[windows 8]]></category>

		<guid isPermaLink="false">http://www.sunmetablog.co.uk/?p=596</guid>
		<description><![CDATA[For too long I have been banging on about a paradigm shift in desktop user interfaces. The whole menu drop down and desktop Icon thing is just not cool. More importantly it&#8217;s not intuitive and it&#8217;s not engaging. So looking at the &#8220;Building Windows 8&#8221; video released by Microsoft it looks like the Tiles paradigm [...]]]></description>
			<content:encoded><![CDATA[<p>For too long I have been banging on about a paradigm shift in desktop user interfaces. The whole menu drop down and desktop Icon thing is just not cool. More importantly it&#8217;s not intuitive and it&#8217;s not engaging. </p>
<p>So looking at the &#8220;<a href="http://www.youtube.com/watch?v=p92QfWOw88I">Building Windows 8</a>&#8221; video released by Microsoft it looks like the Tiles paradigm introduced in the Windows Phone 7 is here to stay. For now at least.</p>
<p>Some have said that the Tiles paradigm is no good &#8211; that it&#8217;s too visually noisy. Yes tiles can be noisy but I&#8217;m not sure I agree that this is the fault of the tiles themselves. Tiles are far less noisy than a desktop full of Icons. I hate Icons because they don&#8217;t offer me enough information. With tiles I don&#8217;t actually have to open the application to see that I have a new email for example. As the user, I can decide how much noise I want in my desktop of tiles. </p>
<p>I&#8217;m not saying that tiles are the paradigm shift we have been waiting for but at least it&#8217;s a shift in the right direction. In any case, Tiles are just A small part of the new user experience (UX) that Windows 8 offers. Windows 8, like the Phone 7, encourages the seamless integration of OS and application with the full screen style of application that is demonstrated in the video which is far less visually noisy than the traditional style of applications of the past. I have recently written UI in that style and I have to say, designing for that layout really makes you think about what the user is looking at. I find myself asking questions like: &#8220;Does the user really need to see this button right now?&#8221; and &#8220;How can I hide this noise/content in a way that is intuitive for the user to get back to&#8221;. </p>
<p>So is this new style of UX intuitive? Well that remains to be seen but it&#8217;s certainly engaging so it ticks that box. </p>
<p>But there is a down side of this new style of UI. The file menu and UI design of the past was pretty standardised. Most applications looked the same and this made discoverability consistent between applications. The menu structure usually had all the available commands in there somewhere! As a result developers didn&#8217;t really need to think about UX. Now they do and it&#8217;s about time! </p>
<p>So why do we need to think about UX? Well that&#8217;s perhaps a topic of discussion for another post. But let me just say one thing: Apple have demonstrated that good UX is what people want-no wait, it&#8217;s what people need. It&#8217;s in demand ! People are paying big money for it. The bottom line is software is used by people, human beings that laugh, cry, smile and frown! User interfaces inevitably trigger emotion in people and in the past its mainly been that of frustration. The time of the users is just as valuable to them as the time of the developers so helping users save time through good user interaction must be a first class requirement rather than a &#8220;nice to have&#8221; feature!</p>
<img src="http://feeds.feedburner.com/~r/SteviePOnSoftware/~4/iENT9eCXYZ0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.sunmetablog.co.uk/?feed=rss2&amp;p=596</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sunmetablog.co.uk/?p=596&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=windows-8-a-paradigm-shift-has-arrived</feedburner:origLink></item>
		<item>
		<title>Windows + Visual Studio + Flex = IPhone applications</title>
		<link>http://feedproxy.google.com/~r/SteviePOnSoftware/~3/2Tqc0qga5t4/</link>
		<comments>http://www.sunmetablog.co.uk/?p=581#comments</comments>
		<pubDate>Thu, 02 Jun 2011 09:05:10 +0000</pubDate>
		<dc:creator>Steve Psaltis</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Amethyst]]></category>
		<category><![CDATA[android development]]></category>
		<category><![CDATA[Flex 4.5]]></category>
		<category><![CDATA[IOS development]]></category>
		<category><![CDATA[Visual studio]]></category>

		<guid isPermaLink="false">http://www.sunmetablog.co.uk/?p=581</guid>
		<description><![CDATA[So with the latest version of Flex 4.5 hero SDK its now possible to package for IOS although market place support is not quite there yet but I am willing to let that one slide for now! So being a C# guy, naturally I wanted to see if I could get up and running with [...]]]></description>
			<content:encoded><![CDATA[<p>So with the latest version of Flex 4.5 hero SDK its now possible to package for IOS although market place support is not quite there yet but I am willing to let that one slide for now!</p>
<p>So being a C# guy, naturally I wanted to see if I could get up and running with flex in Visual Studio for a smaller learning curve. Guess what. I did ! Quite frankly I was amazed at the level of support for this.</p>
<p><a href="http://www.sapphiresteel.com/Adobe-Flex-In-Visual-Studio">Amethyst by Sapphire steel software </a> is a visual studio plug-in that allows you to develop flex applications. It&#8217;s all there; debugging, a visual designer, unit testing and it all just works, I was up and running in minutes writing my first flex application. It&#8217;s not free (fair enough ! It&#8217;s that good !) so I thought I would check out the free options too.</p>
<p>I am currently spiking out FlashDevelop with flex 4.5. FlashDevelop feels much lighter weight than Visual Studio. Its simpler, leaner and faster and I like it for that! Getting up and running is not quite so smooth but going through all the setup helps with the whole learning experience. At the moment I am going for a complete end to end spike so I&#8217;m interested in unit testing, IOC and other design pattern frameworks, build automation and deployment (just android for now).</p>
<p>I am trying to use FlexUnit for unit testing, Spring actionscript for IOC and I will see how it goes from there. </p>
<p>So far I have to say the experience has been a pleasant one. I don&#8217;t feel restricted by the tools in any way, just my lack of knowledge.</p>
<p>So why did I ditch Amethyst? One thing that put me off Amethyst is the proprietary attributes that it decorates methods with. It was too much black magic that I didn&#8217;t have time to learn. I didn&#8217;t want to get into any complications with compatibility down the line and I also didn&#8217;t want to rely on more vendors than I needed to. Just being dependent on Adobe feels more natural to me as it&#8217;s what I am used to in the Microsoft world. So I decided that vanilla Flex is the way to go. Sorry Sapphire steel !</p>
<img src="http://feeds.feedburner.com/~r/SteviePOnSoftware/~4/2Tqc0qga5t4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.sunmetablog.co.uk/?feed=rss2&amp;p=581</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.sunmetablog.co.uk/?p=581&amp;utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=windows-visual-studio-flex-iphone-applications</feedburner:origLink></item>
	</channel>
</rss>

