<?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>REVERT TO CONSOLE &#187; General</title>
	<atom:link href="http://www.reverttoconsole.com/blog/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.reverttoconsole.com</link>
	<description>for f in *;do echo &#124; sed &#039;i\rtc&#039; &#62;&#62; $f;done; java programming et al</description>
	<lastBuildDate>Thu, 25 Aug 2011 15:02:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Command Line Dictionary Using Groovy WS</title>
		<link>http://www.reverttoconsole.com/blog/general/command-line-dictionary-using-groovy-ws/</link>
		<comments>http://www.reverttoconsole.com/blog/general/command-line-dictionary-using-groovy-ws/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 22:37:18 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Web Services]]></category>
		<category><![CDATA[dictionary command line groovy groovyws ws client bash]]></category>

		<guid isPermaLink="false">http://www.reverttoconsole.com/?p=1015</guid>
		<description><![CDATA[Alas, another 15 years has passed since I&#8217;ve last posted. This time it was prompted by a fairly simple need: to lookup a word via the command line. Now, I already had a very simple solution to this using WordNet. That is simple enough: sudo apt-get install wordnet Then simply type: wn hello -over You [...]]]></description>
			<content:encoded><![CDATA[<p>Alas, another 15 years has passed since I&#8217;ve last posted.  This time it was prompted by a fairly simple need: to lookup a word via the command line.  Now, I already had a very simple solution to this using <a href="http://wordnet.princeton.edu/">WordNet</a>.  That is simple enough:</p>
<pre>
sudo apt-get install wordnet
</pre>
<p>Then simply type:</p>
<pre>
wn hello -over
</pre>
<p>You should see output similar to this:</p>
<p>Overview of noun hello</p>
<p>The noun hello has 1 sense (first 1 from tagged texts)</p>
<p>1. (1) hello, hullo, hi, howdy, how-do-you-do &#8212; (an expression of greeting; &#8220;every morning they exchanged polite hellos&#8221;)</p>
<p>That&#8217;s all well and good, until I typed this:</p>
<pre>wn smote -over</pre>
<p>And came up empty.  Indeed WordNet is useful but it is limited.  There are 2 solutions that immediately came to mind.	</p>
<ol>
<li>Figure out how to get more definitions loaded into my instance of WordNet</li>
<li>Find a dictionary service that is much more comprehensive than WordNet, and write a client for it</li>
</ol>
<p>After a couple of quick Google searches I decided on the latter.  And, since I&#8217;ve been doing a fair amount of Grails work lately, I thought, why not try this in Groovy?</p>
<p>One of those Google searches brought me to <a href="http://services.aonaware.com/DictService/">http://services.aonaware.com/DictService/</a>.  After a few trials with the simple front-end on the page, I was satisfied.  Then it was time to find a Groovy example, which I found quickly enough with <a href="http://groovy.codehaus.org/GroovyWS">Groovy WS</a>.</p>
<p>If you look at the code snippet on that page, it is incredibly simple.</p>
<pre>
@Grab(group='org.codehaus.groovy.modules', module='groovyws', version='0.5.2')
import groovyx.net.ws.WSClient

proxy = new WSClient("http://www.w3schools.com/webservices/tempconvert.asmx?WSDL", this.class.classLoader)
proxy.initialize()

result = proxy.CelsiusToFahrenheit(0)
println "You are probably freezing at ${result} degrees Farhenheit"
</pre>
<p>I tried this example as is, but seemed to have problems with the annotation at the top.  Being rather impatient, I found a Groovy WS Standalone jar here at:<br />
<a href="http://snapshots.dist.codehaus.org/groovy/distributions/groovyws/groovyws-standalone-0.5-SNAPSHOT.jar">http://snapshots.dist.codehaus.org/groovy/distributions/groovyws/groovyws-standalone-0.5-SNAPSHOT.jar</a></p>
<p>I dropped it into my $GROOVY_HOME/lib directory, and then removed the annotation from the code.  The example worked perfectly.</p>
<p>So, using the <a href="http://services.aonaware.com/DictService/DictService.asmx?WSDL">WSDL</a> from the service I mentioned earlier, I made a few modifications and named it Pablo.groovy.  Why Pablo?  Why not?  When speed counts, who cares?!</p>
<pre>
import groovyx.net.ws.WSClient

proxy = new WSClient("http://services.aonaware.com/DictService/DictService.asmx?WSDL", this.class.classLoader)
proxy.initialize()

//Define is a name of the service method, see the service WSDL
result = proxy.Define(args[0])

if(result != null) {
	for(defin in result.definitions.definition) {
		println "${defin.wordDefinition}"
	}
}
</pre>
<p>I needed to analyze the WSDL to figure out how to interpret the results, but other than that, it was a pleasantly pain-free experience.</p>
<p>Now I type:</p>
<pre>groovy Pablo.groovy smote</pre>
<p>And I get a much more satisfying result, save the logging garbage at the top!</p>
<p>Jul 18, 2011 5:11:29 PM org.apache.cxf.endpoint.dynamic.DynamicClientFactory outputDebug<br />
INFO: Created classes: com.aonaware.services.webservices.ArrayOfDefinition, com.aonaware.services.webservices.ArrayOfDictionary, com.aonaware.services.webservices.ArrayOfDictionaryWord, com.aonaware.services.webservices.ArrayOfStrategy, com.aonaware.services.webservices.Define, com.aonaware.services.webservices.DefineInDict, com.aonaware.services.webservices.DefineInDictResponse, com.aonaware.services.webservices.DefineResponse, com.aonaware.services.webservices.Definition, com.aonaware.services.webservices.Dictionary, com.aonaware.services.webservices.DictionaryInfo, com.aonaware.services.webservices.DictionaryInfoResponse, com.aonaware.services.webservices.DictionaryList, com.aonaware.services.webservices.DictionaryListExtended, com.aonaware.services.webservices.DictionaryListExtendedResponse, com.aonaware.services.webservices.DictionaryListResponse, com.aonaware.services.webservices.DictionaryWord, com.aonaware.services.webservices.Match, com.aonaware.services.webservices.MatchInDict, com.aonaware.services.webservices.MatchInDictResponse, com.aonaware.services.webservices.MatchResponse, com.aonaware.services.webservices.ObjectFactory, com.aonaware.services.webservices.ServerInfo, com.aonaware.services.webservices.ServerInfoResponse, com.aonaware.services.webservices.Strategy, com.aonaware.services.webservices.StrategyList, com.aonaware.services.webservices.StrategyListResponse, com.aonaware.services.webservices.WordDefinition<br />
Jul 18, 2011 5:11:30 PM groovyx.net.ws.AbstractCXFWSClient getBindingOperationInfo<br />
WARNING:  Using SOAP version: 1.1<br />
Smite \Smite\ (sm[imac]t), v. t. [imp. {Smote} (sm[=o]t), rarely<br />
   {Smit} (sm[i^]t); p. p. {Smitten} (sm[i^]t&#8221;t&#8217;n), rarely<br />
   {Smit}, or {Smote}; p. pr. &#038; vb. n. {Smiting}<br />
   (sm[imac]t&#8221;[i^]ng).] [AS. sm[=i]tan to smite, to soil,<br />
   pollute; akin to OFries. sm[=i]ta to smite, LG. smiten, D.<br />
   smijten, G. schmeissen, OHG. sm[=i]zan to smear, stroke, OSw.<br />
   &#038; dial. Sw. smita to smite, Dan. smide to throw, Goth.<br />
   bismeitan, to anoint, besmear; cf. Skr. m[=e]d to be fat. The<br />
   original sense seems to have been, to daub on, to smear. Cf.<br />
   {Smut}.]<br />
   1. To strike; to inflict a blow upon with the hand, or with<br />
      any instrument held in the hand, or with a missile thrown<br />
      by the hand; as, to smite with the fist, with a rod,<br />
      sword, spear, or stone.<br />
      [1913 Webster]</p>
<p>Now to smote the logging and be rid of it; simply adding these few lines will do:</p>
<pre>
import java.util.logging.Level
import java.util.logging.LogManager

LogManager.getLogManager().getLogger("").setLevel(Level.SEVERE)
</pre>
<p>Now the output is as tidy as I want it to be for now.</p>
<p>$ groovy Pablo.groovy smote<br />
Smite \Smite\ (sm[imac]t), v. t. [imp. {Smote} (sm[=o]t), rarely<br />
   {Smit} (sm[i^]t); p. p. {Smitten} (sm[i^]t&#8221;t&#8217;n), rarely<br />
   {Smit}, or {Smote}; p. pr. &#038; vb. n. {Smiting}<br />
   (sm[imac]t&#8221;[i^]ng).] [AS. sm[=i]tan to smite, to soil,<br />
   pollute; akin to OFries. sm[=i]ta to smite, LG. smiten, D.<br />
   smijten, G. schmeissen, OHG. sm[=i]zan to smear, stroke, OSw.<br />
   &#038; dial. Sw. smita to smite, Dan. smide to throw, Goth.<br />
   bismeitan, to anoint, besmear; cf. Skr. m[=e]d to be fat. The<br />
   original sense seems to have been, to daub on, to smear. Cf.<br />
   {Smut}.]<br />
   1. To strike; to inflict a blow upon with the hand, or with<br />
      any instrument held in the hand, or with a missile thrown<br />
      by the hand; as, to smite with the fist, with a rod,<br />
      sword, spear, or stone.<br />
      [1913 Webster]</p>
<p>            Whosoever shall smite thee on thy right cheek, turn<br />
            to him the other also.                &#8211;Matt. v. 39.<br />
      [1913 Webster]</p>
<p>            And David . . . took thence a stone, and slang it,<br />
            and smote the Philistine in his forehead. &#8211;1 Sam.<br />
                                                  xvii. 49.<br />
      [1913 Webster]</p>
<p>   2. To cause to strike; to use as an instrument in striking or<br />
      hurling.<br />
      [1913 Webster]</p>
<p>            Prophesy, and smite thine hands together. &#8211;Ezek.<br />
                                                  xxi. 14.<br />
      [1913 Webster]</p>
<p>            Saul . . . smote the javelin into the wall. &#8211;1 Sam.<br />
                                                  xix. 10.<br />
      [1913 Webster]</p>
<p>   3. To destroy the life of by beating, or by weapons of any<br />
      kind; to slay by a blow; to kill; as, to smite one with<br />
      the sword, or with an arrow or other instrument.<br />
      [1913 Webster]</p>
<p>   4. To put to rout in battle; to overthrow by war.<br />
      [1913 Webster]</p>
<p>   5. To blast; to destroy the life or vigor of, as by a stroke<br />
      or by some visitation.<br />
      [1913 Webster]</p>
<p>            The flax and the barly was smitten.   &#8211;Ex. ix. 31.<br />
      [1913 Webster]</p>
<p>   6. To afflict; to chasten; to punish.<br />
      [1913 Webster]</p>
<p>            Let us not mistake God&#8217;s goodness, nor imagine,<br />
            because he smites us, that we are forsaken by him.<br />
                                                  &#8211;Wake.<br />
      [1913 Webster]</p>
<p>   7. To strike or affect with passion, as love or fear.<br />
      [1913 Webster]</p>
<p>            The charms that smite the simple heart. &#8211;Pope.<br />
      [1913 Webster]</p>
<p>            Smit with the love of sister arts we came. &#8211;Pope.<br />
      [1913 Webster]</p>
<p>   {To smite off}, to cut off.</p>
<p>   {To smite out}, to knock out, as a tooth. &#8211;Exod. xxi. 27.</p>
<p>   {To smite with the tongue}, to reproach or upbraid; to<br />
      revile. [Obs.] &#8211;Jer. xviii. 18.<br />
      [1913 Webster]</p>
<p>Smite \Smite\ (sm[imac]t), v. t. [imp. {Smote} (sm[=o]t), rarely<br />
   {Smit} (sm[i^]t); p. p. {Smitten} (sm[i^]t&#8221;t&#8217;n), rarely<br />
   {Smit}, or {Smote}; p. pr. &#038; vb. n. {Smiting}<br />
   (sm[imac]t&#8221;[i^]ng).] [AS. sm[=i]tan to smite, to soil,<br />
   pollute; akin to OFries. sm[=i]ta to smite, LG. smiten, D.<br />
   smijten, G. schmeissen, OHG. sm[=i]zan to smear, stroke, OSw.<br />
   &#038; dial. Sw. smita to smite, Dan. smide to throw, Goth.<br />
   bismeitan, to anoint, besmear; cf. Skr. m[=e]d to be fat. The<br />
   original sense seems to have been, to daub on, to smear. Cf.<br />
   {Smut}.]<br />
   1. To strike; to inflict a blow upon with the hand, or with<br />
      any instrument held in the hand, or with a missile thrown<br />
      by the hand; as, to smite with the fist, with a rod,<br />
      sword, spear, or stone.<br />
      [1913 Webster]</p>
<p>            Whosoever shall smite thee on thy right cheek, turn<br />
            to him the other also.                &#8211;Matt. v. 39.<br />
      [1913 Webster]</p>
<p>            And David . . . took thence a stone, and slang it,<br />
            and smote the Philistine in his forehead. &#8211;1 Sam.<br />
                                                  xvii. 49.<br />
      [1913 Webster]</p>
<p>   2. To cause to strike; to use as an instrument in striking or<br />
      hurling.<br />
      [1913 Webster]</p>
<p>            Prophesy, and smite thine hands together. &#8211;Ezek.<br />
                                                  xxi. 14.<br />
      [1913 Webster]</p>
<p>            Saul . . . smote the javelin into the wall. &#8211;1 Sam.<br />
                                                  xix. 10.<br />
      [1913 Webster]</p>
<p>   3. To destroy the life of by beating, or by weapons of any<br />
      kind; to slay by a blow; to kill; as, to smite one with<br />
      the sword, or with an arrow or other instrument.<br />
      [1913 Webster]</p>
<p>   4. To put to rout in battle; to overthrow by war.<br />
      [1913 Webster]</p>
<p>   5. To blast; to destroy the life or vigor of, as by a stroke<br />
      or by some visitation.<br />
      [1913 Webster]</p>
<p>            The flax and the barly was smitten.   &#8211;Ex. ix. 31.<br />
      [1913 Webster]</p>
<p>   6. To afflict; to chasten; to punish.<br />
      [1913 Webster]</p>
<p>            Let us not mistake God&#8217;s goodness, nor imagine,<br />
            because he smites us, that we are forsaken by him.<br />
                                                  &#8211;Wake.<br />
      [1913 Webster]</p>
<p>   7. To strike or affect with passion, as love or fear.<br />
      [1913 Webster]</p>
<p>            The charms that smite the simple heart. &#8211;Pope.<br />
      [1913 Webster]</p>
<p>            Smit with the love of sister arts we came. &#8211;Pope.<br />
      [1913 Webster]</p>
<p>   {To smite off}, to cut off.</p>
<p>   {To smite out}, to knock out, as a tooth. &#8211;Exod. xxi. 27.</p>
<p>   {To smite with the tongue}, to reproach or upbraid; to<br />
      revile. [Obs.] &#8211;Jer. xviii. 18.<br />
      [1913 Webster]</p>
<p>Smote \Smote\,<br />
   imp. (&#038; rare p. p.) of {Smite}.<br />
   [1913 Webster]</p>
<p>smite<br />
     v 1: inflict a heavy blow on, with the hand, a tool, or a weapon<br />
     2: affect suddenly with deep feeling; &#8220;He was smitten with love<br />
        for this young girl&#8221;<br />
     3: cause pain or suffering in; &#8220;afflict with the plague&#8221;; &#8220;That<br />
        debasement of the verbal currency that afflicts terms used<br />
        in advertisement&#8221; [syn: {afflict}]<br />
     [also: {smote}, {smitten}, {smit}]</p>
<p>smote<br />
     See {smite}</p>
<p>The results are lengthy, but for right now, it&#8217;s all that I want.  And nay, I shan&#8217;t complain!</p>
<p>It was quick and easy, and as long as I use it less than several thousand times per day, I am operating well within the <a href="http://services.aonaware.com/DictService/tos.htm">terms of service</a>.</p>
<p>Till next time!</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fcommand-line-dictionary-using-groovy-ws%2F&amp;title=Command+Line+Dictionary+Using+Groovy+WS" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fcommand-line-dictionary-using-groovy-ws%2F&amp;title=Command+Line+Dictionary+Using+Groovy+WS" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fcommand-line-dictionary-using-groovy-ws%2F&amp;title=Command+Line+Dictionary+Using+Groovy+WS" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fcommand-line-dictionary-using-groovy-ws%2F&amp;title=Command+Line+Dictionary+Using+Groovy+WS" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fcommand-line-dictionary-using-groovy-ws%2F&amp;title=Command+Line+Dictionary+Using+Groovy+WS', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fcommand-line-dictionary-using-groovy-ws%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fcommand-line-dictionary-using-groovy-ws%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fcommand-line-dictionary-using-groovy-ws%2F&amp;title=Command+Line+Dictionary+Using+Groovy+WS" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fcommand-line-dictionary-using-groovy-ws%2F&amp;title=Command+Line+Dictionary+Using+Groovy+WS" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/general/command-line-dictionary-using-groovy-ws/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Blogging With Org Mode and Emacs</title>
		<link>http://www.reverttoconsole.com/blog/general/blogging-with-org-mode-and-emacs/</link>
		<comments>http://www.reverttoconsole.com/blog/general/blogging-with-org-mode-and-emacs/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 04:31:00 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.reverttoconsole.com/?p=948</guid>
		<description><![CDATA[Org Mode is a really nice mode for emacs, I use it daily to keep todo lists, but it does a lot more. For this post I&#8217;m not going to talk about the details of org mode, but if you&#8217;re not familiar with it and are interested, I found Abhijeet Chavan&#8217;s article on linuxjournal to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://orgmode.org">Org Mode</a> is a really nice mode for emacs, I use it daily to keep todo lists, but it does a lot more. For this post I&#8217;m not going to talk about the details of org mode, but if you&#8217;re not familiar with it  and are interested, I found <a href="http://www.linuxjournal.com/article/9116">Abhijeet Chavan&#8217;s article on linuxjournal</a> to be a great starting point. </p>
<p> To get started, you don&#8217;t need to add much more to your .emacs than this: </p>
<pre class="example">
<pre>
(add-to-list 'load-path "~/.emacs.d/vendor/org-7.5/lisp")

(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
</pre>
</pre>
<p> I recently discovered <a href="https://github.com/punchagan/org2blog">org2blog</a>, a means of publishing blog posts to wordpress from within org mode.  I guess it&#8217;s now technically org2blog/wp, so as not to be confused with another org2blog for blogger,  but whatever. </p>
<p> I added this for org2blog: </p>
<pre class="example">
<pre>
(require 'org2blog-autoloads)

(setq org2blog/wp-blog-alist
      '(("wordpress"
         :url "http://myblog.com/xmlrpc.php"
         :username "username"
         :default-categories ("emacs"))))
(setq org2blog/wp-use-tags-as-categories t)
</pre>
</pre>
<p> <span style="text-decoration:underline;">wordpress</span> above is the name of the entry, you&#8217;ll use it later. </p>
<p> And lastly, because I work behind a strict firewall, my proxy info: </p>
<p>
<pre> (setq url-proxy-services '(("http" . "my.awesome.proxy:8081"))) </pre>
</p>
<p> To get started, I&#8217;d recommended reading <a href="https://github.com/punchagan/org2blog">the instructions on the github page</a>,  but quickly: </p>
<ol>
<li>Login- <b>M-x org2blog/wp-login</b>. It will prompt you for the entry, and then your password. </li>
<li><b>M-x org2blog/wp-new-entry</b>. Give your post a title, write something. </li>
<li><b>C-c d</b> to post buffer as draft. It will prompt you to preview in a browser. Do that. </li>
<li><b>C-c p</b> publish away! </li>
</ol></div>
<p> </body> </html> </p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fblogging-with-org-mode-and-emacs%2F&amp;title=Blogging+With+Org+Mode+and+Emacs" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fblogging-with-org-mode-and-emacs%2F&amp;title=Blogging+With+Org+Mode+and+Emacs" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fblogging-with-org-mode-and-emacs%2F&amp;title=Blogging+With+Org+Mode+and+Emacs" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fblogging-with-org-mode-and-emacs%2F&amp;title=Blogging+With+Org+Mode+and+Emacs" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fblogging-with-org-mode-and-emacs%2F&amp;title=Blogging+With+Org+Mode+and+Emacs', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fblogging-with-org-mode-and-emacs%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fblogging-with-org-mode-and-emacs%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fblogging-with-org-mode-and-emacs%2F&amp;title=Blogging+With+Org+Mode+and+Emacs" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fblogging-with-org-mode-and-emacs%2F&amp;title=Blogging+With+Org+Mode+and+Emacs" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/general/blogging-with-org-mode-and-emacs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Follow RTC on Twitter</title>
		<link>http://www.reverttoconsole.com/blog/general/follow-rtc-on-twitter/</link>
		<comments>http://www.reverttoconsole.com/blog/general/follow-rtc-on-twitter/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 04:08:08 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.reverttoconsole.com/?p=396</guid>
		<description><![CDATA[We only tweet from the console! http://www.twitter.com/reverttoconsole]]></description>
			<content:encoded><![CDATA[<p>We only tweet from the console!</p>
<p><a href="http://www.twitter.com/reverttoconsole">http://www.twitter.com/reverttoconsole</a></p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Ffollow-rtc-on-twitter%2F&amp;title=Follow+RTC+on+Twitter" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Ffollow-rtc-on-twitter%2F&amp;title=Follow+RTC+on+Twitter" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Ffollow-rtc-on-twitter%2F&amp;title=Follow+RTC+on+Twitter" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Ffollow-rtc-on-twitter%2F&amp;title=Follow+RTC+on+Twitter" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Ffollow-rtc-on-twitter%2F&amp;title=Follow+RTC+on+Twitter', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Ffollow-rtc-on-twitter%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Ffollow-rtc-on-twitter%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Ffollow-rtc-on-twitter%2F&amp;title=Follow+RTC+on+Twitter" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Ffollow-rtc-on-twitter%2F&amp;title=Follow+RTC+on+Twitter" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/general/follow-rtc-on-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Revert to Console&#8221; for Language Translation</title>
		<link>http://www.reverttoconsole.com/blog/general/revert-to-console-for-language-translation/</link>
		<comments>http://www.reverttoconsole.com/blog/general/revert-to-console-for-language-translation/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 09:05:04 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/?p=354</guid>
		<description><![CDATA[So you might be sitting around asking yourself, &#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 [...]]]></description>
			<content:encoded><![CDATA[<p>So you might be sitting around asking yourself,<br />
&#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 <a href="http://savannah.nongnu.org/projects/twandgtw">Translate Word and Graphical TW project</a> is your gateway to having superior translation capabilities right in your CONSOLE!</p>
<p>Download tw from <a href="http://savannah.nongnu.org/files/?group=twandgtw">http://savannah.nongnu.org/files/?group=twandgtw</a>.<br />
I&#8217;m using tw-0.1.3.tar.bz2.</p>
<p>Major Dependencies<br />
elinks<br />
<a href="http://elinks.or.cz/download">http://elinks.or.cz/download</a><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 &#8220;tw -h&#8221; 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 <a href="http://www.google.com/help/faq_translation.html#langpairs">http://www.google.com/help/faq_translation.html#langpairs</a>.</p>
<pre>
#!/bin/bash
# author: eokuwwy
# http://reverttoconsole.com
# description: customized tw wrapper script that uses google translate&lt;/code&gt;

if [ &quot;$1&quot; = &quot;-l&quot; ];
then
echo &quot;Arabic=ar&quot;;
echo &quot;Bulgarian=bg&quot;;
echo &quot;Catalan=ca&quot;;
echo &quot;Chinese=zh-cn&quot;;
echo &quot;Chinese=zh-tw&quot;;
echo &quot;Croation=hr&quot;;
echo &quot;Czech=cs&quot;;
echo &quot;Danish=da&quot;;
echo &quot;Dutch=nl&quot;;
echo &quot;English=en&quot;;
echo &quot;Filipino=tl&quot;;
echo &quot;Finnish=fi&quot;;
echo &quot;French=fr&quot;;
echo &quot;German=de&quot;;
echo &quot;Greek=el&quot;;
echo &quot;Hebrew=iw&quot;;
echo &quot;Hindi=hi&quot;;
echo &quot;Indonesian=id&quot;;
echo &quot;Italian=it&quot;;
echo &quot;Japanese=ja&quot;;
echo &quot;Korean=ko&quot;;
echo &quot;Latvian=lv&quot;;
echo &quot;Lithuanian=lt&quot;;
echo &quot;Norwegian=no&quot;;
echo &quot;Polish=pl&quot;;
echo &quot;Portuguese=pt-BR&quot;;
echo &quot;Romanian=ro&quot;;
echo &quot;Russian=ru&quot;;
echo &quot;Serbian=sr&quot;;
echo &quot;Slovak=sk&quot;;
echo &quot;Slovenian=sl&quot;;
echo &quot;Spanish=es&quot;;
echo &quot;Swedish=sv&quot;;
echo &quot;Ukranian=uk&quot;;
echo &quot;Vietnamese=vi&quot;;
elif [ &quot;$1&quot; = &quot;-h&quot; -o -z &quot;$1&quot; ];
then
echo &quot;Usage: twg [sourcelang-destlang (i.e. en-es)] [term]&quot;;
echo &quot;twg -h (shows help)&quot;;
echo &quot;twg -l (shows language list)&quot;;
else
tw translate.google.com.$1 &quot;$2&quot;;
fi
</pre>
<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<br />
-eokuwwy</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Frevert-to-console-for-language-translation%2F&amp;title=%26%238220%3BRevert+to+Console%26%238221%3B+for+Language+Translation" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Frevert-to-console-for-language-translation%2F&amp;title=%26%238220%3BRevert+to+Console%26%238221%3B+for+Language+Translation" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Frevert-to-console-for-language-translation%2F&amp;title=%26%238220%3BRevert+to+Console%26%238221%3B+for+Language+Translation" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Frevert-to-console-for-language-translation%2F&amp;title=%26%238220%3BRevert+to+Console%26%238221%3B+for+Language+Translation" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Frevert-to-console-for-language-translation%2F&amp;title=%26%238220%3BRevert+to+Console%26%238221%3B+for+Language+Translation', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Frevert-to-console-for-language-translation%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Frevert-to-console-for-language-translation%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Frevert-to-console-for-language-translation%2F&amp;title=%26%238220%3BRevert+to+Console%26%238221%3B+for+Language+Translation" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Frevert-to-console-for-language-translation%2F&amp;title=%26%238220%3BRevert+to+Console%26%238221%3B+for+Language+Translation" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/general/revert-to-console-for-language-translation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bringing the Browser To The Server (Just Discovered This)</title>
		<link>http://www.reverttoconsole.com/blog/general/bringing-the-browser-to-the-server-just-discovered-this/</link>
		<comments>http://www.reverttoconsole.com/blog/general/bringing-the-browser-to-the-server-just-discovered-this/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 10:32:51 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/?p=236</guid>
		<description><![CDATA[John Resig posted an awesome article a little over a year ago, and I&#8217;m just getting to it. I&#8217;ve been developing a javascript presentation, primarily focusing on scope and functions, to a group of Java developers. I&#8217;ve used JSUnit and Firebug to work with javascript quite a bit, but frankly, I don&#8217;t really like either [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ejohn.org/blog/bringing-the-browser-to-the-server/">John Resig posted an awesome article</a> a little over a year ago, and I&#8217;m just getting to it. I&#8217;ve been developing a javascript presentation, primarily focusing on scope and functions, to a group of Java developers. I&#8217;ve used JSUnit and Firebug to work with javascript quite a bit, but frankly, I don&#8217;t really like either one of them that much. I wanted something to execute examples in the simplest way possible, and for me, as primarily a Java developer, that&#8217;s the command line with as little code as possible.</p>
<p>What Resig&#8217;s done, in a nutshell is port the native browser environment to Rhino. So you can take his <a href="http://jqueryjs.googlecode.com/svn/trunk/jquery/build/runtest/env.js">environment script</a> load it in Rhino, and run your examples. It&#8217;s perfect, and exactly what I was looking for.</p>
<p>Taking a look at Resig&#8217;s article, it&#8217;s trivial to get an environment set up. I used a standard project directory structure,</p>
<blockquote><p>
/<br />
/lib/js.jar <-- Rhino jar<br />
/src/env.js <-- Resig's env script<br />
/src/prototype.js <-- Prototype<br />
/src/assert.js <-- my assert script<br />
/src/start.js <-- my start script<br />
/tests/example1.html <-- an html page to work with
</p></blockquote>
<p>To run this, execute <strong>java -jar ./lib/js.jar</strong>, to start up the Rhino shell.</p>
<p>Next,</p>
<pre>
$ java -jar ./lib/js.jar
Rhino 1.7 release 1 2008 03 06
js> load('src/start.js');
js> write tests
</pre>
<p>Here&#8217;s what I put into the start script:</p>
<pre>
load('./src/env.js');
window.location='tests/example1.html';
load('./src/prototype.js');
load('./src/assert.js');
</pre>
<p>This loads the environment (env.js), then an html page for the DOM, then the prototype libraries, and finally an assertion script I wrote:</p>
<pre>
function assert(condition, affirmative, negative) {
        if(!condition) {
                return negative;
        }
        return affirmative;
}
</pre>
<p>And now I&#8217;m ready to execute my example scripts!</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fbringing-the-browser-to-the-server-just-discovered-this%2F&amp;title=Bringing+the+Browser+To+The+Server+%28Just+Discovered+This%29" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fbringing-the-browser-to-the-server-just-discovered-this%2F&amp;title=Bringing+the+Browser+To+The+Server+%28Just+Discovered+This%29" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fbringing-the-browser-to-the-server-just-discovered-this%2F&amp;title=Bringing+the+Browser+To+The+Server+%28Just+Discovered+This%29" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fbringing-the-browser-to-the-server-just-discovered-this%2F&amp;title=Bringing+the+Browser+To+The+Server+%28Just+Discovered+This%29" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fbringing-the-browser-to-the-server-just-discovered-this%2F&amp;title=Bringing+the+Browser+To+The+Server+%28Just+Discovered+This%29', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fbringing-the-browser-to-the-server-just-discovered-this%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fbringing-the-browser-to-the-server-just-discovered-this%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fbringing-the-browser-to-the-server-just-discovered-this%2F&amp;title=Bringing+the+Browser+To+The+Server+%28Just+Discovered+This%29" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fbringing-the-browser-to-the-server-just-discovered-this%2F&amp;title=Bringing+the+Browser+To+The+Server+%28Just+Discovered+This%29" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/general/bringing-the-browser-to-the-server-just-discovered-this/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Machiavellian Approach to Software Development</title>
		<link>http://www.reverttoconsole.com/blog/general/a-machiavellian-approach-to-software-development/</link>
		<comments>http://www.reverttoconsole.com/blog/general/a-machiavellian-approach-to-software-development/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 03:16:37 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/?p=212</guid>
		<description><![CDATA[If you are a software developer and haven&#8217;t realized by now that a BS in Computer Science should be at least 50% BA, then you must be living the good life and I envy you. Though users love to believe that software development is a perfect science that is as predictable as manufacturing wing nuts, [...]]]></description>
			<content:encoded><![CDATA[<p>If you are a software developer and haven&#8217;t realized by now that a BS in Computer Science should be at least 50% BA, then you must be living the good life and I envy you.  Though users love to believe that software development is a perfect science that is as predictable as manufacturing wing nuts, we know that to be far from the truth.  It is in fact, the user, that makes any attempt to apply scientific methodology to software development futile.</p>
<p>The user is not &#8220;the enemy&#8221;, nor is the user &#8220;stupid&#8221;.  Without users, there is no software.  Users are simply human beings.  Their minds are not bound by physical limits, such as volts, amps, or aerodynamic drag.  A human&#8217;s mind is capable of dreaming up anything, whether it is possible or not in the physical world.  In software we operate within a virtual world not bound by earthly physics.  This fact combined with the vast imagination of the human mind is what makes software development so challenging.  Without boundaries and limits, you can easily find yourself in a no holds barred situation.</p>
<p>Therefore, it is imperative that developers impose and enforce boundaries upon the user.  There are many examples of this: change control boards, requirements sign off, iterative development, etc.  While these conventional measures serve their purpose, it is sometimes necessary to take extra steps that may be ethically questionable.</p>
<p>You need to know the following:<br />
1. The user does not really know what he/she wants<br />
2. The user needs to be told what he/she can and cannot have<br />
3. You are in control of the software, not the user<br />
4. You are the technical expert, not the user<br />
5. The user doesn&#8217;t care about how the software works, so long as it works</p>
<p>We should not feel guilty about the nature of software development, nor the ways in which we deal with the above facts.  To deal with those facts mentioned above, consider the following:<br />
1. Lead the user away from ideas that will result in requiring complex features, while persuading them to accept ideas that will require simpler ones.<br />
2. Be firm with what features can and cannot be built.  Remember, the user is not the technical expert.  You can bend the truth a bit with your imagination and technical knowledge.<br />
3.  Do not ever give control of development to the user.  Always require him or her to follow proper procedures for change requests, it doesn&#8217;t matter how &#8220;urgent&#8221; it is.  Unless there is a defect causing people to die or the company to lose massive amounts of money, it is not urgent enough to skip the procedures and processes that have been put in place.<br />
4.  Do not be fooled by a user who claims to be an expert as a software developer.  Unless they are working on the same software that you are, their &#8220;knowledge&#8221; is useless.  Users with strong educational backgrounds love to make these claims.  (i.e., M.D.&#8217;s, P.h.D.&#8217;s)  Do not be intimidated.  Have confidence in yourself and your abilities.  If they are persistent about injecting their own technical “expertise” into your project, do whatever it takes to take them out of the picture.  Get his/her manager involved if you have to.  If you give in to this type of user, you could very well be jeopardizing the health of your entire project.<br />
5.The user doesn&#8217;t care about how the software works so don&#8217;t tell him/her. Not only is it a waste of time, but it also keeps them in the dark.  That allows you to bend and manipulate the technical truth to your liking if need be.</p>
<p>The last issue I would like to mention is the issue of deadlines.  You should set these, not the user.  If the user requires a deadline that is not reasonable, then tell him/her you will have to drop features in order to meet that deadline.  You cannot give up control.  Lie, cheat, and steal if you have to.  I can&#8217;t really see where you&#8217;d have to do the latter, but I am serious here.  Do whatever it takes to maintain control.</p>
<p>Again, the user is not the enemy (except maybe those “experts” described in number 4 above).  The user just needs stringent boundaries and limits.  These boundaries need to be firmly enforced, even if it means engaging in questionable tactics at times.  Sometimes you may have to approach your job like you are a slightly less than honest politician.  The end result will always be worth it.  If you can keep the user in line, you will find your job to be much more rewarding.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fa-machiavellian-approach-to-software-development%2F&amp;title=A+Machiavellian+Approach+to+Software+Development" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fa-machiavellian-approach-to-software-development%2F&amp;title=A+Machiavellian+Approach+to+Software+Development" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fa-machiavellian-approach-to-software-development%2F&amp;title=A+Machiavellian+Approach+to+Software+Development" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fa-machiavellian-approach-to-software-development%2F&amp;title=A+Machiavellian+Approach+to+Software+Development" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fa-machiavellian-approach-to-software-development%2F&amp;title=A+Machiavellian+Approach+to+Software+Development', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fa-machiavellian-approach-to-software-development%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fa-machiavellian-approach-to-software-development%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fa-machiavellian-approach-to-software-development%2F&amp;title=A+Machiavellian+Approach+to+Software+Development" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fa-machiavellian-approach-to-software-development%2F&amp;title=A+Machiavellian+Approach+to+Software+Development" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/general/a-machiavellian-approach-to-software-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Install multiple IE (IE4, IE5, IE5.5, IE6) as a standalone for testing</title>
		<link>http://www.reverttoconsole.com/blog/general/install-multiple-ie-ie4-ie5-ie55-ie6-as-a-standalone-for-testing/</link>
		<comments>http://www.reverttoconsole.com/blog/general/install-multiple-ie-ie4-ie5-ie55-ie6-as-a-standalone-for-testing/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 15:19:20 +0000</pubDate>
		<dc:creator>Priyatam</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Useful Links]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/archives/195</guid>
		<description><![CDATA[Although, most UI Javascript frameworks say that their script &#8220;works&#8221; in all browsers, it&#8217;s quite the opposite. As a developer, you might wanna save your ass till a last moment surprise. And you would want to test your web application or website on all web browsers, atleast for a sanity test. Typically this involves IE [...]]]></description>
			<content:encoded><![CDATA[<p>Although, most UI Javascript frameworks say that their script &#8220;works&#8221; in all browsers, it&#8217;s quite the opposite. As a developer, you might wanna save your ass till a last moment surprise. And you would want to test your web application or website on all web browsers, atleast for a sanity test. Typically this involves IE 5.x and IE6.x and maybe IE7, Firefox. (Apparently, nobody cares for Safari, even though it&#8217;s my favourite browser). However if you already have the latest upgrade of IE 7 or IE 6 SP2 installedÂ from yourÂ Corporate Infrastructure group, installing multiple IE versions on your PC is not as easy as it sounds to be, thanks to Windows DLL Hell. The good news is, there&#8217;s a way to hack around it, by exploiting a known workaround called DLL redirection. Honestly, I&#8217;m not interested in the details on howÂ they&#8217;ve done it and I&#8217;m sure you&#8217;re not either.</p>
<p>So here is the magical one click installer <a href="http://tredosoft.com/files/multi-ie/multiple-ie-setup.exe">Tool</a>, which installs all the versions as a &#8220;standalone&#8221; browser(s).Â Or, if you want them from another source, which has them archived, <a href="http://browsers.evolt.org/?ie/32bit/standalone">here it is</a>. Â</p>
<p>In fact it goes all the way to IE 3.0! (Don&#8217;t even try to test on IE3, my app crapped the shit outta it)</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Finstall-multiple-ie-ie4-ie5-ie55-ie6-as-a-standalone-for-testing%2F&amp;title=Install+multiple+IE+%28IE4%2C+IE5%2C+IE5.5%2C+IE6%29+as+a+standalone+for+testing" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Finstall-multiple-ie-ie4-ie5-ie55-ie6-as-a-standalone-for-testing%2F&amp;title=Install+multiple+IE+%28IE4%2C+IE5%2C+IE5.5%2C+IE6%29+as+a+standalone+for+testing" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Finstall-multiple-ie-ie4-ie5-ie55-ie6-as-a-standalone-for-testing%2F&amp;title=Install+multiple+IE+%28IE4%2C+IE5%2C+IE5.5%2C+IE6%29+as+a+standalone+for+testing" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Finstall-multiple-ie-ie4-ie5-ie55-ie6-as-a-standalone-for-testing%2F&amp;title=Install+multiple+IE+%28IE4%2C+IE5%2C+IE5.5%2C+IE6%29+as+a+standalone+for+testing" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Finstall-multiple-ie-ie4-ie5-ie55-ie6-as-a-standalone-for-testing%2F&amp;title=Install+multiple+IE+%28IE4%2C+IE5%2C+IE5.5%2C+IE6%29+as+a+standalone+for+testing', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Finstall-multiple-ie-ie4-ie5-ie55-ie6-as-a-standalone-for-testing%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Finstall-multiple-ie-ie4-ie5-ie55-ie6-as-a-standalone-for-testing%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Finstall-multiple-ie-ie4-ie5-ie55-ie6-as-a-standalone-for-testing%2F&amp;title=Install+multiple+IE+%28IE4%2C+IE5%2C+IE5.5%2C+IE6%29+as+a+standalone+for+testing" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Finstall-multiple-ie-ie4-ie5-ie55-ie6-as-a-standalone-for-testing%2F&amp;title=Install+multiple+IE+%28IE4%2C+IE5%2C+IE5.5%2C+IE6%29+as+a+standalone+for+testing" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/general/install-multiple-ie-ie4-ie5-ie55-ie6-as-a-standalone-for-testing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to disable your macbook pro display while using an Apple cinema as main display</title>
		<link>http://www.reverttoconsole.com/blog/general/how-to-disable-your-macbook-pro-while-using-an-apple-cinema-display/</link>
		<comments>http://www.reverttoconsole.com/blog/general/how-to-disable-your-macbook-pro-while-using-an-apple-cinema-display/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 22:16:40 +0000</pubDate>
		<dc:creator>Priyatam</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/archives/169</guid>
		<description><![CDATA[I just bought my 23&#8243; Apple Cinema Display and connected my Macbook Pro, the first thing I opened up was eclipse and it has never looked better before. So much real estate, that you already feel so super productive, like crazyBobLee. Well, that&#8217;s just a feeling. Every tech company should have these, atleast for their [...]]]></description>
			<content:encoded><![CDATA[<p>I just bought my 23&#8243; Apple Cinema Display and connected my Macbook Pro, the first thing I opened up was eclipse and it has never looked better before. So much real estate, that you already feel so super productive, like crazyBobLee. Well, that&#8217;s just a feeling. Every tech company should have these, atleast for their core development team. (and give away the thinkpads with vista to the PMs). I still haven&#8217;t bought the wireless Keyboard (there&#8217;s one on the way) so I was looking for a way where I can use the entire Cinema Display as main monitor. Apparently, <a href="http://discussions.apple.com/thread.jspa?messageID=5983542#5983542" target="_blank">this is not possible</a> according to many Apple forums. An <a href="http://docs.info.apple.com/article.html?artnum=86286" target="_blank">article</a> in Apple site says that you can do it but closing the lid of MBP and using a wireless keyboard but not with the keyboard of MBP (lid open)</p>
<p>You can however use both the screens simultaneously (a feature called &#8220;mirror&#8221; in Display settings). The problem with this display is the cinema display&#8217;s resolution is limited by the MBP&#8217;s screen resolution (1440 pixels. OR, you could use a dual display with real estate spanning both screens. The problem with this is, the menu/tool bar and start menu always lies in MBP&#8217;s screen, making it cumbersome to manipulate the toolbar functions of an app. (and the apps always pop up in MBP screen by default, you have drag it to cinema display).</p>
<p>So, how do you disable your macbook pro with lid closed or open and make your cinema display a main monitor, and continue to use your MBP as keyboard only device?</p>
<p>I don&#8217;t know how I got this but it was by trial and error. Here are the steps, you need to follow: -</p>
<p>1) While in dual display mode, in MBP, choose Sleep mode manually. Wait for both the screen to turn black. (or you could just close the lid)<br />
2) Do NOT open lid but press the button (that opens the lid) for a few seconds until you hear a boot sound.</p>
<p>After a few seconds, you will see that your main display is turned on as main monitor. Now, even after opening the lid, it does NOT turn the MBP screen on, and the best part &#8212; you can continue to  use it as a keyboard!</p>
<p>The only downside to this is that, if you need to see the MBP display again,  you need to restart (or remove the DVI plug), I think it&#8217;s still better than not being able to use cinema display as main monitor at all.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-disable-your-macbook-pro-while-using-an-apple-cinema-display%2F&amp;title=How+to+disable+your+macbook+pro+display+while+using+an+Apple+cinema+as+main+display" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-disable-your-macbook-pro-while-using-an-apple-cinema-display%2F&amp;title=How+to+disable+your+macbook+pro+display+while+using+an+Apple+cinema+as+main+display" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-disable-your-macbook-pro-while-using-an-apple-cinema-display%2F&amp;title=How+to+disable+your+macbook+pro+display+while+using+an+Apple+cinema+as+main+display" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-disable-your-macbook-pro-while-using-an-apple-cinema-display%2F&amp;title=How+to+disable+your+macbook+pro+display+while+using+an+Apple+cinema+as+main+display" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-disable-your-macbook-pro-while-using-an-apple-cinema-display%2F&amp;title=How+to+disable+your+macbook+pro+display+while+using+an+Apple+cinema+as+main+display', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-disable-your-macbook-pro-while-using-an-apple-cinema-display%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-disable-your-macbook-pro-while-using-an-apple-cinema-display%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-disable-your-macbook-pro-while-using-an-apple-cinema-display%2F&amp;title=How+to+disable+your+macbook+pro+display+while+using+an+Apple+cinema+as+main+display" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-disable-your-macbook-pro-while-using-an-apple-cinema-display%2F&amp;title=How+to+disable+your+macbook+pro+display+while+using+an+Apple+cinema+as+main+display" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/general/how-to-disable-your-macbook-pro-while-using-an-apple-cinema-display/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>How to find a good programming job</title>
		<link>http://www.reverttoconsole.com/blog/general/how-to-find-a-good-programming-job/</link>
		<comments>http://www.reverttoconsole.com/blog/general/how-to-find-a-good-programming-job/#comments</comments>
		<pubDate>Fri, 14 Dec 2007 01:25:41 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/archives/156</guid>
		<description><![CDATA[You&#8217;ve been here before: After two weeks of working around the clock, you discover that the people handing you requirements still don&#8217;t know what they want. You&#8217;re delirious from lack of sleep, and everyone around you is just pointing fingers, no one is actually helping. It sucks, and it happens frequently enough that it almost [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ve been here before:<br />
After two weeks of working around the clock, you discover that the people handing you requirements still don&#8217;t know what they want. You&#8217;re delirious from lack of sleep, and everyone around you is just pointing fingers, no one is actually helping. It sucks, and it happens frequently enough that it almost seems like standard practice.</p>
<p>So what can you do? How can you find a job that actually values your life? In interviews everyone is boastful and optimistic, everyone seems happy enough. But then you start; you&#8217;re assigned a number, executives start referring to you as a &#8220;resource&#8221; rather than a human, and you get that sinking feeling that you&#8217;ve stumbled into yet another one of those meat processing factories that pass for development shops lead by babbling idiots.</p>
<p>I certainly haven&#8217;t found the perfect place yet, far from it, but I have seen the inside of enough corporate dungeons that I&#8217;m beginning to see what that perfect place might look like; call it a mirage. A lot of people look at processes (&#8220;&#8230;if only we were using an Agile methodology, it would almost be like <em>not working</em>&#8220;), <a href="http://www.inc.com/magazine/20071101/how-hard-could-it-be-five-easy-ways-to-fail.html?partner=fogcreek">others look at developers</a>; but I personally think that the management apparatus is a good indication of whether a workplace will be bearable or not.</p>
<p>Here are a few ideas, in no particular order, on whether or a given company is a good one to work for:</p>
<ul>
<li><strong>How many steps does it take to get to the top?</strong> If you&#8217;re like me, about half of my work life has been spent in the hull of the flag ships of inhumane treatment- big companies. Does size <em>really</em> matter? Well, not necessarily, but consider the public view of the average billionaire CEO, and consider the scandals that have come to light in the last decade; would you really trust your paycheck to someone like that? And while you might think- &#8220;Well, I don&#8217;t have to deal with the CEO directly obviously, and there are laws to protect me&#8221; (you silly fool), think about it again. You&#8217;re going to have to contend with the minions of the CEO, and the minions are just as greedy, just as unethical, just as heartless, and maybe even worse because they haven&#8217;t had the opportunity to drink their fill from the fountain of greed yet. At times I think the US business world has actually devolved back to a time when human life was just plain cheap. In a nutshell, if you can&#8217;t throw a paper clip and hit the CEO of your company from where you sit, or if you can&#8217;t at least walk down the hall and do the same, then you might want to reconsider taking that job.</li>
<li><strong>Where are you in the pecking order?</strong> Virtually every major, successful software company in the US was started by programmers; Hewlett Packard, Microsoft, Google, etc. Also, consider this;  <a href="http://www.forbes.com/lists/2006/54/biz_06rich400_The-400-Richest-Americans_Rank.html">nearly half of the top 12 richest Americans today can program</a>. So, where do you sit in the ranks of your company (not in terms of wealth, but organizational hierarchy)? If you&#8217;re a programmer and you&#8217;re not near the top of the pecking order, or if there isn&#8217;t another programmer in that top position, then you&#8217;re at a stupid, backwards, outdated, under-performing software company. Have you ever heard a business analyst say something like, &#8220;I had the programmers do that for me&#8230;&#8221;? If so, just quit now, that&#8217;s a really dumb company to work for. It should be the reverse- have the analyst do something for you. Does your company require it&#8217;s executives to have sales experience but no programming experience? Get out now; sales people can&#8217;t tie their own shoes, let alone run a software company.</li>
<li><strong>Who decides what tools you can use?</strong> Some people like a tool hegemony among the developer teams, some don&#8217;t, that&#8217;s fine. But <em>do you know</em> who&#8217;s made the decision about the version control system you&#8217;re using? Can you talk to them? Is there any option to call them up and say, &#8220;Hey look, this new system called <em>subterfuge</em> is out; what do you think of it?&#8221; If the tools you use are being decided on by some other department in some other part of the world, and your access to them is through an 800 number or a Help Desk group, then you should consider another job, because the one you&#8217;re in clearly does not value your professionalism to let you make the decisions that impact your work life.</li>
<li><strong>What is the developer to manager ratio?</strong> If you have a Project Manager, a Development Manager, and a Product Manager, for the same team, you&#8217;re too top heavy. Project and Product managers basically do nothing for the development effort- they&#8217;re only there so that other executives higher up can feel good about themselves- i.e. they can sit in their little meeting and talk to their hearts content and don&#8217;t have to pretend to know anything about software, because they&#8217;re not talking to the developers. Executives can hold a meeting with their 2P managers, and never have to speak to anyone that actually knows what&#8217;s going on. If the company you&#8217;re considering requires the holy trinity of project, product, and development managers, it&#8217;s time to move on to greener pastures, this one probably smells.</li>
<li><strong>Has the acronym CCMi ever come up in the organization you&#8217;re about to join?</strong> I can&#8217;t even talk about this; it&#8217;s traumatically stupid. I&#8217;ll just say this; in your interview, you must ask whether or not the company has implemented or is considering implementing the CMMi methodology. If the interviewer laughs, curses, or spits, or looks at you like you&#8217;ve just done one of those things, she passes and you can still consider joining the company. But if the answer is an earnest, &#8220;Yes&#8221;, get up and walk away- no, run! Not only is the company doing something stupid but they&#8217;re also willing to waste a lot of money doing something stupid. That&#8217;s a double shot of stupidity! (Note: if it&#8217;s a publicly traded company and you find out they&#8217;re just getting on the CMMi bandwagon, consider shorting their stock)</li>
<li><strong>Will you have to enter time while being on salary?</strong> Entering time is dumb if you&#8217;re a salaried employee, and it&#8217;s double dumb if you&#8217;re a salaried programmer. For one simple reason- NO ONE KNOWS WHAT THE HELL YOU&#8217;RE DOING ANYWAY! So what&#8217;s it for? To tell your project manager monkey, &#8220;I spent 4 hours troubleshooting a <a href="http://commons.apache.org/collections/">commons collection</a> that broke when <a href="http://en.wikipedia.org/wiki/Just-in-time_compilation">JIT&#8217;d</a> during the continuous integration process&#8221;? If they don&#8217;t need that level of detail (and your average project manager definitely would not need that level of detail), then someone else can do the time entry for you (like, the project manager, since they&#8217;re not going to be doing anything anyway).</li>
<li><strong>And lastly,</strong> the use of any of the following tools would be grounds for prospective employer disqualification in my book: Microsoft Access, Microsoft Project, Microsoft Sharepoint, Borland Calibur RM, Borland StarTeam, and Microsoft Visual Source Safe.</li>
</ul>
<p>Please feel free to contribute your own recommendations&#8230;</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-find-a-good-programming-job%2F&amp;title=How+to+find+a+good+programming+job" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-find-a-good-programming-job%2F&amp;title=How+to+find+a+good+programming+job" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-find-a-good-programming-job%2F&amp;title=How+to+find+a+good+programming+job" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-find-a-good-programming-job%2F&amp;title=How+to+find+a+good+programming+job" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-find-a-good-programming-job%2F&amp;title=How+to+find+a+good+programming+job', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-find-a-good-programming-job%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-find-a-good-programming-job%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-find-a-good-programming-job%2F&amp;title=How+to+find+a+good+programming+job" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fhow-to-find-a-good-programming-job%2F&amp;title=How+to+find+a+good+programming+job" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/general/how-to-find-a-good-programming-job/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google sponsored links point to fraud/scam shopping sites. Beware</title>
		<link>http://www.reverttoconsole.com/blog/general/google-sponsored-links-point-to-fraud-shopping-sites-beware/</link>
		<comments>http://www.reverttoconsole.com/blog/general/google-sponsored-links-point-to-fraud-shopping-sites-beware/#comments</comments>
		<pubDate>Wed, 12 Dec 2007 15:29:45 +0000</pubDate>
		<dc:creator>Priyatam</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/archives/152</guid>
		<description><![CDATA[TheÂ nextÂ time youÂ google forÂ a Digital SLR Camera (like the new Canon 40D or Nikon 200D) or a LCD hi-def TV, Â beware of fraudulent websites being shown in the Google sponsored links on the top and to your right of the browser search results! Some of these sites, promote with a price [...]]]></description>
			<content:encoded><![CDATA[<p>TheÂ nextÂ time youÂ google forÂ a Digital SLR Camera (like the new Canon 40D or Nikon 200D) or a LCD hi-def TV, Â beware of fraudulent websites being shown in the Google sponsored links on the top and to your right of the browser search results! Some of these sites, promote with a price match that is 50% less than popular sites likeÂ amazon.com, ebay or B&amp;H.Â Once youÂ click the link, you are transferred toÂ a stripped downÂ look-a-like ofÂ a pricegrabber comparison shopping cart with a zillion &#8220;Hacker-Safe&#8221;, &#8220;Verified by Visa&#8221; dummy jpgs. You would see most of your digital cameras offered for muchÂ cheaper prices and yes all of them have shopping carts, 1-800 numbers, cheap looking yetÂ snazzy comparison, reviews, product description pages etc. You&#8217;ll now be tempted to go ahead without usingÂ your head much and poor you, you willÂ realize only later, that you&#8217;ve been duped like many others. Read <a href="http://www.resellerratings.com/store/Broadway_Photo">here</a>, <a href="http://www.price.com/vendor_review_display.html?vid=-2147483296">here</a> and <a href="http://incidentalcommentaries.blogspot.com/2007/02/i-hope-you-blacklist-following-two.html">here</a> for existing complaints from hundreds or who knows even thousands of customers. Thanks to the internet, it&#8217;s simple to find out a fraud comparison website like lowpricedigital.com or a fraud site like bwayphoto.com.</p>
<p>Â <a rel="attachment wp-att-155" href="http://www.reverttoconsole.com/blog/general/google-sponsored-links-point-to-fraud-shopping-sites-beware/attachment/generating-excel-formulas-with-spring-mvc-and-poi/" title="google-fraud-3.JPG"><img border="1" vspace="2" align="top" width="716" src="http://reverttoconsole.com/wp-content/uploads/2007/12/google-fraud-3.JPG" hspace="2" alt="google-fraud-3.JPG" height="442" style="width: 716px; height: 442px" title="google-fraud-3.JPG" /></a><a rel="attachment wp-att-155" href="http://www.reverttoconsole.com/blog/general/google-sponsored-links-point-to-fraud-shopping-sites-beware/attachment/generating-excel-formulas-with-spring-mvc-and-poi/" title="google-fraud-3.JPG"></a></p>
<p><a rel="attachment wp-att-154" href="http://www.reverttoconsole.com/blog/general/google-sponsored-links-point-to-fraud-shopping-sites-beware/attachment/commons-stringutils-is-your-friend/" title="google-fraud.JPG"></a></p>
<p>I was trying to find a good deal on Canon 40D, it usually costs around 1299 from stores like Amazon. Ebay has the best offer of 1099$. But as you see in the above, I had four deals from the sponsored links &#8211; one right on the top which says &#8211; $519. The rest four as highlited, from the right sponsored results (all offering between $500-800$). There are probably many other productsÂ as I had similar results fromÂ using keywords like &#8220;Canon 40D&#8221;, &#8220;Nikon 200D&#8221;, &#8220;Samsung LNT4661&#8243; (the no 1 selling hdtv). Here are the standard list of of Fraud websites, Fraud internet shopping sites for digital cameras, picked up from Google Sponsored links,</p>
<p><a href="http://www.shopcartusa.com/P_Canon_EOS_40D_Digital_Camera_1901B004/PT_Y/?ic_campID=98" title="www.shopcartusa.com">www.shopcartusa.com fraud site</a><br />
<a href="http://www.bwayphoto.com/ViewProduct.aspx?ID=3592342&amp;l=LowPriceDigital+">http://www.bwayphoto.com fraud site</a><br />
<a href="http://www.thecameraprofessionals.com/prodetails.asp?prodid=276308&amp;gclid=CPHd2ruso5ACFQINPAodf2yu7Q">www.thecameraprofessionals.com fraud website</a><br />
<a href="http://www.lowpricedigital.com/item.asp?item_Id=149752&amp;partner=g123&amp;keyword=canon_40d&lt;br&gt;&lt;/a&gt;">www.lowpricedigital.com fraud comparison site</a><br />
<a href="http://www.everyprice.com/item.asp?item_Id=175005&amp;partner=g123&amp;keyword=canon_40d&amp;gclid=COjz1IW0o5ACFSMSQQodh1QL1g&lt;br&gt;&lt;/a&gt;">www.everyprice.com fraud website</a><br />
<a href="http://www.expresscameras.com/prodetails.asp?prodid=919974">www.expresscameras.com fraud website</a></p>
<p>As a simple test, if you ever come across such an unbelievable offer, simply call their customer service number. Remember DO NOT GIVE your credit card info or buy from the site yet. If you get a continuous waiting message, try again. In my case, I called 8 companies, all of them had been listed on the fraud website lowpricedigital.com. Though different 1-800 numbers, they all had the same exact waiting message (some christmas carol), half of them never picked up inspite of waiting for 10 minutes.Â Â And then, oneÂ guy picked up. He was so arrogant,Â a lot of noiseÂ hissing in the background. The guy said something like &#8220;It&#8217;s all sold out&#8221;Â and hung up on me! That&#8217;s it. Three seconds.Â &#8220;Wow&#8221;, I thought. I called the other and after nearly twelve minutes, someone picks up and says. &#8220;It&#8217;s all sold out Sir. We have&#8217;nt yet updated our website stock information&#8221;. I couldnt help but imagine the dude from the movie, <a href="http://imdb.com/title/tt0478311/">Knocked Up</a>, specially when it&#8217;s so easy to setup a shopping cart website these days.</p>
<p>Internet fraud is not uncommon these days but what&#8217;s shocking and devastating is that these sites appear on Google search results in their Sponsored links areaÂ right on the top.Â I wouldn&#8217;t have bothered if it was the general search results, as filtering them is far more uncontrollable. Google strives forÂ innovationÂ and certainly cares for it&#8217;s users like no one else and a lot of us respect that. But in this case, it looks like they&#8217;ve been quite callous to verify the integrity of the contents in these sponsored links.Â</p>
<p>What does this mean to the millions of users who trust Google? Doesn&#8217;t GoogleÂ care enough to verify these sponsored links? Doesn&#8217;tÂ GoogleÂ like to take a little more responsibility on it&#8217;s premium content? If more people get duped everyday using Google&#8217;s search results, do they sue the website or the search engine which indirectly &#8216;helped&#8217; them to buy the product. It&#8217;s not surprising to see that<a href="http://news.yahoo.com/s/zd/20071121/tc_zd/220073"> this is not the first time </a>someone has reported about Google Sponsored Links Fraud Scam content. As one of them said rightly -</p>
<p>&#8220;In my opinion, if it comes to Google&#8217;s attention that they have a scam website for which folks use their search engine to locate vendors, and if they (Google) do nothing about deleting a scam site, then they should be held liable.&#8221;</p>
<p>It shouldn&#8217;t be that difficult to implement a remedy for this. Adding a &#8220;Report this link&#8221; button under each sponsored link to collect user&#8217;s feedback would certainly help. Once a certain number of reports are registered. Google can take a look at this for investigation and report the same/remove the links.Â  I just hope someone isn&#8217;t frustrated to a point where, Google is sued and make bad press out of it but if you&#8217;re a user like me, spread this message, let THEM know, that we care about Google and everyone else.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fgoogle-sponsored-links-point-to-fraud-shopping-sites-beware%2F&amp;title=Google+sponsored+links+point+to+fraud%2Fscam+shopping+sites.+Beware" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fgoogle-sponsored-links-point-to-fraud-shopping-sites-beware%2F&amp;title=Google+sponsored+links+point+to+fraud%2Fscam+shopping+sites.+Beware" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fgoogle-sponsored-links-point-to-fraud-shopping-sites-beware%2F&amp;title=Google+sponsored+links+point+to+fraud%2Fscam+shopping+sites.+Beware" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fgoogle-sponsored-links-point-to-fraud-shopping-sites-beware%2F&amp;title=Google+sponsored+links+point+to+fraud%2Fscam+shopping+sites.+Beware" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fgoogle-sponsored-links-point-to-fraud-shopping-sites-beware%2F&amp;title=Google+sponsored+links+point+to+fraud%2Fscam+shopping+sites.+Beware', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fgoogle-sponsored-links-point-to-fraud-shopping-sites-beware%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fgoogle-sponsored-links-point-to-fraud-shopping-sites-beware%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fgoogle-sponsored-links-point-to-fraud-shopping-sites-beware%2F&amp;title=Google+sponsored+links+point+to+fraud%2Fscam+shopping+sites.+Beware" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fgeneral%2Fgoogle-sponsored-links-point-to-fraud-shopping-sites-beware%2F&amp;title=Google+sponsored+links+point+to+fraud%2Fscam+shopping+sites.+Beware" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/general/google-sponsored-links-point-to-fraud-shopping-sites-beware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

