<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.1" -->
<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/"
	>

<channel>
	<title>Impessa software development</title>
	<link>http://blog.impessa.com</link>
	<description>The Wolf that never sleeps</description>
	<pubDate>Thu, 17 Jul 2008 13:43:01 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>
	<language>en</language>
			<item>
		<title>PostgreSQL: Quickly empty tables</title>
		<link>http://blog.impessa.com/2008/06/27/postgresql-quickly-empty-tables/</link>
		<comments>http://blog.impessa.com/2008/06/27/postgresql-quickly-empty-tables/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 09:09:14 +0000</pubDate>
		<dc:creator>kornel</dc:creator>
		
		<category><![CDATA[Postgresql]]></category>

		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.impessa.com/2008/06/27/postgresql-quickly-empty-tables/</guid>
		<description><![CDATA[If you have ever run into trouble while removing contents from large tables (because of foreign keys, relations, their huge size, or whatsoever), this is the ultimate solution: TRUNCATE. 

truncate table audit cascade;

In my case, this resulted in truncation of all tables (since every table has a reference to the audit table). If you wish [...]]]></description>
			<content:encoded><![CDATA[<p>If you have ever run into trouble while removing contents from large tables (because of foreign keys, relations, their huge size, or whatsoever), this is the ultimate solution: <strong><a href="http://www.postgresql.org/docs/8.3/static/sql-truncate.html" title="Postgresql 8.3 TRUNCATE" target="_blank">TRUNCATE</a>. </strong></p>
<pre name="code" class="sql">
truncate table audit cascade;
</pre>
<p>In my case, this resulted in truncation of all tables (since every table has a reference to the <em>audit</em> table). If you wish to perform the truncation only when there are no references at all, use the <em>restrict </em>keyword (or none at all, since it is the default):</p>
<pre name="code" class="sql">
truncate table audit restrict;
</pre>
<p>In case you are too lazy to read the documentation linked above, here is the most interesting part:</p>
<blockquote><p><tt class="COMMAND">TRUNCATE</tt> quickly removes all rows from a set of    tables. It has the same effect as an unqualified    <tt class="COMMAND">DELETE</tt> on each table, but since it does not actually scan the tables it is faster. Furthermore, it reclaims disk space immediately, rather than requiring a subsequent <tt class="COMMAND">VACUUM</tt>    operation. This is most useful on large tables.</p></blockquote>
<p>The most amazing thing about this command is its&#8217; speed. I have had to insert and remove data from a database quite often (database migration tests - migrate, see if correct, clean database, do it once again, and so on and so forth) and without <strong>truncate </strong>the only feasible solution was recreating the tables each time (the <strong>delete </strong>statement took ages). Now cleaning all tables works like a charm.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.impessa.com/2008/06/27/postgresql-quickly-empty-tables/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IBM Websphere 6.1 - setting a shared library reference while deploying</title>
		<link>http://blog.impessa.com/2008/06/25/ibm-websphere-61-setting-a-shared-library-reference-while-deploying/</link>
		<comments>http://blog.impessa.com/2008/06/25/ibm-websphere-61-setting-a-shared-library-reference-while-deploying/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 09:58:43 +0000</pubDate>
		<dc:creator>kornel</dc:creator>
		
		<category><![CDATA[Websphere]]></category>

		<category><![CDATA[IBM]]></category>

		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.impessa.com/2008/06/25/ibm-websphere-61-setting-a-shared-library-reference-while-deploying/</guid>
		<description><![CDATA[If you have a shared library set up on your IBM Websphere server, you might want to assign it automatically (while deploying) to an enterprise application. To do so, just create a deployment.xml file in the ear file:


&#60;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&#62;
&#60;appdeployment:Deployment xmi:version=&#34;2.0&#34; xmlns:xmi=&#34;http://www.omg.org/XMI&#34; xmlns:appdeployment=&#34;http://www.ibm.com/websphere/appserver/schemas/5.0/appdeployment.xmi&#34; xmi:id=&#34;Deployment_1214386232125&#34;&#62;
&#60;deployedObject xmi:type=&#34;appdeployment:ApplicationDeployment&#34; xmi:id=&#34;ApplicationDeployment_1214386232125&#34; deploymentId=&#34;0&#34; startingWeight=&#34;1&#34; useMetadataFromBinaries=&#34;false&#34; enableDistribution=&#34;true&#34; createMBeansForResources=&#34;true&#34; reloadEnabled=&#34;false&#34; filePermission=&#34;.*.dll=755#.*.so=755#.*.a=755#.*.sl=755&#34; allowDispatchRemoteInclude=&#34;false&#34; allowServiceRemoteInclude=&#34;false&#34;&#62;

&#60;modules [...]]]></description>
			<content:encoded><![CDATA[<p>If you have a shared library set up on your IBM Websphere server, you might want to assign it automatically (while deploying) to an enterprise application. To do so, just create a deployment.xml file in the ear file:</p>
<pre name="code" class="xml">

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;appdeployment:Deployment xmi:version=&quot;2.0&quot; xmlns:xmi=&quot;http://www.omg.org/XMI&quot; xmlns:appdeployment=&quot;http://www.ibm.com/websphere/appserver/schemas/5.0/appdeployment.xmi&quot; xmi:id=&quot;Deployment_1214386232125&quot;&gt;
&lt;deployedObject xmi:type=&quot;appdeployment:ApplicationDeployment&quot; xmi:id=&quot;ApplicationDeployment_1214386232125&quot; deploymentId=&quot;0&quot; startingWeight=&quot;1&quot; useMetadataFromBinaries=&quot;false&quot; enableDistribution=&quot;true&quot; createMBeansForResources=&quot;true&quot; reloadEnabled=&quot;false&quot; filePermission=&quot;.*.dll=755#.*.so=755#.*.a=755#.*.sl=755&quot; allowDispatchRemoteInclude=&quot;false&quot; allowServiceRemoteInclude=&quot;false&quot;&gt;

&lt;modules xmi:type=&quot;appdeployment:WebModuleDeployment&quot; xmi:id=&quot;WebModuleDeployment_MyWarModule&quot; deploymentId=&quot;1&quot; startingWeight=&quot;10000&quot; uri=&quot;webapp.war&quot;&gt;
&lt;classloader xmi:id=&quot;Classloader_MAIL&quot;&gt;
&lt;libraries xmi:id=&quot;LibraryRef_MAIL&quot; libraryName=&quot;Mail&quot; sharedClassloader=&quot;true&quot;/&gt;
&lt;/classloader&gt;
&lt;/modules&gt;
&lt;/deployedObject&gt;
&lt;/appdeployment:Deployment&gt;
</pre>
<p>This way, the <em>Mail </em>library will be assigned to the web module webapp.war. Easy, huh? The crucial part is &lt;modules &#8230;<strong> uri=</strong>&#8220;&#8230;&#8221; and &lt;libraries &#8230; <strong>libraryName</strong>=&#8221;&#8230;&#8221;</p>
<p>It seems to me there are also other possibilities using the libraries.xml file, I will test it later on, for now, this works perfectly.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.impessa.com/2008/06/25/ibm-websphere-61-setting-a-shared-library-reference-while-deploying/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IBM Websphere 6.1 - installing applications using wsadmin</title>
		<link>http://blog.impessa.com/2008/06/17/ibm-webpshere-61-installing-applications-using-wsadmin/</link>
		<comments>http://blog.impessa.com/2008/06/17/ibm-webpshere-61-installing-applications-using-wsadmin/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 17:17:01 +0000</pubDate>
		<dc:creator>kornel</dc:creator>
		
		<category><![CDATA[Websphere]]></category>

		<category><![CDATA[IBM]]></category>

		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.impessa.com/2008/06/17/ibm-webpshere-61-installing-applications-using-wsadmin/</guid>
		<description><![CDATA[Once a project designed to work on IBM Websphere approaches a final stage, our development team had slowly had to switch from deploying &#38; testing the application on their favorite Glassfish server to IBM&#8217;s solution. There was a clear need for an automated deployment solution. In Glassfish (like in many other servers, e.g. JBoss) it [...]]]></description>
			<content:encoded><![CDATA[<p>Once a project designed to work on IBM Websphere approaches a final stage, our development team had slowly had to switch from deploying &amp; testing the application on their favorite Glassfish server to IBM&#8217;s solution. There was a clear need for an <strong>automated deployment solution</strong>. In Glassfish (like in many other servers, e.g. JBoss) it is enough to copy the .ear archive to the appropiate <em>autodeploy </em>directory and you are done, in Websphere the <strong><em>wsadmin </em></strong>tool comes in handy. You should be able to find it in the &lt;WAS_ROOT&gt;/bin direcotry (in my case it was <em>C:/Program Files/IBM/WebSphere/AppServ01/bin</em>).</p>
<p>To install an application launch wsadmin supplying the necessary credentials, and issue the following commands:</p>
<pre name="code" class="html">

$ wsadmin -username admin -password secret

wsadmin&gt; $AdminApp install C:/path/to/your/appname.ear { -useAutoLink -defaultbinding.virtual.host &quot;default_host&quot; -usedefaultbindings }

wsadmin&gt; $AdminConfig save

wsadmin&gt; set appManager [$AdminControl queryNames cell=kornel2Node01Cell,node=kornel2Node01,type=ApplicationManager,process=server1,*]

wsadmin&gt; $AdminControl invoke $appManager startApplication appname
</pre>
<p>Notice the cell, node and server names, you might need to change these, as well as the virtual host. The <strong><em>-useAutoLink</em></strong> switch refers to the &#8220;<em>Allow EJB reference targets to resolve automatically&#8221; </em>setting known from the Integrated Solution Consoles installation process form. <strong><em>-defaultbinding.virtual.host</em></strong> together with <strong><em>-</em><em>usedefaultbindings </em></strong>specifies the virtual host to run the web app. To see other possible options try <strong><em>$AdminApp options.</em></strong></p>
<p>Having this, it would be nice to list all applications and remove the chosen one from the server:</p>
<pre name="code" class="html">

wsadmin&gt; $AdminApp list

wsadmin&gt; $AdminApp uninstall appname

wsadmin&gt; $AdminConfig save
</pre>
<p>Do not forget about the <strong><em>$AdminConfig save</em></strong> commands after both install and uninstall, it is a must. Notice, that all this commands can be invoked using the <strong><em>-c</em></strong> command line switch, and such functionality could be used e.g. in an Ant task. Example:</p>
<p><em>C:\&gt;&#8221;C:\Program Files\IBM\WebSphere\AppServer\bin\wsadmin.bat&#8221; -username admin -<br />
password secret -c <strong>&#8220;$AdminApp list&#8221;</strong></em></p>
<p>P.S. In our case we have been using IBM Websphere version 6.1.0.13, together with the EJB3 fixpack on both Linux and  Windows machines.</p>
<p>P.S.S. If you have sometimes trouble finding the application installed via the wsadmin tool in the Integrated Solution Console - you are not alone. I am having this problem too, if anyone knows why, please let me know! (the application works, however, it is only (?) not visible in the ISC).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.impessa.com/2008/06/17/ibm-webpshere-61-installing-applications-using-wsadmin/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Submit form via AJAX/jQuery</title>
		<link>http://blog.impessa.com/2008/06/05/submit-form-via-ajaxjquery/</link>
		<comments>http://blog.impessa.com/2008/06/05/submit-form-via-ajaxjquery/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 09:20:12 +0000</pubDate>
		<dc:creator>Marcin Popielarz</dc:creator>
		
		<category><![CDATA[AJAX]]></category>

		<category><![CDATA[Web]]></category>

		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.impessa.com/?p=36</guid>
		<description><![CDATA[Recently i was working on www.quickko.com - internet application where photographers can present their &#8220;photo of live&#8221;. When i was implementing comment submission parts of a system, i was forced to find a nice library to send form via ajax. I am a fan of jQuery thats why i decided to use jQuery form plugin [...]]]></description>
			<content:encoded><![CDATA[<p>Recently i was working on <a href="http://www.quickko.com" title="Quickko - show Your best photo">www.quickko.com</a> - internet application where photographers can present their &#8220;photo of live&#8221;. When i was implementing comment submission parts of a system, i was forced to find a nice library to send form via ajax. I am a fan of jQuery thats why i decided to use jQuery form plugin from <a href="http://www.malsup.com/jquery/form/" title="jQuery form plugin">http://www.malsup.com/jquery/form/</a>. The way how You use it was really impressive.</p>
<p>first i have created a form in my html file:</p>
<pre name="code" class="html">

&lt;form id=&quot;submitComment&quot; action=&quot;AddComment.do&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;hidden&quot; name=&quot;photo_id&quot; value={$PHOTO-&gt;data.photokey} /&gt;
&lt;p&gt;Twoje imię:&lt;/p&gt;&lt;input class=&quot;inputtext&quot; type=&quot;text&quot; name=&quot;author&quot; /&gt;
&lt;p&gt;komentarz:&lt;/p&gt;&lt;textarea name=&quot;comment&quot; rows=&quot;4&quot; cols=&quot;28&quot;&gt; &lt;/textarea&gt;
&lt;input type=&quot;submit&quot; value=&quot;dodaj komentarz&quot; /&gt;
&lt;/form&gt;
</pre>
<p>then i have included following javascript on a page</p>
<pre name="code" class="js">

jQuery(document).ready(

function(){
var options = {
dataType:        &#039;json&#039;,
success:       updateComment  // post-submit callback
};

$(&#039;#submitComment&#039;).ajaxForm(options);
}
);

function updateComment(data) {
$(&quot;.comments&quot;).prepend(&#039;&lt;div class=&quot;comment&quot;&gt;&lt;span class=&quot;author&quot;&gt;&#039;+data.author+&#039;&lt;/span&gt;&lt;span class=&quot;date&quot;&gt;&#039;+data.date+&#039;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;&#039;+data.comment+&#039;&lt;/span&gt;&lt;/div&gt;&#039;);
$(&#039;.add-new-comment&#039;).toggle();
$(&#039;.comment-message&#039;).toggle();
}
</pre>
<p>and thats it.</p>
<p>Now form is automatically send via ajax. All You need to do is to point in js file $(&#8217;#submitComment&#8217;).ajaxForm(options); and when form is submitted  updateComment() is executed.</p>
<p>Of course thare are much more options available besides dataType (defining that return data will be formatted as json) and success (which defines the callback function). You can specify function executed before submit, timeout &#8230; and more - available on a plugin page  <a href="http://www.malsup.com/jquery/form/" title="jQuery form plugin">http://www.malsup.com/jquery/form/</a>.</p>
<p>I also wanted to send a form to different domain using ajax - impossible - form can be send, data can be processed by remote server, but it does not return the values, and callback never executes.</p>
<p>Anyway i found this plugin very easy, intuitive, and definitely will use it in my further projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.impessa.com/2008/06/05/submit-form-via-ajaxjquery/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Putty tunnels</title>
		<link>http://blog.impessa.com/2008/05/09/putty-tunnels/</link>
		<comments>http://blog.impessa.com/2008/05/09/putty-tunnels/#comments</comments>
		<pubDate>Fri, 09 May 2008 11:53:58 +0000</pubDate>
		<dc:creator>Marcin Popielarz</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[Online Gaming]]></category>

		<category><![CDATA[Technical]]></category>

		<category><![CDATA[Company Life]]></category>

		<guid isPermaLink="false">http://blog.impessa.com/?p=33</guid>
		<description><![CDATA[While being involved in one of Impessa projects - WorldGaming,  I have  got some tips from our Candian partners regarding creating a tunnels using putty
The Goal was to access some services lets say (Sun Application Server - port 8080 and MySQL - port 3306 ) on one of the servers which was part [...]]]></description>
			<content:encoded><![CDATA[<p>While being involved in one of Impessa projects - WorldGaming,  I have  got some tips from our Candian partners regarding creating a tunnels using putty</p>
<p>The Goal was to access some services lets say (Sun Application Server - port 8080 and MySQL - port 3306 ) on one of the servers which was part of a local network. I was granted access to one of the machines - 10.1.1.16 (real IPs differ of course) having external IP 83.215.12.20, Sun Application Server was installed on 10.1.1.11:8080 (no external access), MySQL  on 10.1.1.12:3306 (no external access as well)</p>
<p>I am attaching some drawing  for explanation purposes, showing the idea:</p>
<p><img src="http://blog.impessa.com/wp-content/uploads/2008/05/firefox.jpg" alt="Tunneling idea" height="578" width="454" /></p>
<p>The project was about webservices, thats why I wanted to access WSDL file published on SunApplicationServer  10.1.1.11:8080 using my local browser</p>
<p>To achieve the goal we have taken following steps:</p>
<ol>
<li>created putty session pointing to  83.215.12.20</li>
<li>went to  Connection =&gt; SSH =&gt; Tunnels section and created two tunnels - mapping local port 9090 to 10.1.1.11:8080 and 3308 to 10.1.1.12:3306</li>
<li>we opened the session, and logged in to  83.215.12.20 (10.1.1.16)</li>
<li>finally we opened firefox typing http://localhost:9090/ &#8230;.. ?WSDL</li>
</ol>
<p>Screenshot of putty configuration below:</p>
<p><img src="http://blog.impessa.com/wp-content/uploads/2008/05/putty.jpg" alt="Putty tuneling configuration" /></p>
<p>This way we managed to access service published on server plugged to local network.</p>
<p>Connecting to putty creates tunnels in smart, transparent way, such that  All We had to do was to open the browser and use the service.</p>
<p>Thanks guys for all Your help.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.impessa.com/2008/05/09/putty-tunnels/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Social Network for Gamers, UGAME, Enters Private Beta</title>
		<link>http://blog.impessa.com/2008/02/18/social-network-for-gamers-ugame-enters-private-beta/</link>
		<comments>http://blog.impessa.com/2008/02/18/social-network-for-gamers-ugame-enters-private-beta/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 10:12:25 +0000</pubDate>
		<dc:creator>TechCrunch</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[Online Gaming]]></category>

		<category><![CDATA[Technical]]></category>

		<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://blog.impessa.com/?p=25</guid>
		<description><![CDATA[The prospect of founding a successful generic social network these days might be bleak given the dominance of players like MySpace and Facebook. However, there’s still plenty of room for niche social networks to rise and generate lots of participation.
UGAME, which enters closed private beta this week, wants eventually to be the leading social network [...]]]></description>
			<content:encoded><![CDATA[<p>The prospect of founding a successful generic social network these days might be bleak given the dominance of players like MySpace and Facebook. However, there’s still plenty of room for niche social networks to rise and generate lots of participation.</p>
<p><a href="http://www.ugame.net/" onclick="javascript:urchinTracker ('/outbound/www.ugame.net');">UGAME<img src="http://i.ixnp.com/images/v3.16.1/t.gif" id="snap_com_shot_link_icon" class="snap_preview_icon" style="border: 0pt none ; margin: 0pt ! important; padding: 1px 0pt 0pt; font-style: normal; font-weight: normal; font-family: 'trebuchet ms',arial,helvetica,sans-serif; float: none; position: static; left: auto; top: auto; line-height: normal; background-image: url('http://i.ixnp.com/images/v3.16.1/theme/silver/palette.gif'); background-color: transparent; width: 14px; height: 12px; background-position: -944px 0pt; background-repeat: no-repeat; text-decoration: none; visibility: visible; vertical-align: top; display: inline" /></a>, which enters closed private beta this week, wants eventually to be the leading social network for gamers. The site will start off as a place where competitive PC gamers in particular can socialize, share their gaming feats, and organize themselves into teams and other associations. While UGAME will initially cater to the World of Warcraft, Counterstrike, and Quake obsessive, its motto points to a more ambitious future with “All Games. All Platforms. All People.”</p>
<p><a href="http://www.techcrunch.com/wp-content/ugame_shot.png"><img src="http://www.techcrunch.com/wp-content/ugame_thumb.png" class="shot" /></a></p>
<p>A key to starting a successful niche social network probably lies in the creators’ ability to balance familiar features with ones that capitalize on the niche’s unique qualities. If this is true then the team behind UGAME is off to a good start. They’ve built in lots of functionality that will be immediately familiar: news feeds, profiles, friends, blogs, photo galleries, status updates, etc.</p>
<p>But they’ve also added gaming twists to these features and built out new features that don’t exist elsewhere. To name a few: members can post their gaming achievements from both tournament and non-tournament events; they can list their favorite games and computer hardware specs; and they can join teams that are allotted their own public-facing profiles.</p>
<p>UGAME grants users an unusual amount of control over privacy settings. While all sections of the site are accessible to non-registered users, only elements designated as “public” will show up to everyone. Privately designated elements such as photo galleries and profiles will remain accessible only to friends and other permitted users. Founder Sam Mathews describes UGAME in regards to privacy settings as a cross between Facebook and MySpace.</p>
<p>If the premise behind UGAME sounds familiar, you’ve probably heard of Shawn Fanning’s social networking project <a href="http://www.rupture.com/" onclick="javascript:urchinTracker ('/outbound/www.rupture.com');">Rupture<img src="http://i.ixnp.com/images/v3.16.1/t.gif" id="snap_com_shot_link_icon" class="snap_preview_icon" style="border: 0pt none ; margin: 0pt ! important; padding: 1px 0pt 0pt; font-style: normal; font-weight: normal; font-family: 'trebuchet ms',arial,helvetica,sans-serif; float: none; position: static; left: auto; top: auto; line-height: normal; background-image: url('http://i.ixnp.com/images/v3.16.1/theme/silver/palette.gif'); background-color: transparent; width: 14px; height: 12px; background-position: -944px 0pt; background-repeat: no-repeat; text-decoration: none; visibility: visible; vertical-align: top; display: inline" /></a>, which has been in closed beta for over a year. Or it may remind you of <a href="http://www.wegame.com/" onclick="javascript:urchinTracker ('/outbound/www.wegame.com');">WeGame<img src="http://i.ixnp.com/images/v3.16.1/t.gif" id="snap_com_shot_link_icon" class="snap_preview_icon" style="border: 0pt none ; margin: 0pt ! important; padding: 1px 0pt 0pt; font-style: normal; font-weight: normal; font-family: 'trebuchet ms',arial,helvetica,sans-serif; float: none; position: static; left: auto; top: auto; line-height: normal; background-image: url('http://i.ixnp.com/images/v3.16.1/theme/silver/palette.gif'); background-color: transparent; width: 14px; height: 12px; background-position: -944px 0pt; background-repeat: no-repeat; text-decoration: none; visibility: visible; vertical-align: top; display: inline" /></a>, a YouTube for gaming videos that <a href="http://www.techcrunch.com/2008/01/09/wegame-launches-as-youtube-for-gamers/">we wrote about</a> last month (and which shares a startlingly similar name and color scheme).</p>
<p>UGAME will open its private beta in a few weeks; you can email <a href="mailto:inviteme@ugame.net?subject=TechCrunch%20Sent%20Me">this address</a> with a mention of your favorite game to put yourself down on a preferred TC readers list for when that happens.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.impessa.com/2008/02/18/social-network-for-gamers-ugame-enters-private-beta/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Brainstorm? Rather braintornado!</title>
		<link>http://blog.impessa.com/2007/10/28/brainstorm-rather-braintornado/</link>
		<comments>http://blog.impessa.com/2007/10/28/brainstorm-rather-braintornado/#comments</comments>
		<pubDate>Sun, 28 Oct 2007 12:22:11 +0000</pubDate>
		<dc:creator>Marcin Popielarz</dc:creator>
		
		<category><![CDATA[Project management]]></category>

		<category><![CDATA[Company Life]]></category>

		<guid isPermaLink="false">http://blog.impessa.com/?p=27</guid>
		<description><![CDATA[Recently, Impessa won the public tender at the polish Institute of National Remembrance. The project is to transform 15 000 paper form questionnaires, to the form of the database with all the answers quantified; based on this data a statistical analysis is to be performed. There is not anything special about the project but the [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, Impessa won the public tender at the polish Institute of National Remembrance. The project is to transform 15 000 paper form questionnaires, to the form of the database with all the answers quantified; based on this data a statistical analysis is to be performed. There is not anything special about the project but the time boundaries. All this is to be achieved within less then 6 weeks, i.e. till 15th of December 2007.</p>
<h5>Preparation</h5>
<p>Just before we created a bid for the project I spoke to our salesman asking about the approximate costs of the whole project.<br />
It shouldn&#8217;t be much – he said. 3 people, 2 weeks, not more. I would probably be able to type in around 300 hundred questionnaires a day – he added.</p>
<p>I do not know why I asked him, he should be the last person to ask such questions to. He is a salesman, analytics is not his powerful side (sorry Andrew, the more important ones are). Anyway my intuition was telling me that would require a deeper investigation – figures that would say all by themselves.</p>
<h5>First approach</h5>
<p>I started to think of the input: 15 000 questionnaires, 2 A3 stapled pages printed both sides, about 1 000 000 questions (wow), 2/5 of them have open answers that required quantization against a special scale, about 6 weeks time, penalty for loosing any part of the questionnaires – 10% of the contract.<br />
The simplest solution: to loose the biggest part of questionnaires – all of them :), and submit blank report pages of course would not be accepted – not in Impessa.</p>
<p>After about 4 hours of thinking I had an idea of the whole process and some first figues. All thay said was that the numbers fired by Andrew were from the finger. Assuming 15 seconds for the quantization of an open question and 4 seconds for the closed ones the outcome was: 2400 man-hours of work, i.e. 15 persons working full time for a period of one month.<br />
This has given me an image of the problem. It definitely required a deeper analysis. Impessa does not have the technical infrastructure to increase the employment by 15 persons. Besides, how would we find so many of them in few days. The only reasonable thought was to give the questionnaires to the employees (did not know yet  how to find so many of them so quickly), so they could work home.<br />
Then another problem came to my mind: what if these people would lose the questionnaires? We would be charged 10% of the contract value, besides the data lost could be significant for the analysis. Maybe we should copy all of them before handing over?</p>
<h5>Brainstorming</h5>
<p>At this point my mind was full with worries, doubts and I even asked myself the basic question: is it worth doing the project? Project was risky, but something has said to me it would be valuable project to our company.</p>
<p>Fed up with my thoughts, I asked 6 people in our office to help me think about the solution. I wanted to know some other points of view. That was a very good step.</p>
<p>Tuesday in the morning we all gathered in our meeting room for a small brainstorm. I described the whole project plus my current ideas. They agreed, questionnaires would have to be distributed and would require a copy, so the client would not lose any data. When we all started to calculate, based on my &#8217;seconds per questions&#8217; assumptions they all understood my worries. Anyway I pushed I would like to come up with the cost calculation that day.<br />
One of the guys said it would be pointless to paper copy all of the questionnaires. Why to cut the rainforest when it is cheaper to scan the questionnaires?<br />
- Indeed it would be cheaper, what a simple and brilliant idea -  I said <img src='http://blog.impessa.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<br />
Anyway scanning (just like copying) required a certain amount of work (stapleing out, scanning, managing output files). Our calculations told us it would take 1 week to scan all of them with 3 people involved. We had to subtract 1 week from the total 6 in favor of just scanning (quality control costs time and money). Another week had to be subtracted, because our statistic analyst wanted to have at least a week to prepare the analysis. We were left 4 weeks to process the questionnaires.<br />
Next we have kept thinking about the staff required. The calculations were simple: 15 persons full time, four weeks. But what if I made a mistake with our assumptions? Guys did not let me to assume these were correct. Especially that employees would have to have the scan JPG open, switch the input and the scan screens, look up the quantization scale to quantify the question. Guys have added few seconds to each question time to create a second variant, and there we were: 24 persons full time, four weeks. I defended my position and we ended up having two variants: cheap one and secure one.</p>
<p>The more we thought the bigger the worries and doubts were, the less convinced I was this would be a valuable project for us. But something pushed me saying it would.</p>
<p>I asked the whole team, to come up with some other idea. Maybe the idea that we have started with – mine – was bad. Maybe there existed a better one. Suddenly, Maciej has fired his idea:<br />
Why wouldn&#8217;t we publish the scans online through the web interface and allow users to be able to switch the questions. They would have an answer, form and the quantization scale on one screen. That would speed up the whole thing!</p>
<h5>Joining it all together</h5>
<p>We have started to follow this direction, and found another advantage of this approach. Employees could work from wherever and whenever they wanted, what is more, the employment with these conditions, with $/question rate would be much easier. Nowaday many students, housemaids etc. look for some part-time job.<br />
As we were discussing longer we have found another positive: we would let the users to process only one / two question types. User no longer would have to lookup the scale. After few repetitions of the same question he would keep it in mind. About 250years have passed since Adam Smith has discovered the division of labor, this would be very productive – we all thought.<br />
Few minutes later, another idea was fired by somebody: process audit and progress monitoring would be easier with the system. We could watch the users&#8217; responses with the same interface they use for the input.</p>
<p>That was it, we have hit the target, that could be felt.<br />
The distributed system processing had only one drawback, some identification numbers would have to be imprinted on the questionnaire pages, plus the system would have to be implemented in a very short time.</p>
<p>We have started to summarize our assumptions and there we were:<br />
- unstapling, questionnaire&#8217;s pages imprinting, scanning, stapling back,<br />
- feeding the system with the questionnaires cut into pieces,<br />
- distributed processing with the use of a system,<br />
- monitoring the processing progress,<br />
- auditing the employees,<br />
- exporting the database to the statistical program friendly format,<br />
- preparation of the analysis.</p>
<p>Once again we have calculated the costs and it appeared to be much smaller. First variant seemed to be achievable. Smaller rates for the employees, no questionnaires losing penalty (which previously was added to the overall costs), almost unlimited employment possibilities: these were the main factors that were saying these project was valuable and worth doing.</p>
<p>At this point we knew our bid price was reasonable, probably smaller than any other proposed. Also, the probability of project accomplishment has significantly increased. Almost all of the above mentioned project stages could be lead concurrently.</p>
<h5>Ready, steady go!</h5>
<p>This was a great mind share. Everybody was very excited we have managed to come up to such a simple idea. Ready to fight, knowing that the victory was possible, we were ready to go for a lunch.</p>
<p>Small digression: later that day, when only I and Michael were left in the office, a telephone rung. That was the PENTOR interviewer, calling to ask me if I wanted to take part in the research measuring the people satisfaction of the  polish telecommunication monopolist services. Of course I am not – I thought. Just before I disconnected (not interested in the research at all, as I knew it would take 10mins at least), out of the blue an idea came to my mind. Why would not I take some feedback from the interviewer? I asked him if he was interested in a quick barter: his answers for my answers. As he agreed I checked all our timing assumptions, system idea, etc. Our variant was approved by a person who does fill in the online survey forms every day. Additionally he had gave me a small remark that no man would resist processing 15 000 question answers of the same kind, that we should change people&#8217;s questions after about 2 000. That was a valuable information for us.</p>
<p>Just to remind, with the price we came out with, we were competitive and finally we have won the bid. The next objective now is to accomplish the project in time – as always.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.impessa.com/2007/10/28/brainstorm-rather-braintornado/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Prepping A Second Life Competitor?</title>
		<link>http://blog.impessa.com/2007/09/24/google-prepping-a-second-life-competitor/</link>
		<comments>http://blog.impessa.com/2007/09/24/google-prepping-a-second-life-competitor/#comments</comments>
		<pubDate>Mon, 24 Sep 2007 09:31:55 +0000</pubDate>
		<dc:creator>TechCrunch</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[Online Gaming]]></category>

		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.impessa.com/?p=6</guid>
		<description><![CDATA[Rumors of a Google powered virtual world based on Google Earth surfaced in January; today there is word that Google may be testing their virtual world at Arizona State University (ASU).According to Google Operating System, ASU students have the opportunity to test a new product “that will be publicly launched later this year” by “a [...]]]></description>
			<content:encoded><![CDATA[<p>Rumors of a Google powered virtual world based on Google Earth surfaced <a href="http://www.techcrunch.com/2007/01/24/googles-metaverse/">in January</a>; today there is word that Google may be testing their virtual world at Arizona State University (ASU).<a href="http://googlesystem.blogspot.com/2007/09/social-network-for-google-earth.html" onclick="javascript:urchinTracker ('/outbound/googlesystem.blogspot.com');">According to<img src="http://i.ixnp.com/images/v2.23.0.3/t.gif" id="snap_com_shot_link_icon" class="snap_preview_icon" style="border: 0pt none ; margin: 0pt ! important; padding: 1px 0pt 0pt; font-style: normal; font-weight: normal; font-family: 'trebuchet ms',arial,helvetica,sans-serif; float: none; position: static; left: auto; top: auto; line-height: normal; background-image: url('http://i.ixnp.com/images/v2.23.0.3/theme/silver/palette.gif'); background-color: transparent; width: 14px; height: 12px; background-position: -889px 0pt; background-repeat: no-repeat; text-decoration: none; visibility: visible; display: inline" /></a> Google Operating System, ASU students have the opportunity to test a new product “that will be publicly launched later this year” by “a major Internet company” that is related to social networking, 3D modeling and video games. The questionnaire attached to the application process asks would be testers if they have a Gmail account, and if not would they be willing to get one. The product’s name is shown as “My World.”</p>
<p>Google’s Sketchup service already provides the tech to do 3D modeling and could also be used to create avatars.</p>
<p>We know for certain now that Google has big plans for social networking, from <a href="http://www.techcrunch.com/2007/07/08/google-yahoo-both-working-on-next-generation-social-networks/">SocialStream</a> to Google’s planned <a href="http://www.techcrunch.com/2007/09/21/google-to-out-open-facebook-on-november-5/">November 5 launch</a> of the mother of all open social networking platforms. Whether the planned service will be a true Second Life competitor is still to be seen, however I suspect that if Google is prepping a virtual world it will be closer to IBM’s Virtual World chat platform than Second Life. To deliver a full UGC world is a not an easy step where a basic 3D world which builds on Google Earth, SketchUp, and existing Google social networking platforms including Orkut would seem more likely.<br />
<img src="http://www.techcrunch.com/wp-content/myworld.png" alt="myworld.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.impessa.com/2007/09/24/google-prepping-a-second-life-competitor/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Protected: Ooma Launches Free Consumer Phone Service</title>
		<link>http://blog.impessa.com/2007/07/19/ooma-launches-free-consumer-phone-service/</link>
		<comments>http://blog.impessa.com/2007/07/19/ooma-launches-free-consumer-phone-service/#comments</comments>
		<pubDate>Thu, 19 Jul 2007 15:05:05 +0000</pubDate>
		<dc:creator>TechCrunch</dc:creator>
		
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.impessa.com/?p=5</guid>
		<description><![CDATA[There is no excerpt because this is a protected post.]]></description>
			<content:encoded><![CDATA[<form action="http://blog.impessa.com/wp-pass.php" method="post">
<p>This post is password protected. To view it please enter your password below:</p>
<p><label>Password:<br />
<input name="post_password" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="Submit" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://blog.impessa.com/2007/07/19/ooma-launches-free-consumer-phone-service/feed/</wfw:commentRss>
		</item>
		<item>
		<title>217 Million People Play Online Games</title>
		<link>http://blog.impessa.com/2007/07/10/217-million-people-play-online-games/</link>
		<comments>http://blog.impessa.com/2007/07/10/217-million-people-play-online-games/#comments</comments>
		<pubDate>Tue, 10 Jul 2007 10:33:23 +0000</pubDate>
		<dc:creator>TechCrunch</dc:creator>
		
		<category><![CDATA[Web]]></category>

		<category><![CDATA[Online Gaming]]></category>

		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.impessa.com/?p=3</guid>
		<description><![CDATA[217 million people worldwide play online games, according to new figures released by comScoreThe study took into account all sites that provide online or downloadable games but excluded gambling sites. The 217million users account for 28 percent of all people online.
Yahoo! Games led the pack, attracting 53 million unique visitors. The fastest-growing Top 10 gaming [...]]]></description>
			<content:encoded><![CDATA[<p>217 million people worldwide play online games, according to new figures <a href="http://www.comscore.com/press/release.asp?press=1521" onclick="javascript:urchinTracker ('/outbound/www.comscore.com');">released by comScore</a>The study took into account all sites that provide online or downloadable games but excluded gambling sites. The 217million users account for 28 percent of all people online.</p>
<p>Yahoo! Games led the pack, attracting 53 million unique visitors. The fastest-growing Top 10 gaming property was the WildTangent Network.<br />
<img src="http://www.techcrunch.com/wp-content/com1.png" alt="com1.png" /><br />
The report appears to count visits to the actual gaming sites as opposed to actual user numbers. Under this methodology, online worlds such as Second Life and World of Warcraft attract a smaller share of the market as many users would not regularly visit a central page (such as with Yahoo Games) but play directly via a desktop client. Notably though, traffic to secondlife.com is surprisingly close to the visitor numbers for worldofwarcraft.com.</p>
<p><img src="http://www.techcrunch.com/wp-content/com1.jpg" alt="com1.jpg" /></p>
<p>Full TechCrunch Second Life coverage <a href="http://www.techcrunch.com/tag/secondlife">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.impessa.com/2007/07/10/217-million-people-play-online-games/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
