<?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>Index of /andrejciho</title>
	<atom:link href="http://www.andrejciho.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.andrejciho.com</link>
	<description>Personal blog of a webdeveloper</description>
	<lastBuildDate>Sat, 04 Feb 2012 01:52:18 +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>Extension of the WPDB class that throws exceptions on SQL error</title>
		<link>http://www.andrejciho.com/wordpress/extension-of-the-wpdb-class-that-throws-exceptions-on-sql-error/</link>
		<comments>http://www.andrejciho.com/wordpress/extension-of-the-wpdb-class-that-throws-exceptions-on-sql-error/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 01:52:18 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=159</guid>
		<description><![CDATA[NOW you can tell a SQL error apart from empty result set]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" href="http://codex.wordpress.org/Class_Reference/wpdb">WPDB</a> (WordPress&#8217; database class) gives you two options how to handle SQL errors. You either show them in the browser to everybody:</p>
<pre><code>$wpdb-&gt;show_errors();</code></pre>
<p>or any potential the failure happens silently</p>
<pre><code>$wpdb-&gt;hide_errors();</code></pre>
<p>with results of the SQL query coming back as blank and you can&#8217;t tell &#8220;nothing found&#8221; apart from &#8220;SQL error&#8221;.</p>
<p>I needed a better way to deal with SQL errors. PHP allows for throwing and catching exceptions (read more about it <a href="http://php.net/manual/en/language.exceptions.php">here</a>) which I highly encourage all of us WordPress developers to get very familiar with if you aren&#8217;t already. I cooked up a simple plugin that basically extends the WPDB class redefining some select methods and allows me to capture the SQL errors for further processing.</p>
<p>Here&#8217;s how I can interact with this extended class in my plugins or theme files:</p>
<pre><code>try {
    $transactions = $wpdb_e-&gt;get_results($query);
} catch (Exception $e) {
    // You can decide what to do with a SQL failure at this point, here are some ideas:
    if (WP_DEBUG) die($e-&gt;getMessage());
    echo 'We apologize but we were not able to retrieve your transactions';
    wp_mail('myname@mydomain.com', bloginfo('name') . ' has a SQL error', $e-&gt;getMessage());
}

if (empty($transactions))  echo 'You have no transactions as of yet';</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/wordpress/extension-of-the-wpdb-class-that-throws-exceptions-on-sql-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Replacing Charcoal Canister on 2003 Toyota Sienna</title>
		<link>http://www.andrejciho.com/automotive/replacing-charcoal-canister-on-2003-toyota-sienna/</link>
		<comments>http://www.andrejciho.com/automotive/replacing-charcoal-canister-on-2003-toyota-sienna/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 17:25:14 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[Automotive]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=183</guid>
		<description><![CDATA[Do it yourself. I did and it was relatively easy. I'm not a mechanic by any means.]]></description>
			<content:encoded><![CDATA[<p>So, I just passed the emissions test with our van. On the third attempt. The first attempt wasn&#8217;t really an attempt because they won&#8217;t test a car that has the Check Engine light on. Two error codes were read: <a href="http://www.obd-codes.com/p0442" target="_blank">P0442</a> and <a href="http://www.obd-codes.com/p0456" target="_blank">P0456</a>.</p>
<p>Dude at  the emissions testing place offered their standard diagnostics at $75 and since I had good experience with this place I took him up on it. He said it appeared that the purge valve on the charcoal canister was stuck open. He tested all three valves in the circuit that brings the fuel vapors from the gas tank back to the engine for burning and said this one was the culprit.</p>
<p>How expensive could a simple valve be, right? Two things:</p>
<ul>
<li>The valve is not sold separately, only with the entire charcoal canister</li>
<li>Only a Toyota dealership can acquire a new charcoal canister.</li>
</ul>
<p>I got a quote from the nearest dealership that came up to $730 including labor and taxes.</p>
<p>No way.</p>
<p>I called a number of junk yards in the area and found a totaled 2002 Sienna that still had the canister on it. Bought the canister for $85, replaced it myself following <a href="http://www.findonefindall.com/toyota-sienna/toyota_sienna_evap_P0446.htm" target="_blank">this blog post</a> and <a href="http://steampunkworkshop.com/toyota-sienna-evaporative-canister-and-svs-valve-repair" target="_blank">this one</a>.</p>
<p>I&#8217;m not a mechanic by any means and this was a very doable repair. Just pay attention to what you remove and put it back the same way.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/automotive/replacing-charcoal-canister-on-2003-toyota-sienna/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging a live WordPress site using WP_DEBUG</title>
		<link>http://www.andrejciho.com/wordpress/debugging-a-live-wordpress-site-using-wp_debug/</link>
		<comments>http://www.andrejciho.com/wordpress/debugging-a-live-wordpress-site-using-wp_debug/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 01:39:32 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=166</guid>
		<description><![CDATA[Enable WP_DEBUG messages just for YOU, but nobody else]]></description>
			<content:encoded><![CDATA[<p>WP_DEBUG is a boolean constant found in wp-config.php. When set to <em>true</em>, all php errors (and warnings and notifications) are printed in the browser. This is very useful during development but can be dangerous because text of php errors often reveals unnecessary details about your programming code, paths, etc to visitors in case they run into an issue with your site. For production sites this is always set to <em>false</em>.</p>
<p>But what do you do when you get a frantic client phone call reporting an issue on the live site? You can&#8217;t just enable WP_DEBUG for everybody and very likely break the site&#8217;s design as various error messages of sloppy plugin or WordPress&#8217; core code might render.</p>
<p>Solution is simple: Enable WP_DEBUG just for <em>you</em>.</p>
<p>First, you&#8217;ll need to know your outgoing IP address. When I&#8217;m lazy I go to my friend <a href="http://derosia.com">Topher&#8217;s beautiful website</a> which tells me my IP address.</p>
<p>Then edit your wp-config.php (CAREFUL) by replacing:</p>
<pre><code>define('WP_DEBUG', false);</code></pre>
<p>with</p>
<pre><code>if ($_SERVER['REMOTE_ADDR'] == '123.123.123.123') {
	define('WP_DEBUG', true);	
} else {
	define('WP_DEBUG', false);
}</code></pre>
<p>(don&#8217;t forget to replace 123.123.123.123 with your outgoing IP address)</p>
<p>By the way this is a great solution if you&#8217;re working from home or are tethering using your phone so that you are the only one coming from this IP address. If you&#8217;re in the same building with your client and try to debug the site without freaking out the CEO this might not be the best because odds are you and her are coming from the same IP address and she&#8217;ll see the same debug junk you do.</p>
<p>Please let me know if this was any helpful to you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/wordpress/debugging-a-live-wordpress-site-using-wp_debug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Time to restart this sorry blog</title>
		<link>http://www.andrejciho.com/general/time-to-restart-this-sorry-blog/</link>
		<comments>http://www.andrejciho.com/general/time-to-restart-this-sorry-blog/#comments</comments>
		<pubDate>Thu, 26 Jan 2012 23:41:10 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=171</guid>
		<description><![CDATA[It's been 2 years]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been almost two years since I put this blog on hold. I&#8217;m back. I think.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/general/time-to-restart-this-sorry-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Patch for Pods CMS 1.8.1 &#8211; mysql_real_escape_string</title>
		<link>http://www.andrejciho.com/wordpress/patch-for-pods-cms-1-8-1-mysql_real_escape_string/</link>
		<comments>http://www.andrejciho.com/wordpress/patch-for-pods-cms-1-8-1-mysql_real_escape_string/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 15:41:42 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=154</guid>
		<description><![CDATA[A patch to Pods CMS 1.8.1 to add a link_identifier as a second parameter to mysql_real_escape_string to avoid "access denied" errors]]></description>
			<content:encoded><![CDATA[<p>At <a href="http://atlantawordcamp.com/" target="_blank">Wordcamp Atlanta</a> I learned about <a href="http://pods.uproot.us/" target="_blank">Pods CMS</a> &#8211; a powerful WordPress plugin allowing you to build your content types, giving you an admin to add/edit/delete (kinda like RoR&#8217;s scaffolding) and an easy way to pull it out of database in your template. Very powerful plugin. Needless to say another world of possibilities opened up for me.</p>
<p>After spending some time on setting things up on my local box I uploaded it to a staging environment on our server and noticed a &#8220;mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user: &#8216;nobody@localhost&#8217;&#8221; error.</p>
<p>If you look up <a href="http://php.net/manual/en/function.mysql-real-escape-string.php" target="_blank">mysql-real-escape-string</a> in the php manual you&#8217;ll notice that the second and optional parameter is <em>link_identifier</em> (the db resource). The manual describes it as:</p>
<blockquote><p>The MySQL connection. If the link identifier is not specified, the last link opened by mysql_connect() is assumed. If no such link is found, it will try to create one as if mysql_connect() was called with no arguments. If no connection is found or established, an E_WARNING level error is generated.</p></blockquote>
<p>There might be another solution to the problem, for example changing a setting on the server, but if you don&#8217;t know how to change it or don&#8217;t have permissions to do so, you can modify code of Pods CMS so that anytime it calls mysql_real_escape_string it passes the link_identifier. Here is a <a href="http://www.andrejciho.com/wp-content/uploads/2010/01/mysql_real_escape_string_1.8.1.txt">patch</a> I created.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/wordpress/patch-for-pods-cms-1-8-1-mysql_real_escape_string/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Relative Bookmarks for WordPress Admin Pages</title>
		<link>http://www.andrejciho.com/wordpress/relative-bookmarks-for-wordpress-admin-pages/</link>
		<comments>http://www.andrejciho.com/wordpress/relative-bookmarks-for-wordpress-admin-pages/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 14:22:18 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=147</guid>
		<description><![CDATA[Get around wordpress admin menus quickly - on any wordpress blog]]></description>
			<content:encoded><![CDATA[<p>A recent <a href="http://twitter.com/andrea_r/status/3405028496">tweet</a> by @andrea_r inspired me to post my relative bookmarks (bookmarklets rather) solution. If you manage a lot of websites in WordPress, you probably find yourself jumping around the administrative area a good bit and while the 2.8 admin redesign helped a lot in saving time, using these universal bookmarks takes it a step further.</p>
<p>It is quite simple. I created a folder in my Bookmarks Toolbar in Firefox and placed the bookmarks I use the most in it, as shown below:</p>
<p><img class="alignnone size-full wp-image-148" title="wp-admin" src="http://www.andrejciho.com/wp-content/uploads/2009/08/wp-admin.PNG" alt="wp-admin" width="168" height="228" /></p>
<p>The way to make this URL/blog independent is link to relative page, for example &#8220;Add New Post&#8221; points to post-new.php (which needs to point to www.andrejciho.com/wp-admin/post-new.php on this blog). The &#8220;relativeness&#8221; is done via javascript so the &#8220;Location&#8221; of the bookmark is:</p>
<blockquote><p>javascript:window.location=&#8217;post-new.php&#8217;</p></blockquote>
<p>So you can really roll your own bookmarks following the pattern above. The links in the</p>
<blockquote><p>javascript:window.location=&#8217;post-new.php&#8217;<br />
javascript:window.location=&#8217;edit.php&#8217;<br />
javascript:window.location=&#8217;page-new.php&#8217;<br />
javascript:window.location=&#8217;edit-pages.php&#8217;<br />
javascript:window.location=&#8217;link-add.php&#8217;<br />
javascript:window.location=&#8217;link-manager.php&#8217;<br />
javascript:window.location=&#8217;plugins.php&#8217;</p></blockquote>
<p><strong>Note: </strong>These bookmarks only work once you are already logged in and within WordPress admin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/wordpress/relative-bookmarks-for-wordpress-admin-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comcast Monthly Issues</title>
		<link>http://www.andrejciho.com/rants/comcast-monthly-issues/</link>
		<comments>http://www.andrejciho.com/rants/comcast-monthly-issues/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 15:44:12 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=144</guid>
		<description><![CDATA[My monthly issues with Comcast where I go through the phases of denial, anger, bargaining, depression, and acceptance]]></description>
			<content:encoded><![CDATA[<p>My <strong>monthly </strong>routine with Comcast consists of these steps, triggered by slow and intermittent Internet connection:</p>
<p><a href="http://www.andrejciho.com/wp-content/uploads/2009/06/comcast.PNG"><img class="alignnone size-thumbnail wp-image-143" title="comcast" src="http://www.andrejciho.com/wp-content/uploads/2009/06/comcast-150x150.PNG" alt="comcast" width="150" height="150" /></a></p>
<p><strong>DENIAL</strong>.</p>
<p>I drive to a coffee shop because I actually have billable work to get done and would rather do that than waste time on messing with the ISP.</p>
<p><strong>ANGER.</strong></p>
<p>I come home hours later to find that the Internet connection is still spotty. Time to <em>stop</em> billable work and tinker with the issue at hand.  I power down the cable model and the wifi router, disable and enable wireless card,&#8230; the whole nine yards &#8211; I did work tech support 5+ years, I do know the drill.</p>
<p>Surprise surprise: It&#8217;s not me, it&#8217;s them.</p>
<p><strong>BARGAINING</strong>.</p>
<p>I call Comcast to report the problem. I sit on hold for a while. Phone tech apologizes for the inconvenience and assures me they will fix this free of charge. Ha! I bite my tongue and not mention the cost of lost time and income, cost of gas driving somewhere with reliable internet connection, etc.</p>
<p>The tech looks up the history of connection between their servers and my cable model and confirms that there are issues, sometimes they can&#8217;t see the cable model online at all. Tech offers to reset the cable model remotely. This kicks me off the phone since I&#8217;m on the Comcast home phone (rather than burning cell minutes). Comcast tech calls back and says that the issue is still occurring.</p>
<p>We schedule a time for a tech to come out.</p>
<p><strong>DEPRESSION.</strong></p>
<p>Tech comes out a couple days later. Surprisingly he knows the exact date/time when the issue started occuring. How? Because that&#8217;s when Comcast issued the regular IP refresh signal to my cable model. Because of the tech&#8217;s lack of knowledge/experience, I end up training him on how the Internet works behind the scenes (DNS, IP addresses, packets, cable modems, routers). I provide this to Comcast free of charge, every time. Then I walk him step by step through the indisputable proof that my computer is NOT the issue &#8211; also providing training on how one can best diagnose whether it is the computer, the website(s) being pinged, or the ISP&#8217;s equipment/service.</p>
<p>Tech tries everything and anything to resolve the issue and in the end &#8220;adjusts the signal stength something-or-another on the router which should improve the problem over time.&#8221; He admits that the model of wifi router issued by Comcast is giving a lot of people trouble but Comcast will not issue a different one to me &#8211; I&#8217;d have to buy one myself.</p>
<p>After 2 hours of my time, the tech says it shouldn&#8217;t be an issue any more and leaves. The internet connection seems to be working OK at this point.</p>
<p><strong>ACCEPTANCE.</strong></p>
<p>I cross my fingers in hopes that the &#8220;solution&#8221; works for as long as possible before another ice age hits.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/rants/comcast-monthly-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PlannerX review</title>
		<link>http://www.andrejciho.com/product-review/plannerx-review/</link>
		<comments>http://www.andrejciho.com/product-review/plannerx-review/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 17:52:48 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[Product Review]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=126</guid>
		<description><![CDATA[Review of PlannerX - an add-on to Basecamp.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve used <a href="http://www.basecamphq.com" target="_blank">Basecamp</a> for a couple of years at my previous <a href="http://www.cqlcorp.com">job</a>, my <a href="http://thinkinblack.com" target="_blank">business</a>, and <a href="http://sub-urban.org">ministry</a>. It revolutionized the way we interact with our customers and project teams. It allowed us to keep project artifacts central and everyone on the same page on expectations, timelines, etc. </p>
<p>However, there are areas of project management where Basecamp is lacking. Instead of trying to be everything to everybody, the Basecamp guys chose to stay focused on what their product is best at &#8211; collaboration. The logic behind this reasoning can be found in their excellent book, available <a href="http://gettingreal.37signals.com/" target="_blank">here</a>, also for free online reading.</p>
<p>The story didn&#8217;t end there, lucky for us &#8211; end users. A Basecamp API was created, which opened opportunity for enterpreneurs to create tools that add onto Basecamp&#8217;s functionality. There is vast array of these available for areas like billing, time tracking, planning, etc. Complete list can be found <a href="http://basecamphq.com/extras" target="_blank">here</a>.</p>
<p>One of those tools is <a href="http://plannerx.appsmagnet.com/" target="_blank">PlannerX</a> which appears to cater to project managers that are looking for a good and easy way to make project plans.</p>
<h3>Strengths</h3>
<ul>
<li>Nice interface for quick entry of milestones, todo lists and individual todo&#8217;s</li>
<li>Bulk-assign of todo&#8217;s</li>
<li>Sleek shiny UI</li>
</ul>
<h3>Weaknesses</h3>
<ul>
<li>There is no way to see a master Gantt chart of all your projects. You can only work with/see one project at a time</li>
<li>You can&#8217;t tell if a todo or milestone is completed or not</li>
<li>You can&#8217;t tell if a milestone is late or not (other than by date), unlike on Basecamp&#8217;s side where a milestone turns distinctly red when late</li>
<li>Once you sort your project items by Name or Assignee, you can&#8217;t return to the default sort order &#8211; by date</li>
<li>Obscure shortcuts: Ctrl-~ and Ctrl-.</li>
<li>Submitting support request feels very Facebook-y. Questions like &#8220;how does this make you feel.&#8221; I&#8217;m not even sure my support request (Gantt chart button not functional) even got submitted. I saw the Gantt chart once, then the button stopped working and I never saw it again.</li>
<li>There is always a pesky &#8220;undefined milestone&#8221; as the last item on your list that you can&#8217;t get rid of. It even shows up on your Gantt chart (when you can get to that). At least it doesn&#8217;t get pushed to Basecamp.</li>
</ul>
<h3>Summary</h3>
<p>PlannerX might help you to set up your project plan up front. It might save you considerable amount of time, especially for bigger projects. Not bad for $9/month or $90/year. </p>
<p>After you are done with your project plan and the project kicks off, you should probably log out of PlannerX and not use it for the same project again. </p>
<p>My overall feel of this tool is that it is in early beta and has a good amount of user feedback to go through before becoming a mature application.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/product-review/plannerx-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SQL Script Executor</title>
		<link>http://www.andrejciho.com/general/sql-script-executor/</link>
		<comments>http://www.andrejciho.com/general/sql-script-executor/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 01:51:53 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=123</guid>
		<description><![CDATA[Execute .sql script file by simply pointing a php script to it]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m in the process of upgrading a site to the latest version of WordPress. However, the only access I have is the admin WordPress password and the ftp password. I typically have access to phpmyadmin so that I can make a backup of the database and in case somethings goes bad I can roll back the upgrade.</p>
<p>So I installed a <a href="http://wordpress.org/extend/plugins/wp-db-backup/" target="_blank">wp-db-backup</a> plugin that will create a database backup for me. However, I don&#8217;t have a good way to restore from the backup.</p>
<p>I found a <a href="http://www.phptoys.com/e107_plugins/content/content.php?content.80" target="_blank">script</a> that let&#8217;s you upload any sql file and have it executed, but that seems like a bad idea from a security standpoint.</p>
<p>So I borrowed from the script linked above and made a simple php script that runs a SQL script defined by a variable. You can download it <a href="http://www.andrejciho.com/wp-content/uploads/2009/02/run_sql.zip">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/general/sql-script-executor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Programs, tools, and websites that made my life easier</title>
		<link>http://www.andrejciho.com/general/programs-tools-and-websites-that-made-my-life-easier/</link>
		<comments>http://www.andrejciho.com/general/programs-tools-and-websites-that-made-my-life-easier/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 16:25:40 +0000</pubDate>
		<dc:creator>Andrej</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.andrejciho.com/?p=110</guid>
		<description><![CDATA[List of programs, tools, and websites that have made my life easier]]></description>
			<content:encoded><![CDATA[<p>This is my last fulltime week at CQL as a project manager so to help those that will be taking over my responsibilities, I&#8217;m putting together a list of programs and tools that made my life easier.</p>
<p><strong>Text &amp; Source Code</strong></p>
<ul>
<li><a href="http://www.scintilla.org/SciTEDownload.html" target="_blank">SciTE </a>- for editing text and source code files</li>
<li><a href="http://winmerge.org/" target="_blank">WinMerge</a> &#8211; for comparing two versions of source code and merging differences</li>
<li><a href="http://www.eclipse.org/europa/" target="_blank">Eclipse</a> &#8211; with it&#8217;s PHP extension &#8211; writing killer php apps</li>
</ul>
<p><strong>Screenshot&#8217;s and Videocasts</strong></p>
<ul>
<li><a href="http://www.jingproject.com/" target="_blank">Jing</a> &#8211; for taking screenshots and videocast&#8217;s with voice and either emailing them or automatically having them upload to screencast.com and just sending a link to clients, coworkers, friends</li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/5648" target="_blank">Fireshot</a> &#8211; a plugin for firefox</li>
</ul>
<p><strong>Web app diag/debug</strong></p>
<ul>
<li><a href="http://www.mozilla.com/en-US/firefox/" target="_blank">Firefox</a>
<ul>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/1843" target="_blank">Firebug add-on</a></li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/60" target="_blank">Webdeveloper Toolbar add-on</a></li>
</ul>
</li>
<li><a href="http://www.apple.com/safari/" target="_blank">Safari</a></li>
<li><a href="http://www.opera.com/" target="_blank">Opera</a></li>
<li><a href="http://www.google.com/chrome" target="_blank">Chrome</a></li>
<li><a href="http://www.ie7pro.com/" target="_blank">IE7Pro</a> &#8211; Plugin for IE7 allowing for some sweet customizations</li>
<li>Elinks for Windows &#8211; view your website similar to how a crawler would (just text)</li>
<li><a href="http://www.google.com/analytics/" target="_blank">Google Analytics</a></li>
<li><a href="http://validator.w3.org/" target="_blank">W3C&#8217;s HTML validator</a></li>
</ul>
<p><strong>Collaboration</strong></p>
<ul>
<li><a href="http://www.basecamphq.com/" target="_blank">Basecamp</a> &#8211; collaboration with clients, coworkers, bosses</li>
<li><a href="https://www.yammer.com/" target="_blank">Yammer</a> &#8211; internal, realtime, micro-bloggy collaboration with coworkers</li>
<li><a href="http://www.twitter.com" target="_blank">Twitter</a> - (and <a href="http://www.twhirl.org/" target="_blank">Twhirl</a><span> to communicate with it)</span></li>
<li><a href="http://delicious.com/" target="_blank">Delicious.com</a> &#8211; Social bookmarking</li>
<li><a href="http://www.gotomeeting.com" target="_blank">GoToMeeting</a> (not free) &#8211; professional conferencing tool with ability to share your screen with other participants</li>
<li><a href="http://www.freeconference.com/">FreeConference</a> &#8211; free conference calling</li>
<li><a href="http://docs.google.com/" target="_blank">Google Docs</a> &#8211; Share and collaborate with team mates on your spreadsheets and word documents</li>
<li><a href="http://documents.google.com/support/bin/answer.py?hl=en&amp;answer=87809" target="_blank">Google Forms</a> &#8211; Easily create a form and send out a link. Get output in a Google spreadsheet</li>
<li><a href="http://www.crossloop.com/" target="_blank">Crossloop</a> &#8211; help someone with their computer without being there in person (screen share)</li>
</ul>
<div><strong>File Transfer / Server connect</strong></div>
<div>
<ul>
<li><a href="http://www.putty.org/" target="_blank">PuTTY </a>- shell access to Linux servers</li>
<li><a href="http://filezilla-project.org/" target="_blank">FileZilla</a> &#8211; SFTP, FTP, SCP client</li>
</ul>
</div>
<div><strong>Misc tools/websites</strong></div>
<ul>
<li><a href="http://ganttproject.biz/" target="_blank">Gantt Project</a> &#8211; for creating Gantt Charts</li>
<li><a href="http://openproj.org/" target="_blank">OpenProj</a> &#8211; Gantt charts, resource planning, import from MS Project</li>
<li><a href="http://cdexos.sourceforge.net/" target="_blank">CDEx</a> &#8211; for ripping CD&#8217;s into mp3&#8242;s </li>
<li><a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page" target="_blank">Freemind</a> &#8211; mind and structure mapping tool</li>
<li><a href="http://www.guuui.com/issues/02_07.php" target="_blank">GUUUI</a> &#8211; a web proto-typing template for Visio</li>
<li><a href="http://keepass.info/" target="_blank">KeePass</a> &#8211; keep your passwords stored securely in on location</li>
<li><a href="http://www.stevemiller.net/puretext/" target="_blank">PureText</a> &#8211; paste pure text (no formatting attached) even when copying from MS Office programs or websites</li>
<li><a href="http://www.sharpreader.net/" target="_blank">SharpReader </a>- RSS reader that supports authenticated feeds (such as Basecamp)</li>
<li><a href="http://www.ghisler.com/" target="_blank">Total Commander</a> &#8211; File management tool</li>
<li><a href="http://www.steffengerlach.de/freeware/" target="_blank">DiscScanner</a> &#8211; free space on disk</li>
<li><a href="http://www.7-zip.org/" target="_blank">7-Zip</a> &#8211; Compress/decompress zip files and just about any other file type. Even open ISO&#8217;s.</li>
<li><a href="http://www.gimp.org/" target="_blank">Gimp</a> &#8211; GNU Image Manipulation Program</li>
<li><a href="http://www.launchy.net/" target="_blank">Launchy</a> &#8211; 1. press Alt-Space 2. type any part of a name of a program installed on your computer 3. Hit enter</li>
<li><a href="http://sourceforge.net/projects/pdfcreator/" target="_blank">PDFCreator</a> &#8211; create PDF&#8217;s out of any program. Even que up documents from multiple programs into on PDF</li>
<li><a href="http://www.google.com/reader" target="_blank">Google Reader</a> &#8211; Subscribe to RSS feeds and share them with friends</li>
<li><a href="http://www.cygwin.com/" target="_blank">Cygwin</a> &#8211; UNIX emulator for windows &#8211; giving you access to your favorite linux/unix tools on your windows machine</li>
<li><a href="http://kmymoney2.sourceforge.net/index-home.html" target="_blank">KMyMoney</a> &#8211; (runs on Linux) personal finance manager application that imports from MS Money or Quicken</li>
<li><a href="http://www.highrisehq.com/" target="_blank">Highrise</a> &#8211; sweet CRM from 37signals (creators of Basecamp)</li>
<li><a href="http://labs.google.com/" target="_blank">Google Labs</a> &#8211; stay up to date on what Google is experimenting with</li>
<li><a href="http://slashdot.org/" target="_blank">Slashdot.org</a> &#8211; news for geeks</li>
<li><a href="http://audacity.sourceforge.net/" target="_blank">Audacity</a> &#8211; record music</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.andrejciho.com/general/programs-tools-and-websites-that-made-my-life-easier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

