Title photo
frugal technology, simple living and guerrilla large-appliance repair

Regular blog here, 'microblog' there

Many of my traditional blog post live on this site, but a great majority of my social-style posts can be found on my much-busier microbloging site at updates.passthejoe.net. It's busier because my BlogPoster "microblogging" script generates short, Twitter-style posts from the Linux or Windows (or anywhere you can run Ruby with too many Gems) command line, uploads them to the web server and send them out on my Twitter and Mastodon feeds.

I used to post to this blog via scripts and Unix/Linux utilities (curl and Unison) that helped me mirror the files locally and on the server. Since this site recently moved hosts, none of that is set up. I'm just using SFTP and SSH to write posts and manage the site.

Disqus comments are not live just yet because I'm not sure about what I'm going to do for the domain on this site. I'll probably restore the old domain at first just to have some continuity, but for now I like using the "free" domain from this site's new host, NearlyFreeSpeech.net.

Tue, 24 Apr 2018

A messy ending to the installation of JDK 10 in Windows

I'm aiming to learn more Java, and in preparation decided to replace Java 8 with Java 10 on my Windows 10 laptop.

The first time through the installer, I only got the JRE and not the full JDK. Then I removed my old JDK installations via Windows' add-and-remove-programs utility and re-installed the JDK software via Oracle's bundle.

The second time I got the full JDK, but a check of java and javac on the Windows command line showed java working but javac not.

A quick Googling brought up a Stack Overflow question (and answer) that told me I had to add the JDK to my Windows path.

Once I did that, javac worked. Since the JDK comes from Oracle with a GUI installer, even if I somehow missed the checkbox where the installer modifies my system's path, having to Google and then do this manually is a messy ending to installing the JDK. If I'm installing the JDK, I want it in my path, and that should be the default.

It's an unnecessary hurdle for new programmers or people who aren't the best amateur sysadmin.

Mon, 23 Apr 2018

Social-style updates are moving to updates.stevenrosenberg.net

While I will still be starting most of my microblogging-style (i.e. social-media-style) posts on this site, I will be moving them to my updates site so this site will be a lot less cluttered and feature "full" entries only, for the most part.

Also, the social updates will not be on both sites, also for the most part.

Every couple of days or so, I will move the new social posts from this site to the updates site.

At some point, I will modify my current scripts to post directly to the updates site, and Frugal Technology, Simple Living and Guerrilla Large Appliance Repair will not be flooded with those short entries, which will have a permanent home at Steven Rosenberg's Microblog of Short Posts..

Miles Davis - Miles in the Sky (1968)

Miles Davis - Miles In The Sky (1968) full album - YouTube https://www.youtube.com/watch?v=S6eZHnIA__A

This is one of Miles Davis' early proto-fusion efforts, and the players are all legends (Wayne Shorter on tenor saxophone, Herbie Hancock on electric piano, Ron Carter on bass, Tony Williams on drums).

"Miles in the Sky" is the kind of fusion record that really appeals to me right now. It's a "quiet" record anchored by electric piano, which is the same thing that draws me to Chick Corea's first Return to Forever album. It's more jazz than r&b, and not really rock at all, given the lack of electric bass and guitar.

What you really have in "Miles in the Sky," besides a slightly funky Miles who you can really hear with this instrumentation, is a showcase for the grooves of Hancock, Carter and Williams, and a showcase for Wayne Shorter.

Then on the second track, the Wayne Shorter composition "Paraphernalia," guitarist George Benson appears, yet the track has more of a traditional jazz vibe than the last, featuring an acoustic piano instead of the electric. Benson folows the stunning Shorter solo (which is quite long, in case you were wondering) with a literally shorter solo that sits firmly within the groove of the record, leading into Hancock on the piano with the rest of the group dropping out entirely as he works the form of the composition.

Miles always worked with the best players. He was never about raw technique and obviously wasn't intimidated by those who were the strongest players out there.

Thu, 12 Apr 2018

Where is the Ode software?

If you want to try the Ode blogging software that powers this site, it comes in two parts. First is the Ode system itself.

There are also a bunch of addins.

Here is what is available from project leader Rob Reed:


  • Disqus (Add comments)
  • EditEdit (Create and edit posts with a web form)
  • Indexette (Give posts date stamps in metadata instead of using file time)
  • Jumper (Add a tag that puts a post preview in the index with a link to the full entry; included in main Ode package)
  • Mrkdwn (Use Markdown to simplify the HTML tagging in posts; included in main Ode package)
  • Shyposts (Hide some posts from indexes)

Some Ode themes can be found here.

Fri, 06 Apr 2018

My new Ode microblogging site is live

I've been thinking for a while about breaking out my social/microblogging posts and putting them on a separate site mostly because the number of these short entries quickly outpaced the number of "regular" posts.

They're different kinds of content, and I think having them on separate sites works better.

I now have a live microblogging site, also based on Ode, and I'm experimenting on how to tweak the Ode theme(s) to better accommodate what are traditionally considered social posts, meaning they don't have a title and are just a block of short text.

Read the rest of this post

Thu, 05 Apr 2018

Take a deeper dive with Ode documentation

There is plenty of documentation that comes with the Ode software, but Rob Reed has written a lot more about how the Ode blogging system works.

Johnny Cash: 'Ring of Fire' live in 1968 at the Grand Ole Opry

Wed, 04 Apr 2018

Separating functions in programming

If you get everything you know about programming languages from Twitter, Reddit or blogs, you might miss that there are fascinating things in every programming language, old and new.

Or at least they're fascinating to me (or you) at any given moment.

My semester of programming at LA Valley College was heaving on using loops of all kinds, but we didn't get to separating things via functions or object-orientation.

I'm trying in my own code (currently Ruby) to make things more modular with blocks, some taking arguments and others not, and using classes is something I'm trying to wrap my head around.

I was reading one of my Java books (Sedgewick and Wayne's Computer Science) where the authors say in the long Chapter 2 (they're all long chapters) that separating operations into distinct functions is something programmers should strive to do.

It's the idea of organizing the code, and the ways the various languages allow (or maybe encourage you to do that) that I find fascinating at the moment.

Using Vim in my project has really helped my skills in that editor

Using Vim in my project has really helped my skills in that editor. That's what working with a couple dozen small Vim files per day will do for you.

I had to ssh into a server yesterday and set up a small script and a cron job, and I could feel how different that process was now that I can do more with Vim.

I can move around in files much more easily, and I know the basics of copy/move/paste, which is more than I could say before.

Clojure is trying to push me in the Emacs direction, and maybe I could get comfortable with that editor, but the universality of Vim/Vi is hard to ignore.

Hunting the random \n

There's a random \n in my BlogPoster script. It doesn't show up all the time, but there are circumstances where it appears in the final output.

Am I inadvertently inserting it, or will I have to chomp it out? That is the question.

Update: I figured out where the random \n was being inserted, and I was able to .chomp it out in Ruby.

I'm not sure exactly why the random \n was being inserted. It could be in the editing operation of the file (I hope not, because that complicates things), or in the conversion of the edited file back to a Ruby variable.