<?xml version="1.0" encoding="UTF-8"?> 
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Steven Rosenberg</title>
        <link>https://stevenrosenberg.nfshost.com/blog/programming/</link>
        <description>frugal technology, simple living and guerrilla large-appliance repair</description>
        <language>en</language>
        <docs>http://blogs.law.harvard.edu/tech/rss</docs>
        <generator><!-- name="generator" content="ode/1.2.1" --></generator>
        <managingEditor>steven@stevenrosenberg.net (Steven Rosenberg)</managingEditor>
        <webMaster>steven@stevenrosenberg.net (Steven Rosenberg)</webMaster>
        <atom:link href="https://stevenrosenberg.nfshost.com/blog/index.rss2" rel="self" type="application/rss+xml" />


        <item>
            <title>Learning more Perl for my Ode Counter add-in</title>
            <link>https://stevenrosenberg.nfshost.com/blog/programming/perl/2016_0131_learning_more_perl_for_my_ode_add_in</link>
            <description><![CDATA[ <p>I learn better, or should I say <em>I only learn</em> how to program when I have an actual problem to solve.</p>

<p>My current "problem" is figuring out how to generate more data out of my Ode blog's filesystem for my <a href="/blog/ode/2016_0113_counter_addin_version_2">Ode Counter add-in</a>.</p>

<p><a href="/blog">I already report</a> on the number of blog entries, how many are "real" entries and how many are Ode-generated social-media updates, plus how many images are in the filesystem and how many of those appear in actual blog posts.</p>

<p>Another thing I have wanted to do since I began using Ode was have the system generate a Categories/directories list in HTML for both a dedicated "site map" page as well as a sidebar display.
<p><a href="https://stevenrosenberg.nfshost.com/blog/programming/perl/2016_0131_learning_more_perl_for_my_ode_add_in?include_jump_separator=y#2016_0131_learning_more_perl_for_my_ode_add_in">Read the rest of this post</a></p> ]]></description>
            <pubDate>Sun, 31 Jan 2016 19:51:01 UTC</pubDate>
            <guid>https://stevenrosenberg.nfshost.com/blog/2016/01/31/19/51/01/</guid>
       </item>


        <item>
            <title>Computer science and me and computer science and me</title>
            <link>https://stevenrosenberg.nfshost.com/blog/programming/computer_science/2016_0130_computer_science_and_me</link>
            <description><![CDATA[ <p><img src="/documents/images/programming/2016_0130_binary.jpg"></p>

<p>I might as well come right out with it.</p>

<p>I'm going back to school. Community college. For computer science.</p>

<p><a href="https://threadmeetneedle.wordpress.com/">Ilene</a> thought I should do it at least a year ago. <a href="https://foodspace.wordpress.com/">She's smart</a> that way. It took me awhile to come around. Back then I thought a curriculum anchored in the C++ language (with smatterings of C, Java and C#) and not today's languages of the web (Javascript, Python and Ruby ... OK, really just Javascript) was not for me.</p>

<p>I was ready to do it all on my own: find a language and a framework and a reason to learn them and go. (A few months ago, I even learned a little <a href="https://golang.org/">Go</a>.)
<p><a href="https://stevenrosenberg.nfshost.com/blog/programming/computer_science/2016_0130_computer_science_and_me?include_jump_separator=y#2016_0130_computer_science_and_me">Read the rest of this post</a></p> ]]></description>
            <pubDate>Sat, 30 Jan 2016 11:07:37 UTC</pubDate>
            <guid>https://stevenrosenberg.nfshost.com/blog/2016/01/30/11/07/37/</guid>
       </item>


        <item>
            <title>Linux advice: How to get started with Debian (or any Linux) web server</title>
            <link>https://stevenrosenberg.nfshost.com/blog/linux/2016_0127_quora_linux_advice</link>
            <description><![CDATA[ <p><a href="http://qr.ae/ROtVE2">I answered this question on Quora</a> and figured that I might as well put the answer here, too:</p>

<p><strong>The question:</strong> Are there any good resources (Books) to get started on a Linux (Debian) web server?</p>

<p>Here is my answer:</p>

<p>You should definitely get <a href="https://debian-handbook.info">The Debian Administrator's Handbook</a>.</p>

<p>Then there is everything on <a href="https://www.debian.org/doc">the Debian documentation page</a>.</p>

<p>And the good thing about Debian is that most posts and other references that explain how to do something in Ubuntu will also work for Debian.</p>

<p>With that in mind, just about any book or site that helps you run any kind of Linux web server will help you with Debian.</p>

<p>O'Reilly is releasing a new version of <a href="http://www.amazon.com/Apache-Cookbook-Solutions-Examples-Administration/dp/1491918381/">The Apache Cookbook</a> in two months. I highly recommend it.</p>

<p>I also recommend two No Starch Press books: <a href="http://www.amazon.com/How-Linux-Works-Superuser-Should/dp/1593275676/">How Linux Works: What Every Superuser Should Know</a> and <a href="http://www.amazon.com/The-Linux-Command-Line-Introduction/dp/1593273894/">The Linux Command Line: A Complete Introduction</a></p>

<p><strong>This part is not on Quora:</strong></p>

<p>I've been thinking for years that the technical publishing industry has thought of Linux as "done," and would continue to wind down their previously robust book schedules.</p>

<p>That pretty much happened, but seeing a new "Apache Cookbook," plus these two excellent titles from No Starch as well as a third, <a href="http://www.amazon.com/The-Linux-Programming-Interface-Handbook/dp/1593272200">The Linux Programming Interface: A Linux and Unix System Programming Handbook</a>, I see four very compelling Linux books that aren't woefully out of date.</p>

<p>They may not be focused on <em>individual distros</em>, but that is a strength, not a weakness.</p>
 ]]></description>
            <pubDate>Wed, 27 Jan 2016 19:53:07 UTC</pubDate>
            <guid>https://stevenrosenberg.nfshost.com/blog/2016/01/27/19/53/07/</guid>
       </item>


        <item>
            <title>I'm enjoying GNOME 3 today. That is all.</title>
            <link>https://stevenrosenberg.nfshost.com/blog/desktops/GNOME/2016_0123_enjoying_gnome</link>
            <description><![CDATA[ <p>Today I'm enjoying GNOME 3 in Fedora 23.</p>

<p>The GNOME desktop, at this stage in the 3.x series, is definitely in the iteration stage after a long time in the "sorry about the lack of functionality but not sorry" stage.</p>

<p>If my Citrix apps didn't suffer a bit more in GNOME than in Xfce (mainly because Citrix doesn't care all that much and my apps' developers don't care at all), I could see myself in this environment more of the time.</p>

<p>The dark theming helps. I do the same in Xfce, and in some ways dark theming (aka Adiwata Dark) is maybe a little bit further along in GNOME because it meets with the project's minimalist goals.</p>

<p>Or that's how I'd like to think about it.</p>

<p>In related dark-theming news, Fedora did fix <code>yumex-dnf</code> to work with dark themes (no more dark blue type on black). Now it has to fix the trouble with kernel updates (in which old kernels are NOT deleted, while they are in regular ol' console <code>dnf</code>).</p>

<p><strong>One unfortunate thing:</strong> The Eclipse IDE looks like HELL with dark theming. Eclipse developers, you wound me.</p>
 ]]></description>
            <pubDate>Sat, 23 Jan 2016 11:45:11 UTC</pubDate>
            <guid>https://stevenrosenberg.nfshost.com/blog/2016/01/23/11/45/11/</guid>
       </item>


        <item>
            <title>Geany builds Java and C++ programs, does it on everything</title>
            <link>https://stevenrosenberg.nfshost.com/blog/programming/environments/geany/2016_0120_geany_builds_java_and_cpp</link>
            <description><![CDATA[ <p>As I ease in to learning how to code in C++, I have a couple of "real" IDEs at my disposal (chiefly Netbeans and Microsoft Visual Studio), I was pleased to find out that my favorite not-quite-an-IDE <a href="http://geany.org">Geany</a> will build and run both Java and C++ code.</p>

<p>And Geany can do this on Linux/Unix, Windows and Macintosh computers. (It uses the Unixy <code>g++</code> even in Windows for C++ code.</p>

<p>I even tested a Perl script in Windows, where I'm using <a href="http://strawberryperl.com/">Strawberry Perl</a>. Geany will automatically run a Perl script (on a Perl-equipped Windows computer) when I click on the "Execute" button. It opens Perl in the Windows terminal and runs the script without needing to leave the "IDE."</p>

<p><strong>Note:</strong> I did install <a href="https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx">Microsoft Visual Studio Community</a> because I have a feeling I'm going to need it (though instinctively I lean toward <a href="https://netbeans.org/">Netbeans</a>, and practically am using Geany).</p>

<p>One thing I'm learning about C++ as I dip the very tips of my toes into its vast waters: <a href="https://en.wikipedia.org/wiki/There%27s_more_than_one_way_to_do_it">Like Perl</a> but more so, there is definitely more than one way to do it.</p>
 ]]></description>
            <pubDate>Wed, 20 Jan 2016 07:58:35 UTC</pubDate>
            <guid>https://stevenrosenberg.nfshost.com/blog/2016/01/20/07/58/35/</guid>
       </item>


        <item>
            <title>Revisiting GNOME's Web (aka Epiphany) browser</title>
            <link>https://stevenrosenberg.nfshost.com/blog/applications/browsers/epiphany/2016_0113_revisiting_the_epiphany_aka_web_browser</link>
            <description><![CDATA[ <p>The Unix/Linux desktop environment GNOME's many components include a full web browser that used to be called Epiphany and now goes by the very non-Googlable name <em>Web</em>. Yes. it's a Web browser called <em>Web</em>.</p>

<p>Back in the GNOME 2 days, I used it a lot. That wasn't just the GNOME 2 days but the Gecko days, when <em>Epiphany</em> was based on Mozilla's Gecko engine rather than Apple/Google's WebKit.</p>

<p>In the early WebKit days, I think Epiphany/Web went downhill a bit.</p>

<p>Now I use Google Chrome much of the time, though I know in my heart that I shouldn't. I'm usually logged into Google Services for my job, and Google is <em>getting into everything I do.</em></p>

<p>These days Firefox is just frustrating. Once I get 10 tabs open, it tends to hang when Chrome doesn't.</p>

<p>Maybe a basic browser like Epiphany/Web can help me. Maybe not.</p>

<p>I'll give it a try and let you know how it goes.</p>

<p><strong>Update:</strong> Epiphany/Web works very well. I can't say for sure that it's "lighter" than Google Chrome, especially since it uses the same Webkit engine.</p>

<p>What I can say is that for general-purpose web-browsing, it is very fast and stable. And I bet Google is tracking me a whole lot less.</p>

<p>Epiphany is a simple browser. Like Firefox was in its early days.</p>

<p>It's well-integrated as a GTK3 application, so it'll look good either in GNOME 3, or (in my case) among all the other GTK3 apps I'm using in the Xfce desktop environment.</p>

<p>For search, Epiphany defaults to <a href="https://duckduckgo.com/">Duck Duck Go</a> which bills itself as <em>"the search engine that doesn't track you,"</em> and so far I'm happy with it. It's nice to have an alternative to Google, even in a Web browser using the same engine as a browser that is <em>most definitely</em> tracking you.</p>

<p>I'm not saying I will give up on Google Chrome, especially for my , but when it comes to personal browsing, I can see myself in Epiphany much of that time.</p>
 ]]></description>
            <pubDate>Wed, 13 Jan 2016 15:36:25 UTC</pubDate>
            <guid>https://stevenrosenberg.nfshost.com/blog/2016/01/13/15/36/25/</guid>
       </item>


        <item>
            <title>How to do a slide presentation with Ode</title>
            <link>https://stevenrosenberg.nfshost.com/blog/ode/2016_0113_how_to_do_a_slide_presentation_with_ode</link>
            <description><![CDATA[ <p>From the Ode forum:</p>

<p><a href="http://discourse.ode.io/t/do-you-have-a-tutorial-on-how-to-do-a-presentation-with-ode/138">How to do a slide presentation with Ode</a></p>

<p>Get the Presentation theme <a href="http://ode.io/downloads/themes/presentation/presentation.zip">here</a>.</p>
 ]]></description>
            <pubDate>Wed, 13 Jan 2016 15:06:34 UTC</pubDate>
            <guid>https://stevenrosenberg.nfshost.com/blog/2016/01/13/15/06/34/</guid>
       </item>


        <item>
            <title>The Counter addin, version 2, for Ode sites</title>
            <link>https://stevenrosenberg.nfshost.com/blog/ode/2016_0113_counter_addin_version_2</link>
            <description><![CDATA[ <p>I've been meaning to get back into the Counter addin that I wrote for Ode with <a href="http://ode.io">Rob</a>'s help, and over the past few days I added some functionality to the code and deployed it <a href="http://stevenrosenberg.net/blog">on my site</a>, where you can see the results in the right rail.</p>

<p>The original Counter addin only counted posts, which in my case are files in the <code>documents</code> directory with <code>.txt</code> suffixes.</p>

<p>Since <a href="http://stevenrosenberg.net/blog/ode/2015_0709_using_dlvr_it_to_split_my_twitter_posts_out_of_ode">I now create many of my social-media updates with Ode</a>, I added some code to count those entries and report how many of the overall entries are "full" posts and how many are social updates.</p>

<p>While I was in there, I wanted to play around with regular expressions, so I also added a count for the number of <code>jpg</code> and <code>png</code> images both in the entire <code>documents</code> directory (which includes themes) as well as in my <code>images</code> directory (where I try to keep all images that go into posts).</p>

<p>It's definitely fun to write a very little bit of Perl and have something happen on my live site. It's a nice feeling, for sure.</p>

<p>The addin uses the <a href="http://search.cpan.org/~shay/perl-5.22.1/ext/File-Find/lib/File/Find.pm"><code>File::Find</code></a> CPAN module to crawl your filesystem and count the files.</p>

<p>The way the Counter addin works is that you download it (for now <a href="/documents/files/ode/counter.zip">I'm hosting it here</a>) and unzip it, stash the addin's directory/folder in your addins directory (mine is under <code>/data/addins</code>), add some HTML with calls to the addin to your theme (generally in the sidebar area), and it should just work.</p>

<p>Once again, thanks to Rob Reed for creating Ode and helping me get off the ground with this addin.</p>

<p>If you missed the link above, <a href="/documents/files/ode/counter.zip">download the new Counter addin from my site</a>.</p>

<p>I still have some code cleanup to do, and I will probably add some documentation, licensing information and acknowledgments. But this version does work.</p>

<p>In the future, I can see this addin, or something like it, creating even more dynamic (or even static) content for the sidebar of an Ode site. It could help build a list of directories and certainly could provide more statistics on how many posts you have under any given directory.</p>

<p>But for now I can instantly see how many posts and social updates I have written (and you can, too).</p>
 ]]></description>
            <pubDate>Wed, 13 Jan 2016 11:50:34 UTC</pubDate>
            <guid>https://stevenrosenberg.nfshost.com/blog/2016/01/13/11/50/34/</guid>
       </item>


        <item>
            <title>Free C++ books -- great list from @TFETimes</title>
            <link>https://stevenrosenberg.nfshost.com/blog/programming/2016_0104_free_c_plus_plus_books</link>
            <description><![CDATA[ <p>I just found this great list of <a href="https://tfetimes.com/free-c-books/">free C++ books</a> from @TFETimes</p>

<p>I picked up about five.</p>
 ]]></description>
            <pubDate>Mon, 04 Jan 2016 12:11:19 UTC</pubDate>
            <guid>https://stevenrosenberg.nfshost.com/blog/2016/01/04/12/11/19/</guid>
       </item>


        <item>
            <title>Geany is the IDE for people who don't understand IDEs</title>
            <link>https://stevenrosenberg.nfshost.com/blog/programming/2016_0103_geany_the_ide_for_people_who_dont_understand_ides</link>
            <description><![CDATA[ <p><a href="/documents/images/programming/2016_0103_geany.jpg"><img src="/documents/images/programming/2016_0103_geany.jpg" "style="max-width: 500px;"></a></p>

<p>Like me.</p>

<p>I've got plenty of IDEs on my laptop. At least one has been here a while (Padre, focused on Perl). A few have been here a short time (Eclipse, Netbeans, whatever incarnation of IntelliJ comes with Android Studio).</p>

<p>I've barely used any of them. There is a learning curve.</p>

<p>I never really needed <a href="http://padre.perlide.org/">Padre</a>. I write scripts with text editors (often <a href="https://wiki.gnome.org/Apps/Gedit">gedit</a>, sometimes <a href="https://notepad-plus-plus.org/">Notepad++</a> if I'm in Windows).</p>

<p>I like <a href="https://netbeans.org/">Netbeans</a>, and I am able to create, compile and run simple Java programs with it.</p>

<p>I tried to create a C++ program in Netbeans after adding C and C++ support but got held up at the make/configure script portion.</p>

<p>That was after I created a script in <code>gedit</code> and used <code>g++</code> on the command line to compile it. That works.</p>

<p>So I turned to <a href="http://geany.org/">Geany</a>, the "IDE" (heavy quotation marks) I've been using not just for my rudimentary Java programs but also for most of my general text editing (I need <code>cr/lf</code> line endings for my company's main CMS, and <code>gedit</code> is kind of broken in this regard).</p>

<p>Since I have OpenJDK and all the C build tools installed on my Fedora system, <code>Geany</code> happily builds and runs my Java programs and my now-sole C++ program (see it above). Not much of a learning curve. Click the <code>build</code> brick, then click the "run" gears.</p>

<p>That's it.</p>

<p>There will be a time in the near future when I will need to run a "real" IDE. I will need training wheels.</p>
 ]]></description>
            <pubDate>Sun, 03 Jan 2016 11:13:51 UTC</pubDate>
            <guid>https://stevenrosenberg.nfshost.com/blog/2016/01/03/11/13/51/</guid>
       </item>


    </channel>
</rss>
