<?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>On Tech and Software &#187; General</title>
	<atom:link href="http://jmgtan.com/tag/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://jmgtan.com</link>
	<description>Random thoughts on technology, ventures, algorithms, frameworks, gadgets and THE MAN</description>
	<lastBuildDate>Fri, 02 Jul 2010 11:14:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>WordPress Syntax Highlighter</title>
		<link>http://jmgtan.com/2009/11/15/wordpress-syntax-highlighter/</link>
		<comments>http://jmgtan.com/2009/11/15/wordpress-syntax-highlighter/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 00:22:21 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=196</guid>
		<description><![CDATA[Can anybody recommend a good SyntaxHighlighter for WordPress? I&#8217;ve been using SyntaxHighlighter Plus for over 1year already, and its been always giving me headaches on character escaping with html/php codes. Now its been refusing to cooperate with indenting Java codes.]]></description>
			<content:encoded><![CDATA[<p></p>
<p>Can anybody recommend a good SyntaxHighlighter for WordPress? I&#8217;ve been using SyntaxHighlighter Plus for over 1year already, and its been always giving me headaches on character escaping with html/php codes. Now its been refusing to cooperate with indenting Java codes.</p>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2009%2F11%2F15%2Fwordpress-syntax-highlighter%2F&amp;linkname=WordPress%20Syntax%20Highlighter"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2009/11/15/wordpress-syntax-highlighter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash script to backup mysql database</title>
		<link>http://jmgtan.com/2009/02/19/bash-script-to-backup-mysql-database/</link>
		<comments>http://jmgtan.com/2009/02/19/bash-script-to-backup-mysql-database/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 04:41:51 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=100</guid>
		<description><![CDATA[This is the first bash script I wrote, I used crontab to periodically backup and compress a mysqldb in a shared hosting environment #!/bin/sh user=testdbuser password=testdb dbname=testdb location=~/db_backups ts=$(date '+%Y%m%d-%H%M') mysqldump -u$user -p$password --opt $dbname &#62; $location/temp-$ts.sql cd $location tar -cvzf $dbname-db-$ts.tar.gz temp-$ts.sql rm -f temp-$ts.sql]]></description>
			<content:encoded><![CDATA[<p></p>
<p>This is the first bash script I wrote, I used crontab to periodically backup and compress a mysqldb in a shared hosting environment</p>
<pre class="brush: bash;">
#!/bin/sh
user=testdbuser
password=testdb
dbname=testdb
location=~/db_backups
ts=$(date '+%Y%m%d-%H%M')

mysqldump -u$user -p$password --opt $dbname &gt; $location/temp-$ts.sql
cd $location
tar -cvzf $dbname-db-$ts.tar.gz temp-$ts.sql
rm -f temp-$ts.sql
</pre>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2009%2F02%2F19%2Fbash-script-to-backup-mysql-database%2F&amp;linkname=Bash%20script%20to%20backup%20mysql%20database"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2009/02/19/bash-script-to-backup-mysql-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 ways to pissed off your teammates</title>
		<link>http://jmgtan.com/2009/02/17/5-ways-to-pissed-off-your-teammates/</link>
		<comments>http://jmgtan.com/2009/02/17/5-ways-to-pissed-off-your-teammates/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 06:10:56 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=95</guid>
		<description><![CDATA[These are all speaking through experience Stubbornly kept on using deprecated code knowing that it will be remove from the code base in the next version, thereby hindering a smooth transition. Violating all of the company&#8217;s coding and naming standards making things difficult to trace for bugs when you go on leave all of a [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>These are all speaking through experience</p>
<ol>
<li>Stubbornly kept on using deprecated code knowing that it will be remove from the code base in the next version, thereby hindering a smooth transition.</li>
<li>Violating all of the company&#8217;s coding and naming standards making things difficult to trace for bugs when you go on leave all of a sudden!</li>
<li>You raise a shitstorm once you find a bug in other people&#8217;s code regardless of how minor it is. While we quietly fix your mess and continue with the development, because we are already behind schedule because of your incompetence.</li>
<li>Design patterns apparently don&#8217;t mean much.</li>
<li>While trying to resolve SVN conflicts, you immediately resolve it using your copy without even looking what has changed that caused the conflict.</li>
</ol>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2009%2F02%2F17%2F5-ways-to-pissed-off-your-teammates%2F&amp;linkname=5%20ways%20to%20pissed%20off%20your%20teammates"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2009/02/17/5-ways-to-pissed-off-your-teammates/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Toy: Razer DeathAdder</title>
		<link>http://jmgtan.com/2008/09/21/new-toy-razer-deathadder/</link>
		<comments>http://jmgtan.com/2008/09/21/new-toy-razer-deathadder/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 13:39:24 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[gadgets]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=35</guid>
		<description><![CDATA[Admittedly I suck at first person shooters, so regardless of what I&#8217;m using I still suck, the only question is which one would allow me to suck a little less. I was using Microsoft&#8217;s Wireless Laser Mouse 8000 which is a bluetooth mouse that has terrible response time when it comes to gaming and is [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>Admittedly I suck at first person shooters, so regardless of what I&#8217;m using I still suck, the only question is which one would allow me to suck a little less. I was using Microsoft&#8217;s Wireless Laser Mouse 8000 which is a bluetooth mouse that has terrible response time when it comes to gaming and is doubly terrible when used with OSX. I don&#8217;t know if the issue lies with OSX&#8217;s bluetooth drivers or the mouse itself, but it lacks any kind of smoothness and lags all the time which makes using Photoshop or any graphics software an exercise in frustration.</p>
<p>Enter the Razer DeathAdder, a 1800dpi with 1000hz ultrapolling mouse. This baby has so far put me up the top 5 of total kills per game in Call of Duty 4. The difference in performance is tremendous, maybe because of it&#8217;s wired nature, but it has absolutely no lag at all between movements. It also has first class support in OSX by way of drivers/software to customize any and all aspects of the mouse (dpi, polling, button mapping).</p>
<p style="text-align: center;">
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2008%2F09%2F21%2Fnew-toy-razer-deathadder%2F&amp;linkname=New%20Toy%3A%20Razer%20DeathAdder"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2008/09/21/new-toy-razer-deathadder/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Enterprise and their sucky frameworks</title>
		<link>http://jmgtan.com/2008/09/14/enterprise-and-their-sucky-frameworks/</link>
		<comments>http://jmgtan.com/2008/09/14/enterprise-and-their-sucky-frameworks/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 13:17:10 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[enterprise]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=26</guid>
		<description><![CDATA[No i&#8217;m not talking about frameworks that addresses their own unique business needs. I&#8217;m talking about your ORMs, MVC web frameworks, javascript (including ajax) frameworks, but for now i&#8217;m talking about your everyday java enterprise application. There is at least one of this monstrocities that is being build in every big company under the pretense [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>No i&#8217;m not talking about frameworks that addresses their own unique business needs. I&#8217;m talking about your ORMs, MVC web frameworks, javascript (including ajax) frameworks, but for now i&#8217;m talking about your everyday java enterprise application. There is at least one of this monstrocities that is being build in every big company under the pretense of &#8220;We don&#8217;t need the other stuff that framework X offers&#8221;, or maybe you&#8217;ve heard of the priceless line &#8220;Framework X contains so much features that it can affect the scalability of our enterprise application&#8221;. So with those ammunition, management will give them a go signal to build their very own abomination; maybe 2 years down the line some moron will pick up a business magazine seeing those new fangled application servers and will decide that they have to migrate to it to keep up with the trend, and yes, you&#8217;ve guess it&#8230; their framework is not compatible with the new application server and they will have to spend several thousand dollars to port it. Standards and open source frameworks exists for a reason.</p>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2008%2F09%2F14%2Fenterprise-and-their-sucky-frameworks%2F&amp;linkname=Enterprise%20and%20their%20sucky%20frameworks"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2008/09/14/enterprise-and-their-sucky-frameworks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>5 things that suck about weak typing</title>
		<link>http://jmgtan.com/2008/08/26/5-things-that-suck-about-weak-typing/</link>
		<comments>http://jmgtan.com/2008/08/26/5-things-that-suck-about-weak-typing/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 04:08:39 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=18</guid>
		<description><![CDATA[We all love our scripting languages with its simplicity, elegant and beautiful syntax, and the ability to quickly hack together a solution. One of the common features of most scripting languages is being weakly typed. Meaning that we don&#8217;t have to declare the variable&#8217;s data type before we use it; to some developers this is [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>We all love our scripting languages with its simplicity, elegant and beautiful syntax, and the ability to quickly hack together a solution. One of the common features of most scripting languages is being weakly typed. Meaning that we don&#8217;t have to declare the variable&#8217;s data type before we use it; to some developers this is a time saver and is one of the appeal of using these types of languages. But like with most things it has its pros and cons, and these are 5 things that you have to consider before using a weakly typed language.</p>
<ol>
<li><strong>Using them in a team is risky. </strong>Unless you have some kind of coding standards to determine what kind of type this variable is being used for, there is always a risk of somebody trampling on each others variables thereby causing side-effects all over the system.</li>
<li><strong>Maintenance issues. </strong>Going back on an already completed system after some time to do maintenance work on bugs is a nightmare in any language. Weak typing exacerbates this situation because of the danger of lacking checks and balances on what a variable can handle.</li>
<li><strong>Tool support. </strong>While the current state of IDE&#8217;s for scripting languages are improving. There is still work to be done especially on code assists, because of the nature of weak typing, this only partially works on some IDE&#8217;s.</li>
<li><strong>Error catching. </strong>Scripting languages are almost always are interpreted at runtime, therefore most conversion errors are not caught since there is no compiler to catch this errors. Even if there is a compiler, type information are dynamically determined by the interpreter.</li>
<li><strong>Performance/Optimizations. </strong>Statically typed languages have the advantage of having been optimized by the compiler. While interpreted languages are always a little bit slower than their compiled counterparts, dynamic typing and dynamic type conversions will always cause a little overhead.</li>
</ol>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2008%2F08%2F26%2F5-things-that-suck-about-weak-typing%2F&amp;linkname=5%20things%20that%20suck%20about%20weak%20typing"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2008/08/26/5-things-that-suck-about-weak-typing/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Oh no its PHP!!!</title>
		<link>http://jmgtan.com/2008/08/23/oh-no-its-php/</link>
		<comments>http://jmgtan.com/2008/08/23/oh-no-its-php/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 03:03:01 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[opinion]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=13</guid>
		<description><![CDATA[A few months ago I was doing some job hunting and i&#8217;ve come across some interesting job interviews in the process. Now I have a good mixture of full-time work and freelance work, and most of my freelance work consists of enterprise PHP web applications; while my full-time work primarily consists of J2EE and Oracle. [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>A few months ago I was doing some job hunting and i&#8217;ve come across some interesting job interviews in the process. Now I have a good mixture of full-time work and freelance work, and most of my freelance work consists of enterprise PHP web applications; while my full-time work primarily consists of J2EE and Oracle.</p>
<p>During the course of the interview when they are finished asking me the standard questions regarding my J2EE and Oracle experience, they focused their attention on my freelance works. I must say there is a really big ignorance with the LAMP stack in the enterprise world, opinions and questions that PHP is only a toy language and it cannot &#8220;scale&#8221; like their &#8220;100 concurrent users or the app server will choke&#8221; J2EE apps.  Now this opinions are nothing new, but it&#8217;s hilarious when you actually meet people with that opinion. If only they knew that sites like Digg, Facebook, Friendster were constructed with PHP albeit the web-part only, but like they say, right tools for the right job. I cringe everytime people construct simple intranet sites with full blown J2EE architecture thinking it would automatically scale because it&#8217;s Java/Oracle; apps that could have been simply done with a LAMP stack and 1 week.</p>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2008%2F08%2F23%2Foh-no-its-php%2F&amp;linkname=Oh%20no%20its%20PHP%21%21%21"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2008/08/23/oh-no-its-php/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Injecting technology to conservative management</title>
		<link>http://jmgtan.com/2008/08/08/injecting-technology-to-conservative-management/</link>
		<comments>http://jmgtan.com/2008/08/08/injecting-technology-to-conservative-management/#comments</comments>
		<pubDate>Sat, 09 Aug 2008 03:06:28 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[business]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=9</guid>
		<description><![CDATA[During the course of my freelance work, i&#8217;ve encountered my fair share of conservative management. The fear, sometimes warranted, of migrating processes to use technology is staggering to the point of being absurd and sometimes humorous. Granted most of this businesses have experience using some form of technology, and they have been burned numerous times [...]]]></description>
			<content:encoded><![CDATA[<p></p>
<p>During the course of my freelance work, i&#8217;ve encountered my fair share of conservative management. The fear, sometimes warranted, of migrating processes to use technology is staggering to the point of being absurd and sometimes humorous. Granted most of this businesses have experience using some form of technology, and they have been burned numerous times by past experiences which leads them to revert to the old style of pen and paper (LOTS OF THEM!). Future companies that would be brave enough to sell them their technology would be hard press to convinced them otherwise. Citing different reasons such as cost, maintenance and the concern for downtimes that will inevitably result to slower operations, and if your offering them an online solution, the concern of intermittent or unavailable online access.</p>
<p>How do you deal with this kinds of clients? Should we avoid them? Or try to enlighten them?</p>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2008%2F08%2F08%2Finjecting-technology-to-conservative-management%2F&amp;linkname=Injecting%20technology%20to%20conservative%20management"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2008/08/08/injecting-technology-to-conservative-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New home!</title>
		<link>http://jmgtan.com/2008/08/08/new-home/</link>
		<comments>http://jmgtan.com/2008/08/08/new-home/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 15:26:47 +0000</pubDate>
		<dc:creator>Jan Michael Tan</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://jmgtan.com/?p=3</guid>
		<description><![CDATA[Hi! Welcome to my new home, a place to share technology related ideas and random rants. Also a place to post new development updates for a still to be announced venture.]]></description>
			<content:encoded><![CDATA[<p></p>
<p>Hi! Welcome to my new home, a place to share technology related ideas and random rants. Also a place to post new development updates for a still to be announced venture.</p>
<p></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fjmgtan.com%2F2008%2F08%2F08%2Fnew-home%2F&amp;linkname=New%20home%21"><img src="http://jmgtan.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://jmgtan.com/2008/08/08/new-home/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
