<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>REVERT TO CONSOLE</title>
	<atom:link href="http://reverttoconsole.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://reverttoconsole.wordpress.com</link>
	<description>for f in *;do echo &#124; sed ‘irtc’ &#62;&#62; $f;done;</description>
	<lastBuildDate>Sat, 26 Mar 2011 18:19:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='reverttoconsole.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>REVERT TO CONSOLE</title>
		<link>http://reverttoconsole.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://reverttoconsole.wordpress.com/osd.xml" title="REVERT TO CONSOLE" />
	<atom:link rel='hub' href='http://reverttoconsole.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Revert to console for language translation</title>
		<link>http://reverttoconsole.wordpress.com/2009/04/17/revert-to-console-for-language-translation/</link>
		<comments>http://reverttoconsole.wordpress.com/2009/04/17/revert-to-console-for-language-translation/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 16:13:33 +0000</pubDate>
		<dc:creator>reverttoconsole</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://reverttoconsole.wordpress.com/?p=338</guid>
		<description><![CDATA[&#8220;Do I really need a web browser or collection of clunky travel dictionaries to translate to and from different languages of the world?  Isn&#8217;t there a command line tool that can do the same thing and make my life easier, while making me even more awesome at the same time?&#8221; The answer is YES! The [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=338&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#8220;Do I really need a web browser or collection of clunky travel dictionaries to translate to and from different languages of the world?  Isn&#8217;t there a command line tool that can do the same thing and make my life easier, while making me even more awesome at the same time?&#8221;</p>
<p>The answer is YES!</p>
<p>The &lt;a href=&#8221;http://savannah.nongnu.org/projects/twandgtw&#8221;&gt;Translate Word and Graphical TW project&lt;/a&gt; is your gateway to having superior translation capabilities right in your CONSOLE!</p>
<p>Download tw from http://savannah.nongnu.org/files/?group=twandgtw.<br />
I&#8217;m using tw-0.1.3.tar.bz2.</p>
<p>Major Dependencies<br />
elinks<br />
http://elinks.or.cz/download<br />
I&#8217;m using elinks-0.11.5.tar.bz2.</p>
<p>I&#8217;m using Cygwin and I was missing the following:<br />
curl<br />
libiconv<br />
util-linux random utils (For the getopt() function)</p>
<p>The above Cygwin packages can easily be obtained through the Cygwin setup program.</p>
<p>1. Extract elinks.  Build it starting with &#8220;sh configure&#8221;.  Then type &#8220;make&#8221;.  After it finishes, type &#8220;make install&#8221;.</p>
<p>2. Repeat step 1 with tw.</p>
<p>3. Type tw -h to test that everything is installed correctly.</p>
<p>4. If everything went well, try typing &#8220;tw en-es hello&#8221; and you should get the following output:<br />
hello : hola</p>
<p>You&#8217;re all set!  Now you can quickly translate between many languages straight from your bash shell.  Type &#8220;tw -l&#8221; to see a list of &#8220;all&#8221; the languages.</p>
<p>Customized Script for Google Translate</p>
<p>Google&#8217;s translate service is one of the most comprehensive language translators available.  A major benefit of using Google&#8217;s translation service is that you can pass in as much text as you want; simply surround the text with quotes.  Even though tw does not list all of the languages that Google supports, it is still a bash script that parses input parameters, and it does not do any validation.  You can append anything you want to the argument &#8220;translate.google.com&#8221;.  For instance, Croatian is not listed as one of the languages (&#8220;hr&#8221;).  However, all you need to do is append the appropriate language pair to the end of the argument string, like so:<br />
$ tw translate.google.com.en-hr hello<br />
zdravo</p>
<p>To make this a bit more user-friendly, I have created a simple wrapper script (twg) for tw that only uses Google&#8217;s translate service.  It works just like tw, except you do not have to type &#8220;translate.google.com&#8221;.  You only need to put in the language pair.  For example:<br />
$ twg en-es &#8220;Hello World&#8221;<br />
Hola Mundo</p>
<p>Type &#8220;twg -l&#8221; to get a complete list of supported languages. You can find more details about featured languages at http://www.google.com/help/faq_translation.html#langpairs.</p>
<p>&lt;code&gt;<br />
$ cat twg<br />
#!/bin/bash<br />
# author: eokuwwy<br />
# http://reverttoconsole.com<br />
# description: customized tw wrapper script that uses google translate</p>
<p>if [ "$1" = "-l" ];<br />
then<br />
echo &#8220;Arabic=ar&#8221;;<br />
echo &#8220;Bulgarian=bg&#8221;;<br />
echo &#8220;Catalan=ca&#8221;;<br />
echo &#8220;Chinese=zh-cn&#8221;;<br />
echo &#8220;Chinese=zh-tw&#8221;;<br />
echo &#8220;Croation=hr&#8221;;<br />
echo &#8220;Czech=cs&#8221;;<br />
echo &#8220;Danish=da&#8221;;<br />
echo &#8220;Dutch=nl&#8221;;<br />
echo &#8220;English=en&#8221;;<br />
echo &#8220;Filipino=tl&#8221;;<br />
echo &#8220;Finnish=fi&#8221;;<br />
echo &#8220;French=fr&#8221;;<br />
echo &#8220;German=de&#8221;;<br />
echo &#8220;Greek=el&#8221;;<br />
echo &#8220;Hebrew=iw&#8221;;<br />
echo &#8220;Hindi=hi&#8221;;<br />
echo &#8220;Indonesian=id&#8221;;<br />
echo &#8220;Italian=it&#8221;;<br />
echo &#8220;Japanese=ja&#8221;;<br />
echo &#8220;Korean=ko&#8221;;<br />
echo &#8220;Latvian=lv&#8221;;<br />
echo &#8220;Lithuanian=lt&#8221;;<br />
echo &#8220;Norwegian=no&#8221;;<br />
echo &#8220;Polish=pl&#8221;;<br />
echo &#8220;Portuguese=pt-BR&#8221;;<br />
echo &#8220;Romanian=ro&#8221;;<br />
echo &#8220;Russian=ru&#8221;;<br />
echo &#8220;Serbian=sr&#8221;;<br />
echo &#8220;Slovak=sk&#8221;;<br />
echo &#8220;Slovenian=sl&#8221;;<br />
echo &#8220;Spanish=es&#8221;;<br />
echo &#8220;Swedish=sv&#8221;;<br />
echo &#8220;Ukranian=uk&#8221;;<br />
echo &#8220;Vietnamese=vi&#8221;;<br />
elif [ "$1" = "-h" -o -z "$1" ];<br />
then<br />
echo &#8220;Usage: twg [sourcelang-destlang (i.e. en-es)] [term]&#8220;;<br />
echo &#8220;twg -h (shows help)&#8221;;<br />
echo &#8220;twg -l (shows language list)&#8221;;<br />
else<br />
tw translate.google.com.$1 &#8220;$2&#8243;;<br />
fi<br />
&lt;/code&gt;</p>
<p>Happy command line translation!  Now jailbreak (at your own risk) your iPhone/Blackberry/PDA and put tw on there!</p>
<p>$ twg en-es &#8220;peace out&#8221;<br />
a la paz</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/reverttoconsole.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/reverttoconsole.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/reverttoconsole.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/reverttoconsole.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/reverttoconsole.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/reverttoconsole.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/reverttoconsole.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/reverttoconsole.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/reverttoconsole.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/reverttoconsole.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/reverttoconsole.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/reverttoconsole.wordpress.com/338/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/reverttoconsole.wordpress.com/338/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/reverttoconsole.wordpress.com/338/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=338&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://reverttoconsole.wordpress.com/2009/04/17/revert-to-console-for-language-translation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fabf0c0a60794b0a6b07c6024eb69c4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">reverttoconsole</media:title>
		</media:content>
	</item>
		<item>
		<title>JBoss Seam presentation at the Boston Java meetup group</title>
		<link>http://reverttoconsole.wordpress.com/2009/04/05/jboss-seam-presentation-at-the-boston-java-meetup-group/</link>
		<comments>http://reverttoconsole.wordpress.com/2009/04/05/jboss-seam-presentation-at-the-boston-java-meetup-group/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 01:35:34 +0000</pubDate>
		<dc:creator>reverttoconsole</dc:creator>
				<category><![CDATA[Seam]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/?p=369</guid>
		<description><![CDATA[If you&#8217;re around the Boston Metro area, drop in for my presentation on JBoss Seam at the Boston Java Meetup group @MIT EHS office, Cambridge. Click here for more details.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=310&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re around the Boston Metro area, drop in for my presentation on <a href="http://www.seamframework.org">JBoss Seam</a> at the Boston Java Meetup group @MIT EHS office, Cambridge.</p>
<p>Click <a href="http://java.meetup.com/10/calendar/9968789/">here</a> for more details.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/reverttoconsole.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/reverttoconsole.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/reverttoconsole.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/reverttoconsole.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/reverttoconsole.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/reverttoconsole.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/reverttoconsole.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/reverttoconsole.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/reverttoconsole.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/reverttoconsole.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/reverttoconsole.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/reverttoconsole.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/reverttoconsole.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/reverttoconsole.wordpress.com/310/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=310&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://reverttoconsole.wordpress.com/2009/04/05/jboss-seam-presentation-at-the-boston-java-meetup-group/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fabf0c0a60794b0a6b07c6024eb69c4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">reverttoconsole</media:title>
		</media:content>
	</item>
		<item>
		<title>CAPTCHA Overview and alternatives</title>
		<link>http://reverttoconsole.wordpress.com/2009/03/09/captcha-overview-and-alternatives/</link>
		<comments>http://reverttoconsole.wordpress.com/2009/03/09/captcha-overview-and-alternatives/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 17:54:51 +0000</pubDate>
		<dc:creator>reverttoconsole</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/?p=347</guid>
		<description><![CDATA[I recently evaluated CAPTCHA for a client requirement. Here is a brief overview (Source: blogs, wiki, white papers found on google search) CAPTCHA stands for: “Completely Automated Public Turing test to Tell Computers and Humans Apart”. It refers to a technology familiar to anyone who’s registered on a popular website &#8211; the “what word is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=293&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I recently evaluated CAPTCHA for a client requirement. Here is a brief overview (Source: blogs, wiki, white papers found on google search)</p>
<p>CAPTCHA stands for: “Completely Automated Public Turing test to Tell Computers and Humans Apart”. It refers to a technology familiar to anyone who’s registered on a popular website &#8211; the “what word is shown on this image” challenge. As the “Turing test” alludes to, the purpose is to distinguish between humans and computers. Types of CAPTCHA:</p>
<p>* Photo/Image CAPTCHA<br />
* Animated CAPTCHA<br />
* Sound CAPTCHA<br />
* Multiple choice questions<br />
* Logic questions</p>
<p>CAPTCHA doesn’t prevent hackers or attackers to the site. It merely attempts to prevent bots and spammers.</p>
<p><strong>How does CAPTCHA work?</strong></p>
<p><span id="more-293"></span><br />
CAPTCHA fools the bots by asking questions or generating pictures only human can answer. They contain distorted letters, different pictures with different letters in different shapes. After the user submits the answer CAPTCHA validate the answer. Since Bots cannot recognize each letter alone, this is a fairly difficult to break.</p>
<p><strong>How to create CAPTCHA?</strong><br />
CAPTCHA can be written using any programming languages including Java. The code should provide three main functions. First, the code should generate a random picture with different properties. Second, validate the user answer. Third, make these pictures secure. Also, there are many things to make the code more reliable like&#8221; Rotate the text randomly, add random spaces in between characters, use a TTF fonts and change the font randomly every time, use a random text and image size every time, use more advanced text distortion and colors, move the lines randomly, store the password in a random cookie. In addition, there are CAPTCHA creator programs which allow users to choose their CAPTCHA shapes. Sophisticated libraries often provide extensions for developers to create their own algorithm for drawing images.<br />
CAPTCHA benefits</p>
<p>* Preventing Comment Spam in Blogs.<br />
* Protecting Website Registration.<br />
* Protecting Email Addresses from Scrapers.<br />
* Online Polls<br />
* Search Engine Bots.<br />
* Worms and Spam</p>
<p><strong>Implementations of CAPTCHA</strong><br />
There are several implementations of CAPTCHA – commercial and open-source, in almost every programming language. The following are some Java based CAPTCHA frameworks<br />
* reCaptcha (most popular, available as web-service)<br />
* SimpleCaptcha (Java)<br />
* JBoss Seam Captcha (for Java Seam based projects, works out of the box, can extend algorithm)<br />
* jCaptcha (Java)<br />
* Kaptcha (very simple java alternative to jCaptcha)<br />
* … and many more</p>
<p><strong>Problems</strong><br />
* When captchas get funky that humans with 20/20 vision start struggling; accessibility is far away<br />
* Prone to common attacks<br />
* The image challenge is inaccessible to visually impaired users. This problem is usually addressed by providing an alternative audio CAPTCHA for these users. However, many audio CAPTCHAs can be difficult to hear even to those with good hearing due to background noise and distorted pronunciation.<br />
* Providing both image and audio CAPTCHAs is difficult to implement. ReCAPTCHA can simplify the process, but requires Javascript, and needs to be imbedded in your mark-up using iframes.<br />
* Image CAPTCHAs are not infallible. A number of projects have shown that automatic character recognition software can often read the letters in the image.</p>
<p><strong>Alternate Solutions</strong><br />
There are several alternatives to CAPTCHA. Most of them can be easily incorporated into an existing web framework:</p>
<ul>
<li><strong>Dummy form elements</strong></li>
</ul>
<p>Dummy form elements can be added to trick bots into filling them and hiddeen those from users with CSS. Additionally, dummy elements should be named suggestively to fool the bots &#8211; for example, subject, name, URL. Then when form is submitted, system can check if any of these fields have been filled and if so you can isolate a “bot.”</p>
<ul>
<li><strong>Session variable / GET request detection</strong></li>
</ul>
<p>This isn’t CAPTCHA alternative, but it can be used to filter out spam-bots. A variable is put in session when a GET request is made and when a form is submitted the system checks the session for that variable. This can filter out bots that submit request directly to POST without getting a page with the form. However this system can be easily fooled by creating a bot that acts like a web browser.</p>
<ul>
<li><strong>Session variable with time computation</strong></li>
</ul>
<p>Similar to the above session idea where, time can be recorded when the form was loaded. On post, system calculates the time difference and if it’s less than say 5 seconds, it can be ignored as spam. However spam bots could easily adjust for this by building in a delay.</p>
<ul>
<li><strong>5 Layer Spam Filter</strong></li>
</ul>
<p>It uses some cunning techniques to identify bots without having to resort to CAPTCHA:</p>
<p>* Do fields hidden off-screen still get filled in<br />
* Is the form filled in in seconds?<br />
* Do they not have JavaScript enabled?<br />
* Does Askimet mark it as spam<br />
* Etc …</p>
<ul>
<li><strong>Forced Visual cues</strong></li>
</ul>
<p>This is a simpler alternative. The webpage with a &#8220;yes&#8221; and a &#8220;no&#8221; radio button can make &#8220;no&#8221; the default and have the visitors state that they are not spammers by selecting &#8220;yes.&#8221;</p>
<ul>
<li><strong>SAPTCHA (“Text based CAPTCHA)</strong></li>
</ul>
<p>SAPTCHA stands for Semi Automatic Public Turing Test to Tell Computers and Humans Apart.</p>
<p>The key concept is same as with CAPTCHA: user is presented with test question or instructions and must give correct answer to use resource. Main difference is that computer does not try to automatically generate &#8220;unique&#8221; test questions on each query; only verification of answer is automatic. Instead, unique test question and answer[s] is set by moderator or owner when SAPTCHA is installed, and should be easy to change if needed.<br />
Comparison of SAPTCHA versus CAPTCHA features<br />
<strong></strong></p>
<p><em>Advantages of SAPTCHA over CAPTCHA:</em></p>
<p>1. SAPTCHA software is much easier to implement than CAPTCHA<br />
2. Textual SAPTCHA does not discriminate against disabled who can use internet. [Audio CAPTCHA plus visual CAPTCHA would double effort and is thus very uncommon in practice]<br />
3. There is methods for breaking image based CAPTCHAs. Even with popular CAPTCHA, the system may still get spammed by entirely automatic bot. SAPTCHAs can be much more varied and there won&#8217;t be common method of breaking until it becomes possible for computers to interpret human instructions in normal human language.<br />
<strong><br />
</strong><em>Advantages of CAPTCHA over SAPTCHA (disadvantages of SAPTCHA):</em></p>
<p>1. With SAPTCHA, when banning spammer, moderator must enter new question and answer. With CAPTCHA, though, there&#8217;s point 1 above (&amp; CAPTCHA code won&#8217;t remain useful forever either), so for not extremely popular websites it seems highly unlikely that even in long run CAPTCHA would save work.<br />
2. If SAPTCHA is used to protect registration, it is easier to register many accounts at once than with CAPTCHA; may matter with popular email services.<br />
3. Verbal SAPTCHA is problematic when it is multi-language resource that needs frequent changes.</p>
<ul>
<li><strong>Mouse Intervention CAPTCHA</strong></li>
</ul>
<p>A simple Mouse Intervention CAPTCHA implemented in a Java applet. The server generates some drawings and asks the user to click on all drawings with an odd number of edges. The mouse click events are recorded. As long as the mouse is clicked within the dark area of drawings with an odd number of edges, access is granted.</p>
<p><strong>Conclusion</strong><br />
CAPTCHA is widely used across the internet including by Google, Yahoo and Microsoft. Hence discarding this solution should be done only for a ground-breaking alternative. With CAPTCHA, the criteria would be to pick an image/audio based CAPTCHA or text-based CAPTCHA for the project depending on the target user base. Once that’s decided, one of the several free libraries can be chosen to fit well into an existing technology stack. A relatively “light” library that provides easy extension hooks for custom extensions of CAPTCHA algorithms would be ideal.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/reverttoconsole.wordpress.com/293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/reverttoconsole.wordpress.com/293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/reverttoconsole.wordpress.com/293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/reverttoconsole.wordpress.com/293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/reverttoconsole.wordpress.com/293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/reverttoconsole.wordpress.com/293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/reverttoconsole.wordpress.com/293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/reverttoconsole.wordpress.com/293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/reverttoconsole.wordpress.com/293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/reverttoconsole.wordpress.com/293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/reverttoconsole.wordpress.com/293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/reverttoconsole.wordpress.com/293/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/reverttoconsole.wordpress.com/293/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/reverttoconsole.wordpress.com/293/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=293&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://reverttoconsole.wordpress.com/2009/03/09/captcha-overview-and-alternatives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fabf0c0a60794b0a6b07c6024eb69c4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">reverttoconsole</media:title>
		</media:content>
	</item>
		<item>
		<title>Multiple Gmail Inboxes</title>
		<link>http://reverttoconsole.wordpress.com/2009/02/15/multiple-gmail-inboxes/</link>
		<comments>http://reverttoconsole.wordpress.com/2009/02/15/multiple-gmail-inboxes/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 16:38:02 +0000</pubDate>
		<dc:creator>reverttoconsole</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/?p=338</guid>
		<description><![CDATA[This caught my eye recently as a nice addition to the gmail labs. I&#8217;ve been using a second inbox as a todo-list, filtered on starred items. I can also prioritize tasks based on different stars.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=286&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://gmailblog.blogspot.com/2009/02/new-in-labs-multiple-inboxes.html">This caught my eye</a> recently as a nice addition to the gmail labs.</p>
<p>I&#8217;ve been using a second inbox as a todo-list, filtered on starred items. <a href="http://googlesystem.blogspot.com/2008/07/gmail-superstars.html">I can also prioritize tasks based on different stars</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/reverttoconsole.wordpress.com/286/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/reverttoconsole.wordpress.com/286/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/reverttoconsole.wordpress.com/286/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/reverttoconsole.wordpress.com/286/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/reverttoconsole.wordpress.com/286/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/reverttoconsole.wordpress.com/286/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/reverttoconsole.wordpress.com/286/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/reverttoconsole.wordpress.com/286/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/reverttoconsole.wordpress.com/286/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/reverttoconsole.wordpress.com/286/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/reverttoconsole.wordpress.com/286/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/reverttoconsole.wordpress.com/286/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/reverttoconsole.wordpress.com/286/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/reverttoconsole.wordpress.com/286/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=286&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://reverttoconsole.wordpress.com/2009/02/15/multiple-gmail-inboxes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fabf0c0a60794b0a6b07c6024eb69c4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">reverttoconsole</media:title>
		</media:content>
	</item>
		<item>
		<title>Mapping a clob type in hibernate and oracle 9i/10g</title>
		<link>http://reverttoconsole.wordpress.com/2009/02/11/mapping-a-clob-type-in-hibernate-and-oracle-9i10g/</link>
		<comments>http://reverttoconsole.wordpress.com/2009/02/11/mapping-a-clob-type-in-hibernate-and-oracle-9i10g/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 22:49:45 +0000</pubDate>
		<dc:creator>reverttoconsole</dc:creator>
				<category><![CDATA[Con-(in)sulting]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/?p=329</guid>
		<description><![CDATA[The easiest way to map a CLOB type of Oracle to a pojo in Hibernate, is to setup a user defined type in Hibernate, which converts Oracle&#8217;s ClobType to a String and vice versa. So you&#8217;re pojo&#8217;s property is going to be a &#8220;String&#8221; type. There are only two steps to setting this up: 1) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=278&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The easiest way to map a CLOB type of Oracle to a pojo in Hibernate, is to setup a user defined type in Hibernate, which converts Oracle&#8217;s ClobType to a String and vice versa. So you&#8217;re pojo&#8217;s property is going to be a &#8220;String&#8221; type. There are only two steps to setting this up:</p>
<p>1) Write the Clobtype User defined type</p>
<p>[java]</p>
<p>import java.io.ByteArrayInputStream;<br />
import java.io.IOException;<br />
import java.io.InputStream;<br />
import java.io.Serializable;<br />
import java.sql.PreparedStatement;<br />
import java.sql.ResultSet;<br />
import java.sql.SQLException;<br />
import java.sql.Types;</p>
<p>public class ClobType implements UserType {</p>
<p>	public int[] sqlTypes() {<br />
		return new int[] { Types.CLOB };<br />
	}</p>
<p>	public Class returnedClass() {<br />
		return String.class;<br />
	}</p>
<p>	public boolean equals(Object arg0, Object arg1) throws HibernateException {<br />
		boolean ret = false;<br />
		if (arg0 == null || arg1 == null) {<br />
			ret = false;<br />
		} else if (!(arg0 instanceof String) || !(arg1 instanceof String)) {<br />
			ret = false;<br />
		} else {<br />
			ret = ((String) arg0).equals((String) arg1);<br />
		}<br />
		return ret;<br />
	}</p>
<p>	public int hashCode(Object arg0) throws HibernateException {<br />
		return arg0.hashCode();<br />
	}</p>
<p>	public Object nullSafeGet(ResultSet arg0, String[] arg1, Object arg2)<br />
			throws HibernateException, SQLException {</p>
<p>		String ret = null;<br />
		StringBuffer buffer = new StringBuffer();<br />
		try {<br />
			// First we get the stream<br />
			InputStream is = arg0.getAsciiStream(arg1[0]);<br />
			byte[] buf = new byte[1024];<br />
			int read = -1;</p>
<p>			while (is != null &amp;amp;amp;amp;&amp;amp;amp;amp; (read = is.read(buf)) &amp;amp;gt; 0) {<br />
				buffer.append(new String(buf, 0, read));<br />
			}<br />
			if (is != null) {<br />
				is.close();<br />
			}<br />
		} catch (IOException ioe) {<br />
			ioe.printStackTrace();<br />
			throw new HibernateException(&amp;amp;quot;Unable to read from resultset&amp;amp;quot;, ioe);<br />
		}<br />
		ret = buffer.toString();<br />
		return ret;<br />
	}</p>
<p>	public void nullSafeSet(PreparedStatement pst, Object data, int index)<br />
			throws HibernateException, SQLException {<br />
		data = data == null ? new String() : data;<br />
		String in = (String) data;</p>
<p>		byte[] buf = in.getBytes();<br />
		int len = buf.length;</p>
<p>		ByteArrayInputStream bais = new ByteArrayInputStream(buf);</p>
<p>		pst.setAsciiStream(index, bais, len);</p>
<p>	}</p>
<p>	public Object deepCopy(Object arg0) throws HibernateException {<br />
		String ret = null;<br />
		arg0 = arg0 == null ? new String() : arg0;<br />
		String in = (String) arg0;<br />
		int len = in.length();<br />
		char[] buf = new char[len];</p>
<p>		for (int i = 0; i &amp;amp;lt; len; i++) {<br />
			buf[i] = in.charAt(i);<br />
		}<br />
		ret = new String(buf);<br />
		return ret;<br />
	}</p>
<p>	public boolean isMutable() {<br />
		return false;<br />
	}</p>
<p>	public Serializable disassemble(Object arg0) throws HibernateException {<br />
		return (String) arg0;<br />
	}</p>
<p>	public Object assemble(Serializable arg0, Object arg1)<br />
			throws HibernateException {<br />
		return this.deepCopy(arg0);<br />
	}</p>
<p>	public Object replace(Object arg0, Object arg1, Object arg2)<br />
			throws HibernateException {<br />
		return this.deepCopy(arg0);<br />
	}</p>
<p>}<br />
[/java]</p>
<p>2) Hibernate mapping: Update the type in your hbm file or annotations accordingly. The example here maps a property &#8220;label&#8221; to oracle column &#8220;label&#8221;</p>
<p>[xml]</p>
<p>[/xml]</p>
<p>That&#8217;s it. Since there is no dependency to anything else, it should work in a Spring environment too.</p>
<p>Note to Oracle 9i users: You might get the following exception:<br />
java.sql.SQLException: operation not allowed: streams type cannot be used in batching</p>
<p>Solution? Use  use <a href="http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc101040.html">10.1.x drivers</a>. Oracle 9i drivers have a known issue regarding the same, which they only fixed in 10.x. It&#8217;s believed that Oracle&#8217;s 10.x drivers are downward compatible with Oracle 9i (unlike 11.x drivers).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/reverttoconsole.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/reverttoconsole.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/reverttoconsole.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/reverttoconsole.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/reverttoconsole.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/reverttoconsole.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/reverttoconsole.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/reverttoconsole.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/reverttoconsole.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/reverttoconsole.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/reverttoconsole.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/reverttoconsole.wordpress.com/278/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/reverttoconsole.wordpress.com/278/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/reverttoconsole.wordpress.com/278/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=278&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://reverttoconsole.wordpress.com/2009/02/11/mapping-a-clob-type-in-hibernate-and-oracle-9i10g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fabf0c0a60794b0a6b07c6024eb69c4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">reverttoconsole</media:title>
		</media:content>
	</item>
		<item>
		<title>amazon kindle 2 first impressions &amp; review &#8212; it sucks</title>
		<link>http://reverttoconsole.wordpress.com/2009/02/09/amazon-kindle-2-first-impressions-it-sucks/</link>
		<comments>http://reverttoconsole.wordpress.com/2009/02/09/amazon-kindle-2-first-impressions-it-sucks/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 04:20:14 +0000</pubDate>
		<dc:creator>reverttoconsole</dc:creator>
				<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/?p=307</guid>
		<description><![CDATA[Amazon is the best place to buy books, cds, electronics and other memorabilia. But what happens if you want your hands in all the pies? After a sloppy launch of Kindle 1, a year ago, Amazon released Kindle 2, hoping that it would be the next best thing, something of a revolutionary device like IPhone. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=256&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><img class="aligncenter" title="as" src="http://www.ubergizmo.com/photos/2009/2/kindle-2.jpg" alt="" width="317" height="308" /></p>
<p>Amazon is the best place to buy books, cds, electronics and other memorabilia. But what happens if you want your hands in all the pies?</p>
<p>After a sloppy launch of Kindle 1, a year ago, Amazon released <a href="http://www.amazon.com/gp/product/B00154JDAI/ref=amb_link_83626371_1?pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=gateway-center-column&amp;pf_rd_r=09S8JJ8RXQV4CWXHEVM7&amp;pf_rd_t=101&amp;pf_rd_p=469548931&amp;pf_rd_i=507846">Kindle 2</a>, hoping that it would be the next best thing, something of a revolutionary device like IPhone. Dreams. <a href="http://www.guardian.co.uk/technology/2009/feb/09/kikndle2-amazon-stephen-king">Stephen King</a> introduced the product at the launch; I was waiting for Kate Perry next, who would sing<em> &#8220;I read a book, I sucked at it.&#8221;</em></p>
<p>Amazon &#8212; please respect people&#8217;s intellect. We are not buying acne creams.</p>
<p>Ok. Some features:</p>
<ul>
<li>No Touch screen.</li>
<li>Larger screen? It&#8217;s smaller than a book. the screen is double that of your IPhone. 35-40% real estate wasted on the device. Just look at the picture once. Why? Because there&#8217;s a keyboard on it. Yes &#8212; A KEYBOARD.</li>
<li>Too many buttons. There are seven buttons on the device. Remember Microsoft Vista? There were seven options too &#8212; logoff/sleep/hibernate/shutdown/whatever1/whatever2/hangMyself.</li>
<li>Displays in B&amp;W.</li>
<li>Operating System? Inspite of being based on Linux, this still is one black box where you can read a book, one at a time. More cameras are going to have built in wifi, smart phones are becoming mini computers, cars can park themselves. If someone thinks they want to make a &#8220;revolutionary&#8221; product that will change the landscape of the world and there is no software to manage the device. What is the point of having an OS when you can&#8217;t have software running on it?</li>
<li>No API for third party applications. Imagine the applications built around reading books, social networking, custom viewers, virtual bookshelves or even mini applications to store your favorite quotes from books. I expect a dedicated ebook reader (the one that claims &#8220;version 2&#8243;) to be smarter than just displaying books in black and white pages. If you had inbuilt wifi, and a browser, you could probably get &#8220;recommendations&#8221; or lookup a dictionary or even sort your library according to genre. It&#8217;s quite naive that Amazon limits the device to such a small scope. Imagine Playstation releasing PS4 and it only plays Sony games downloaded from Sony store and all the games are arcade games, single player. And they are 16-bit color.</li>
<li>Stylus? Don&#8217;t you want to mark your favorite sentences? Or do you want to click menu-&gt;highlight-&gt;cursor down (12 times)-&gt;press spacebar (on the keyboard!) 17 times-&gt;press another button to &#8220;highlight.&#8221; Now, did I say, there was another button to save it?</li>
<li> <a href="http://www.theage.com.au/news/technology/first-a4-colour-epaper-unfurled/2007/05/14/1178995043132.html">foldable lcd screen</a> or <a href="http://www.youtube.com/watch?v=rYc4dnVs4RM">flexible displays</a>? No. It looks good for a 1999 ipod equivalent of an ebook reader.</li>
<li>Doesn&#8217;t read pdfs or any other format.</li>
<li>No Wifi or browser.</li>
<li>Can you do anything apart from reading books (bought from amazon?) &#8211; No. Same reasons as above.</li>
<li>Does it read books in your own voice? No. There&#8217;s a robotic voice which is worse than the &#8220;your call is important to us. Please hold, while &#8230;.&#8221;</li>
</ul>
<p>Fine, this is a book reading device. I get it. But what&#8217;s special about it? What&#8217;s so &#8220;groundbreaking&#8221; about it that I should stop buying books and buy a Kindle? I haven&#8217;t seen a single Kindle in subways, libraries or Starbucks, in the last one year. The original Kindle sales are not disclosed to public, clearly seems like a catastrophic failure for a product that had hopes of &#8220;changing the way people read books, forever.&#8221;</p>
<p>It seems like a step back to the lalaland with outdated technology and mediocre features. For 350$ and seven buttons and a keyboard and a black n white display and lack of add-on software, its a bad investment one could ever make. Amazon raves about saving 5-10$ on a book, but never counts on the 10$, one would get when the same book is sold. We read books. We share books. We give it to our friends. We distribute them. Reading &amp; sharing books is a culture. We need products that can enhance this experience and add more value, not <em>redefine </em>it for someone to be a monopoly. I can&#8217;t believe Amazon thinks that &#8220;Kindle&#8221; is still the future of reading &#8230; I just can&#8217;t. The worst strategy than Microsoft. They thought, that the whole world will &#8220;browse the web&#8221; in IE.</p>
<p>As for me, my admiration and honor goes for a little unknown company that developed <a href="http://www.lexcycle.com/">Stanza for IPhone/IPod,</a> for FREE. If only Amazon had 1% of their passion &#8230;</p>
<p>Some pics <a href="http://i.gizmodo.com/5149634/kindle-2-hands-on">here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/reverttoconsole.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/reverttoconsole.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/reverttoconsole.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/reverttoconsole.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/reverttoconsole.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/reverttoconsole.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/reverttoconsole.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/reverttoconsole.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/reverttoconsole.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/reverttoconsole.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/reverttoconsole.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/reverttoconsole.wordpress.com/256/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/reverttoconsole.wordpress.com/256/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/reverttoconsole.wordpress.com/256/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=256&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://reverttoconsole.wordpress.com/2009/02/09/amazon-kindle-2-first-impressions-it-sucks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fabf0c0a60794b0a6b07c6024eb69c4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">reverttoconsole</media:title>
		</media:content>

		<media:content url="http://www.ubergizmo.com/photos/2009/2/kindle-2.jpg" medium="image">
			<media:title type="html">as</media:title>
		</media:content>
	</item>
		<item>
		<title>Finally Figured Something Out About Ubuntu</title>
		<link>http://reverttoconsole.wordpress.com/2009/01/25/finally-figured-something-out-about-ubuntu/</link>
		<comments>http://reverttoconsole.wordpress.com/2009/01/25/finally-figured-something-out-about-ubuntu/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 01:27:37 +0000</pubDate>
		<dc:creator>reverttoconsole</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/?p=304</guid>
		<description><![CDATA[This has been an annoyance for a while&#8230; When I fired up a terminal in Ubuntu, it did not automatically load ~/.bash_profile (and therefore not ~/.bashrc either). I just noticed that if you edit the Default profile (Edit-&#62;Profiles-&#62;Edit), and select the Title and Command tab, there is a checkbox option to &#8220;Run command as a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=253&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This has been an annoyance for a while&#8230;</p>
<p>When I fired up a terminal in Ubuntu, it did not automatically load ~/.bash_profile (and therefore not ~/.bashrc either). I just noticed that if you edit the Default profile (Edit-&gt;Profiles-&gt;Edit), and select the Title and Command tab, there is a checkbox option to &#8220;Run command as a login shell&#8221;. I checked that and it magically took care of the problem.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/reverttoconsole.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/reverttoconsole.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/reverttoconsole.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/reverttoconsole.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/reverttoconsole.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/reverttoconsole.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/reverttoconsole.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/reverttoconsole.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/reverttoconsole.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/reverttoconsole.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/reverttoconsole.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/reverttoconsole.wordpress.com/253/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/reverttoconsole.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/reverttoconsole.wordpress.com/253/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=253&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://reverttoconsole.wordpress.com/2009/01/25/finally-figured-something-out-about-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fabf0c0a60794b0a6b07c6024eb69c4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">reverttoconsole</media:title>
		</media:content>
	</item>
		<item>
		<title>The DO NOT&#8217;s</title>
		<link>http://reverttoconsole.wordpress.com/2009/01/23/the-do-nots/</link>
		<comments>http://reverttoconsole.wordpress.com/2009/01/23/the-do-nots/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 20:26:06 +0000</pubDate>
		<dc:creator>reverttoconsole</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/?p=302</guid>
		<description><![CDATA[I haven&#8217;t posted in about 8 years or something like that. Besides being lazy and uninspired, I really haven&#8217;t learned anything new or exciting in the past 2 years. I have nothing to share that would be beneficial to all of you. However, some of you may benefit from what I have learned NOT to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=251&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t posted in about 8 years or something like that.  Besides being lazy and uninspired, I really haven&#8217;t learned anything new or exciting in the past 2 years.  I have nothing to share that would be beneficial to all of you.</p>
<p>However, some of you may benefit from what I have learned NOT to do over the past 2 years.  I have learned plenty of &#8220;DO NOT&#8217;s&#8221; over time, but the last 2 years, especially the last 7 months has been the grand festival of &#8220;DO NOT&#8217;s&#8221;.</p>
<p>1. Do not let an &#8220;expert&#8221; with unsubstantiated credentials tell you how to do your job.  Better yet, avoid working with an &#8220;expert&#8221; whenever possible.  These &#8220;experts&#8221; like to talk down to you and blame you for everything that goes wrong.  They never admit to contributing to the problem.  They also insist that his/her approach is the best, even if God (or other supreme being) were to tell him/her that it&#8217;s wrong.  An &#8220;expert&#8221; will try to control you and the project at any cost.  An &#8220;expert&#8221; will no doubt run the project into the ground or into a persistent vegetative state.  If you find yourself working with an &#8220;expert&#8221;, take precautionary measures and have an escape plan.</p>
<p>2. Do not let users perform their daily job duties with an application that is not fully developed or production ready, especially if it&#8217;s not even beta ready.  Don&#8217;t let users rely on an application that is undergoing constant development and hasn&#8217;t even been tested.  Users will no doubt work their dirty little hands into your project and get you to make changes at the drop of the hat, because their jobs depend on it!  Don&#8217;t expect a manager to help you out in this situation.  If things have reached this point, no manager can simply stop this evil cycle.  Now you have a situation where there is a direct impact on the success of the company.  Because the application is not even fully developed or tested, there will already be bugs galore.  The users relying on your application will find even more bugs that stop them in their tracks.  Everything becomes a critical defect.  Trust me, if you get into this situation, you will want to die, because you are already dying a slow and painful death.</p>
<p>3. Do not develop in an environment that has absolutely no process.  You don&#8217;t need to be process gung-ho and implementing CMMi level 5, but you should have some basic sort of SDLC process in place. A development group without processes usually fails to have standards as well.  The &#8220;as long as it works&#8221; mantra comes into play.</p>
<p>In this situation, you will end up with horrible spaghetti code where developers are doing whatever the hell they want.  You will have no ability to monitor code quality.  You might end up with code that looks like it was written by someone who is half-way through their first programming course (CSCI 101).  Hey, they just learned how to write arrays, and want to show off that skill, as much as they can.  Your &#8220;code review&#8221; will take place when you have to take over their project, at which point you&#8217;ll ask yourself, &#8220;What kind of dumbass could possibly write this &amp;*@%!@#!!!????&#8221;  Of course by then the bad code has permeated its way into the deep inner bowels of the application, like a virus, making it nearly impossible to correct without throwing it all away and rewriting from scratch.  It&#8217;s sort of like when Windows gets jacked-up every year or so and your best solution is to &#8220;format C:&#8221; and start over.</p>
<p>In addition, the extent of your QA will probably be limited to the success of your compiler and a few keystrokes and mouse clicks.</p>
<p>no process = bad applications (hopefully most of you know that already)</p>
<p>4. Do not get involved in a project where a phone call, simple face-to-face conversation, or a note on your desk from a user is all that is required for you to make a change.  This is closely related to #3, but it&#8217;s worth emphasizing a bit.  You need to have a way to document change requests and prioritize those requests, even if it a simple excel spreadsheet on a shared network drive.  This is just one more way that you can be trampled to death by users.  Not to mention the fact that you are developer and you have no business answering the phone or communicating with a user directly.  That&#8217;s what BA&#8217;s are for.  You lack the people skills required to interact directly with users and you should be damn proud of that.  Additionally, there is great satisfaction to be had when you can make users punch themselves in the face.  By that I mean something like this:</p>
<p>User: &#8220;What is this thing doing?  That&#8217;s not the way it&#8217;s suppose to work!&#8221;<br />
You: &#8220;Yes it is.&#8221;<br />
User: &#8220;No, it&#8217;s not.&#8221;<br />
You: &#8220;Yes it is, you requested it, see?&#8221;<br />
User: &#8220;Ah DAMMIT!&#8221; (punches self in face)</p>
<p>5. Do not succumb to the &#8220;at least we still have jobs&#8221; outlook on your career.  Yes, the economy sucks right now and layoffs suck.  I hate seeing people bringing in boxes to pack up their stuff, especially when they have done a great job at the company for 10, 15, 20 years or more.  That&#8217;s like saying, &#8220;Thanks for all your great years of service, now be a team player and piss off, yeah?&#8221;  There are other things employers will do to cut costs though.  They might squash benefits, slash salaries, and eliminate incentives.  This is especially likely to happen if the executives made stupid decisions (likely in any case) that ran the company into the ground.  You don&#8217;t have to pay for their mistakes.  This industry is still viable.  You can find good opportunities elsewhere.  Don&#8217;t be afraid to explore and don&#8217;t feel bad for leaving.  If you really believe in the company and feel that you want to help &#8220;get through this tough time together&#8221;, then stay and try to maintain a positive attitude.  But remember, you don&#8217;t owe the company anything.</p>
<p>That&#8217;s it for now. Maybe you learned something, maybe not.  You may have only learned that I am just an ass, if you didn&#8217;t know that already.  Either way, I hope it wasn&#8217;t a boring read. I&#8217;d better get back to &#8220;work.&#8221;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/reverttoconsole.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/reverttoconsole.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/reverttoconsole.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/reverttoconsole.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/reverttoconsole.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/reverttoconsole.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/reverttoconsole.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/reverttoconsole.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/reverttoconsole.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/reverttoconsole.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/reverttoconsole.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/reverttoconsole.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/reverttoconsole.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/reverttoconsole.wordpress.com/251/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=251&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://reverttoconsole.wordpress.com/2009/01/23/the-do-nots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fabf0c0a60794b0a6b07c6024eb69c4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">reverttoconsole</media:title>
		</media:content>
	</item>
		<item>
		<title>My Screen</title>
		<link>http://reverttoconsole.wordpress.com/2009/01/23/my-screen/</link>
		<comments>http://reverttoconsole.wordpress.com/2009/01/23/my-screen/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 17:27:30 +0000</pubDate>
		<dc:creator>reverttoconsole</dc:creator>
				<category><![CDATA[*NIX]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/?p=297</guid>
		<description><![CDATA[Screen is a great tool for command-line usage, and is also available for cygwin. If you enjoy using the command line, and haven&#8217;t checked out screen, I highly recommend it. I found some of the commands and configuration changes a little difficult to remember, so I&#8217;m adding them here. First of all, the main screen [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=249&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.gnu.org/software/screen/">Screen</a> is a great tool for command-line usage, and is also available for <a href="http://www.cygwin.com/">cygwin</a>. If you enjoy using the command line, and haven&#8217;t checked out screen, I highly recommend it. I found some of the commands and configuration changes a little difficult to remember, so I&#8217;m adding them here.</p>
<p>First of all, the main screen escape key is ctrl-a. That&#8217;s all well and good, unless you&#8217;re an emacs user, then it&#8217;s downright offensive (ctrl-a is the emacs command to go to the beginning of a line- one I happen to use a lot). Fortunately it&#8217;s easy enough to change. I added a screenrc file that looks like this:</p>
<p>[bash]<br />
# ctrl-/ is my preferred shortcut key<br />
escape 3434<br />
# turn off visual bell<br />
vbell off<br />
caption always &#8220;%H %= %-w%L&gt;%{= BW}%n*%t%{-}%52&lt;%+w %L=&#8221;<br />
startup_message off<br />
deflogin on<br />
shell -/bin/bash<br />
[/bash]</p>
<p>It&#8217;s easy enough to switch between screens from a single (rxvt) shell now, but as an emacs user I naturally enjoy having my screen split so I can multitask. It took me a while to figure out how to do that effectively with screen.</p>
<p><strong>ctrl-/ S</strong> splits the screen.<br />
<strong>ctrl-/ n</strong> switches to the next screen, but does it within the current region, so it&#8217;s not like M-x o in emacs.<br />
<strong>ctrl-/ tab</strong> switches between the split regions, just like M-x o in emacs.<br />
ctrl-/ X</strong> &#8220;unsplits&#8221; the screen.</p>
<p><strong>References</strong></p>
<ul>
<li><a href="http://www.mattcutts.com/blog/a-quick-tutorial-on-screen/">A Quick Tutorial</a></li>
<li><a href="http://www.mattcutts.com/blog/screen-power-tips-screenrc/">Some good screenrc tips</a></li>
<li><a href="http://www.catonmat.net/blog/wp-content/plugins/wp-downloadMonitor/user_uploads/screen.cheat.sheet.pdf">Screen Cheat Sheet pdf</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/reverttoconsole.wordpress.com/249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/reverttoconsole.wordpress.com/249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/reverttoconsole.wordpress.com/249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/reverttoconsole.wordpress.com/249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/reverttoconsole.wordpress.com/249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/reverttoconsole.wordpress.com/249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/reverttoconsole.wordpress.com/249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/reverttoconsole.wordpress.com/249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/reverttoconsole.wordpress.com/249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/reverttoconsole.wordpress.com/249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/reverttoconsole.wordpress.com/249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/reverttoconsole.wordpress.com/249/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/reverttoconsole.wordpress.com/249/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/reverttoconsole.wordpress.com/249/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=249&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://reverttoconsole.wordpress.com/2009/01/23/my-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fabf0c0a60794b0a6b07c6024eb69c4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">reverttoconsole</media:title>
		</media:content>
	</item>
		<item>
		<title>Emacs Macros 101</title>
		<link>http://reverttoconsole.wordpress.com/2009/01/20/emacs-macros-101/</link>
		<comments>http://reverttoconsole.wordpress.com/2009/01/20/emacs-macros-101/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 17:03:04 +0000</pubDate>
		<dc:creator>reverttoconsole</dc:creator>
				<category><![CDATA[*NIX]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/?p=295</guid>
		<description><![CDATA[Macros are really useful for programming, but since adopting Eclipse I haven&#8217;t been using them as much, much to the detriment of my fingers. For a while I used Notepad++ for macros. Macros are easy to use with Notepad++, but unfortunately you&#8217;re limited to trivially simple macros- for example, you can&#8217;t &#8220;search&#8221; your way through [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=244&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Macros are really useful for programming, but since adopting Eclipse I haven&#8217;t been using them as much, much to the detriment of my fingers.</p>
<p>For a while I used Notepad++ for macros. Macros are easy to use with Notepad++, but unfortunately you&#8217;re limited to trivially simple macros- for example, you can&#8217;t &#8220;search&#8221; your way through a file changing every double-quote to a single-quote. In Emacs, you can do whatever you do in emacs as a macro.</p>
<p>&#8220;C-x (&#8221; is analogous to the record selection in Notepad++. It means your next commands will be recorded as a macro.</p>
<p>When you&#8217;re done, &#8220;C-x )&#8221; tells emacs to stop recording.</p>
<p>&#8220;C-x e&#8221; runs the macro you&#8217;ve just recorded.</p>
<p>Once you create a macro, you&#8217;ll probably want to run it more than once&#8230; &#8220;C-u some-number your-command&#8221; will execute &#8220;your-command&#8221; exactly &#8220;some-number&#8221; times. This can be used to run the command &#8220;call-last-kbd-macro&#8221;. So, for example &#8220;C-u 1000 C-x e&#8221; will run the macro you just created 1000 times (or until the end of the file, whichever comes first).</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/reverttoconsole.wordpress.com/244/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/reverttoconsole.wordpress.com/244/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/reverttoconsole.wordpress.com/244/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/reverttoconsole.wordpress.com/244/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/reverttoconsole.wordpress.com/244/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/reverttoconsole.wordpress.com/244/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/reverttoconsole.wordpress.com/244/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/reverttoconsole.wordpress.com/244/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/reverttoconsole.wordpress.com/244/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/reverttoconsole.wordpress.com/244/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/reverttoconsole.wordpress.com/244/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/reverttoconsole.wordpress.com/244/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/reverttoconsole.wordpress.com/244/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/reverttoconsole.wordpress.com/244/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=reverttoconsole.wordpress.com&amp;blog=7397594&amp;post=244&amp;subd=reverttoconsole&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://reverttoconsole.wordpress.com/2009/01/20/emacs-macros-101/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fabf0c0a60794b0a6b07c6024eb69c4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">reverttoconsole</media:title>
		</media:content>
	</item>
	</channel>
</rss>
