<?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>G to The Square &#187; Software Development</title>
	<atom:link href="http://www.gtothesquare.com/category/software-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gtothesquare.com</link>
	<description></description>
	<lastBuildDate>Fri, 30 Sep 2011 22:05:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Objects as a hashmap in Javascript</title>
		<link>http://www.gtothesquare.com/2011/06/03/objects-as-a-hashmap-in-javascript/</link>
		<comments>http://www.gtothesquare.com/2011/06/03/objects-as-a-hashmap-in-javascript/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 22:14:49 +0000</pubDate>
		<dc:creator>Geries Handal</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.gtothesquare.com/?p=665</guid>
		<description><![CDATA[I like JavaScript because of &#8220;the malleability&#8221; that it provides to the programer. Is not that strict, which may lead apps that are hard to debug if you don&#8217;t know what your doing. It feels a bit chaotic and for some reason I think chaos is good, as result I&#8217;m becoming fond of JavaScript every [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.gtothesquare.com%2F2011%2F06%2F03%2Fobjects-as-a-hashmap-in-javascript%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.gtothesquare.com%2F2011%2F06%2F03%2Fobjects-as-a-hashmap-in-javascript%2F&amp;source=gtothesquare&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=javascript&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I like JavaScript because of &#8220;the malleability&#8221; that it provides to the programer. Is not that strict, which may lead apps that are hard to debug if you don&#8217;t know what your doing. It feels a bit chaotic and for some reason I think chaos is good, as result I&#8217;m becoming fond of JavaScript every time I find out one of this malleable features (yes is not very rational reason, but that is how we are).</p>
<p>Recently I need to keep track of some widgets in a web app, so I was suggested by my Manager to look for a better way tracking this instead of recreating the widgets i.e using a array. A couple of months ago I stumbled on <a title="JavaScript Garden - Object" href="http://bonsaiden.github.com/JavaScript-Garden/#object">JavaScript Garden</a>:</p>
<blockquote><p>&#8230;a growing collection of documentation about the most quirky parts of the JavaScript programming language.</p></blockquote>
<p>So, instead of using a Array of objects and looping over it to find the desire object, we can create a empty object and use the properties as a Key and the value of the property as the value. What makes this possible is that properties can be added on run time. See the example bellow:</p>
<pre class="brush:js">// here we create a empty object
var mymap = {};

//lets add couple a key/value to our "hashmap"
mymap['widget1Id'] = document.getElementById('widget1Id');

mymap['widget2Id'] = document.getElementById('widget2Id');

//...
//lets say we finish using it and we want to dispose of it, so we can delete it
delete mymap['widget1Id'];

//now lets update the widget2 with a very smart message.
mymap['widget2Id'].innerText = 'Game over, try again later';</pre>
<p>Summary:</p>
<ul>
<li> If we want to add a property to a object on run time, we use the brackets and a literal of the id of the property (in our case is the key of the map).</li>
<li> The value can be a literal, number or object.</li>
<li> We use the delete keyword to delete the entry from the map.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.gtothesquare.com/2011/06/03/objects-as-a-hashmap-in-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>is Today method in java (and python)</title>
		<link>http://www.gtothesquare.com/2011/02/22/is-today-method-in-java-and-python/</link>
		<comments>http://www.gtothesquare.com/2011/02/22/is-today-method-in-java-and-python/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 20:18:58 +0000</pubDate>
		<dc:creator>Geries Handal</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.gtothesquare.com/2011/02/22/is-today-method-in-java-and-python/</guid>
		<description><![CDATA[I needed to determine if a piece of data that I got was from today or not. that being that is was read after 00:00. So, I decided to create a quick java method to called isToday(). This method will received a the number of milliseconds since January 1, 1970, (better known as Unix Time) [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.gtothesquare.com%2F2011%2F02%2F22%2Fis-today-method-in-java-and-python%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.gtothesquare.com%2F2011%2F02%2F22%2Fis-today-method-in-java-and-python%2F&amp;source=gtothesquare&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=java,python&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I needed to determine if a piece of data that I got was from today or not. that being that is was read after 00:00. So, I decided to create a quick java method to called isToday(). This method will received a the number of milliseconds since January 1, 1970, (better known as Unix Time) and return true if the date is today or false if not. Here is the method I came up:</p>
<pre class="brush: java;">private boolean isToday(long date){
   final long milliOneDay = 86400000;// milliseconds in one day
   long today = (new Date()).getTime();
   if ((today - date) &lt; milliOneDay){
      return true;
   }
   return false;
}
</pre>
<p>As you can see that method dosen&#8217;t work and I was so ashame of it that I had to blog about it. I came to that conclusion when my boss showed me the one she has done (due to a misunderstanding I thought there wasn&#8217;t such method in our lib). Bellow is her method, which include another method from our internal toolkit:</p>
<pre class="brush: java;">static SimpleDateFormat formatDate = new SimpleDateFormat(DatePattern);
   public static String formatDateString(long t) {
   return formatDate.format(new Date(t));
}

public static boolean isToday(long ts) {
   String a = formatDateString(ts);
   String b = formatDateString(System.currentTimeMillis());
   if (a == null || b == null) {
      return false;
   }
   if (a.equals(b)) {
      return true;
   }
   return false;
}
</pre>
<p>So, I decided to fix mine out of <span style="text-decoration: line-through;">shame</span> fun:</p>
<pre class="brush: java;">private boolean isToday(long date){
   Calendar cal = Calendar.getInstance();
   cal.set(Calendar.HOUR, 0);
   cal.set(Calendar.MINUTE, 0);
   cal.set(Calendar.SECOND, 0);
   cal.set(Calendar.MILLISECOND, 0);

   final long milliOneDay = 86400000;// milliseconds in one day
   long today = cal.getTime().getTime();
   if ((today - date) &lt; milliOneDay){
      return true;
   }

   return false;
}
</pre>
<p>Also, I&#8217;ve been playing a bit with python (trying to learn a new one) and I came up with this one, which shows that you can do more with less.</p>
<pre class="brush: python;">def isToday(today):
   todayObj = datetime.datetime.fromtimestamp(today)
   d = datetime.date.today()
   todayDateObj = datetime.datetime(d.year, d.month, d.day)
   diff = todayObj-todayDateObj
   if diff &lt;  datetime.timedelta(days=1):
      return 1
   else:
      return 0
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.gtothesquare.com/2011/02/22/is-today-method-in-java-and-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The bad side of Interfaces</title>
		<link>http://www.gtothesquare.com/2011/01/31/the-bad-side-of-interfaces/</link>
		<comments>http://www.gtothesquare.com/2011/01/31/the-bad-side-of-interfaces/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 10:23:32 +0000</pubDate>
		<dc:creator>Geries Handal</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Human Target]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.gtothesquare.com/2011/01/31/the-bad-side-of-interfaces/</guid>
		<description><![CDATA[While having a discussion about Interfaces, I remembered a episode of Human Target and thought &#8221; hey why not use the example of a tracker to explain the downside with Interfaces&#8221;. In Human Target, Christopher Chance was trying to protect a woman that had swallowed a tracking device. So, the bad guys were following them [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.gtothesquare.com%2F2011%2F01%2F31%2Fthe-bad-side-of-interfaces%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.gtothesquare.com%2F2011%2F01%2F31%2Fthe-bad-side-of-interfaces%2F&amp;source=gtothesquare&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=Human+Target,java&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>While having a discussion about Interfaces, I remembered a episode of Human Target and thought &#8221; hey why not use the example of a tracker to explain the downside with Interfaces&#8221;. </p>
<p>In <a href="http://www.imdb.com/title/tt1439741/">Human Target</a>, Christopher Chance was trying to protect a woman that had swallowed a tracking device. So, the bad guys were following them all over town. However, they manage to buy some time because tracking device was able to tell the bad guys in which building Chance was, but not in what floor. As a result the bad guys had to sweep every floor of the building to find Chance and the woman. Well that is the case when debugging abstractions layers, inheritance and interfaces:</p>
<p><strong>You more or less know where to look for the bug, but you need to sweep the many files two find a bug or figure out where to make a change. </strong></p>
<p>It might have it&#8217;s benefits, still I think is overkill. Is similar when you just throw money to a problem, you do that when you can. It&#8217;s like &#8220;we didn&#8217;t foresee that customers will want to use our product in mobile phones. yes lets just add more interfaces&#8221;. </p>
<p>For more on the topic, here is a great discussion and <a href="http://stackoverflow.com/questions/90851/is-it-just-me-or-are-interfaces-overused/93998#93998">explanation of interfaces in Stackoverflow</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gtothesquare.com/2011/01/31/the-bad-side-of-interfaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>If jQuery Ajax call not working in Internet Explorer try this</title>
		<link>http://www.gtothesquare.com/2010/09/26/if-jquery-ajax-call-not-working-in-internet-explorer-try-this/</link>
		<comments>http://www.gtothesquare.com/2010/09/26/if-jquery-ajax-call-not-working-in-internet-explorer-try-this/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 23:11:18 +0000</pubDate>
		<dc:creator>Geries Handal</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.gtothesquare.com/2010/09/26/if-jquery-ajax-call-not-working-in-internet-explorer-try-this/</guid>
		<description><![CDATA[Had a jQuery ajax call that work great in all browsers but stp working in Internet Explorer after the first time I executed the call. After googling , I found out that that IE (especially IE8) caches aggressively ajax calls. My jQuery code look something like the following: $.ajax({ type: "POST", url: "/process.jsp", data: "data", [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.gtothesquare.com%2F2010%2F09%2F26%2Fif-jquery-ajax-call-not-working-in-internet-explorer-try-this%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.gtothesquare.com%2F2010%2F09%2F26%2Fif-jquery-ajax-call-not-working-in-internet-explorer-try-this%2F&amp;source=gtothesquare&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=ajax,Internet+Explorer,jQuery&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Had a <a href="http://api.jquery.com/jQuery.ajax/">jQuery ajax</a> call that work great in all browsers but stp working in Internet Explorer after the first time I executed the call. After googling , I found out that <a href="http://stackoverflow.com/questions/1013637/unexpected-caching-of-ajax-results-in-ie8">that IE (especially IE8) caches aggressively ajax calls</a>. My jQuery code look something like the following:</p>
<pre class="brush: js;">
$.ajax({
   type: "POST",
   url: "/process.jsp",
   data: "data",
   success: function(msg){
     //some function
   }
 });
</pre>
<p>To tell IE not to cache the call, is by adding the option cache false, as shown bellow:</p>
<pre class="brush: js;">

$.ajax({
   type: "POST",
   url: "/process.jsp",
   data: "data",
   cache: "false",
   success: function(msg){
      //some function
   }
});
</pre>
<p>If it still doesn&#8217;t work after you put the cache false, then use the $.ajaxSetup to setup the default for the ajax calls.</p>
<pre class="brush: js;">
$.ajaxSetup({
  cache: "false"
   });
$.ajax({
   type: "POST",
   url: "/process.jsp",
   data: "data",
   success: function(msg){
     //some function
    }
 });
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.gtothesquare.com/2010/09/26/if-jquery-ajax-call-not-working-in-internet-explorer-try-this/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging by comments</title>
		<link>http://www.gtothesquare.com/2010/07/15/debugging-by-comments/</link>
		<comments>http://www.gtothesquare.com/2010/07/15/debugging-by-comments/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 21:10:22 +0000</pubDate>
		<dc:creator>Geries Handal</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[project managment]]></category>

		<guid isPermaLink="false">http://www.gtothesquare.com/2010/07/15/debugging-by-comments/</guid>
		<description><![CDATA[You have written your code, ran it and looks ready to be committed. Once is committed it can be tested by another member of a the team. However,why no write some comments for your code before committing it, which will help you find some bugs.&#160; By writing comments, you will have to dissect your code [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.gtothesquare.com%2F2010%2F07%2F15%2Fdebugging-by-comments%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.gtothesquare.com%2F2010%2F07%2F15%2Fdebugging-by-comments%2F&amp;source=gtothesquare&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=debugging,project+managment,Software+Development&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>You have written your code, ran it and looks ready to be committed. Once is committed it can be tested by another member of a the team. However,why no write some comments for your code before committing it, which will help you find some bugs.&#160; By writing comments, you will have to dissect your code piece by piece, which will lead you to find common errors and makes your code understandable for other (and your future you).</p>
<p>Is not just about just writing one liners, write them with the following set of mind:<strong> it will be read by somebody that knows nothing about the applications or program, i</strong><strong>magining the target reader is a new member of your team.</strong> This will help you see your code from a different perspective and go into details. By submerging in to details, you will&#160; find bugs in your code before going into the testing stage.</p>
<p>There are two advantages of this method: First your code is readable and readable code is better code. Second, you save resources by saving a bug report. Testers will not test code, find bugs and return it to you. You will NOT stop your current task and go back to fix a careless bug and resubmit it for testing. Instead you will spend your time producing new code.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gtothesquare.com/2010/07/15/debugging-by-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Fukunaga approach to UX Design</title>
		<link>http://www.gtothesquare.com/2010/06/17/the-fukunaga-approach-to-ux-design/</link>
		<comments>http://www.gtothesquare.com/2010/06/17/the-fukunaga-approach-to-ux-design/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 07:40:31 +0000</pubDate>
		<dc:creator>Geries Handal</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Cary Fukunaga]]></category>
		<category><![CDATA[experience design]]></category>
		<category><![CDATA[Sin Nombre]]></category>
		<category><![CDATA[UX Design]]></category>

		<guid isPermaLink="false">http://www.gtothesquare.com/2010/06/17/the-fukunaga-approach-to-ux-design/</guid>
		<description><![CDATA[&#8220;Sin Nombre&#8221; is the title of the independent movie, written and directed to Cary Fukunaga. His approach to writing and directing was that caught my attention some months ago and thought it will be usefull to apply in&#160; User eXperience (UX) design. First lets see what the movie is about, here is the synopsis: After [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.gtothesquare.com%2F2010%2F06%2F17%2Fthe-fukunaga-approach-to-ux-design%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.gtothesquare.com%2F2010%2F06%2F17%2Fthe-fukunaga-approach-to-ux-design%2F&amp;source=gtothesquare&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=Cary+Fukunaga,experience+design,Sin+Nombre,Software+Development,UX+Design&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>&#8220;<a href="http://www.imdb.com/title/tt1127715/">Sin Nombre</a>&#8221; is the title of the independent movie, written and directed to Cary Fukunaga. His approach to writing and directing was that caught my attention some months ago and thought it will be usefull to apply in&#160; User eXperience (UX) design. First lets see what the movie is about, here is the synopsis:</p>
<blockquote><p>After murdering his gang&#8217;s leader, a teenager joins a family of Honduran immigrants making the dangerous journey across Mexico to the United States, avoiding a fellow gang member who has been sent to kill him along the way. [Source Yahoo Movies]</p>
</blockquote>
<p>Fukunaga&#8217;s approach was to do research before starting to film anything. He travel with illegal immigrants in trains, talked to gang members or &#8220;mareros&#8221; (the local term for this type of gangs) and even had two ex-mareros help him with the slang and way of expressing. </p>
<p>The movie has been acclaimed internationally and is very well done. One of the strongest attributes is attention to detail (which leads to some strong scenes), high pace and scenery. Things Fukunaga couldn&#8217;t have figured out without the research.</p>
<p><strong>In the case of software, research is needed if we want to provide a pleasant UX experience to our customers.</strong></p>
<p>Most of the time we create software to solve a problem. If we follow Fukunaga as example, we should not just interview the people the suffer the problem, but &#8220;ride the train&#8221; with them. In other words, let them take you through that moment in life where they suffer the problem. If we continue with the movie theme then we can conclude that:</p>
<blockquote><p>story boards are to sketches as filming is to programming.</p>
</blockquote>
<p><strong>UX design is about continuous improvement.</strong> </p>
<p>We have done the research, now we need to determine if our conclusions are correct. So, we need make a rough sketch of the software and show it around the future customers or users. Then after some feedback, lets redraw the sketches with more detail. We continue doing so, until we have something that we can take to the next level.</p>
<p>The next level is to build the core of the software. This means that we only include those features and functionality that is the least needed to solve the problem. Once we have a good core, then the rest of the features will be easier to add. In addition it will keep things simple, which will save some resources. But more important it will give you a application that some of your customers can try and give you feedback on.</p>
<p>It is always about continuous improvement through research and attention to details, unlike movies there is no final version.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gtothesquare.com/2010/06/17/the-fukunaga-approach-to-ux-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java == vs equals</title>
		<link>http://www.gtothesquare.com/2010/04/19/java-vs-equals/</link>
		<comments>http://www.gtothesquare.com/2010/04/19/java-vs-equals/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 20:58:51 +0000</pubDate>
		<dc:creator>Geries Handal</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[objects]]></category>
		<category><![CDATA[primitives]]></category>

		<guid isPermaLink="false">http://www.gtothesquare.com/2010/04/19/java-vs-equals/</guid>
		<description><![CDATA[I was chatting with a professor (mentor and friend) from my University in Honduras. He was telling me that now the University became a &#8220;Javaschool&#8221;: a university were programming is taught using Java. This lead me to think of a couple of common mistakes that students might commit, since they don&#8217;t understand what is happening [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.gtothesquare.com%2F2010%2F04%2F19%2Fjava-vs-equals%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.gtothesquare.com%2F2010%2F04%2F19%2Fjava-vs-equals%2F&amp;source=gtothesquare&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=java,objects,primitives&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I was chatting with a professor (mentor and friend) from my University in Honduras. He was telling me that now the University became a &#8220;Javaschool&#8221;: a university were programming is taught using Java. This lead me to think of a couple of common mistakes that students might commit, since they don&#8217;t understand what is happening behind the scenes. Here is an example:</p>
<pre class="”brush:java”">
String patito = “javaschool”;

if (patito == “javaschool”){
//will never enter here
}
if (patito.equals(“javaschool”)){
//always enter here
}
</pre>
<p>The difference between using a == and equals method is that the operators == compares references to the object. Since <strong>&#8220;javaschool&#8221;</strong> is an object (even if you may see it as a value), it doesn&#8217;t reference the same object as <strong>patito.</strong> That is why the first <strong>if</strong> is always <strong>false</strong>. To compare or find out, if a String object has the value <strong>&#8220;javashool&#8221;,</strong> they will need to use the method <strong>equals</strong>.</p>
<p>They will make the above mistake, due to them learning to program using primitives like boolean, int, double, float, etc. Which is natural to conclude that everything in Java, works like comparing primitives,  when is not the case.</p>
<pre class="brush:java">int x = 90;
if (x == 90){
//woohoo! we are in
}
</pre>
<p>In the above example, <strong>int</strong> is not an object, but a primitive. A primitive is just a block of memory, no methods or others stuff. Just the value and a way to reference that block in memory containing the value.</p>
<p>If you need to read more about equals and == in Java, I recommend you go <a href="http://leepoint.net/notes-java/data/expressions/22compareobjects.html">here</a>. And if you want to read <a href="http://www.cs.usyd.edu.au/~jchan3/soft1001/jme/primitive_variables/index.html">more about primitives, you can go here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gtothesquare.com/2010/04/19/java-vs-equals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Startup Project Management</title>
		<link>http://www.gtothesquare.com/2009/08/22/startup-project-management/</link>
		<comments>http://www.gtothesquare.com/2009/08/22/startup-project-management/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 23:41:28 +0000</pubDate>
		<dc:creator>Geries Handal</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[project managment]]></category>
		<category><![CDATA[projectcartoon]]></category>

		<guid isPermaLink="false">http://www.gtothesquare.com/2009/08/22/startup-project-management/</guid>
		<description><![CDATA[Some time ago I found projectcartoon.com. It is a site where you build a cartoon (or joke) of project management. It actually can be used to illustrated various real life scenarios. I guess every company should have one of those project, that ended like the cartoon. I decided to do mine; from the point of [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.gtothesquare.com%2F2009%2F08%2F22%2Fstartup-project-management%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.gtothesquare.com%2F2009%2F08%2F22%2Fstartup-project-management%2F&amp;source=gtothesquare&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=project+managment,projectcartoon&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Some time ago I found <a href="http://www.projectcartoon.com" target="_blank">projectcartoon.com</a>. It is a site where you build a cartoon (or joke) of project management. It actually can be used to illustrated various real life scenarios. I guess every company should have one of those project, that ended like the cartoon. </p>
<p>I decided to do mine; from the point of view of how I see some startups working with web applications. If you like to download it here is the <a href="http://www.projectcartoon.com/cartoon/56279" target="_blank">link.</a> Bellow you can see a reduced version. Enjoy, because I know I did.</p>
<p><a href="http://www.gtothesquare.com/wp-content/uploads/2009/08/projectmanagement.png" target="_blank"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="project management" border="0" alt="project management" src="http://www.gtothesquare.com/wp-content/uploads/2009/08/projectmanagement_thumb.png" width="559" height="379" /></a></p>
<p>(Click on it to see bigger version)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gtothesquare.com/2009/08/22/startup-project-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What can a swing and Al Pacino teach you about Software Development?</title>
		<link>http://www.gtothesquare.com/2009/02/08/what-can-a-swing-and-al-pacino-teach-you-about-software-development/</link>
		<comments>http://www.gtothesquare.com/2009/02/08/what-can-a-swing-and-al-pacino-teach-you-about-software-development/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 22:28:00 +0000</pubDate>
		<dc:creator>Geries Handal</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Al Pacino]]></category>
		<category><![CDATA[Any Given Sunday]]></category>
		<category><![CDATA[project managment]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[team]]></category>

		<guid isPermaLink="false">http://gtothesquare.wordpress.com/2009/02/08/what-can-a-swing-and-al-pacino-teach-you-about-software-development/</guid>
		<description><![CDATA[(click to view bigger version) The image above shows how most software projects are executed or done. The swing is something we can related to and is simple to understand, however it is easy to get wrong, if we don’t communicate well. Doesn&#8217;t matter if a portal, software for a customer or in house solution, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.gtothesquare.com%2F2009%2F02%2F08%2Fwhat-can-a-swing-and-al-pacino-teach-you-about-software-development%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.gtothesquare.com%2F2009%2F02%2F08%2Fwhat-can-a-swing-and-al-pacino-teach-you-about-software-development%2F&amp;source=gtothesquare&amp;style=normal&amp;service=TinyURL.com&amp;hashtags=Al+Pacino,Any+Given+Sunday,project+managment,software,Software+Development,team&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.linuxkungfu.org/images/fun/geek/project.jpg" target="_blank"><img title="image" style="border-right:0;border-top:0;display:inline;border-left:0;border-bottom:0;" height="215" alt="image" src="http://gtothesquare.files.wordpress.com/2009/02/image.png" width="285" border="0" /></a> </p>
<p>(click to view bigger version)</p>
<p>The image above shows how most software projects are executed or done. The swing is something we can related to and is simple to understand, however it is easy to get wrong, if we don’t communicate well.</p>
<p>Doesn&#8217;t matter if a portal, software for a customer or in house solution, most of the time, it is how it goes. The main reason? Nobody in the team is on same page and by team is everybody, including the customers. And for that to occur, dialogue, trust, research, time, respect and patience is needed (missing any, ends up like the swing story board). </p>
<p>Like the film industry, a great movie will de the result of all the people involve being on sync. The difference between a great project and a bad project is the team. And as <a href="http://www.youtube.com/watch?v=9rFx6OFooCs" target="_blank">Al Pacino in “Any Given Sunday”</a> said:</p>
<blockquote><p>Either we heal, NOW as a team… or we will die, as individuals</p>
</blockquote>
<h5><a href="http://www.google.com/url?sa=U&amp;start=1&amp;q=http://matt2721.wordpress.com/2008/02/20/either-we-heal-now-as-a-teamor-we-will-die-as-individuals/&amp;ei=dFqPSfnjI8yL-gaFvsCrCw&amp;sig2=BIh-bFFGEaKSfzTbfcXXdw&amp;usg=AFQjCNFhpUwONL21RhoIr1AxDPQ0x-vchQ"><em></em></a></h5>
]]></content:encoded>
			<wfw:commentRss>http://www.gtothesquare.com/2009/02/08/what-can-a-swing-and-al-pacino-teach-you-about-software-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

