<br><br><div class="gmail_quote">On Wed, Mar 27, 2013 at 10:16 AM, Ron Frazier (ALE) <span dir="ltr">&lt;<a href="mailto:atllinuxenthinfo@techstarship.com" target="_blank">atllinuxenthinfo@techstarship.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Charles,<br>
<br>
see below<br>
<div class="im"><br>
<br>
Charles Shapiro &lt;<a href="mailto:hooterpincher@gmail.com">hooterpincher@gmail.com</a>&gt; wrote:<br>
<br>
&gt;My $0.02:  Why&#39;s (Poignant) Guide to Ruby (<br>
&gt;<a href="http://mislav.uniqpath.com/poignant-guide/" target="_blank">http://mislav.uniqpath.com/poignant-guide/</a> ).  One of the more unusual<br>
&gt;language textbooks you will encounter.<br>
&gt;<br>
<br>
</div>Thanks for the link.  I just finished bookmarking it, and will be looking into it further.  It certainly looks more interesting than other textbooks at first glance.  Reminds me a little of the &quot;Head First&quot; series.  I haven&#39;t found one of those on Ruby though.<br>

<div class="im"><br>
&gt;btw I enjoy C, C++, Python, SQL, shell, and several other languages<br>
&gt;about<br>
&gt;equally.  I dunno why Python&#39;s caring about whitespace is a<br>
&gt;deal-breaker<br>
&gt;for Mr. Frazier.<br>
&gt;<br>
<br>
</div>It&#39;s just that I&#39;m philosophically opposed to having the way the program LOOKS to determine whether the program FUNCTIONS.  And, it seems to me, that if the program doesn&#39;t function for that reason (whitespace), that it would be insanely hard to determine where the flaw is, since you&#39;re looking at the logic and you KNOW it works.<br>
</blockquote><div><br>tying visual structure to operant functionality is not a bad thing. It actually makes some portions of debugging very, very easy - look for the visual pattern of improperly nested indentations (secret - use a 2 or 3-space indent - makes it clear without eating too much horizontal space). Set up vim or emacs to use your preferred space count on &lt;tab&gt; press. <br>
<br>I find curly braces a visual distraction( and nearly impossible to write well by hand). Using pure whitespace as enclosures is subtle without being cryptic. As i learned more python, I found myself using very formal indentation is everything from bash to SQL.<br>
<br>to paraphrase B.O.C. &quot;Don&#39;t fear the whitespace&quot;<br><br>:-D<br><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Having said that, when I was programming professionally, I always tried to make my source code very readable.  (Probably helped them replace me more easily later.)  I put in lots of comments and indentation so you could see what&#39;s going on instantly, or I could, a year later.<br>

<br>
Sincerely,<br>
<br>
Ron<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
&gt;-- CHS<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;On Tue, Mar 26, 2013 at 9:29 PM, Ron Frazier (ALE) &lt;<br>
&gt;<a href="mailto:atllinuxenthinfo@techstarship.com">atllinuxenthinfo@techstarship.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; Hi Scott,<br>
&gt;&gt;<br>
&gt;&gt; I understand what you&#39;re saying.  Heck, if someone wants to pay me to<br>
&gt;&gt; learn it, then I will.  At the moment, though, I&#39;ve uninstalled Java<br>
&gt;on all<br>
&gt;&gt; my Windows machines and am trying to figure out how to do so in Linux<br>
&gt;&gt; because of the security risks of having it on my system.  If I have<br>
&gt;to<br>
&gt;&gt; learn it, or use it, I might have to do so in a purpose built VM.<br>
&gt;&gt;<br>
&gt;&gt; I have heard that the Java syntax is more obtuse and verbose and that<br>
&gt;the<br>
&gt;&gt; object model is harder to follow than some others.  I get the<br>
&gt;impression<br>
&gt;&gt; that you have to type a whole lot more and it&#39;s a lot more cryptic to<br>
&gt;get<br>
&gt;&gt; something done, versus, say, Go or Ruby.  That&#39;s just from memory and<br>
&gt;I<br>
&gt;&gt; cannot remember the source.  There may have been multiple sources.<br>
&gt;But, I<br>
&gt;&gt; don&#39;t have any personal experience with it.<br>
&gt;&gt;<br>
&gt;&gt; Sincerely,<br>
&gt;&gt;<br>
&gt;&gt; Ron<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Scott Plante &lt;<a href="mailto:splante@insightsys.com">splante@insightsys.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; &gt;There are probably some good reasons not to pick Java as the modern<br>
&gt;&gt; &gt;language you want to learn, but &quot;security problems&quot; is not one of<br>
&gt;them.<br>
&gt;&gt; &gt;There have been several security holes found lately, but they relate<br>
&gt;to<br>
&gt;&gt; &gt;running un-trusted Java in the browser. Almost all the Java jobs<br>
&gt;&gt; &gt;revolve around writing Java on the server, and practically all the<br>
&gt;rest<br>
&gt;&gt; &gt;are Java applications on the desktop or as a trusted applet or<br>
&gt;&gt; &gt;browser-launched application.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;It&#39;s a very hard problem to allow random, un-trusted code to run on<br>
&gt;&gt; &gt;your computer and yet prevent it from doing any harm. It&#39;s a bit<br>
&gt;easier<br>
&gt;&gt; &gt;if you have an extremely limited language that doesn&#39;t do much<br>
&gt;anyway.<br>
&gt;&gt; &gt;They&#39;re constantly finding security holes in JavaScript, Flash, and<br>
&gt;&gt; &gt;ActiveX, too. That&#39;s not meant to be an excuse and vendors do try to<br>
&gt;&gt; &gt;fix holes as quickly as possible, with differing levels of<br>
&gt;competency .<br>
&gt;&gt; &gt;Also, these holes weren&#39;t in &quot;Java&quot; per se, but in the Oracle JVM.<br>
&gt;Some<br>
&gt;&gt; &gt;of them might also have been in, say, the IBM JVM or JRocket JVM<br>
&gt;since<br>
&gt;&gt; &gt;there is code sharing between projects. But they were probably not<br>
&gt;in<br>
&gt;&gt; &gt;Google&#39;s Dalvik JVM (since they don&#39;t do applets), even though for<br>
&gt;&gt; &gt;Android you write in the Java language (more or less).<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;In a recent security contest, participants found holes inthe major<br>
&gt;&gt; &gt;browsers, including Chrome, Firefox, IE, Safari and Java and Win<br>
&gt;7/8.<br>
&gt;&gt; &gt;Chrome OS did relatively well with only a &quot;partial&quot; exploit. It&#39;s<br>
&gt;not<br>
&gt;&gt; &gt;so much that Java is less secure than JavaScript, it&#39;s just that you<br>
&gt;&gt; &gt;can do general browsing these days without Java, but you can&#39;t do<br>
&gt;&gt; &gt;without JavaScript.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;But all these security holes, in a sense, exist in spades for PHP,<br>
&gt;C,<br>
&gt;&gt; &gt;C++, etc., because they&#39;re not even trying to limit what your code<br>
&gt;can<br>
&gt;&gt; &gt;do. In other words, if the OS allows your user to overwrite a file<br>
&gt;with<br>
&gt;&gt; &gt;a regular program (not an unsigned applet) written in Java, you can<br>
&gt;&gt; &gt;also overwrite that file with C, PHP, Ruby, Python, Perl, etc. But<br>
&gt;&gt; &gt;they&#39;re not security &quot;holes&quot; because the language (including Java)<br>
&gt;is<br>
&gt;&gt; &gt;making no guarantees in that case. But avoiding Java on the<br>
&gt;server-side<br>
&gt;&gt; &gt;because of unsigned applet security holes is like choosing a sedan<br>
&gt;for<br>
&gt;&gt; &gt;highway driving over a crossover, because the crossover gets stuck<br>
&gt;in<br>
&gt;&gt; &gt;the mud more than a Hummer.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;Scott<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;----- Original Message -----<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;From: &quot;Ron Frazier (ALE)&quot; &lt;<a href="mailto:atllinuxenthinfo@techstarship.com">atllinuxenthinfo@techstarship.com</a>&gt;<br>
&gt;&gt; &gt;To: &quot;ALE&quot; &lt;<a href="mailto:ale@ale.org">ale@ale.org</a>&gt;<br>
&gt;&gt; &gt;Sent: Monday, March 25, 2013 10:39:11 AM<br>
&gt;&gt; &gt;Subject: [ale] semi [OT] making learning ruby programming fun?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;Hi all,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;As some of you know who&#39;ve been following my prior threads, I&#39;ve had<br>
&gt;a<br>
&gt;&gt; &gt;long time interest in learning a modern programming language. I&#39;ve<br>
&gt;had<br>
&gt;&gt; &gt;difficulty putting the proper time into the studies, but I&#39;m always<br>
&gt;&gt; &gt;genuinely interested in the information I learn here. Leam had<br>
&gt;&gt; &gt;convinced me that GO was a great language, and I believe it is. I<br>
&gt;was<br>
&gt;&gt; &gt;going to tackle that, but I have misgivings about its lack of<br>
&gt;&gt; &gt;popularity in the market place.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;According to:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html" target="_blank">http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;GO ranks between 51 and 100 in usage, and the percentage is so low<br>
&gt;it&#39;s<br>
&gt;&gt; &gt;not listed. So, like it or not, learning GO might be a skill few<br>
&gt;people<br>
&gt;&gt; &gt;want. I decided to defer that.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;Most recently, I decided to learn the specific language of the<br>
&gt;&gt; &gt;MetaTrader currency trading platform so I can build a tradebot. I am<br>
&gt;&gt; &gt;working on that slowly. Unless I get really good, it is unlikely<br>
&gt;&gt; &gt;someone will hire me for that. The objective would be for the<br>
&gt;tradebot<br>
&gt;&gt; &gt;to make money using my own account.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;So, I still have an interest in learning a general programming<br>
&gt;&gt; &gt;language.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;I&#39;m interested in a modern garbage collected language, preferably<br>
&gt;multi<br>
&gt;&gt; &gt;paradigm, with safe I/O and system calls, that can be compiled, and<br>
&gt;&gt; &gt;that doesn&#39;t care about white space.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;See this comparison:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<a href="http://en.wikipedia.org/wiki/Comparison_of_programming_languages" target="_blank">http://en.wikipedia.org/wiki/Comparison_of_programming_languages</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;I&#39;ve chosen Ruby as my project language.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;According to the link posted above, the top 10 languages, and some<br>
&gt;of<br>
&gt;&gt; &gt;the reasons I&#39;ve rejected some of them, are as follows. No offense<br>
&gt;is<br>
&gt;&gt; &gt;intended to anyone that programs in these languages.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;01) Java - security problems<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;02) C - not modern garbage collected<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;03) Objective C - Apple centric primarily<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;04) C++ - not modern garbage collected<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;05) C# - MS centric primarily<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;------------<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;06) PHP - security problems<br>
&gt;&gt; &gt;per<br>
&gt;&gt; &gt;<a href="http://en.wikipedia.org/wiki/Php" target="_blank">http://en.wikipedia.org/wiki/Php</a><br>
&gt;&gt; &gt;&quot;About 30% of all vulnerabilities listed on the National<br>
&gt;Vulnerability<br>
&gt;&gt; &gt;Database are linked to PHP.&quot;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;07) VB - MS centric<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;08) Python - cares about white space<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;09) Ruby - This is my choice.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;10) Perl - does not have safe I/O and system calls<br>
&gt;&gt; &gt;per<br>
&gt;&gt; &gt;<a href="http://en.wikipedia.org/wiki/Comparison_of_programming_languages" target="_blank">http://en.wikipedia.org/wiki/Comparison_of_programming_languages</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;-------------<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;So, having said all that, I have some Ruby questions.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;A) I have the &quot;PickAxe&quot; book on Ruby 1.9 by Dave Thomas. Is that a<br>
&gt;good<br>
&gt;&gt; &gt;resource for learning, or do I need to upgrade to a Ruby 2.0 book<br>
&gt;now<br>
&gt;&gt; &gt;that version 2 is out?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;B) Does anyone have any experience compiling Ruby either through<br>
&gt;&gt; &gt;Rubinius or JRuby or otherwise?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;See<br>
&gt;<a href="http://patshaughnessy.net/2012/2/15/is-ruby-interpreted-or-compiled" target="_blank">http://patshaughnessy.net/2012/2/15/is-ruby-interpreted-or-compiled</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;Finally, I&#39;ve observed that reading one of these programming books<br>
&gt;is<br>
&gt;&gt; &gt;about as much fun as reading the US tax code. You get a thousand<br>
&gt;little<br>
&gt;&gt; &gt;examples of things like using for next loops to do a factorial. Now<br>
&gt;&gt; &gt;that&#39;s exciting. I&#39;ve seen maybe 1 of 100 books, primarily from<br>
&gt;Deitel<br>
&gt;&gt; &gt;and Deitel or the Head First series, that make learning programming<br>
&gt;&gt; &gt;fun. They present you with real world applications, simplified, that<br>
&gt;&gt; &gt;are interesting. They let you get something you can interact with on<br>
&gt;&gt; &gt;the screen quickly and work on learning how it works and tweaking<br>
&gt;it.<br>
&gt;&gt; &gt;For example, a simulator of an ATM machine. An actual working<br>
&gt;realistic<br>
&gt;&gt; &gt;program.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;C) So, does ANYONE know of a Ruby book that would make learning the<br>
&gt;&gt; &gt;language FUN, or at least moderately interesting?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;As always, any help is appreciated.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;Sincerely,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;Ron<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;--<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;Sent from my Android Acer A500 tablet with bluetooth keyboard and<br>
&gt;K-9<br>
&gt;&gt; &gt;Mail.<br>
&gt;&gt; &gt;Please excuse my potential brevity if I&#39;m typing on the touch<br>
&gt;screen.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;(PS - If you email me and don&#39;t get a quick response, you might want<br>
&gt;to<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;call on the phone. I get about 300 emails per day from alternate<br>
&gt;energy<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;mailing lists and such. I don&#39;t always see new email messages very<br>
&gt;&gt; &gt;quickly.)<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;Ron Frazier<br>
&gt;&gt; &gt;<a href="tel:770-205-9422" value="+17702059422">770-205-9422</a> (O) Leave a message.<br>
&gt;&gt; &gt;linuxdude AT <a href="http://techstarship.com" target="_blank">techstarship.com</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;_______________________________________________<br>
&gt;&gt; &gt;Ale mailing list<br>
&gt;&gt; &gt;<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
&gt;&gt; &gt;<a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt;&gt; &gt;See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt;&gt; &gt;<a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt;------------------------------------------------------------------------<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;_______________________________________________<br>
&gt;&gt; &gt;Ale mailing list<br>
&gt;&gt; &gt;<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
&gt;&gt; &gt;<a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt;&gt; &gt;See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt;&gt; &gt;<a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt;<br>
&gt;&gt; Sent from my Android Acer A500 tablet with bluetooth keyboard and K-9<br>
&gt;Mail.<br>
&gt;&gt; Please excuse my potential brevity if I&#39;m typing on the touch screen.<br>
&gt;&gt;<br>
&gt;&gt; (PS - If you email me and don&#39;t get a quick response, you might want<br>
&gt;to<br>
&gt;&gt; call on the phone.  I get about 300 emails per day from alternate<br>
&gt;energy<br>
&gt;&gt; mailing lists and such.  I don&#39;t always see new email messages very<br>
&gt;&gt; quickly.)<br>
&gt;&gt;<br>
&gt;&gt; Ron Frazier<br>
&gt;&gt; <a href="tel:770-205-9422" value="+17702059422">770-205-9422</a> (O)   Leave a message.<br>
&gt;&gt; linuxdude AT <a href="http://techstarship.com" target="_blank">techstarship.com</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Ale mailing list<br>
&gt;&gt; <a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
&gt;&gt; <a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt;&gt; See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt;&gt; <a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;------------------------------------------------------------------------<br>
&gt;<br>
&gt;_______________________________________________<br>
&gt;Ale mailing list<br>
&gt;<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
&gt;<a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
&gt;See JOBS, ANNOUNCE and SCHOOLS lists at<br>
&gt;<a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
<br>
<br>
--<br>
<br>
Sent from my Android Acer A500 tablet with bluetooth keyboard and K-9 Mail.<br>
Please excuse my potential brevity if I&#39;m typing on the touch screen.<br>
<br>
(PS - If you email me and don&#39;t get a quick response, you might want to<br>
call on the phone.  I get about 300 emails per day from alternate energy<br>
mailing lists and such.  I don&#39;t always see new email messages very quickly.)<br>
<br>
Ron Frazier<br>
<a href="tel:770-205-9422" value="+17702059422">770-205-9422</a> (O)   Leave a message.<br>
linuxdude AT <a href="http://techstarship.com" target="_blank">techstarship.com</a><br>
<br>
<br>
_______________________________________________<br>
Ale mailing list<br>
<a href="mailto:Ale@ale.org">Ale@ale.org</a><br>
<a href="http://mail.ale.org/mailman/listinfo/ale" target="_blank">http://mail.ale.org/mailman/listinfo/ale</a><br>
See JOBS, ANNOUNCE and SCHOOLS lists at<br>
<a href="http://mail.ale.org/mailman/listinfo" target="_blank">http://mail.ale.org/mailman/listinfo</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>-- <br>James P. Kinney III<br><i><i><i><i><br></i></i></i></i>Every time you stop a school, you will have to build a jail. What you 
        gain at one end you lose at the other. It&#39;s like feeding a dog on his 
        own tail. It won&#39;t fatten the dog.<br>

        - Speech 11/23/1900 Mark Twain<br><i><i><i><i><br><a href="http://electjimkinney.org" target="_blank">http://electjimkinney.org</a><br><a href="http://heretothereideas.blogspot.com/" target="_blank">http://heretothereideas.blogspot.com/</a><br>
</i></i></i></i>