<?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>Hexacta Blog</title>
	<atom:link href="http://blog.hexacta.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hexacta.com</link>
	<description></description>
	<lastBuildDate>Thu, 15 Nov 2012 19:13:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Scrum Vs. Kanban</title>
		<link>http://blog.hexacta.com/scrum-vs-kanban/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=scrum-vs-kanban</link>
		<comments>http://blog.hexacta.com/scrum-vs-kanban/#comments</comments>
		<pubDate>Thu, 15 Nov 2012 19:03:23 +0000</pubDate>
		<dc:creator>Andrea Sanchez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hexacta.com/?p=724</guid>
		<description><![CDATA[By Pedro Alessandri We have recently incorporated in Hexacta a new agile project management methodology that easily adapts to the project needs when their requirements definition is not given in its initial stage of inception, but occurs during the course of it. Kanban is a Japanese word that can be translated as “visual cards” (kan: visual, ban: card).  It emerged as a consequence of a methodology called Lean, built by Toyota to improve its production using Just in Time techniques (JIT).  Kanban is not a specific technique for software development and its goal is to manage, in a more general way, how tasks are expected to be completed. The main three rules are the following: •    Take into account the [...]]]></description>
			<content:encoded><![CDATA[<p>By Pedro Alessandri</p>
<p>We have recently incorporated in Hexacta a new agile project management methodology that easily adapts to the project needs when their requirements definition is not given in its initial stage of inception, but occurs during the course of it.<br />
Kanban is a Japanese word that can be translated as “visual cards” (kan: visual, ban: card).  It emerged as a consequence of a methodology called Lean, built by Toyota to improve its production using Just in Time techniques (JIT).  Kanban is not a specific technique for software development and its goal is to manage, in a more general way, how tasks are expected to be completed.</p>
<p>The main three rules are the following:<br />
•    Take into account the phases of the production cycle or workflow.<br />
•    Determine the limit of &#8220;work in progress&#8221; (or WIP).<br />
•    Measure the time spent in order to complete a task (known as &#8220;lead time&#8221;).<br />
For a better understanding, here’s a comparison between Scrum methodology, with which we have been working for some time now, and Kanban:</p>
<p>&nbsp;</p>
<p><a href="http://blog.hexacta.com/wp-content/uploads/2012/11/final.jpg"><img class="aligncenter size-full wp-image-731" title="final" src="http://blog.hexacta.com/wp-content/uploads/2012/11/final.jpg" alt="" width="660" height="472" /></a><br />
I personally believe that the best strategy to apply depends on how client requirements are managed:<br />
•    Full Scrum: when client participates actively and has a defined number of requirements.<br />
•    Full Kanban: when there are no defined requirements.<br />
•    Mixed: Scrum for development, Kanban for bug fixing.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexacta.com/scrum-vs-kanban/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The sunk cost: Farmville and software projects.</title>
		<link>http://blog.hexacta.com/the-sunk-cost-farmville-and-software-projects/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-sunk-cost-farmville-and-software-projects</link>
		<comments>http://blog.hexacta.com/the-sunk-cost-farmville-and-software-projects/#comments</comments>
		<pubDate>Fri, 21 Sep 2012 15:05:53 +0000</pubDate>
		<dc:creator>Andrea Sanchez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hexacta.com/?p=717</guid>
		<description><![CDATA[By Manuel Ilincheta &#160; The 50 million users of Farmville (online game where the player is responsible for its virtual farm) may not have much fun while playing, but they are a good example of a curious phenomenon that is rooted in the fear of humans towards losses. They are a perfect case of the &#8220;sunk cost fallacy&#8221; that affects both the online gaming world and business decisions taken by companies. &#160; The sunk cost is an expense or investment that once made cannot be recovered. So the sunk cost fallacy is a behavior that is manifested in the trend to maintain a course of action when money, time or effort have been invested in it, but a simple analysis [...]]]></description>
			<content:encoded><![CDATA[<p>By Manuel Ilincheta</p>
<p>&nbsp;</p>
<p>The 50 million users of Farmville (online game where the player is responsible for its virtual farm) may not have much fun while playing, but they are a good example of a curious phenomenon that is rooted in the fear of humans towards losses. They are a perfect case of the &#8220;sunk cost fallacy&#8221; that affects both the online gaming world and business decisions taken by companies.</p>
<p>&nbsp;</p>
<p>The sunk cost is an expense or investment that once made cannot be recovered. So the sunk cost fallacy is a behavior that is manifested in the trend to maintain a course of action when money, time or effort have been invested in it, but a simple analysis makes it clear that only the incremental costs and benefits should be taken into account when making a decision.<br />
And this is, in the words Sizhao Zao Yang, co-creator of Farmville, one of the foundations of the success of the game: &#8220;Farmville uses a concept called appointment gaming, which is based on the fundamental concept of using time and investment to make the player return. This concept is called the sunk cost fallacy. The investment made in the game is crucial to make the player feel psychologically attracted to return &#8230; &#8220;.</p>
<p>&nbsp;</p>
<p>Studies made by Kahneman and Tversky in the 70s pointed out that people risked only a certain amount with the promise of a prize twice as big. The conclusion was that the fear of loss is at least two times greater than the interest in winning. The fear of loss is a major human motivational factor. Animals and children, according to Plaisier and Webley studies, are much less susceptible to this effect.</p>
<p>&nbsp;</p>
<p>And this force is evident in the mechanics of Farmville, where players engage in the virtual world, and not honoring the commitments has consequences: if the player does not return, his work in the game (crops and animals) is wasted, leaving the player with a sense of loss. Of course you can pay real money to avoid these losses. And this triggers a cycle, in which the player does not play to enjoy, but to avoid negative feelings or chooses to pay to avoid them.</p>
<h3>What happens in the software industry?</h3>
<p>This phenomenon occurs in all spheres of our lives, and also happens to teams developing software. Imagine a team working on a new module for its client. What should be considered when the development is in an advanced stage and the client reports business changes that affect the architecture? Re-do everything that has been developed, or somehow try to adapt the existing? Time and effort invested will be &#8220;wasted&#8221; if you decide to redefine the module &#8230; although this module is not perfect it should be finished. On the other hand, the redefinition will make the system better reflect and meet the client&#8217;s business objectives. In light of the above, the team will tend to overestimate the time and effort invested. To avoid &#8220;losing&#8221; this investment, unrecoverable anyway, the decision will be in most cases to continue over the previous road instead of restarting the work. An objective technical analysis would certainly recommend reengineering to achieve the best solution.</p>
<p>&nbsp;</p>
<p>This also applies to decisions to implement systems for large companies. In a surprisingly large number of cases development and deployment of technologies are continued even though they are already known not aligned with the new strategic objectives of the company.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexacta.com/the-sunk-cost-farmville-and-software-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GIS – Maps navigation with OpenLayers</title>
		<link>http://blog.hexacta.com/gis-%e2%80%93-maps-navigation-with-openlayers/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gis-%25e2%2580%2593-maps-navigation-with-openlayers</link>
		<comments>http://blog.hexacta.com/gis-%e2%80%93-maps-navigation-with-openlayers/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 19:48:23 +0000</pubDate>
		<dc:creator>Andrea Sanchez</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://blog.hexacta.com/?p=648</guid>
		<description><![CDATA[Continuing with the previous post about GIS Map Server, we will see how to navigate in maps generated by a map server. The intention is that the experience of browsing and interacting with the maps be similar to that provided by Google Maps. In particular, we will discuss about a popular and supported by the community library called Open Layers. It is a javascript library that aims to build a grid of images obtained from a map server and distribute the images so that they can be browsed fluidly. The library also allows to interact with the map marking points, lines and zones. Integration OpenLayers supports the standard WMS that allows to connect to different map servers that can work [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.hexacta.com/wp-content/uploads/2012/03/openlayers-logo-40.png"><img class="alignleft size-full wp-image-650" title="openlayers-logo-40" src="http://blog.hexacta.com/wp-content/uploads/2012/03/openlayers-logo-40.png" alt="" width="195" height="37" /></a>Continuing with the previous post about GIS Map Server, we will see how to navigate in maps generated by a map server. The intention is that the experience of browsing and interacting with the maps be similar to that provided by Google Maps.<br />
In particular, we will discuss about a popular and supported by the community library called Open Layers. It is a javascript library that aims to build a grid of images obtained from a map server and distribute the images so that they can be browsed fluidly. The library also allows to interact with the map marking points, lines and zones.<br />
<span id="more-648"></span></p>
<h2>Integration</h2>
<p>OpenLayers supports the standard WMS that allows to connect to different map servers that can work with that standard. This means that any other type of MapServer or GeoServer map server could be used as a map provider.<br />
Alternatively, you can use Google´s map server images to browse with OpenLayers. This means that OpenLayers would allow to “move” and “zoom” the map and Google will be in charge of providing the images for each zone. Not only Google can be used as an images provider, but also Yahoo or Bing, among others.<br />
This functionality brings a key advantage in terms of using Google, Yahoo or Bing’s library. It allows abstracting from the map provider, which allows changing it without having to migrate the code. It also allows the developer to use a provider, such as Google, until her own map server is running.</p>
<h2>Layers</h2>
<p><a href="http://blog.hexacta.com/wp-content/uploads/2012/03/BaseLayer-300x3001.gif"><img class="alignleft size-full wp-image-651" title="BaseLayer-300x300" src="http://blog.hexacta.com/wp-content/uploads/2012/03/BaseLayer-300x3001.gif" alt="" width="240" height="240" /></a><br />
The layers represent the images sources that can be displayed by OpenLayers.<br />
Layers are classified into Base Layers, Non Base layers (Overlays) and Raster Layers.<br />
The most common layer scenario is the BaseLayer, which represents the essential characteristic of the map. A base layer could be a satellite, hydrographic, lifting or streets map.<br />
The base layers are mutually exclusive, meaning that only one base layer can be shown at a time. Fortunately, OpenLayers allows adding a browsing control that provides a switch to change between base layers.<br />
An example of an OpenLayers map with many layers:</p>
<p>&nbsp;</p>
<p>1  var map;<br />
2<br />
3  function initMap() {<br />
4  map = new OpenLayers.Map(&#8216;map&#8217;);<br />
5  map.addControl(new OpenLayers.Control.LayerSwitcher());<br />
6<br />
7  var gphy = new OpenLayers.Layer.Google(<br />
8  &#8220;Google Physical&#8221;,<br />
9 {type: google.maps.MapTypeId.TERRAIN}<br />
10 );<br />
11  var gmap = new OpenLayers.Layer.Google(<br />
12 &#8220;Google Streets&#8221;, // the default<br />
13 {numZoomLevels: 20}<br />
14  );<br />
15  var ghyb = new OpenLayers.Layer.Google(<br />
16 &#8220;Google Hybrid&#8221;,<br />
17  {type: google.maps.MapTypeId.HYBRID, numZoomLevels: 20}<br />
18  );<br />
19  var gsat = new OpenLayers.Layer.Google(<br />
20 &#8220;Google Satellite&#8221;,<br />
21 {type: google.maps.MapTypeId.SATELLITE, numZoomLevels: 22}<br />
22  );<br />
23  var wms = new OpenLayers.Layer.WMS( &#8220;WMS&#8221;, &#8220;http://osgeolive/cgi-bin/mapserv?&#8221;,<br />
24 {map: &#8216;/home/user/Mapas/Argentina/argentina.map&#8217;,<br />
25  layers: &#8216;default&#8217;,<br />
26  transparent: &#8216;off&#8217;},<br />
27  {maxExtent: new OpenLayers.Bounds(-9548635,-5889094,18604187,-597430),<br />
28  scales: [5000,10000,25000,50000,100000,250000,500000,<br />
29  1000000,2500000,5000000,10000000,25000000,50000000,100000000],<br />
30  units: &#8216;m&#8217;,<br />
31   projection:new OpenLayers.Projection(&#8220;EPSG:900913&#8243;)} );<br />
32<br />
33  map.addLayers([gphy, gmap, ghyb, gsat, wms]);<br />
34<br />
35  // Google.v3 uses EPSG:900913 as projection, so we have to<br />
36  // transform our coordinates<br />
37  map.setCenter(new OpenLayers.LonLat(-34.57215,-58.42984), 5);<br />
38  }</p>
<p>For more details on OpenLayers layers, refer to: http://docs.openlayers.org/library/layers.html</p>
<h2>Overlays</h2>
<p>The overlays are features that can be added to a map, for instance, a marker, a polygon, or a line that can be drawn over the map.<br />
OpenLayers provides methods that allow adding these overlays to a map on a page.<br />
Example:</p>
<p>1 var map;<br />
2<br />
3  function initMarkerMap() {<br />
4  map = new OpenLayers.Map(&#8216;map&#8217;);<br />
5  var wms = new OpenLayers.Layer.WMS(&#8220;OpenLayers WMS&#8221;,&#8221;http://vmap0.tiles.osgeo.org/wms/vmap0&#8243;,{layers: &#8216;basic&#8217;});<br />
6<br />
7  var feature = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(0, 0), { type: 5 });<br />
8  var points = new OpenLayers.Layer.Vector(&#8220;Points&#8221;);<br />
9  points.addFeatures(feature);<br />
10 map.addLayers([wms, points]);<br />
11<br />
12 var select = new OpenLayers.Control.SelectFeature(points, {hover: true});<br />
13 map.addControl(select);<br />
14 select.activate();<br />
15<br />
16 map.setCenter(new OpenLayers.LonLat(0, 0), 1);<br />
17 }</p>
<p>To set a marker over a point:</p>
<p>1 function addPointOnClic(eventArgs) {<br />
2 var lonlat = map.getLonLatFromViewPortPx(e.xy);<br />
3 var lon = lonlat.lon;<br />
4 var lat = lonlat.lat;<br />
5<br />
6 var pointLayer = new OpenLayers.Layer.Vector(&#8216;Points&#8217;, { styleMap: myStyles });<br />
7 map.addLayers([pointLayer]);<br />
8 var bPoint = new OpenLayers.Geometry.Point(lon , lat)<br />
9 newpoint = new OpenLayers.Feature.Vector(bPoint);<br />
10 pointLayer.addFeatures(newpoint);<br />
11 }</p>
<p>&nbsp;</p>
<h2>Events</h2>
<p>As Google Maps, OpenLayers presents events that can be used, such as:<br />
•    mouseover<br />
•    mouseout<br />
•    mousedown<br />
•    mouseup<br />
•    mousemove<br />
•    click<br />
•    dblclick<br />
•    resize<br />
•    focus<br />
•    blur<br />
•    moveend<br />
•    zoomend<br />
•    changelayer<br />
•    changebaselayer</p>
<p>An example of listeners attached to maps:</p>
<p>1 map = new OpenLayers.Map(&#8216;map&#8217;, {<br />
2 eventListeners: {<br />
3 &#8220;moveend&#8221;: mapEvent,<br />
4 &#8220;zoomend&#8221;: mapEvent,<br />
5 &#8220;changelayer&#8221;: mapLayerChanged,<br />
6 &#8220;changebaselayer&#8221;: mapBaseLayerChanged<br />
7 }<br />
8 });</p>
<p>These events rely on functions that know how to handle them when they arise.<br />
It is important to highlight that OpenLayers’ mobile version presents a series of “touch events” that can be used, such as pinch, touch or tap, making it possible to take the advantages of OpenLayers to the mobile world.</p>
<p>&nbsp;</p>
<h2>Customization:</h2>
<p><a href="http://blog.hexacta.com/wp-content/uploads/2012/03/image_pallette-150x150.jpg"><img class="alignleft size-full wp-image-652" title="image_pallette-150x150" src="http://blog.hexacta.com/wp-content/uploads/2012/03/image_pallette-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>Openlayers allows completely customizing all of its controls by changing certain classes of css, creating a different look &amp; feel from other providers, such as Google or Bing.<br />
This page is a good example: http://dev.openlayers.org/releases/OpenLayers-2.11/examples/panel.html.<br />
The example’s css file can be found at:</p>
<p>http://dev.openlayers.org/releases/OpenLayers-2.11/theme/default/style.css</p>
<h2>Mobile</h2>
<p><a href="http://blog.hexacta.com/wp-content/uploads/2012/03/nysoom1-201x3001.png"><img class="alignleft size-full wp-image-654" title="nysoom1-201x300" src="http://blog.hexacta.com/wp-content/uploads/2012/03/nysoom1-201x3001.png" alt="" width="201" height="300" /></a>As it was mentioned before, OpenLayers presents a version specifically optimized for mobiles, which includes touch, pinch and tap events. All these features make OpenLayers a good choice for closed solutions, such as Google Maps or Bing Maps.<br />
Versatility and independence are the main characteristics of this library.<br />
Another layer that can be added to GIS stack, with the aim of optimizing the response time to the map server calls, is specially prepared caches. Among which we can find: TileCache and GeoWebCache.</p>
<p>&nbsp;</p>
<h2></h2>
<h2></h2>
<h2></h2>
<h2></h2>
<h2></h2>
<h2></h2>
<h2>TileCache</h2>
<p>&nbsp;</p>
<p>TileCache is an implementation of the WMS Tile Caching protocol written in Python. The implemented protocol is a standard proposed by OSGeo, which can be accessed by any client that supports that communication.<br />
OpenLayers communicates with Tilecache, like any other WMS.C. This allows Openlayers to be independent from any cache to be used.<br />
TileCache only needs to access a disk to function correctly. Besides of using the disk, TileCache can be set to use libraries such as Memcached. The caches it supports can be found at the following link: http://tilecache.org/docs/Caches.html<br />
The use of one cache improves the map server performance and decreases the CPU usage by reducing the need to access the data base that generates the maps.<br />
The TileCache configuration is simple, but requires GIS knowledge. First the apache must be set to delegate in TileCache by placing the following code inside an apache directory:</p>
<p>1 AddHandler python-program .py<br />
2 PythonHandler TileCache.Service<br />
3 PythonOption TileCacheConfig /var/www/tilecache/tilecache.cfg</p>
<p>After this, the layers that need to be served must be set in tilecache.cfg. An example of a layer is:<br />
[basic] type=MapServerLayer layers=basic mapfile=/home/mapserver/basic.map debug=off description=Basic map</p>
<p>TileCache can be set, among other things, to use different resolutions for each selected layer. An axample of a much more complex configuration is:<br />
[massgis-reprojected] type=ArcXML url=http://maps.massgis.state.ma.us/servlet/com.esri.esrimap.Esrimap?ServiceName=coq2005hsde_with_roads&amp;ClientVersion=4.0 projection=@/path/to/target_projection # Either a string, or if prefixed by @, an absolute path to a projection in WKT. layers=14 bbox=218337.16112593404,889611.9317974453,248183.9359890727,914312.7109945256</p>
<p>For more information about layers, click here.</p>
<h2>Conclusion</h2>
<p>With this post we conclude the review on the main layers inside GIS stack.<br />
There are several useful tools for different functions inside the GIS stack. The standards set the path for the development of many tools, which created these ecosystems.<br />
On the GIS posts, our intention is to present the subject with the most simple and comprehensive information, explaining how each of the tools interact.<br />
Getting the whole stack to run correctly is not an easy task, but once we do it, we obtain a complete solution to compete with Google or Bing.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<table class="MsoNormalTable" style="border-collapse: collapse;" width="2" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="width: 29pt; padding: 0cm 5.4pt;" valign="top" width="39"></td>
<td style="width: 511pt; padding: 0cm 5.4pt;" valign="top" width="681"></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexacta.com/gis-%e2%80%93-maps-navigation-with-openlayers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>May the force be with Scala</title>
		<link>http://blog.hexacta.com/may-the-force-be-with-scala/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=may-the-force-be-with-scala</link>
		<comments>http://blog.hexacta.com/may-the-force-be-with-scala/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 13:16:58 +0000</pubDate>
		<dc:creator>Andrea Sanchez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hexacta.com/?p=642</guid>
		<description><![CDATA[By Nicolas Mouso The aim of this post is to present the Scala programming language in the frame of a typical Java development environment, using Maven and Eclipse to compile sources making both languages (Java and Scala) coexist in the same solution. Introduction Scala is a multiparadigm programming language strongly typed that combines the features of object oriented programming and functional programming. It has many interesting characteristics, such as traits, type inference, pattern matching or implicit functions, which make it a complete and powerful language.  You can find more detailed information on the subject at Scala´s site: http://www.scala-lang.org/. One remarkable feature is that it functions on the Java Virtual Machine, making it possible to reuse existing Java code from Scala. [...]]]></description>
			<content:encoded><![CDATA[<p>By Nicolas Mouso</p>
<p><a href="http://blog.hexacta.com/wp-content/uploads/2012/02/scalaLogo.jpg"><img class="alignleft size-full wp-image-643" title="scalaLogo" src="http://blog.hexacta.com/wp-content/uploads/2012/02/scalaLogo.jpg" alt="" width="248" height="70" /></a>The aim of this post is to present the Scala programming language in the frame of a typical Java development environment, using Maven and Eclipse to compile sources making both languages (Java and Scala) coexist in the same solution.</p>
<p><span id="more-642"></span></p>
<h2>Introduction</h2>
<p>Scala is a multiparadigm programming language strongly typed that combines the features of object oriented programming and functional programming.<br />
It has many interesting characteristics, such as traits, type inference, pattern matching or implicit functions, which make it a complete and powerful language.  You can find more detailed information on the subject at Scala´s site: http://www.scala-lang.org/.<br />
One remarkable feature is that it functions on the Java Virtual Machine, making it possible to reuse existing Java code from Scala.</p>
<h3>Installation</h3>
<p>Scala´s plug-in can be installed directly from Eclipse following these steps: “Help → Software Updates … → Available Software”, and adding the corresponding address to the version we want to install (consult the download section at the official site: http://www.scala-ide.org/).</p>
<p style="text-align: left;"><a href="http://blog.hexacta.com/wp-content/uploads/2012/02/paso1.png"><img class="aligncenter size-full wp-image-644" title="paso1" src="http://blog.hexacta.com/wp-content/uploads/2012/02/paso1.png" alt="" width="667" height="293" /></a><br />
Let´s start with a simple implementation of the famous “Hello World” to check that the installation was successful. Inside the Scala perspective, follow the next steps: File → New → Scala Proyect”, to create a Scala Project and name it “HelloWorld”. Then create a Scala object with the same name in the following way:</p>
<div>1<code> object</code> <code>HelloWorld {</code></div>
<div>2<code> def</code> <code>main(args</code><code>:</code> <code>Array[String]) </code><code>=</code> <code>{</code></div>
<div>3<code> println(</code><code>"Hello world!"</code><code>)</code></div>
<div>4 <code>}</code></div>
<div>5 <code>}</code></div>
<div>
<div><code></code><code><br />
</code></div>
</div>
<p>In Scala, classes can´t have static attributes like in Java. However, it gives the chance to create singletons objects using “object” in a simple way, as it can be seen in the case “Hello World”.</p>
<h2>Integrating Scala with Maven and Eclipse</h2>
<p>Scala can be integrated with other Java technologies in such a way to take advantage of the language, but using the java community frameworks such as Maven, Hibernate, Spring, Wicket, etc.<br />
The first thing to do is install Maven, which process is analog to the one for the plug-in. For more information check the official web site: http://www.assembla.com/spaces/scala-ide/wiki/With_M2Eclipse.</p>
<p>If you have an instance of m2clipse already installed in Eclipse, erase it before continuing. Two maven instances would be installed, which can cause some trouble.</p>
<h3><a href="http://blog.hexacta.com/wp-content/uploads/2012/02/paso2.png"><img class="aligncenter size-full wp-image-645" title="paso2" src="http://blog.hexacta.com/wp-content/uploads/2012/02/paso2.png" alt="" width="666" height="294" /></a></h3>
<p>Setting up the project using Maven from Eclipse:</p>
<p>1.    File → New → Project<br />
2.    Maven → Maven Project<br />
3.    Enter  “scala” in the filter and select:<br />
Group Id: org.scala-tools.archetypes<br />
Artifact Id: scala-archetype-simple<br />
4.    Next<br />
5.    Complete information with:<br />
GroupId: com.hexacta<br />
ArtifactId: Scala<br />
Package: com.hexacta<br />
6.    Finish<br />
By default some tests are generated. To check there were no problems in the creation, make a ‘Run configuration’ for the project with the goals: ‘clean install’. If you are using Maven for console, use instead “mvn clean install”.<br />
In case Eclipse doesn´t recognise the project as a Scala one (for instance, it doesn´t allow navigating through classes using F3), follow these steps: “right click on the project→ Maven → Update Maven Configuration…”.<br />
This is how Java and Scala can co-exist, compiling with Maven and in Eclipse.</p>
<h2>Conclusions:</h2>
<p>Scala has the advantage of compiling a byte code, which allows running any Scale program over Java virtual machine, making it easy to integrate with Java technologies. Therefore you can take advantage of:<br />
1.    the excellent benefits that Java´s Virtual Machine provides in terms of performance and security.<br />
2.    the countless libraries and frameworks that exist for Java, which can be used without having to start from scratch.<br />
3.    Scala as a language, which provides an alternative to Java.</p>
<h2>References</h2>
<ul>
<li>Scala Programming Language, Dean Wampler &amp; Alex Payne, O’Reilly</li>
<li>Roundup: Scala for Java Refugees, <a href="http://www.codecommit.com/blog/scala/roundup-scala-for-java-refugees">http://www.codecommit.com/blog/scala/roundup-scala-for-java-refugees</a></li>
<li>Scala IDE for Eclipse, <a href="http://www.scala-ide.org/">http://www.scala-ide.org/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexacta.com/may-the-force-be-with-scala/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drag and drop to design a screen in Android, is it possible?</title>
		<link>http://blog.hexacta.com/drag-and-drop-to-design-a-screen-in-android-is-it-possible/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=drag-and-drop-to-design-a-screen-in-android-is-it-possible</link>
		<comments>http://blog.hexacta.com/drag-and-drop-to-design-a-screen-in-android-is-it-possible/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 18:53:23 +0000</pubDate>
		<dc:creator>Andrea Sanchez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hexacta.com/?p=627</guid>
		<description><![CDATA[By  Ariel Debernardi When programming on Android, we are always looking for the easiest way to design a good graphic interphase. Even though there are usability guidelines that give us an idea of how to design a clear and simple UI (and the fact that you can always count on your graphic designer buddy), there are some tools that facilitate the way to design a screen. If we’d rather design the screen by coding it, we can use .xml files in eclipse and then see the final result in the Android emulator or in the device on which Android is running. Currently, the market offers a number of applications, among which DroidDraw Beta stands out.  This is a java desktop [...]]]></description>
			<content:encoded><![CDATA[<p>By  Ariel Debernardi<br />
<a href="http://blog.hexacta.com/wp-content/uploads/2012/02/images.jpg"><img class="alignleft size-full wp-image-628" title="images" src="http://blog.hexacta.com/wp-content/uploads/2012/02/images.jpg" alt="" width="123" height="140" /></a>When programming on Android, we are always looking for the easiest way to design a good graphic interphase. Even though there are usability guidelines that give us an idea of how to design a clear and simple UI (and the fact that you can always count on your graphic designer buddy), there are some tools that facilitate the way to design a screen.</p>
<p style="text-align: left;">If we’d rather design the screen by coding it, we can use .xml files in eclipse and then see the final result in the Android emulator or in the device on which Android is running. Currently, the market offers a number of applications, among which <strong>DroidDraw Beta</strong> stands out.  This is a java desktop application that generates xml code from a graphic design done on a screen simulating Android App.</p>
<p style="text-align: left;"><span id="more-627"></span>This .xml code will have to be imported in the corresponding Android application.</p>
<p style="text-align: left;">While the code generated is similar to what is usually developed mitt, often the differences are obvious and the .xml must be modified to resemble the code we need.<br />
From the <strong>ADT 11.0.0</strong>, released last June, numerous improvements have been achieved, including the Visual Layout Editor (completely changed). Among them, we can highlight the following:<br />
•    Different widgets and configurations in <strong>“Palette”</strong>, which can be dragged in our design (drag and drop).<br />
•    Different <strong>custom views</strong> (different implementations of the View class) can be made and added to our design.<br />
•    Support for <strong>fragments</strong> (defined portion of a UI in an Activity) mainly used for the tablets screens design.<br />
•   <strong> Design facilitated</strong> considering the size of the screen, the mobile device, SDK and other factors.<br />
•    Basic Support for the<strong> management focus</strong> for text field, menu, and items (request and clear Focus).<br />
This new version of the <strong>Visual Layout Editor</strong> inside Android´s ADT facilitates the design of the user interface, with the advantage of having a tool that is already integrated into eclipse, which allows us to see the layout as we do it.<br />
<a href="http://blog.hexacta.com/wp-content/uploads/2012/02/layout_editor.png"><img class="aligncenter size-large wp-image-629" title="layout_editor" src="http://blog.hexacta.com/wp-content/uploads/2012/02/layout_editor-1024x632.png" alt="" width="614" height="379" /></a></p>
<p>A brief example<br />
•    We’ll design a screen in Eclipse with the help of <strong>Visual Layout Editor</strong> of Android´s ADT.</p>
<p style="text-align: left;"><a href="http://blog.hexacta.com/wp-content/uploads/2012/02/Paso1-1024x485.jpg"><img class="aligncenter size-full wp-image-630" title="Paso1-1024x485" src="http://blog.hexacta.com/wp-content/uploads/2012/02/Paso1-1024x485.jpg" alt="" width="614" height="291" /></a><br />
•     We can see what the xml code turned out to be by accessing the flap main.xml<br />
<a href="http://blog.hexacta.com/wp-content/uploads/2012/02/Android_codxml.jpg"><img class="aligncenter size-full wp-image-631" title="Android_codxml" src="http://blog.hexacta.com/wp-content/uploads/2012/02/Android_codxml.jpg" alt="" width="881" height="606" /></a></p>
<p>•    Some strings and list values will have to be defined in the “Values” folder of our project.  We can define it from the resources flap or the strings.xml flap. Resources, such as Activity, are independent of the Visual Layout Editor and there’s no change in the way we define them.</p>
<p style="text-align: center;"><a href="http://blog.hexacta.com/wp-content/uploads/2012/02/String.jpg"><img class="aligncenter size-full wp-image-632" title="String" src="http://blog.hexacta.com/wp-content/uploads/2012/02/String.jpg" alt="" width="491" height="354" /></a><a href="http://blog.hexacta.com/wp-content/uploads/2012/02/String2.jpg"><img class="aligncenter size-full wp-image-633" title="String2" src="http://blog.hexacta.com/wp-content/uploads/2012/02/String2.jpg" alt="" width="370" height="124" /></a></p>
<p style="text-align: left;">• Some useful links:<br />
Official:<br />
•    http://www.google.com/events/io/2010/sessions/android-ui-design-patterns.html<br />
•    http://developer.android.com/sdk/eclipse-adt.html<br />
Non Official:<br />
•    http://www.androiduipatterns.com</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexacta.com/drag-and-drop-to-design-a-screen-in-android-is-it-possible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making applications at speed of light</title>
		<link>http://blog.hexacta.com/making-applications-at-speed-of-light/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=making-applications-at-speed-of-light</link>
		<comments>http://blog.hexacta.com/making-applications-at-speed-of-light/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 13:36:57 +0000</pubDate>
		<dc:creator>Andrea Sanchez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hexacta.com/?p=617</guid>
		<description><![CDATA[By Leonardo Filippelli How many times we used a spreadsheet to administrate something or to solve a problem thinking in how useful it would be to have a software that allowed us to make it in a much more automatic and efficient way? And how many of those times we didn’t do it just for not having the sufficient time for the development or because the cost-benefit relationship was not attractive? Visual Studio Light Switch is a tool that allows us to create applications quickly and writing little or nothing of code, depending on the complexity of the application. Based on that, very roughly, an enterprise-class application consists of the following: •    Data: In most of the cases we have [...]]]></description>
			<content:encoded><![CDATA[<p>By Leonardo Filippelli<br />
<a href="http://blog.hexacta.com/wp-content/uploads/2012/02/1.jpg"><img class="alignleft size-full wp-image-621" title="1" src="http://blog.hexacta.com/wp-content/uploads/2012/02/1.jpg" alt="" width="90" height="96" /></a>How many times we used a spreadsheet to administrate something or to solve a problem thinking in how useful it would be to have a software that allowed us to make it in a much more automatic and efficient way?<br />
And how many of those times we didn’t do it just for not having the sufficient time for the development or because the cost-benefit relationship was not attractive? Visual Studio Light Switch is a tool that allows us to create applications quickly and writing little or nothing of code, depending on the complexity of the application.<br />
<span id="more-617"></span> Based on that, very roughly, an enterprise-class application consists of the following:<br />
•    Data: In most of the cases we have a relational data base.<br />
•    User Interface: the screens that show data and allow to modify them.<br />
•    Business rules: The rules and validations that depend of the problem the application solves.<br />
•    Security: Authentication and authorization.<br />
LightSwitch takes care of these 4 aspects automatically, so that from being a simple ABM we can build an application in just a few hours without writing code. How it works? Basically these steps are followed:<br />
1) The data source is defined: we can use a data base, web services or a SharePoint as a data source for our application. There is also the possibility to create the entities “on the fly” without depending on external sources.<br />
2) Based on the data source the involved entities are identified which can be edited in the application changing the type of typical data of a table of a data base for others more oriented to the business. For example, if I have the entity “employee” and the attribute salary, I can transform the type of that attribute from “double” to “Money”. You can also add calculated attributes that do not persist.<br />
3) Once we have our entities defined, we create the screens that our application will have. Each screen can show one or more of the entities of our business. We have templates of typical screens such as “Search screens”, “Details screen”, etc”. Each one can be configured to display data, allow editing, add new, remove, etc. It also configures the navigation between the screens.<br />
4) Having defined the screens we can add the security restrictions in terms of authentication and authorization. Besides the typical login, each screen can be configured to be accessible to certain type of user, or even define the field at a particular screen.<br />
5) Done, we have our application working for what it is a typical ABM, What if I have to add business logic? How and where do I put this into something so automatic? It is simple, given that Light Switch is very extensible. The way to extend it is creating methods, that can be written in C# o VB, based on treating the business entities as objects and define the logic in the way in which we do it in any application.<br />
6) We have the complete application, how we deploy it? Note that so far we haven´t talked at any time of web applications or desktop applications, we just mentioned applications in general. This is because the creation of the application is independent of the environment in which it is going to be deployed later.  Until the previous step we weren´t interested in if it was web or desktop, in fact we can have both “flavors” without having to receive a single code line. Once the application is ready, we can deploy it as desktop, web or even in the cloud using Windows Azure.<br />
How is it that all this things work without involving architecture subjects, frameworks and other things? Behind, what it ends up generating is code C# o VB.NET using many of the most current technologies of Microsoft, such as ASP.NET, Silverlight, Entity Framework, WCF, among others. The good thing is that we don´t have to modify that code automatically generated, it is completely transparent. When we extend the model we simply add one method to one entity and that’s all. This methods don´t modify at all the data source, they are one object methods. For example, if the data source is a data base, the object to which we add the method is mapped to one table and the new method is like another property of the object calculated “on the fly” instead of being a data coming directly from the database. Within the code´s method besides using attributes from the object itself (or any that was related), also other methods can be used such as framework .NET, utilizar linq, etc, everything we normally have available when constructing an application .NET. Then when a screen is created, this “calculated attributes” can be manipulated in the same way than the ones that are mapped to the data source.<br />
The underlying architecture can be graphed in the following way:</p>
<p><a href="http://blog.hexacta.com/wp-content/uploads/2012/02/21.jpg"><img class="alignleft size-full wp-image-623" title="2" src="http://blog.hexacta.com/wp-content/uploads/2012/02/21.jpg" alt="" width="300" height="186" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Summarizing, the main benefits of Light Switch are:<br />
•    It is a simple and fast way to construct Enterprise applications.<br />
•    Uses the latest Microsoft technologies, the same we use in the applications we construct every day.<br />
•    It allows us to create applications that can run in the desktop of a client, in the web or in the cloud.<br />
•    It is simple enough so that a “power user” can create an application without having programming skills.<br />
•    It is extensible enough so that a developer can take advantage of it.</p>
<p>&nbsp;</p>
<p>As for the cons we can mention the following:<br />
•    A developer is not much attracted to the idea of developing “oriented to data”. They prefer to think in the objects that are part of the business domain regardless of how that will persist afterwards.<br />
•    It is not the best option to build a complex application.</p>
<p>&nbsp;</p>
<p>As a conclusion LightSwitch is not the solution for most of the enterprise applications that we tend to develop in Hexacta. Nevertheless, I think that it can be a useful tool to construct small applications that don´t broadly escape from what is a typical ABM, given that they can be done really quickly and extend the model to add business logic in a simple and fancy way.</p>
<p>&nbsp;</p>
<p>For more information:</p>
<p>http://www.microsoft.com/visualstudio/en-us/lightswitch</p>
<p>http://msdn.microsoft.com/en-us/lightswitch/gg604823</p>
<p>http://blogs.msdn.com/b/jasonz/archive/2010/08/03/introducing-microsoft-visual-studio-lightswitch.aspx</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexacta.com/making-applications-at-speed-of-light/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rapid Web Application Development? Piece of cake!</title>
		<link>http://blog.hexacta.com/rapid-web-application-development-piece-of-cake/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rapid-web-application-development-piece-of-cake</link>
		<comments>http://blog.hexacta.com/rapid-web-application-development-piece-of-cake/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 12:51:21 +0000</pubDate>
		<dc:creator>Andrea Sanchez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.hexacta.com/?p=605</guid>
		<description><![CDATA[During the last years there&#8217;s been a trend in many developers to gravitate towards languages such as Ruby, Python and PHP, that offer quick solutions for the development of web applications. In this context some new technologies emerged, inspired by Ruby on Rails. Grails, Spring Roo and Play Framework. What do they propose? Follow the red brick path Ruby on Rails opened a path that other languages didn`t take long to follow: an open-source framework for web applications, whose goal is to improve the productivity and happiness of the developer. Its motto: “Web development that does not hurt”. A framework that is fun to use. A framework that avoids unnecessary configurations. Why do we need them so much? We all [...]]]></description>
			<content:encoded><![CDATA[<p>Du<a href="http://blog.hexacta.com/wp-content/uploads/2011/12/5647c7c995f7c7b370db6a00761c6659.jpg"><img class="alignleft size-full wp-image-606" title="5647c7c995f7c7b370db6a00761c6659" src="http://blog.hexacta.com/wp-content/uploads/2011/12/5647c7c995f7c7b370db6a00761c6659.jpg" alt="" width="90" height="90" /></a>ring the last years there&#8217;s been a trend in many developers to gravitate towards languages such as Ruby, Python and PHP, that offer quick solutions for the development of web applications.<br />
In this context some new technologies emerged, inspired by Ruby on Rails. Grails, Spring Roo and Play Framework. What do they propose?<br />
<span id="more-605"></span></p>
<h2><strong>Follow the red brick path</strong></h2>
<p><strong></strong><br />
Ruby on<a href="http://blog.hexacta.com/wp-content/uploads/2011/12/rails.png"><img class="alignleft size-full wp-image-607" title="rails" src="http://blog.hexacta.com/wp-content/uploads/2011/12/rails.png" alt="" width="87" height="111" /></a> Rails opened a path that other languages didn`t take long to follow: an open-source framework for web applications, whose goal is to improve the productivity and happiness of the developer. Its motto: “Web development that does not hurt”. A framework that is fun to use. A framework that avoids unnecessary configurations. Why do we need them so much? We all know that at the end you end up configuring pretty much always the same things. Following the precepts of convention over configuration, leaving only what s “fun” in hands of the developer and avoiding the “tedious” part of the configuration by accepting the defaults the framework provides.<br />
The Java community was slow to react, Ruby has been around for more than five years, but it slowly began to respond, and many frameworks of the same principle sprung up. These frameworks have the same premise that made the 4th generation languages strong in the nineties: Devote themselves fully to commercial software development, improving developer productivity. But where the 4GL languages focused on abstracting the developer from “low level” issues, these frameworks seek to free the developer from all the configuration responsibilities and make him deal directly with the juicy stuff: the business model, always within the confines of a 3GL language.</p>
<p>&nbsp;</p>
<h2>The Last Crusade</h2>
<p>Grails is a clear example of one of these frameworks, inspired even in the name by Ruby on Rails. Grail<a href="http://blog.hexacta.com/wp-content/uploads/2011/12/cXmUZIAv28XIiNgkRiz4RRl21TsGZ5HoGpZw1UITNyV.png"><img class="alignright size-full wp-image-608" title="cXmUZIAv28XIiNgkRiz4RRl21TsGZ5HoGpZw1UITNyV" src="http://blog.hexacta.com/wp-content/uploads/2011/12/cXmUZIAv28XIiNgkRiz4RRl21TsGZ5HoGpZw1UITNyV.png" alt="" width="114" height="30" /></a>s is a framework created by the springsource folks for groovy, a dynamic language that runs on the java virtual machine. Grails is a “quick” framework, dynamic and robust. “The search is over” they promise, a clear reference to the crusades and the Holy Grail, and, at the same time, to our search for the framework that allows us to do a web application in just a few minutes.</p>
<p>&nbsp;</p>
<h2>Jump, little kangaroo!</h2>
<p>But G<a href="../wp-content/uploads/2011/12/roo_logo.png"><img class="alignleft size-full wp-image-609" title="roo_logo" src="../wp-content/uploads/2011/12/roo_logo.png" alt="" width="125" height="69" /></a>rails still wasn’t Java. It was Groovy. So springsource, once again, came up with a new solution: Spring Roo. What is Roo? Not a framework, not an IDE, but something in between. Spring Roo is a tool that promises quick and easy results when developing web applications. And the most important part: it is pure Java. “Making Java fun” is its motto, prioritizing once again the happiness of the developer. Were we having such a bad time?<br />
Roo allows us to have a running web application written in Java in just a few minutes. Everything is done by working inside an interactive console, with autocomplete and a handy “hint” option, just in case we get lost on how to proceed. As if this wasn’t enough, Roo gives us an offer that is hard to refuse: if at any moment we don´t want to use Roo anymore, we can completely remove it from our application following a few simple steps and everything will keep on working as before. “No lock in” they say, “not married” we would add.<br />
<a href="http://blog.hexacta.com/wp-content/uploads/2011/12/Logo_sts.png"><img class="alignright size-full wp-image-610" title="Logo_sts" src="http://blog.hexacta.com/wp-content/uploads/2011/12/Logo_sts.png" alt="" width="151" height="82" /></a>At first sight Roo can scare more than one, too many files are created for each class and it makes extensive use of (for not saying abuse) of aspects. I could even say that it is essential to understand aspects in order to work with Roo, but I wouldn’t go that far. An IDE exists called SpringSource Tool Suite, or STS, that is based on Eclipse and that perfectly integrates with Roo. The STS almost makes us forget about the number of files and the usage of aspects, but sadly it is remarkably slow and that may cause some frustration.<br />
Roo integrates and supports a big amount of technologies, and this list grows every day. Just to give a few examples we can mention Google Web Toolkit, the Google App Engine and several of the Apache and Spring projects. Could this be the main strength of Spring Roo? Could this distinguish it from all the other tools?</p>
<h2>
<p>Won’t you come out to PLAY?</h2>
<p>Loom<a href="http://blog.hexacta.com/wp-content/uploads/2011/12/tag150150_play.jpg"><img class="alignleft size-full wp-image-611" title="tag150150_play" src="http://blog.hexacta.com/wp-content/uploads/2011/12/tag150150_play.jpg" alt="" width="105" height="105" /></a>ing on the horizon is Play Framework, with a completely different approach, but with the same goal. Play also allows us to code in Java (and pretty soon in Scala) and to forget about the tedious “initial configuration” of every project, but Play is not just another development framework. Play’s strength lies in the fact that it is also an application server, and one made with the idea of developing while having the application deployed. Play provides instant code replacement with no need to restart the server, and it shows errors and stack traces in the browser, so you can see them easily. This feature helps the job of the developer as it prevents losing valuable time while debugging and bugfixing. Something to consider is that Play has some “eccentricities” that will bring headaches to the more &#8220;traditional&#8221; Java developers, for example the large number of static methods, or the need for public attributes. A different solution for the same problem.</p>
<h2>
But what if I dislike something about the framework?</h2>
<p>What should I do? Each framework has, obviously, its limitations. What would happen if I need to have a service layer? And what if the framework does not encourage it but I really, really, want to use DAO´s? The question we should ask ourselves is: what concessions am I willing to make? Every framework allow us to change something, but not everything can be changed. And that&#8217;s when we should make a pause and decide whether we are willing to give up some control of the architecture to the application framework in order to benefit from its advantage, or not. As always, it depends mostly on the problem we are trying to solve.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexacta.com/rapid-web-application-development-piece-of-cake/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Free Plugins for Visual Studio 2010</title>
		<link>http://blog.hexacta.com/10-free-plugins-for-visual-studio-2010/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=10-free-plugins-for-visual-studio-2010</link>
		<comments>http://blog.hexacta.com/10-free-plugins-for-visual-studio-2010/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 19:32:28 +0000</pubDate>
		<dc:creator>Andrea Sanchez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[[plugin] Visual Studio 2010]]></category>

		<guid isPermaLink="false">http://blog.hexacta.com/?p=585</guid>
		<description><![CDATA[Visual Studio 2010 opened to the plugins world. The new Extension Manager (matchless in benefits to the add-in Manager of Visual Studio 2008) allows browsing and downloading easily an immense amount of plugins. I consider that, thinking of performance, we should not turn into using many extensions. Below we will recommend ten free and useful plugins for Visual Studio, leaving out the classical plugins or commercial multi-tools such as Resharper, Devexpress Coderush and Visual Asist X. Documentation: GhostDoc. A widely used extension, documents in XML format, in semi automatic way, facilitating and simplifying this task. Improvements in the IDE:  VSCommands 2010 provides code navigation and generation improvements which will make your coding tasks faster, together with essentials IDE enhancements, it [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.hexacta.com/wp-content/uploads/2011/11/Visual-Studio-small.gif.png"><img class="alignleft size-full wp-image-587" title="Visual-Studio-small.gif" src="http://blog.hexacta.com/wp-content/uploads/2011/11/Visual-Studio-small.gif.png" alt="" width="120" height="93" /></a>Visual Studio 2010 opened to the plugins world. The new Extension Manager (matchless in benefits to the add-in Manager of Visual Studio 2008) allows browsing and downloading easily an immense amount of plugins.</p>
<p><span id="more-585"></span></p>
<p>I consider that, thinking of performance, we should not turn into using many extensions. Below we will recommend ten free and useful plugins for Visual Studio, leaving out the classical plugins or commercial multi-tools such as <a href="http://www.jetbrains.com/resharper/">Resharper</a>, <a href="http://www.devexpress.com/Products/Visual_Studio_Add-in/Coding_Assistance/">Devexpress Coderush</a> and <a href="http://www.wholetomato.com/">Visual Asist X</a>.</p>
<p><strong>Documentation:</strong> <a href="http://submain.com/products/ghostdoc.aspx">GhostDoc</a>. A widely used extension, documents in XML format, in semi automatic way, facilitating and simplifying this task.</p>
<p><strong>Improvements in the IDE:</strong>  <a href="http://visualstudiogallery.msdn.microsoft.com/d491911d-97f3-4cf6-87b0-6a2882120acf">VSCommands 2010</a> provides code navigation and generation improvements which will make your coding tasks faster, together with essentials IDE enhancements, it will take your productivity to another level.</p>
<p>These other extensions had been developed by the Visual Studio team and they are also really useful:</p>
<p><a href="http://visualstudiogallery.msdn.microsoft.com/e5f41ad9-4edc-4912-bca3-91147db95b99">PowerCommands</a> is very light. Adds different funtionalities/ contextual menus, saving time and clicks such as open a Command prompt or the containing folder where one of the files from the solution is located (through a contextual menu) and “Format document on save” that performs the command of “format document” automatically. It has a smart copied of classes and references and, among many others, my favorite command: undo close</p>
<p><a href="http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef/">Productivity Power Tools</a>: incorporates a series of new functions in Visual Studio such as: improved search, many improvements in the navigation and visualization of the code, adds a better “solution explorer” called Solution Navigator and has lots of changes (several are very useful) in the tabs/navigation of documents.</p>
<p><strong>Code Versioning with SVN:</strong> it´s true that we are used to the Visual Studio-Team Foundation Server couple for the versioning of the code, but clearly SVN also is an option and <a href="http://ankhsvn.open.collab.net/">AnkhSVN CollabNET</a> is a fine free tool.</p>
<p><strong>Useless but fun:</strong> the <a href="http://visualstudiogallery.msdn.microsoft.com/20cd93a2-c435-4d00-a797-499f16402378/">Visual Studio Color Theme Editor</a> will not improve any technical aspect, but it allows using predefined graphic themes, changing the whole aspect of visual studio.</p>
<p><strong>Tools for the IDE:</strong> we know that sometimes the creation of regular expressions can be an unpleasant job. This tool lets you to perform them in an integrated way in the IDE, simplifying its creation.</p>
<p><strong>Code Comparison:</strong> although the <a href="http://www.scootersoftware.com/">beyondcompare</a> is superior, the <a href="http://visualstudiogallery.msdn.microsoft.com/dace3633-0b51-4629-85d4-c59cdce5bb3b">codecompare</a> is free and tends to be better than the IDEs default tool.</p>
<p><strong>The power of examples:</strong> <a href="http://visualstudiogallery.msdn.microsoft.com/b3aaa8f6-1b72-4ce2-bb39-f597489d55da">Microsoft All-In-One Code Framework</a>: a code library that provides examples for typical development tasks. Strongly recommended (also has content for VS 2008).</p>
<p><strong>Uses of TFS:</strong> for those that use TFS beyond its functionality standard, the <a href="http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f">TFS power tools 2010</a> it is already a classic.</p>
<p>Do you have some plugin you would like to recommend? Comment below the post and let  us know!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexacta.com/10-free-plugins-for-visual-studio-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GIS</title>
		<link>http://blog.hexacta.com/gis/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gis</link>
		<comments>http://blog.hexacta.com/gis/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 18:48:00 +0000</pubDate>
		<dc:creator>Andrea Sanchez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Geographic Information Systems]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[Google Maps]]></category>

		<guid isPermaLink="false">http://blog.hexacta.com/?p=580</guid>
		<description><![CDATA[For some years it has been observed the use of Geographic Information Systems in commercial applications because they offer an interesting added value for the final user of the system. Probably the most popular case is Google Maps, since it was used in many applications, for its dissemination, easy to use and free service for geographic locations or multiple locations. This functionality by its own is key in most systems that currently work with locations (we can´t imagine a social network, a real state web site, or a site for booking hotels without a map that shows locations). In this context GIS Systems have been improved in the course of time and they now count with a wide variety of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.hexacta.com/wp-content/uploads/2011/11/GIS.jpg"><img class="alignnone size-full wp-image-576" title="GIS" src="http://blog.hexacta.com/wp-content/uploads/2011/11/GIS.jpg" alt="" width="76" height="59" /></a>For some years it has been observed the use of Geographic Information Systems in commercial applications because they offer an interesting added value for the final user of the system. Probably the most popular case is Google Maps, since it was used in many applications, for its dissemination, easy to use and free service for geographic locations or multiple locations. This functionality by its own is key in most systems that currently work with locations (we can´t imagine a social network, a real state web site, or a site for booking hotels without a map that shows locations).</p>
<p><span id="more-580"></span></p>
<p>In this context GIS Systems have been improved in the course of time and they now count with a wide variety of functionalities and complementary tools that make them very powerful. This new capabilities open a new area for their use in applications, though now a days they are not exploited. This lack of use of the new capabilities of GIS Systems is related to the lack of knowledge about the real potential of this systems and the added value they can provide.</p>
<p>From this boom different alternatives emerge, both local and public, from where the developer has to analyze which is the more convenient for the system to be implemented.</p>
<p><strong>Possible uses</strong></p>
<p>Nowadays there are many possible uses for these systems such as:</p>
<p>• Environmental impact</p>
<p>• Addressing to get from one point to another</p>
<p>• Calculations on different terrain elevation</p>
<p>• Mastery of agronomy to maximize the yield of the land</p>
<p>• Support for mobile devices</p>
<p>• Calculate distances and times between points</p>
<p>• Sampling of real-time traffic</p>
<p>• Support for user interaction with the maps</p>
<p>• 3D Views</p>
<p>•Dividing the maps into regions to associate each one with a special behavior. For example, to define regions of the city of Buenos Aires and show the responsible for garbage collection in the different regions of the city.</p>
<p>• Criminology (may be taken as an example the map of insecurity in the province of Buenos Aires)</p>
<p>• etc etc</p>
<p>These are some of the possible uses for which you can use a GIS system and optimize the interaction between the user and the application. To this uses we can add others that meet specific user requirements.</p>
<p><strong>Different Alternatives</strong></p>
<p>Early in this post we mentioned that there are several alternatives in terms of GIS systems. Probably the most known is Google Maps, but also there are other tools that provide a similar service or software packages to have our own GIS server. But…Why having our own GIS server when we have tools that provide the same service such as Google Maps? Basically the answer lies in fact that, if we use our own server, we have complete control of our data (create them, eliminate them and modify them), the services that we can provide and of the maintenance, while with an existing tool we are “limited” to the API they provide for users.</p>
<p>&nbsp;</p>
<p>Among the most popular GIS systems we find:</p>
<ul>
<li><strong>Google Maps</strong>, of Google Inc.</li>
<li><strong>Bing Maps</strong>, la apuesta de Microsoft`s bid</li>
<li><strong>PostGIS + MapServer + OpenLayers</strong> (OpenSource software package that work together to provide a GIS solution)</li>
<li><strong>SQL Server Spatial</strong></li>
</ul>
<p>We won’t go into depth in each of these solutions because the objective of this post is to introduce the GIS subject and its benefits when used in commercial applications. Later we will delve into each of these alternatives to present them and provide examples along with the appropriate code to learn more of the potential of each system.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexacta.com/gis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BlackBerrys will be manufactured in Argentina</title>
		<link>http://blog.hexacta.com/rim-blackberrys-will-be-manufactured-in-argentina/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=rim-blackberrys-will-be-manufactured-in-argentina</link>
		<comments>http://blog.hexacta.com/rim-blackberrys-will-be-manufactured-in-argentina/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 19:49:12 +0000</pubDate>
		<dc:creator>Andrea Sanchez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[RIM]]></category>
		<category><![CDATA[Smartphones]]></category>
		<category><![CDATA[Tierra del Fuego]]></category>

		<guid isPermaLink="false">http://blog.hexacta.com/?p=570</guid>
		<description><![CDATA[Research In Motion (RIM), the Canadian company that manufactures BlackBerry, announced that they started to manufacture the first smartphones in Tierra del Fuego, Argentina. According to the PR release issued by the company the first Blackberry Curve 8520 smartphones with the latest RIM technology were manufactured by a group of local professionals that were trained in Argentina and abroad too. They also work close to RIM specialists. Brightstar will be in charge of the production and dispatch of the devices. RIM hopes to expand the smartphones portfolio manufactured in Tierra del Fuego. They will soon launch to the Argentinean market Blackberry smartphones with the new operative system BlackBerry 7. The local production through Brightstar is expected to provide support to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.hexacta.com/wp-content/uploads/2011/10/bb.jpg"><img class="alignleft size-thumbnail wp-image-571" src="http://blog.hexacta.com/wp-content/uploads/2011/10/bb-150x150.jpg" alt="" width="72" height="72" /></a>Research In Motion (RIM), the Canadian company that manufactures BlackBerry, announced that they started to manufacture the first smartphones in Tierra del Fuego, Argentina.<br />
<span id="more-570"></span>According to the PR release issued by the company the first Blackberry Curve 8520 smartphones with the latest RIM technology were manufactured by a group of local professionals that were trained in Argentina and abroad too. They also work close to RIM specialists. Brightstar will be in charge of the production and dispatch of the devices.<br />
RIM hopes to expand the smartphones portfolio manufactured in Tierra del Fuego. They will soon launch to the Argentinean market Blackberry smartphones with the new operative system BlackBerry 7.<br />
The local production through Brightstar is expected to provide support to the telephone operators and retail stores in the whole country. Also to allow RIM to strengthen its local commitment meeting local consumer tastes.<br />
The Ministry of National Industry said that this project implies a $23 million dollars investment and that the company expects to produce 750.000 devices during the first year.</p>
<p>In this way, the national demand for Blackberry equipment will be supplied at first in a 70% by devices produced in Argentina and then will rise to 80% with the incorporation of other models. Blackberry smartphones has the 31% of the local smartphones sales in 2010.<br />
We hope that this fact ends up having positive results since our country makes a big use of mobile devices, especially Blackberry. Considering that the production will be done in Tierra del Fuego, we expect a substantial reduction in the selling price, which makes it much more attractive and also opens the opportunity to export the products to other countries in the south cone.<br />
The global trend indicates that it is important that big mobile companies are encouraged to invest in countries where a good sales strategy is predicted, given that prices for sure will be lower, incrementing in this way the sales. RIM already did this in Malaysia and Brazil so as to open new production routes and now it lands in Argentina with the same purpose and through Brightstar Corporation.<br />
By the end of October we will see the first devices “made in Argentina”. RIM is now part of a group of companies that already installed in Tierra del Fuego such as Sony Ericsson, Alcatel, Motorola, Samsung, LG and Nokia.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hexacta.com/rim-blackberrys-will-be-manufactured-in-argentina/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
