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.

Wed, 05 Apr 2017

Managing Ode with Unison via the Windows Subsystem for Linux

Update: While it seems fairly easy and routine to create and edit files on the Windows side of the filesystem using both Windows and WSL/Linux applications, when I tried to use the WSL-based Unison to sync files onto the Windows filesystem, I got a ton of permission errors and a failed sync. So the "dream" of maintaining a Windows system with WSL utilities probably won't happen. The two solutions for this particular problem are a) use Windows utilities on the Windows side and b) use Linux utilities on the WSL side.

The original entry begins here:

Now that I have my new HP Envy 15-as133cl laptop running Windows 10 and have added the Windows Subsystem for Linux, I'm exploring just how many of my regular Linux tasks I can do in this Ubuntu-supplied Bash shell, what I can do with similar programs compiled for Windows, and what really needs a dedicated Linux partition (or full computer).

Chief among these tasks is updating/syncing/backing up my Ode-generated blog (the one you're reading right now).

The first thing I learned about the Windows Subsystem for Linux (WSL for short) is that you can access the files you create in the WSL via the Windows file manager, but any modifications you make on the Windows side will not, I repeat WILL NOT be reflected in what you can see on the Linux side.

Read the rest of this post

Tue, 04 Apr 2017

Make a website with Ember - great introduction to a framework

I really like the idea behind Less than *ambitious* websites with Ember.js, in which author sheriffderek goes through the steps required to create a simple web site with the Ember JavaScript framework.

Easing into a framework -- that's the way I want to do it.

Thu, 30 Mar 2017

React-Redux links by Mark Erikson

React-Redux links by Mark Erikson https://github.com/markerikson/react-redux-links -- an excellent list that also covers learning JavaScript

Wed, 29 Mar 2017

Using highlight.js for code syntax highlighting on your web site

I first learned about highlight.js while trying out the Go-based Hugo blogging system, where it is a popular choice for adding syntax highlighting to blocks of code displayed on web pages.

Another solution is Pygments, but I didn't want to wade into Python, and a pure JavaScript solution like highlight.js seemed easier all around.

I had already used highlight.js successfully in a couple of Hugo themes, one in which I did the installation myself and another that had it built-in.

So it was only a small leap to do the same on this Ode site.

The instructions are clear (and easy), and the highlight.js developers allow you to create a custom download via check-boxes to include only the languages and markup you want to use on your site. That same page has info on using two separate CDNs (content delivery networks) to deploy highlight.js on your web site, but I opted to create my custom bundle and host it on this site as part of my main Ode theme.

Once you have the Javascript and CSS on your site and are calling it into your web pages, everything between <pre><code> and </code></pre> will benefit from highlight.js' syntax highlighting.

And as you can see, it works.

The only time this kind of syntax highlighting gets problematic is when displaying HTML, where you need to replace < with &lt;, > with &gt; and so on.

Here's a small bit of Ruby so you can see what the syntax highlighting looks like without leaving this post:

Dir.glob("X16*") do |file|
 File.delete(file)
end

Eloquent JavaScript - Chapter 2 exercises - Fizz Buzz

I'm not saying I will make it through all 22 chapters of "Eloquent JavaScript," by Marijn Haverbeke, but enough people I respect have recommended the book that I'm doing my best to absorb what I can from it.

To that end, I am doing the exercises in the back of each chapter, and I plan on presenting my solutions here.

This entry also serves as a test of the Highlight.js JavaScript library, which I just added to this Ode site for syntax highlighting of code. I'm using the zenburn CSS.

Back to "Eloquent JavaScript." If you don't want any hints, don't go past the blog index. I will only start showing my code after the "read more" portion of each entry.

Before maybe a year ago, I'd never heard of Fizz Buzz, where you write a program that outputs the words Fizz, Buzz or Fizz Buzz depending on whether a number is divisible by 3, by 5 (and not 3) or by 5 and 3.

Fizz Buzz is supposedly used as a programming test in hiring. I was surprised when it was given as the second exercise in Chapter 2

Read the rest of this post

Thu, 23 Mar 2017

Coming over to the dark side

I recently received a too-expensive birthday present: a new laptop.

For the women in my life, seeing all those keys pop off was too much I guess.

The HP Pavilion g6-2210us is still kicking as it nears the 4-year mark. That's a modern record for me. My previous laptop, the Lenovo G555, died just after its second year of service. I still have a second replacement keyboard still on the way from China for the HP Pavilion.

Once I get this new laptop fully set up, at some point I'll pop a new hard drive into the old HP. The current drive has a lot of bad sectors. A lot. Then I'll run it as a full Linux system with no Windows partition.

So what about the new laptop?

It's an HP Envy 15-as133cl 15t with Intel Core i7, 1080p resolution, 16GB of RAM and a 1TB spinning hard drive.

The case is all metal, which is quite an upgrade from my previous all-plastic laptops.

It has Windows 10. The first thing I did was install the Windows Subsystem for Linux so I could have Bash in the terminal and access to thousands of console-based applications from the Ubuntu archive.

Read the rest of this post

Tue, 28 Feb 2017

WordPress WordAds revenue expectations are depressing

I've been going through the excellent WP Tavern blog on WordPress news today, and I stumbled across this post on how much bloggers can expect to earn from the Jetpack-powered WordAds platform.

tl;dr: Not very much. But the numbers are all over the map. One thing WordPress tells you: better content, more money.

Linked from the article above, a blog that makes about a month from WordAds on 2,600 to 16K page views.

WP-CLI is so very, very cool

At the moment, I only have two WordPress sites for which I have shell access, so WP-CLI shouldn't be a big deal for me. But it is.

The whole idea of managing WordPress.org sites in the console (and being able to avoid the WP Dashboard) is such genius, I wonder why nobody thought of it before now.

The possibilities, especially when WP-CLI is combined with traditional shell scripting, are many. From updating the software, installing and managing plugins, this drags WordPress into a realm where sysadmins can really get things done and save a lot of time doing it.

I still have blogs littered all over the place

I wrote into two blogs that I rarely think about:

Gathering up all of my blog entries from everywhere and putting them under one site has always been in the back of my mind. I have taken steps to do this, especially grabbing entries from WordPress sites en masse, but I have yet to write and deploy the scripts that fixes the metadata and image links to really make it happen.

My "old" WordPress blog is pretty deep in terms of content. It was active from 2005 through 2009ish. Combine that with my Daily News-hosted tech blog, active from 2006 through 2011 (with a smattering since then) and my other Daily News-hosted personal blog, active from 2006 to maybe 2009 with a trickle since then, you have a lot of blog posts.

Even though I wrote three WordPress posts today, I'm still a lot more interested in writing for the blogs that use "flat" files like this Ode system or my new, experimental Hugo site.

If and when I do get the ability to take the output from WordPress data dumps and turn it into text and image files that can work in flat-file blogging systems, then I'll have a huge archive of everything, however dubious it may be.

Mon, 27 Feb 2017

I finally replaced my HP Pavilion g6 keyboard

I had a new keyboard, and my "n" key on the old one broke again (the replacement was never as good as the original key), so I decided to pull the laptop apart and install the new keyboard.

While putting it all together, I did get one little screw wedged in a plastic hole (I'll extract that one later and replace it), but an old laptop can get along with many fewer case screws than it ships with. If you've ever had a used or otherwise repaired laptop, you know what I'm talking about.

The keyboard replacement wasn't too hard. I probably took out a lot more screws than needed to make it happen. I could have just removed the back panel, unscrewed the keyboard-retaining screw (that's the wedged-in-plastic one) and popped the keyboard out from behind/below by aggressively pushing on the proper spot with an eraser-tipped pencil.

I tried that, and it wasn't happening. I knew the keyboard was held in "tight" due to the last time I tried to replace it when I had the wrong part.

So I took out a bunch more screws and then tried again. The extra screws probably didn't need to be removed, but at that point I was more confident in the amount of pressure I was putting on that eraser-tipped pencil to push the keyboard out through the top of the laptop's plastic case.

I got the keyboard out and pulled the ribbon cable.

Inserting the new keyboard's ribbon cable wasn't instant. It took me a couple of minutes to figure out how it snapped in. But I got it done, snapped the keyboard itself into the case and closed everything up.

It all works, and now I have a new keyboard on this laptop that will be 4 years old in a couple of months.

This keyboard isn't a "springy" as the other replacement keyboard I bought a few months back that didn't quite fit, but it'll do the job and give this laptop some more useful life.

My last laptop, a low-priced Lenovo G555, only lasted 2 years before it went to sleep and never woke up. This also-cheap HP Pavilion g6-2210us is still running at nearly 4 years old, but not without effort.

It just underscores my contention that you can't really get 5 years of service out of a laptop. If they don't fail mechanically or electronically, they'll be ancient in some other way. I'm no longer saying "don't pay more than $500 for a laptop," because I see real differences between the $500 and $700-900 laptops being offered these days. But I will say that no matter how much you pay, if you're beating the hell out of it like I do, don't expect more than two trouble-free years.

* Pictured above is the new keyboard before I put it in. After removing the hatch at the bottom of the laptop and removing a retaining screw, there is a little hole on which you can push at the keyboard from below with an eraser-tipped pencil and loosen its plastic grip with the case enough to start unsnapping it the rest of the way around for replacement.