<?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>To Hell in a Handbasket &#187; Computers</title>
	<atom:link href="http://ericsilva.org/category/computers/feed/" rel="self" type="application/rss+xml" />
	<link>http://ericsilva.org</link>
	<description>General Views, Opinions, and Observations in the World Around Me</description>
	<lastBuildDate>Tue, 22 May 2012 07:44:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Peer Code Review</title>
		<link>http://ericsilva.org/2012/05/16/peer-code-review/</link>
		<comments>http://ericsilva.org/2012/05/16/peer-code-review/#comments</comments>
		<pubDate>Wed, 16 May 2012 15:43:08 +0000</pubDate>
		<dc:creator>Eric Silva</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Code Collaborator]]></category>
		<category><![CDATA[code review]]></category>
		<category><![CDATA[Peer Code Review]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[Smart Bear]]></category>

		<guid isPermaLink="false">http://ericsilva.org/?p=818</guid>
		<description><![CDATA[Here is a presentation I created back in 2010 illustrating the benefits of peer code review in software development teams. I also discuss the Code Collaborator product from Smart Bear Software; the peer code review tool I use most regularly. &#160; Peer Code Review]]></description>
			<content:encoded><![CDATA[<p>Here is a presentation I created back in 2010 illustrating the benefits of peer code review in software development teams. I also discuss the Code Collaborator product from Smart Bear Software; the peer code review tool I use most regularly.</p>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:64ae394d-5492-4439-940f-ba9a595a9638" class="wlWriterEditableSmartContent">
<div><object width="448" height="252"><param name="movie" value="http://www.youtube.com/v/35XdF2Hjvtg?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/35XdF2Hjvtg?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"></embed></object></div>
<div style="width:448px;clear:both;font-size:.8em">Peer Code Review</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ericsilva.org/2012/05/16/peer-code-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Syncing Gmail Contacts Birthdays and Events with Google Calendar</title>
		<link>http://ericsilva.org/2011/05/10/syncing-gmail-contacts-birthdays-and-events-with-google-calendar/</link>
		<comments>http://ericsilva.org/2011/05/10/syncing-gmail-contacts-birthdays-and-events-with-google-calendar/#comments</comments>
		<pubDate>Tue, 10 May 2011 17:56:34 +0000</pubDate>
		<dc:creator>Eric Silva</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[InterWebNet]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Calendar]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[LinkedIn]]></category>

		<guid isPermaLink="false">http://ericsilva.org/2011/05/10/syncing-gmail-contacts-birthdays-and-events-with-google-calendar/</guid>
		<description><![CDATA[I am horrible with other people’s important dates, e.g., birthdays, anniversaries, date you got your appendix removed, etc. I just realized I should put all that info into my Gmail Contacts, and then it will appear on my Google Calendar automatically. Oh wait… It doesn’t show up. Damn. Why doesn’t it work? Turns out, this &#8230; </p><p><a class="more-link block-button" href="http://ericsilva.org/2011/05/10/syncing-gmail-contacts-birthdays-and-events-with-google-calendar/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I am horrible with other people’s important dates, e.g., birthdays, anniversaries, date you got your appendix removed, etc.</p>
<p>I just realized I should put all that info into my Gmail Contacts, and then it will appear on my Google Calendar automatically. Oh wait… It doesn’t show up. Damn. Why doesn’t it work?</p>
<p>Turns out, this obviously valued feature is not turned on by default, but it is available.&#160; To get your contacts’ birthdays and other events to show up, simply perform the following in Google Calendar:</p>
<p>Click <b>Settings </b>(the little gear icon in the upper right corner of the screen), then <b>Calendars </b>(link just under the &quot;Calendar Settings&quot; tab), then the <b>Browse Interesting Calendars </b>(lower right) link, then <b>More </b>(under the heading), and finally <b>Subscribe </b>next to the Contacts&#8217; birthdays and events.</p>
<p>Fantastic!&#160; Now you, and more importantly, I should have no reason to forget to remind our friends and family a Happy Birthday.</p>
]]></content:encoded>
			<wfw:commentRss>http://ericsilva.org/2011/05/10/syncing-gmail-contacts-birthdays-and-events-with-google-calendar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Review Does Not Have to Suck</title>
		<link>http://ericsilva.org/2011/02/24/code-review-does-not-have-to-suck/</link>
		<comments>http://ericsilva.org/2011/02/24/code-review-does-not-have-to-suck/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 17:49:12 +0000</pubDate>
		<dc:creator>Eric Silva</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[CodeCollaborator]]></category>
		<category><![CDATA[Crucible]]></category>
		<category><![CDATA[Kiln]]></category>
		<category><![CDATA[Peer Code Review]]></category>
		<category><![CDATA[SmartBear]]></category>

		<guid isPermaLink="false">http://ericsilva.org/?p=453</guid>
		<description><![CDATA[I have been using this saying for the last 6 years, &#8220;Code Review Does Not Have to Suck&#8221;.  I just saw today that SmartBear, who makes the wonderful CodeCollaborator peer code review tool, which I also use, released a quick 3-minute video explaining this. Peer code review is a critical milestone step in any good &#8230; </p><p><a class="more-link block-button" href="http://ericsilva.org/2011/02/24/code-review-does-not-have-to-suck/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I have been using this saying for the last 6 years, &#8220;Code Review Does Not Have to Suck&#8221;.  I just saw today that SmartBear, who makes the wonderful <a href="http://smartbear.com/products/development-tools/code-review/features/">CodeCollaborator</a> peer code review tool, which I also use, released <a href="http://smartbear.com/support/screencasts/codecollaborator/not-suck-ad">a quick 3-minute video</a> explaining this.</p>
<p>Peer code review is a critical milestone step in any good development process; especially with distributed teams.  <a href="http://smartbear.com/products/development-tools/code-review/features/">CodeCollaborator</a>, <a href="http://www.atlassian.com/software/crucible/">Crucible</a>, and <a href="http://www.fogcreek.com/kiln/">Kiln</a> are all great tools for facilitating peer code review without having to go through all the headache of gathering files, scheduling meetings, pissing off your co-workers, etc.</p>
<p>Check out the <a href="http://smartbear.com/support/screencasts/codecollaborator/not-suck-ad">video</a>.  It&#8217;s worth the 3-minutes.</p>
]]></content:encoded>
			<wfw:commentRss>http://ericsilva.org/2011/02/24/code-review-does-not-have-to-suck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dell 3115cn Multi-Function Color Laser Toner</title>
		<link>http://ericsilva.org/2011/02/22/dell-3115cn-multi-function-color-laser-toner/</link>
		<comments>http://ericsilva.org/2011/02/22/dell-3115cn-multi-function-color-laser-toner/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 17:42:45 +0000</pubDate>
		<dc:creator>Eric Silva</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Observations]]></category>
		<category><![CDATA[Cartridge]]></category>
		<category><![CDATA[Dell]]></category>
		<category><![CDATA[Laser]]></category>
		<category><![CDATA[Printer]]></category>
		<category><![CDATA[Toner]]></category>

		<guid isPermaLink="false">http://ericsilva.org/?p=450</guid>
		<description><![CDATA[We have a Dell 3115cn color laser printer at work.  The color toner cartridges are individual, and we buy them in these multipack deals (Dell Part #4BC3115).  The problem is that inside the box are four cartridges wrapped in that silver foil packaging and are not marked as to which color is inside.   You &#8230; </p><p><a class="more-link block-button" href="http://ericsilva.org/2011/02/22/dell-3115cn-multi-function-color-laser-toner/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>We have a Dell 3115cn color laser printer at work.  The color toner cartridges are individual, and we buy them in these multipack deals (Dell Part #<a href="http://accessories.us.dell.com/sna/PopupProductDetail.aspx?c=us&amp;l=en&amp;cs=biz&amp;sku=4BC3115">4BC3115</a>).  The problem is that inside the box are four cartridges wrapped in that silver foil packaging and are not marked as to which color is inside.   You never have to replace all four cartridges at once, so it becomes a lottery scratcher to find the cartridge you need.</p>
<p>Each cartridge does have a unique part number on it, but Dell&#8217;s website has nothing, nor Google, nor Bing, and Wolfram Alpha politely told me to piss off.  For future reference, I am writing down the individual codes and the color cartridge it corresponds to.  Hopefully the search bots will pick up this post and save other owners of the 3115cn the same hassle.</p>
<p>I did figure out after decomposing the product numbers, that the important part is after the &#8216;CN-0&#8242; bit at the beginning.  For example, if you Google PF028, you should get a link to Staples website for the Black cartridge.  Using the corresponding string section from the other cartridges yields the correct results as well.</p>
<p>Black: CN-0<strong><span style="color: #ff0000;">PF028</span></strong>-71971-958-3080</p>
<p>Yellow: CN-0<strong><span style="color: #ff0000;">NF555</span></strong>-71971-95D-7143</p>
<p>Magenta: CN-0<strong><span style="color: #ff0000;">MF790</span></strong>-71971-95D-1978</p>
<p>Cyan: CN-0<strong><span style="color: #ff0000;">RF012</span></strong>-71971-95D-8088</p>
]]></content:encoded>
			<wfw:commentRss>http://ericsilva.org/2011/02/22/dell-3115cn-multi-function-color-laser-toner/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to Design a Good API and Why It Matters</title>
		<link>http://ericsilva.org/2011/02/04/how-to-design-a-good-api-and-why-it-matters/</link>
		<comments>http://ericsilva.org/2011/02/04/how-to-design-a-good-api-and-why-it-matters/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 16:48:07 +0000</pubDate>
		<dc:creator>Eric Silva</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[LinkedIn]]></category>

		<guid isPermaLink="false">http://ericsilva.org/2011/02/04/how-to-design-a-good-api-and-why-it-matters/</guid>
		<description><![CDATA[I am starting to design a new API for an application that will need to integrate with other applications. Before doing so, I always make it a point to re-watch and re-read this presentation given by Joshua Bloch from Google.&#160; Joshua does a fantastic job going over the DOs and DON’Ts of good API design. &#8230; </p><p><a class="more-link block-button" href="http://ericsilva.org/2011/02/04/how-to-design-a-good-api-and-why-it-matters/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I am starting to design a new API for an application that will need to integrate with other applications.</p>
<p>Before doing so, I always make it a point to re-watch and re-read this presentation given by <a href="http://en.wikipedia.org/wiki/Joshua_Bloch">Joshua Bloch</a> from Google.&#160; Joshua does a fantastic job going over the DOs and DON’Ts of good API design.</p>
<p>&#160;</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:472f067b-2ac2-4e4c-8c60-90c39537f3de" class="wlWriterEditableSmartContent">
<div><object width="448" height="252"><param name="movie" value="http://www.youtube.com/v/aAb7hSCtvGw?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/aAb7hSCtvGw?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"></embed></object></div>
<div style="width:448px;clear:both;font-size:.8em">Joshua Bloch Presentation on API Design</div>
</div>
<p>&#160;</p>
<p>You can also download the slides <a href="http://lcsd05.cs.tamu.edu/slides/keynote.pdf">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ericsilva.org/2011/02/04/how-to-design-a-good-api-and-why-it-matters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>To root, or not to root</title>
		<link>http://ericsilva.org/2010/12/06/to-root-or-not-to-root/</link>
		<comments>http://ericsilva.org/2010/12/06/to-root-or-not-to-root/#comments</comments>
		<pubDate>Mon, 06 Dec 2010 17:51:50 +0000</pubDate>
		<dc:creator>Eric Silva</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Observations]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Hamlet]]></category>
		<category><![CDATA[HTC]]></category>
		<category><![CDATA[Incredible]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[Shakespeare]]></category>

		<guid isPermaLink="false">http://ericsilva.org/2010/12/06/to-root-or-not-to-root/</guid>
		<description><![CDATA[To root, or not to root: that is the question: Whether &#8217;tis nobler in the mind to suffer The crap of HTC is not outrageous fortune, Or to take arms against a sea of useless apps, And by opposing end them? To root, to be free; No more; and by freedom to say we end &#8230; </p><p><a class="more-link block-button" href="http://ericsilva.org/2010/12/06/to-root-or-not-to-root/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>To root, or not to root: that is the question:</p>
<p>Whether &#8217;tis nobler in the mind to suffer</p>
<p>The crap of HTC is not outrageous fortune,</p>
<p>Or to take arms against a sea of useless apps,</p>
<p>And by opposing end them? To root, to be free;</p>
<p>No more; and by freedom to say we end</p>
<p>The heart-ache and the thousand worthless apps</p>
<p>That cannot be uninstalled, ‘tis unavailable option</p>
<p>Devoutly to be wish’d. To root, to be free:</p>
<p>To freedom, perchance to control: ay, there’s the rub:</p>
<p>For that freedom of rooting what mistakes may come</p>
<p>When we have removed the controls in place that make us mortal,</p>
<p>Must give us pause; there’s the respect</p>
<p>That makes calamity of superuser privs;</p>
<p>For who would bear the segfaults and core dumps of time,</p>
<p>The oppressor’s wrong, the geek’s contumely,</p>
<p>The prags of despised garbage-ware, the sudo’s delay,</p>
<p>The insolence of Footprints and the Peep</p>
<p>That patient merit of the unworthy takes,</p>
<p>When he himself might his rm –rf make</p>
<p>With a bare sudo? Who would fardels bear?</p>
<p>To grunt and swear under a weary life,</p>
<p>But that the dread of something after root,</p>
<p>The undiscover’d access from whose bourn</p>
<p>No n00b returns, puzzles the will</p>
<p>And makes us rather bear those typos we have</p>
<p>Than make other that we know not of?</p>
<p>Thus conscience does make cowards of us all;</p>
<p>And thus the native hue of resolution</p>
<p>Is sicklied o’er with the pale cast of thought,</p>
<p>And enterprises of great pith and moment</p>
<p>With this regard their currents turn awry,</p>
<p>And lose the stability of my phone. – root you now!</p>
<p>The fair Incredible! Fantastic, in thy orisons</p>
<p>Be all my sudo remember’d.</p>
<p><em>(from Hamlet 3/1 – slightly altered by Eric Silva)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://ericsilva.org/2010/12/06/to-root-or-not-to-root/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iTunes Ping</title>
		<link>http://ericsilva.org/2010/09/16/itunes-ping/</link>
		<comments>http://ericsilva.org/2010/09/16/itunes-ping/#comments</comments>
		<pubDate>Thu, 16 Sep 2010 20:37:27 +0000</pubDate>
		<dc:creator>Eric Silva</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[InterWebNet]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Observations]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[asshat]]></category>
		<category><![CDATA[douchebags]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[Ping]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://ericsilva.org/2010/09/16/itunes-ping/</guid>
		<description><![CDATA[I just recently started using iTunes Ping, and my first impression was ‘Facebook/Twitter for Music’; pretty neat.&#160; If you have friends on Ping, then you can follow them, and see what they are listening to and/or interested in.&#160; Finding your ‘actual’ friends is pretty easy, since you know there name and often times e-mail, but &#8230; </p><p><a class="more-link block-button" href="http://ericsilva.org/2010/09/16/itunes-ping/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I just recently started using <a href="http://www.apple.com/itunes/ping/" target="_blank">iTunes Ping</a>, and my first impression was ‘<a href="http://facebook.com" target="_blank">Facebook</a>/<a href="http://twitter.com" target="_blank">Twitter</a> for Music’; pretty neat.&#160; If you have friends on Ping, then you can follow them, and see what they are listening to and/or interested in.&#160; Finding your ‘actual’ friends is pretty easy, since you know there name and often times e-mail, but finding the ‘real’ artists is another matter.&#160; Apple apparently didn’t learn or pay attention to the problem Twitter had a few years ago when it started: fake accounts.&#160; Another neat feature of Ping, is for actual artists to promote other artists.&#160; If you like <a href="http://twitter.com/trent_reznor" target="_blank">Trent Reznor</a> or <a href="http://twitter.com/paulvandyk" target="_blank">Paul van Dyk</a>, you might want to follow them and see what they are listening to.&#160; But in the event you pick the wrong account, or perhaps the artist doesn’t even have an ‘official’ Ping account, then all you end up doing is following some asshat douchebag who thought he would create an account using the name of an actual artist.</p>
<p>I think the ‘verified’ or ‘official’ account identifier that Twitter put in place should be Enhancement #1 on the Ping backlog.&#160; I’m still liking the service, and will continue to use it, but I’ll stay away from following artists until this gets resolved.</p>
]]></content:encoded>
			<wfw:commentRss>http://ericsilva.org/2010/09/16/itunes-ping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Really Slick OpenGL Screen Savers</title>
		<link>http://ericsilva.org/2010/07/15/really-slick-opengl-screen-savers/</link>
		<comments>http://ericsilva.org/2010/07/15/really-slick-opengl-screen-savers/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 20:03:50 +0000</pubDate>
		<dc:creator>Eric Silva</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[screen savers]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://ericsilva.org/2010/07/15/really-slick-opengl-screen-savers/</guid>
		<description><![CDATA[Tired of the boring screen savers that come with Windows and haven’t changed since Windows 3.1?&#160; Take a look at Really Slick Screensavers for some cool OpenGL savers available for Windows, Linux, Solaris, or Mac OS X.]]></description>
			<content:encoded><![CDATA[<p>Tired of the boring screen savers that come with Windows and haven’t changed since Windows 3.1?&#160; Take a look at <a href="http://www.reallyslick.com/" target="_blank">Really Slick Screensavers</a> for some cool OpenGL savers available for Windows, Linux, Solaris, or Mac OS X.</p>
]]></content:encoded>
			<wfw:commentRss>http://ericsilva.org/2010/07/15/really-slick-opengl-screen-savers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Greenshot &#8211; free screenshot tool</title>
		<link>http://ericsilva.org/2010/07/13/greenshot-free-screenshot-tool/</link>
		<comments>http://ericsilva.org/2010/07/13/greenshot-free-screenshot-tool/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 17:30:32 +0000</pubDate>
		<dc:creator>Eric Silva</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[InterWebNet]]></category>
		<category><![CDATA[Greenshot]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[screen capture]]></category>
		<category><![CDATA[SnagIt]]></category>

		<guid isPermaLink="false">http://ericsilva.org/2010/07/13/greenshot-free-screenshot-tool/</guid>
		<description><![CDATA[After using SnagIt for several years with my old company, I was in need of an open source replacement.&#160; After using everyone’s favorite research assistant, I found Greenshot.&#160; It doesn’t have all the bells and whistles that SnagIt has, but it has the basics which is what you use 80% of the time anyway. So &#8230; </p><p><a class="more-link block-button" href="http://ericsilva.org/2010/07/13/greenshot-free-screenshot-tool/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>After using <a href="http://www.techsmith.com/screen-capture.asp" target="_blank">SnagIt</a> for several years with my old company, I was in need of an open source replacement.&#160; After using everyone’s <a href="http://google.com" target="_blank">favorite research assistant</a>, I found <a href="http://getgreenshot.org/" target="_blank">Greenshot</a>.&#160; It doesn’t have all the bells and whistles that SnagIt has, but it has the basics which is what you use 80% of the time anyway.</p>
<p>So far, so good.&#160; If you are need of a good screenshot/capture tool, and don’t feel like forking over $50 for a SnagIt license, check out <a href="http://getgreenshot.org/" target="_blank">Greenshot</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ericsilva.org/2010/07/13/greenshot-free-screenshot-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Calendar Control for Web Application</title>
		<link>http://ericsilva.org/2010/03/19/simple-calendar-control-for-web-application/</link>
		<comments>http://ericsilva.org/2010/03/19/simple-calendar-control-for-web-application/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 19:07:08 +0000</pubDate>
		<dc:creator>Eric Silva</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[InterWebNet]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Calendar]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[LinkedIn]]></category>

		<guid isPermaLink="false">http://ericsilva.org/?p=379</guid>
		<description><![CDATA[I originally did this back in 2007, but did not want to lose the content, so I decided to put it up here. I found a robust and relatively simple calendar control to use for web UIs. It can use a pop-up window or a floating &#60;div&#62; tag. I prefer the latter as it makes &#8230; </p><p><a class="more-link block-button" href="http://ericsilva.org/2010/03/19/simple-calendar-control-for-web-application/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I originally did this back in 2007, but did not want to lose the content, so I decided to put it up here.</p>
<p>I found a robust and relatively simple calendar control to use for web UIs. It can use a pop-up window or a floating <code>&lt;div&gt;</code> tag. I prefer the latter as it makes the page look good and avoids a pop-up.</p>
<p>To use the control simply put the <a href="http://ericsilva.org/wp-content/uploads/2010/03/CalendarPopup.js">CalendarPopup.js</a> file in your application&#8217;s &#8220;scripts&#8221; directory and be sure to include it in your JSP. <em>(I used this in a Java app, but you can apply it to any language.)</em></p>
<p>Download the <a href="http://ericsilva.org/wp-content/uploads/2010/03/cal.gif"><img style="vertical-align: bottom; border: none;" title="cal.gif" src="http://ericsilva.org/wp-content/uploads/2010/03/cal.gif" alt="" width="16" height="16" /></a> and put it in your images directory.</p>
<p>Add the following lines to your application&#8217;s JavaScript file (or include on the same page if you don&#8217;t have an external JS file):</p>
<pre class="brush: jscript; title: ; notranslate">
// Set up Calendar control
var calObj = new CalendarPopup(&quot;calDiv&quot;);
calObj.showNavigationDropdowns();
calObj.setMonthNames('JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC');

// Handle the Calendar control
function doCalendar(destObjId, srcObj) {
    calObj.select(document.getElementById(destObjId),srcObj.id,'dd-MMM-yyyy');
}
</pre>
<p>Then add the following lines to your JSP:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script&gt;document.write(getCalendarStyles());&lt;/script&gt;
</pre>
<p>In your JSP, add the following HTML code where you want your date field and calendar control:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input id=&quot;dateField&quot; style=&quot;width: auto;&quot; maxlength=&quot;11&quot; name=&quot;actualDate&quot; size=&quot;25&quot; type=&quot;text&quot; /&gt;
&lt;img id=&quot;imgCal&quot; onclick=&quot;doCalendar('dateField',this);return false;&quot; src=&quot;cal.gif&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;
</pre>
<p>That&#8217;s it!</p>
<p>In order to workaround IE 6&#8242;s inability to recognize the z-index attribute on the tag, I made some modifications to the original JavaScript code. You will need to pass the an ID value to be used for the hidden that will overlay the box.</p>
<pre class="brush: jscript; title: ; notranslate">
var calObj = new CalendarPopup(&quot;calDiv&quot;, &quot;calFrame&quot;);
</pre>
<p>You will also need to specify the following styles in a stylesheet. The ID values in the stylesheet must match the names of your DIV and IFRAME IDs on your page.</p>
<pre class="brush: css; title: ; notranslate">
div#calDiv {
    position:absolute; visibility:hidden;
    background-color:white;
    layer-background-color:white;
}
.select-free {
    position:absolute; z-index:10;/*any value*/
    overflow:hidden;/*must have*/
    width:152px;/*do not change value for calendar control */;
}
.select-free iframe#calFrame {
    display:none;/*sorry for IE5*/
    display:block;/*sorry for IE5*/
    position:absolute;/*must have*/
    top:0;/*must have*/
    left:0;/*must have*/
    z-index:-1;/*must have*/
    filter:mask();/*must have*/
    width:3000px;/*must have for any big value*/
    height:3000px/*must have for any big value*/;
}
</pre>
<p>Your JSP now needs the following line:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;div id=&quot;calDiv&quot; class=&quot;select-free&quot;&gt;&lt;/div&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://ericsilva.org/2010/03/19/simple-calendar-control-for-web-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

