Title photo
frugal technology, simple living and guerrilla large-appliance repair
Tue, 06 Dec 2016

CodePen: JavaScript Basics 2: Arrays and Loops

CodePen: JavaScript Basics 2: Arrays and Loops http://codepen.io/jakealbaugh/post/js-basics-2-arrays-and-loops

CodePen: JavaScript Basics 1: Functions and Variables

CodePen: JavaScript Basics 1: Functions and Variables http://codepen.io/jakealbaugh/post/js-basics-1-functions-and-variables

Thu, 01 Dec 2016

I tried to tweak my Fedora settings in KDE Plasma, and it screwed up everything in GNOME and Xfce

The morale of this story is that the KDE Plasma settings can screw up your Xfce and GNOME settings. So if you're using multiple desktop environments on a single system -- like my Fedora 25 laptop, or any other Linux system -- you could be in for some pain.

What I was trying to do is configure a dark theme for KDE Plasma (easy) and also use dark themes when running GTK3 and GTK2 apps on the Plasma desktop.

It looked pretty good in KDE Plasma, but things went pear-shaped in GNOME 3 and Xfce. My fonts were screwed up, Menus were gray type on a gray background, and icons were messed up -- with KDE icons bleeding into Xfce.

And then I had trouble logging in with Plasma at all. Blame the Fedora 25 upgrade (and KDE Plasma in general) for that one.

I first tried using the many Xfce configuration utilities to make it right. That didn't do much. I finally was able to log into Plasma (only after a reboot) and attempt to undo the damage. I was partially successful.

In GNOME 3, I had a lot of success with the GNOME Tweak Tool (which should be preinstalled on every GNOME system). I was able to use the Xfce Adiwata Dark theme to make even my GTK2/GTK+ apps look better in GNOME. The whole dark-themed GNOME experience is pretty much better than ever. So that's a win.

And I finally got Xfce looking right. I'm still having display font issues, but everything is more than good enough, and figuring out how to make dark-themed GNOME look better than ever is a bonus.

Wed, 30 Nov 2016

My new favorite TV show is @BetterthingsFX

My new favorite TV show is @BetterthingsFX http://www.fxnetworks.com/shows/better-things/about

AdamW on Linux and more: I don’t like computers

AdamW on Linux and more: I don’t like computers https://www.happyassassin.net/2016/11/04/i-dont-like-computers

Hacker Noon: Why you shouldn’t use ‘var’ anymore in JavaScript

Hacker Noon: Why you shouldn’t use ‘var’ anymore in JavaScript https://hackernoon.com/why-you-shouldnt-use-var-anymore-f109a58b9b70

Use SmtpJS.com to send email with JavaScript

Use SmtpJS.com to send email with JavaScript http://www.smtpjs.com

Rubyland.news is a new Ruby aggregator

Rubyland.news is a new Ruby aggregator http://www.rubyland.news

Tech Beacon: Is object-oriented programming dead? Not by a long shot

Tech Beacon: Is object-oriented programming dead? Not by a long shot http://techbeacon.com/object-oriented-programming-dead-not-long-shot

Cybersecurity analyst fixes what's broken in NTP (and there was a LOT to fix)

Cybersecurity analyst fixes what's broken in NTP (and there was a LOT to fix) http://boingboing.net/2016/11/29/ntp-the-rebirth-of-ailing-fa.html

Basic operations for arrays in Ruby

From Solid Foundation Web Development: Basic operations for arrays in Ruby

Tue, 29 Nov 2016

The European Ruby Revolution

The European Ruby Revolution http://devonestes.herokuapp.com/the-european-ruby-revolution

Fri, 25 Nov 2016

Gizmodo: A Stupid Simple Router for Super Lazy People

Gizmodo: A Stupid Simple Router for Super Lazy People http://gizmodo.com/a-stupid-simple-router-for-super-lazy-people-1764670728

Thu, 24 Nov 2016

I did the Fedora 25 upgrade

I upgraded from Fedora 24 to 25 today. So far, so good.

Update: I've had periodic Google Chrome freezes. I've had to kill it and start again a few times. I just had one while writing this post with Ode's EditEdit plugin. Not sure if this is a Google Chrome thing or a Fedora thing. I do have Fedora's version of Chromium to test.

Another update, a day later: No Google Chrome freezes today. I just had my first Google Chrome freeze of the day. Before that I replaced RPM Fusion's Audacity 2.1.2 with Fedora's own Audacity 2.1.3, and my GTK3 rendering issues are now gone. And for some reason I can still output an MP3 even though this isn't the "freeworld" version.

Trying Chromium: I am trying the Fedora-packaged version of Chromium to see if I experience the same freezes that I have been getting in Google's version of the application.

Chromium update: You know what's not crashing? The Fedora-packaged Chromium browser.

So far today, I have replaced the Chrome browser hosted on Google's server and Audacity from RPM Fusion with versions of both from Fedora's own repository. I always like using as many packages as possible from a distribution's own repo (generally a point in Debian and Ubuntu's favor), and it's nice to get closer to that ideal in Fedora.

I have been meaning to write about the coming of Chromium to Fedora for a long time but never got around to it. It installed on my computer automatically as the dependency of another app, the name of which escapes me at the moment.

I also should write about MP3 support (decoding, not encoding) coming to native Fedora (i.e. without RPM Fusion). While I do have RPM Fusion repos active on my Fedora desktop installation (I'm sure there are people who don't ...), I'm not sure if that's the reason my now-Fedora-supplied (and non-"freeworld") Audacity is able to output an MP3 file. All I know is that I'm happy to have my Audacity rendering issues (which have been problematic for a couple of months) and Chrome freezing issues (only a problem since the Fedora 25 upgrade) both solved in very short order.

More info on Fedora's Chromium package: https://fedoraproject.org/wiki/Chromium

Possible clue on why Google Chrome is freezing in Fedora 25: From a Fedora mailing list exchange

GNOME 3.22: As dozens of entries on this site will tell you, I periodically try GNOME 3 and usually abandon it because I get more work done in Xfce. In Fedora 25 -- for the first time -- Wayland is the default display technology for GNOME. When I try to run that on this 3-year-old AMD-running laptop (HP Pavilion g6-2210us), it freezes. The Xorg version, still available in the GDM choices, does work.

Chrome in GNOME: It seemed to be working fine. Once again, time for a GNOME test.

A ton of updates means Wayland is now working: All the video drivers updated just now in Fedora 25, and I can now run GNOME in Wayland. That was a quick fix.

Mon, 21 Nov 2016

JavaScript for Cats recommends Underscore.js

The friendly Javascript for Cats tutorial recommends the Underscore.js library, which does look pretty useful.

Sun, 20 Nov 2016

freeCodeCamp: A Gentle Introduction to Data Structures - How Linked Lists Work

freeCodeCamp: A Gentle Introduction to Data Structures - How Linked Lists Work https://medium.freecodecamp.com/a-gentle-introduction-to-data-structures-how-linked-lists-work-5adc793897dd

Gizmodo: Deleting the Facebook App Could Save Up to 20 Percent of Your Android's Battery Life

Gizmodo: Deleting the Facebook App Could Save Up to 20 Percent of Your Android's Battery Life http://gizmodo.com/deleting-the-facebook-app-could-save-up-to-20-percent-o-1789189589

Honeybadger: A Rubyist's Guide to Big-O Notation

Honeybadger: A Rubyist's Guide to Big-O Notation http://blog.honeybadger.io/a-rubyist-s-guide-to-big-o-notation/

Thu, 17 Nov 2016

Disqus -- thanks for fixing your Admin interface

I use Disqus a lot. For work. I mod HUNDREDS of comments a day on a few dozen sites, and the Disqus Admin interface had been making that task very difficult in recent months.

But sometime during the past week, Disqus updated its Admin interface on the web, and it is much easier to moderate the comments.

Things were broken and now they are fixed. Thanks, Disqus.

Sun, 06 Nov 2016

Well-used laptops don't last forever

My experience, anyway, is that heavily used laptops like mine don't last anywhere forever.

My Lenovo G555 lasted a little more than two years before it died.

And now I've had this HP Pavilion G6 2210-us for three years and six months. I'm on my third battery (luckily they're cheap), and now I'm about to replace the entire keyboard (also cheap).

I bumped up the RAM to the maximum of 8 GB a while ago. No regrets there.

The HP has had one catastrophic drop onto concrete that didn't affect it at all -- except for some nasty abrasions on the plastic case.

The drive it came with was an ample 640 GB in size. I sort of want to rebuild it as a Linux-only computer with a 1 TB drive. I generally have 100 GB of free space, and I'd have even more if I could kill out the Windows 8 instllation that I could never successfully upgrade to 8.1 and hence never even try to get Windows 10. If I don't go SSD (and I can't see doing that on this old laptop), the 1 TB would give me a lot of breathing room.

So the batteries last about a year, and the keyboard lasts 3 years. I'll replace the keyboard and hope the rest of the thing doesn't go south.

Would a more expensive laptop -- this one sold for around -- last longer? I don't think so, but you never know.

No more replacement keys, I'm just going to replace the entire keyboard

While my last key replacement was rocky yet ultimately successful, the results aren't what I'd hoped. And now the space bar is going wonky.

My "new" N key works, but it doesn't have the clicky/bouncy feel of the other keys. I'm not sure if it's the rubber cup or the hingy mechanism, but it is what it is. And it's not great.

I tried new rubber cups that I got from ReplacementLaptopKeys.com, and that didn't help.

The space bar is just generally loose and mushy, and it doesn't work on the ends all that well.

This time I'm just buying a whole new keyboard. What I didn't know is that they're cheap. For this laptop anyway.

I'm not sure if this is the case for all laptop brands, or just HP, but the market is awash with OEM replacement keyboards, and I just bought one for on eBay. Sure I'll have to take the whole damn laptop apart, but it should really have a new lease on life.

Sat, 05 Nov 2016

Can you use JavaScript and Node instead of traditional shell scripts?

One of the things that would get me using (and learning) more JavaScript would be the ability to take care of all the administrative things I do in (mostly) Bash, (occasionally) Ruby and (very occasionally) Perl using JavaScript via Node on the command line.

I have played a bit with creating and writing files in that environment, and I found the following posts to help in that effort:

This Fedora install still kicking after SIX upgrades

I started this laptop on Fedora 18 before a fairly quick upgrade to F19. I've kept it going all the way through Fedora 24.

So far that's six "major" upgrades. And it still works fine. Not that it shouldn't, but I don't remember things ever going this smoothly for this long.

Fri, 04 Nov 2016

Sacha Greif: A study plan to cure JavaScript fatigue

Sacha Greif: A study plan to cure JavaScript fatigue https://medium.com/@sachagreif/a-study-plan-to-cure-javascript-fatigue-8ad3a54f2eb1

Sun, 30 Oct 2016

The Archtop.com "sold" list - a treasure trove of guitar history

You can learn a lot about archtop guitars by going through the "sold" archive at Archtop.com. You can see descriptions and photos of hundreds of actual instruments. It's a valuable historical and educational resource that is really helping me learn about Gibson archtop guitars. What's missing? The prices. For that you need to look at the current inventory list.

What makes these Archtop.com lists so valuable is that there are so many examples of real guitars that have sold. The measurements show how the various models changed from the 1920s and '30s to the present day. They could turn the archive into a book, and I'd buy it.

Sat, 22 Oct 2016

The squeak in the plumbing

There's been a squeak in the plumbing. For about a year. When you turn the water on, "squeak." When you turn it off, "squeak."

The picture gives it away. It was the Zurn pressure-reducing valve. We have super-high water pressure, and we probably need two pressure-reducing valves in series but make due with one.

Anyhow, the squeak has been a mystery. Ilene thought it was the pressure-reducing valve all along. I agreed that we probably needed either a new one, or a rebuild on the old one (there's a kit for that).

But I wasn't sure. The sound was super loud in the shower wall.

I ventured into the spider- (and web-) filled crawlspace under the house to check the pipes while the teenager turned the water on and off. I was looking for things that moved. Things that moved enough to squeak.

I found nothing.

Read the rest of this post

Fri, 21 Oct 2016

Can I Program Yet?

Can I Program Yet? Notes as I Learn Coding and Software Development by Darga http://blog.dargacode.com and http://dargacode.com/

Twitter is broken

Twitter is broken due to a DDoS attack. The AP story I pulled downplays it quite a bit -- it's not just the East Coast, and it is continuing into the afternoon. http://www.latimes.com/business/la-fi-tn-dyn-attack-20161021-snap-story.html

Tue, 18 Oct 2016

Back to Xfce after a week in GNOME 3 ... again

My latest GNOME 3 experiment lasted about a week.

And I fully recognize that I pretty much wrote this same post last month.

I'm back again. GNOME wasn't really offering me anything I don't get in Xfce, and when I had to dip into my Citrix apps yesterday, GNOME was giving me trouble.

Between Xfce's Whisker menu, Catfish file finder and the fact that I can run the Nautilus or Dolphin file managers whenever I feel the need (which won't be very often), the comfort, consistency, performance and usability of Xfce drew me back.

Just like the last time.

I didn't feel more productive in GNOME. At times I felt less productive. So why keep going with it?

The Ember Weekend podcast

I just discovered the Ember Weekend podcast https://emberweekend.com

Mon, 17 Oct 2016

Creating encrypted documents in Vim

Creating encrypted documents with Vim https://linux-audit.com/using-encrypted-documents-with-vim/

Jazz Advice indeed has a lot of good jazz advice

Jazz Advice indeed has a lot of good jazz advice http://www.jazzadvice.com

Sun, 16 Oct 2016

'I’m Considering a Coding Bootcamp: Should I learn JavaScript or Ruby?'

Bloc: I’m Considering a Coding Bootcamp: Should I learn JavaScript or Ruby? https://blog.bloc.io/im-considering-a-coding-bootcamp-should-i-learn-javascript-or-ruby/

Wed, 12 Oct 2016

Don't hate me because I'm back in GNOME 3

After saying in a recent post how GNOME 3 wasn't working for me, here I am. Back in GNOME 3.

My use cases are changing, and GNOME 3 has its charms.

Briefly (and not all particularly relevant):

  • I will no longer need Citrix in a few months (or so I'm told)
  • Nautilus is nice
  • I'm considering a "clean" installation of Fedora Workstation (still love Fedora)
  • Shutter has improved my screenshot situation
  • GNOME 3 looks so nice
  • GNOME 3 seems stable
  • I now watch video on my TV with a Roku (though GNOME 3 works fine when I have the laptop plugged in via HDMI), meaning my laptop "experience" is more production and development and less video entertainment

I have way too many desktop environments on this laptop. Recently I tried LXQT, which is a nightmare (on my Fedora 24 machine, anyway), LXDE (meh) and KDE/Plasma 5 (I liked it better than I thought I would, but not enough to move to it).

Might as well try GNOME 3 again.

As I say above, I'm contemplating a fresh Fedora installation, and that would be Fedora Workstation from the get-go. If i did that, maybe GNOME Screenshot would work as advertised ...

One guy's Google interview prep can be everybody else's computer-science tutorial

One guy's Google interview prep can be everybody else's computer-science tutorial https://github.com/jwasham/google-interview-university

I am trying Shutter as my GNOME screenshot program

Since the GNOME screenshot program is very broken, at least in my installation of GNOME, I decided to try Shutter, the Linux screenshot program written in Perl and seemingly aimed at GNOME users.

Shutter has a lot of options, and so far I can get it to work.

Going back to the beginning, why is the GNOME screenshot program broken in my GNOME installation? I have no idea.

When I hit the print-screen key, nothing at all happens. If I bind it to alt-p, I get the "shutter" sound, and a PNGJPG image appears in my Photos folder. Even if I go into gconf settings to modify just about everything, calling the screenshot program from the keyboard produces the same resultwon't allow me to change the target directory.

But if I hit the super key (or mouse into the hot corner), then search for Screenshot and run it, I get the full GNOME Screenshot window to open, and it has all of my configuration options (JPG instead of PNG, choose my own directory/folder). Why can't I make this work from the keyboard -- from print-screen or any other keyboard shortcut?

I've dwelled on GNOME Screenshot enough. Now I'm going to see if Shutter can do what I need. Or I can just use Xfce, where the screenshot program works like it's supposed to -- with the print-screen key. Why is this so hard, GNOME people?

Update: After using Shutter once (I have it bound to alt-P), the icon sits in my upper panel. I can then take a screenshot by clicking the icon. Easy.

Speaking of panels in the panel-less GNOME (where not having things appears to be a "feature"), I do have a panel in the form of the TopIcons, Places Status Indicator and Applications Menu extensions. And yes, it is not a good thing that what many consider core funtionality can only be implemented through Extensions that aren't part of the GNOME 3 core.

More GNOME Extensions: I just added Frippery Panel Favorites to make the upper panel on my GNOME 3 desktop even more GNOME 2-like.

Thu, 06 Oct 2016

Converting WordPress posts to files for a static site

I'm exploring ways to take WordPress blogs and semi-automatically covert them into heaps of individual static files for use in blogging systems like Ode that take text files and convert them to HTML either on the fly or via a static-site engine.

I think it's going to take a combination of at least two existing tools plus some scripting on my part to take what those tools create and further process the files for Ode.

I tried two WordPress plugins that didn't work at all: WP Static HTML Output and Static Snapshot.

A third WordPress plugin, Really Static, did not look promising, and I didn't try it.

I tested the HTTrack Website Copier -- there's even a Fedora package for it -- and that pretty much downloaded the entire WordPress blog as a fully baked static site. But it didn't produce files or a file structure that is in any way compatible with any other blogging software.

Still, I think HTTrack will be valuable in terms of extracting the images from WordPress sites for use in other blogging systems.

I tried another method using wget (which HTTrack also uses) with a ton of command-line switches in a post titled Creating a static copy of a dynamic website.

In case the above site disappears, here is what you do:

The command line, in short…

wget -k -K -E -r -l 10 -p -N -F --restrict-file-names=windows -nH http://website.com/

…and the options explained

-k : convert links to relative
-K : keep an original versions of files without the conversions made by wget
-E : rename html files to .html (if they don’t already have an htm(l) extension)
-r : recursive… of course we want to make a recursive copy
-l 10 : the maximum level of recursion. if you have a really big website you may need to put a higher number, but 10 levels should be enough.
-p : download all necessary files for each page (css, js, images)
-N : Turn on time-stamping.
-F : When input is read from a file, force it to be treated as an HTML file.
-nH : By default, wget put files in a directory named after the site’s hostname. This will disabled creating of those hostname directories and put everything in the current directory.
–restrict-file-names=windows : may be useful if you want to copy the files to a Windows PC.

This is a cool exercise, and it pretty much produces what you get with HTTrack. Cool but not useful.

Along these lines but aiming for something that's actually useful, I could use wget and just target the images.

Here's where the good stuff stars

It's not all bad. I just tried a Ruby Gem called wp2middleman, which takes a copy of the XML that you export out of WordPress and turns it into individual static files (either HTML- or Markdown-formatted) with YAML-style title, date and tags.

You get the XML from the WordPress Dashboard (under Tools -- Export). Then you process that XML file with wp2middleman.

If you already have Ruby and Ruby Gems set up, getting the gem is as easy as:

gem install wp2middleman

Then you can produce a full filesystem with individually named files with:

wp2mm your_wordpress.xml

That gets you the files. Not the images. I'd use HTTrack or some similar tool to get those.

That I can work with. "All" I'd have to do is convert the YAML to Ode's title and Indexette date format, rewrite the image links to conform to whatever I have going on my Ode site and then convert the file suffixes from .html or .markdown to .txt.

I think I can do that.

Update: Getting the images from a WordPress blog with wget is easy. Stack Overflow has it: How do I use Wget to download all Images into a single Folder

There is enough info there to get them into a single folder, or into a directory/folder structure that could make it easier to call the images into your non-WP blog. I did both as a test:

wget -nd -r 2 -A jpg,jpeg,png,gif -e robots=off http://your-blog-here.com

wget -r -l 2 -A jpg,jpeg,png,gif -e robots=off http://your-blog-here.com

Wed, 05 Oct 2016

I bring the Blogger version of The CTRL Freak to Ode, plus a tally of what's left to move

It's low-hanging-fruit day. In my quest to archive all of my old blogs here in Ode, where I have everything on my server and in filesystem-level backups, I'm aiming to bring all of my "old" (and just plain old) blogs into this file-based Ode system that I host myself.

Today I did The CTRL Freak -- the Blogger version (there's also a WordPress version, the blog itself tells me).

It was only eight entries, I left at least one behind (because all it did was point to another blog entry), and there were no images. That made it a quick conversion, hence the low-hanging-fruit analogy.

I'm starting to get pre-2011 entries on this site. I'll expand the date links on the right when I get more vintage content on the site.

Here is what I have on Blogger:

2,000 Days in the Valley
142 posts to do

This Old Mac
61 posts to do

This Old PC
40 posts to do

My jazz guitar journey
48 posts to do

The CTRL freak
9 posts done

The status of my WordPress.com blogs is more complicated because there are backups in there from my company-owned WordPress.org sites as well as the Blogger sites mentioned above.

The WordPress.com sites are:

Steven Rosenberg
378 posts

Takectrl's Weblog (I think this is an old Click backup)
1,149 posts

The CTRL freak (WordPress version with maybe a few more entries)
27 posts

I also have:

Master and Server, which is a WordPress.org site on the devio.us OpenBSD server. It only has a few entries.
20 posts

And then there are my two big Daily News blogs that started their lives on Movable Type and which were converted to WordPress.org:

Click
1,950 posts

Come on Feel the Nuys
367 posts

Clearly these last two are going to either take a Herculean effort or some kind of scripting magic from me. I used to have access to the server and could grab the images in bulk, but I don't think I can do that any more. The hard parts of these kinds of "automatic" conversions are the internal links (WordPress uses absolute links, which are good for SEO but bad for portability) and images (and their URLs, also absolute links).

Today's mood (or mode): I could be programming, but I'm moving blog entries around instead ...

Tue, 04 Oct 2016

Blogging over the years: bringing it all together

After I started using self-hosted blogging software that wasn't WordPress in February 2011, I began with FlatPress and continued using it through October until I discovered and settled on Ode as the blogging software that best fit how I wanted to run my personal site.

As I write this post, it occurs to me that I've been running Ode just about five years.

It was always my intention to bring all of my past blog posts from Flatpress, WordPress and even Blogger to a single platform. I moved most of my Flatpress posts over some time ago but there were about a dozen or so entries from the early Flatpress months that never made it over. Over the past day and a half, I moved those entries into this Ode site.

I guess that means I can shut down the Flatpress site.

Migrating blog posts is hard. There's the formatting, the file naming (and organizing) and the images. There are ways of doing it automatically, and I might explore scripting the rest of it. But I'll probably just chip away at it manually, starting with my Blogger sites.

That's if I do it at all. The idea of having all of my blog entries in this Ode site, which means I'll have them in a local filesystem, too, is something I would like to do, but it is a lot of work.

Tue, 27 Sep 2016

Back to Xfce after screwing around with KDE/Plasma and GNOME 3

After a couple of weeks trying to make GNOME 3 and then KDE/Plasma 5 work for me, I'm back in Xfce 4.12 full time.

GNOME for sure doesn't work for me, and while I really liked KDE's Plasma desktop, it created more problems than it solved.

So I'm back to Xfce, which works like a champ and doesn't get in the way.

In terms of GNOME apps, I've been using Gedit less and less since Geany is so good and allows me to compile code that needs it and run all code without leaving the editor (and without jumping through any hoops at all to make it happen).

One thing I picked up from KDE was that I can still tap the Dolphin file manager when I need it (which won't be very often, but the split-screen mode is something that every file manager should have).

I also revisited digiKam, the photo organizing/editing software from KDE. It is much better than the last time I used it, and I am thinking about continuing to use the app even though I'm not in KDE.

Otherwise GNOME is still a problem for me. I am required to jump through a lot of configuration hoops just to get the desktop I want.

KDE is better. I like the animations (which are minimal). I like the "KDE menu." But it's just not all that stable. And KDE Wallet was continually screwing with my Google Chrome cookies and saved passwords. I didn't need that headache to continue. I mostly used Firefox just to keep from wrecking my Chrome setup more.

One problem I had with KDE: It wasn't all that stable. I killed it more than a few times. However, I love the attention to detail when it comes to configuration.

I had problems with screen-grabbing in both GNOME and KDE. It was worse in GNOME. I couldn't get the print-screen key to actually do the screen-grab. I had to settle for mapping alt-P. And then I couldn't get the format I wanted (JPG, not PNG) or the proper location. If I called the screen-capture utility from a terminal, it would work like it was supposed to. But with alt-P, it didn't.

In KDE, kscreenshot was pretty good, though it also didn't work with the print-screen. I had to call it from the menu and leave it running.

The fact that the Xfce screen-shot utility just works -- and well -- is huge for me.

And as I say above, Xfce stays out of the way and runs like a champ.

So I'm back.

Mon, 26 Sep 2016

Video: Swing expert Jonathan Stout plays 'It's Only a Paper Moon' on a 1929 Gibson L-5 at Norman's Rare Guitars, and then I keep on writing ...

Swing guitarist Jonathan Stout lays out his philosophy on swing music, the guitar, Charlie Christian, Allan Reuss, REALLY old Gibsons and Epiphones, X-bracing vs. parallel bracing and more on his Swing Guitar Blog and Campus Five YouTube channel.

His latest video was recorded on another YouTube channel because he made it at Norman's Rare Guitars in Tarzana. where Jonathan plays Harold Arlen's "It's Only a Paper Moon" on a 1929 Gibson L-5 acoustic.

Jonathan is a wonderful guitarist who explores three distinct "directions" on the guitar: swing rhythm on the acoustic archtop, swing-style chord-melody on the same instrument and Charlie Christian-style swing-to-bop soloing on the archtop electric.

They really are three different kinds of playing -- watch Jonathan's videos and see what I mean.

Read the rest of this post

Fri, 23 Sep 2016

Ford to city: drop dead

Headless body in topless bar

Sticks nix hick pix

Thu, 15 Sep 2016

I'm using the KDE Plasma desktop - and liking it

Though I'm a longtime Xfce user on the Linux desktop (and a longtime user of Fedora as my distribution), I'm open to other things.

As I've written many times, I want to like GNOME 3. Fedora Workstation is based on it. But it just doesn't work for me. I don't want to say GNOME 3 is unpolished, but it's just too stripped down until you start shoving GNOME Shell Extensions onto your system.

Plus, GNOME 3 doesn't play well at all with the Citrix applications that I've been using for the past couple of years and will continue using for maybe the next six months.

And GNOME 3 just doesn't "feel right." And "feel" is something I don't want to ignore.

On what I suppose is a bit of a whim (or maybe I did it by accident, I can't remember), I logged in to the Plasma desktop. I don't know if calling their desktop "Plasma" short-changes the KDE brand, or if that matters at all, but I had a poor grasp of what Plasma is in relation to KDE.

It turns out I like Plasma (or KDE, or whatever it's called).

The desktop works well, is faster than you'd think and has quite a bit of polish. There are lots of configuration options, and they are all built in. It's not like the comparative tragedy of the GNOME Tweak Tool and gconf.

And I am growing very dependent on the Dolphin file manager.

Things I like about Dolphin:

  • Split mode. Nautilus used to have it. Thunar never did. It's like having windows in a car that actually open. That's a bad analogy, but the ability to easily transfer files from one directory to another without opening two file manager windows is so fundamental that I wonder why every file manager doesn't have it.

  • Faster transfer to USB flash drives. Is it my imagination, or is Dolphin configured to speed up the copying of files to USB flash drives. Those operations are notoriously slow when done on my Fedora system in other file managers. I know there are ways to speed up those transfers, but I'm too lazy to figure them out. I'm happy to have Dolphin do that for me. I'm pretty sure I got this wrong. The file transfers go at the same speed in pretty much all the file managers.

  • Configuration, configuration, configuration. KDE has always been about configuration of all the things. And GNOME has been not-so-slowly offering a stripped-down, hard-to-configure experience that is low on included tools. Xfce is very configurable, KDE/Plasma even more so. The file manager is such an important part of any system, it's vital that you are able to do what you want with it.

From the "feel" perspective, as I say above, KDE's Plasma desktop is much faster than billed. The animations don't distract. It seems relatively easy on the CPU. I installed the overly complicated digiKam, which I have used in the past because it's one of a very few Linux applications that allows editing of the IPTC metadata in JPG images that the media industry uses pretty much universally. While still complicated as hell, digiKam passes the IPTC test.

I have had problems with the KDE Wallet system "eating" my Google Chrome browser cookies, and that's something I'm not terribly happy with. I lost all of my stored passwords at one point. Firefox definitely "plays" better with KDE/Plasma.

And right now I'm having issues configuring the touchpad with the KDE-supplied utility, though that's today. It worked a few days ago. GNOME is really bad at this -- as is LXDE, one of the many DEs I've sampled in the past couple of weeks.

I can't say that I will move from Xfce to KDE/Plasma because I probably won't. But I can certainly see using the Plasma Desktop as my part-time environment, with Xfce still doing the heavy lifting for my media production and software development needs.

But you never know.

Mon, 12 Sep 2016

Using Dir.glob to delete files with a pattern in Ruby

I have a bunch of files in a directory, and I want to delete all that begin their filename with the letters X16 (e.g. X16data.xml)

I used Dir.glob to select the files and iterated over what comes up in the pattern, using File.delete to get rid of what I don't want (Thanks, Stack Overflow):

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

You can put any kind of regex in here, and it'll probably work. That's the theory anyway.

Sat, 10 Sep 2016

The rubyzip gem for creating and opening archives

On my current project, I am trying to use using rubyzip to unzip an archive.

So far it's not working, and I'll probably shell out to Bash and Linux/Unix's unzip to get it done.

I figured it out. Now I have to manage the unzipped files (deleting the unused, renaming the good, then deleting the good at the beginning of the run) and account for NOT running the program if there is no file on the other end.

Mon, 05 Sep 2016

I could almost run OpenBSD 6.0

I could almost run OpenBSD 6.0. http://www.openbsd.org/60.html. When I'm allowed to abandon Citrix on an ice floe, that is.

More on TrueOS

More on what TrueOS (ex-PC-BSD) is all about https://www.trueos.org/more-on-trueos/

PC-BSD is now TrueOS

PC-BSD has rebranded as TrueOS. Doesn't run on AMD/ATI, so I can't try it https://www.trueos.org/2016/09/01/pc-bsd-evolves-into-trueos/

Fri, 02 Sep 2016

Blogging with Markdown, Dropbox and Rails

Blogging with Markdown, Dropbox and Rails by Piotr Chmolowski http://pchm.co/posts/blogging-with-markdown-dropbox-and-rails

Thu, 01 Sep 2016

I love Sam Koblenski's tech blog

The Ruby Weekly newsletter led me to Sam Koblenski's excellent tech-heavy blog http://sam-koblenski.blogspot.com. I especially like the Tech Book Face Offs http://sam-koblenski.blogspot.com/search/label/Tech%20Book%20Face%20Off

Mon, 29 Aug 2016

Oleego is my new favorite place to eat at Westfield Fashion Square

We ate at @oleegousa twice this weekend -- it's that good. My new No. 1 at @WestfieldFS #ShermanOaks

Linus Torvalds on the GPL vs. BSD

Why Linus likes the GPL license more than the BSD

Sat, 27 Aug 2016

How can they understand?

Our 13-year-old can't wrap her head around life without the Internet and smartphones. How can I blame her?

Been thinking about the pre-web, pre-smartphone days

I've been thinking about the pre-web, pre-smartphone days. That is all.

I took Twitter and Google News off my phone about a month ago

It feels like a month since I took the Twitter and Google News apps off of my phone. Still have them on the tablet, but not the phone.

Replacement Laptop Keys comes through with a working 'n'

The great people at @laptopkeys got me typing 'n' once again

Thu, 25 Aug 2016

Do I really need your app? Do I want it? Do I have space for it?

Can you call a business a "web site" if they try to force you to use an app to access their content on a mobile device?

I guess everything these days is a "social network," "e-commerce platform," "content provider," or some other phrase or three that escape me at this particular moment.

There are two social networks -- one is an employment-based network, the other a dining-reviews network -- that won't let me see content at various times without downloading their mobile application.

Bet you can guess who I'm talking about.

The first is LinkedIn. I don't remember having much trouble accessing LinkedIn on my phone or tablet, but I get these emails from them that say, "So and So has an update." I click for the update, and it sends me to a come-on for the LinkedIn app.

I'm not getting that app. So I don't get the content.

The other one -- the dining-review app -- is worse.

That's Yelp, in case you didn't figure it out.

Every time you go to their site on a phone or tablet, the top of the page is a massive plea to download and run their app.

And then the web site wastes no time in telling you that you'll only get a few dining reviews from real people in the browser. If you want more, you'll have to get the app.

I don't want the app. So I lose out on your content -- and any ad impressions you might be offering to monetize my experience.

Why don't I want these two apps?

1) Not everybody has a 128GB iPhone. My el-cheapo Android phone is limping along with 8GB of storage, and that is double my previous phone's 4GB. Even though I have a 32GB SD card on board, there's only so much that can go on it in terms of apps (thanks for that, Android). Some apps won't go on the SD card, and most store data on the phone's memory regardless of where they are installed. So I have to be very selective in what I do have on the phone.

2) I don't need an app for a site or service I use infrequently. It's just clutter, and I'd rather use the browser. Even if I had a 64GB phone, I don't want a dozen pages of apps to swipe through.

3) Your app is not that good. Most apps don't do more than mimic a browser-delivered web experience. Maybe some users feel "safer" using an app rather than a web site. Those days are gone. Web apps (really just fancy web sites with lots of Javascript) do so much client-side that they really are apps that users don't have to download and keep on their phones.

The craziest one these days is Amazon.

Amazon will pay you $5 just to use their app.

Why?

Because, for Android anyway, their app is not in the Google Play store, and you have to download it and allow your phone to run non-Play Store apps.

Most users find this daunting and don't want to do it. But maybe $5 will change their minds.

I just discovered that the Amazon is preloaded on my Android phone, so maybe if I launch it I'll get the $5? Probably not.

But do I even need this app? It will alert me if crap I want to buy is available, on sale, or who knows what.

I use Amazon enough that maybe the app is worth it.

But most of the apps out there for things that can be taken care of with a web site? No, I don't want your app. I don't have room on the phone for it.

I sort of understand that you feel you need an app. That it's part of your business plan. But at least give me a choice. If you push to hard on making me download and run your app just to sample your service, chances are I never will. And you lose a potential customer. Or hundreds (or thousands) of them.

Shopify is huge - and they use Ruby on Rails

Shopify is a huge e-commerce web-site provider, and they use Ruby on Rails https://engineering.shopify.com

Mon, 22 Aug 2016

Keep Fedora's dnf from upgrading certain packages

Since the OpenShot video editor is pretty much broken in version 2.0.x, and I'm using a Fedora 22 package of version 1.4.3 so I can keep editing video while I contemplate learning KDEnlive.

I installed the OpenShot 1.4.3 package, and in my next run of the yumex-dnf package manager, it cheerfully offered to upgrade to 2.0.7.

No.

So how do you keep yumex-dnf and regular ol' dnf from bugging you about this every time?

Read the rest of this post

Sun, 21 Aug 2016

ReplacementLaptopKeys.com comes through again

Just like on the laptop before this one, if you bang on it and take it enough places, you end up with a busted key.

Where do you get a new one?

HP won't sell you one key.

Enter third-party individual-key sellers like ReplacementLaptopKeys.com, which attempt -- usually very well -- to send you any individual key to replace a broken one.

Read the rest of this post

Yelp, get bent

Yelp, thank you for withholding your content because I'm using a tablet and don't want your stupid app.

Fri, 19 Aug 2016

Will Fedora 22 OpenShot run on Fedora 24?

Will Fedora 22 OpenShot run on Fedora 24 and solve the "OpenShot 2.x is horrible" issue? Only one way to find out.

Tablet vs. laptop

You think you can do what you do on a laptop with a tablet if you add a keyboard and mouse. But you can't. Creating content remains a "real" computer's game.

Thu, 18 Aug 2016

Do broken apps in Fedora mean I should turn to Ubuntu?

I hadn't edited a video in a long time, and when I opened the OpenShot video editor in Fedora 24 yesterday, I found a completely updated user interface in version 2.0.7 that made the app harder to use. I could barely see the tracks at the bottom, and there appeared to be no way to make that window big enough to remedy the problem.

I could no longer change the "properties" of an item and modify the time it occupied on the video.

It wasn't recognizing linefeeds on my Inkscape-generated titles.

And then it crashed all the time.

In short, a decent, workhorse app has become totally useless.

I then tried to edit some audio. Again, I haven't done it in awhile. Audacity is very stable, so how could there be a problem?

There was. The play/pause buttons kept disappearing, as did the icons for switching modes. I was able to do a quick audio edit, but it was neither easy nor pleasant.

I think the OpenShot issues are systematic to the project and its one-man-band development situation. (I know -- I really should figure out KDEnlive and be done with it.)

Audacity's problem lies elsewhere in the system, as this Fedora bug report details.

I have a test Ubuntu 16.04 system on another drive. I loaded it up and installed Audacity (same version, 2.1.2). It worked perfectly.

I installed OpenShot, which RPM Fusion distributes for Fedora users in version 2.0.7). Ubuntu provides version 1.4.3. Which is old. But it works.

So I'm wondering if I should just make the leap and dump Fedora 24 for Ubuntu 16.04. It would do wonders for my video- and audio-editing productivity, for one thing.

And I thought that Ubuntu's HUD (heads-up display) was roughly equal to what GNOME 3 offers in its "hot corner" search. Nope. In GNOME, you can search for applications but not files. Ubuntu's HUD allows you to find applications and files. This is no deal-breaker because you can search for files in the Nautilus/Files file manager in both Ubuntu's Unity and any system running GNOME. Still, the HUD (love or hate what it CAN search for) is better than anything else out there for Linux.

So will I do it? I hate replacing systems and moving my files over. But I'm thinking.

Wed, 17 Aug 2016

Audacity having problems in Fedora 24

Audacity is having a screen-rendering issue in Fedora 24. Bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1347053

OpenShot video editor has gone to hell

I've probably edited 100 videos with the "old" OpenShot, but I can say without reservation that the new OpenShot has gone to hell

Wed, 27 Jul 2016

Free textbook on mathematics for computer science (before you study algorithms)

Cormen's "Introduction to Algorithms" (aka CLRS) looks hard. People who understand the material say the math involved is trivial, but I'm not anywhere near there.

So how do you get comfortable with the math before tackling CLRS itself?

A writer on Quora suggests reading a free textbook from an MIT open course called "Mathematics for Computer Science."

Others suggest that the appendix in CLRS serves as a guide to the mathematics needed to understand the rest of the book.

Another Quora writer recommends algorithm books by Sedgewick and Dasgupta (the latter available for free) as alternatives to CLRS.

Sun, 24 Jul 2016

One-man Colorado newspaper still uses hot type

The Saguache Crescent is the last newspaper in America to use "hot" metal type produced with a Linotype machine. Take a look at the pictures from the Baltimore Sun web site. Amazing.

Fri, 22 Jul 2016

I'm doing the Fedora 23 to 24 upgrade

I'm finally getting to the Fedora 23-to-24 upgrade on my laptop, which has been running Fedora on the same installation since the F18 release. (That means the upgrade has never failed.)

The upgrade process is getting smoother and smoother. This time the upgrade uses dnf instead of fedup.

I think that there will be a graphical upgrade for Fedora Workstation (i.e. GNOME) systems in this current release. But since I'm in Xfce right now, it's still a command-line process.

I used this guide from the Fedora Magazine site, and all is going great so far. Dnf has 4,033 items to download and 7,870 tasks to perform in the course of the upgrade, so it'll take a while to finish.

Update: As expected, the upgrade is taking a long time. That's normal. I managed to start early, and I have a whole day ahead of me. Plus I have use of another computer, so I'm able to continue working while the laptop is unavailable.

No 'n': When I finally resolve the issue, I'll recount my tale of the broken 'n' key on the HP Pavilion g6-2210us. With a barely working 'n' key, it's a great time to do an upgrade since typing words with the letter 'n' is not my favorite activity (though at home I have an external keyboard to get around the problem).

After the upgrade: I don't use GNOME very often, but I can confirm that the default Catarell font does display better (as promised). A better-looking display definitely makes me want to use GNOME more.

GNOME Shell itself seems more responsive. But again, I don't use it enough to know for sure.

I just found out that I'll soon be able to leave Citrix Receiver behind, and that will mean that I can use just about any desktop environment. For the past year and then some, only Xfce has played well with the Citrix apps that I use, which stretch across multiple screens and pose problems when it comes to switching from one screen to another.

Mon, 11 Jul 2016

Get a free programming/tech book every weekday from Packt Publishing

How could I have missed this until now? Technology book publisher Packt Publishing offers a different free e-book every weekday.

I found out through Reddit, where Packt has its own subreddit in which it announces a new title every Monday through Friday.

The catch? You have to register with Packt to claim the e-books. It's just like registering for O'Reilly, except Packt gives out a ton of free books.

And each book is only available for a day. So you have to check the subreddit or Packt's Free Learning page every day.

And they're not the "sponsored" books that other publishers often hand out.

Instead, these Packt books are "real" tech books. They recently offered "Learning JavaScript Data Structures and Algorithms - Second Edition," by Loiane Groner, which I was happy to pay for a few days prior. (At least it was on sale).

But I've gotten a few books that really interest me over the past week. And you can manage them through your online account, downloading the formats you need.

Just like with O'Reilly (and with the Pragmatic bookshelf, Manning Publications and Leanpub), ordering through their websites instead of Amazon gets you a lot more flexibility (PDFs, epub, mobi) and often a better price. For me, it's worth it to get both the PDF and the Kindle version of the books, even if the indie publisher is charging a few bucks more than Amazon.

Some publishers, including PragProg and Manning, only sell their print books through Amazon. To get the ebooks, you have to go through them (and I am happy to do so).

Sun, 10 Jul 2016

Older versions of Citrix Receiver are available

Older versions of Citrix Receiver, aka ICAClient, are available. I'm thinking my particular apps like 13.0 better than 13.3.

Thu, 07 Jul 2016

Fix for Ubuntu 16.04 with Qualcomm Atheros AR9485 WiFi adapter and Time Warner modem

Update: This issue went away in a normal install. I presume that the added firmware during installation took care of the WiFi issues.

Original entry begins here:

I was just saying how compatible my now-3-year-old HP Pavilion g6-2210us laptop is with Linux at its advanced age. Everything in Fedora works with no tweaking, no modifications.

So I wanted to try Ubuntu 16.04 (with Unity even). First I used Unetbootin to put the ISO on a USB key. That didn't seem to work, though I had enough trouble getting the display to work that the problem could very well lie elsewhere.

So I used dd to put the ISO on the USB:

sudo dd if=/path/to/ISO of=/dev/sdb bs=8M

That worked. I booted into Ubuntu 16.04. Then I still had a blank screen. I tried to switch to a virtual terminal with ctrl-alt-F2, and eventually hit all the ctrl-alt-number combinations, after which ctrl-alt-F7 got me the graphical desktop.

That very well could have worked with my Unetbootin-created bootable USB stick.

Meanwhile, once I had Ubuntu running, I could connect to my older Netgear router running WEP but not to my newer Time Warner modem/router (I can't remember the brand or model) with WPA.

My laptop uses the Qualcomm Atheros AR9485 WiFi module, and that was where I looked first for ideas.

I found something pretty quickly.

In a terminal, enter this line:

 echo "options asus_nb_wmi wapf=1" | sudo tee /etc/modprobe.d/asus.conf

After that, I was able to connect to my WPA-enabled router, and all was well.

I didn't think I needed to resort to this kind of filthy hack in 2016 and on a laptop that has been in the wild for three full years.

But I did.

I'm not sure what I think of Ubuntu 16.04 just yet. I'll need to do a Citrix test. Running the big Citrix-enabled application that I use for my day job is pretty good in Xfce but horrible in GNOME Shell in Fedora. If it is in any way better in Unity, that will carry a lot of weight.

Thu, 16 Jun 2016

OMG, the @railstutorial by @mhartl

OMG, the @railstutorial by @mhartl https://www.railstutorial.org/book

The /now page movement

The /now page movement -- it's what you're doing now http://sivers.org/nowff and http://nownownow.com

The Bastards Book of Ruby

While it calls itself out as old and out of date, I really like The Bastards Book of Ruby.

I recognize that Ruby is no longer the new hotness, but it's still so useful and, dare I say, user-friendly. For those reasons, I'd love to see updated versions of just about every book out there.

I'm using the old (as the hills) "Learning Ruby" by Michael Fitzgerald (2007, O'Reilly), The Pickaxe book ("Programming Ruby") from Ruby version 1.9.2 (2010/11, Pragmatic Programmers, though do I realize there is a 2013 edition).

The beginners books seem to be the oldest. At my level, everything seems to be working, so I will maybe complain a little less.

I do have a Rails book, "Rails Crash Course," by Anthony Lewis, that's much newer, but I'm not there quite yet. And there's always Michael Hartl's "The Ruby on Rails Tutorial", of which the more I see, the more I like.

Using Ruby to delete blocks of text across multiple lines

I tend to learn things in programming when I have a problem to solve. This is just such a case.

I was working with a huge XML file, and I needed to trim elements out of it that begin with <generic tag> and end with </generic tag>, and include a random amount of text and other tags, across multiple lines, in between.

At first I tried using the Nokogiri gem, but it just wasn't happening. I was working on my Election Results script, and ... the election -- they hold it on a certain date, you know.

I would have to brute-force it. Like I always do.

My whole idea this cycle was to dump my giant sed hack from elections past and use mostly (if not all) Ruby to parse the XML I get from the state of California and provide the JSON output my fellow dev needed for the front end. (I also have a ton of fixed-width ASCII from Los Angeles County to deal with, as well as scraped HTML from San Bernardino County, but those are other tales for other times.)

With the state data, I had the XML-to-JSON conversion covered with Ruby's Crack gem. But I just couldn't pare down the XML to make the JSON a manageable size.

Read the rest of this post

Wed, 15 Jun 2016

A great Ruby loops tutorial from Prograils

A company called Prograils offers a great tutorial, Loops in Ruby - all possible approaches.

It looks like a good reference for when you're writing a Ruby program and need to figure out which kind of loop will work best in a particular situation.

Tue, 14 Jun 2016

I used Firefox a bunch

I've been using Firefox version 47 for the past couple of days. And it's been working well. This isn't for my day job, where I beat the hell out of the browser, but for "research" (aka looking things up) while learning programming.

Nothing cost $ .

I should probably give it a try for my real work and see how it holds up.

Update: Firefox did better than I thought but not good enough.

Slow rendering in Google Maps was annoying.

It couldn't handle Tweetdeck at all. Nobody would (or should) argue that Tweetdeck is anything but a mess. It is built with unwieldy amounts of JavaScript and delivers messes (or masses) of data. Trying to run Tweetdeck in Firefox was a parade of "unresponsive script" pop-ups that had me bailing out for Chrome within the hour.

I want Firefox to be competitive. I'd rather have fewer eggs in Google's basket. But my web production workflow is just too many windows of pain.

Quick Ruby: Open and write a file

Need to open an existing file, create a new one and write to that file in Ruby?

This Stack Overflow answer makes it super simple.

I already used this in one of my little Ruby programs.

In the same thread (but earlier), here's another one.

Coding Horror: It's a UNIX system, I know this

Coding Horror: It's a UNIX system, I know this https://discourse.codinghorror.com/t/its-a-unix-system-i-know-this/4378

Sun, 12 Jun 2016

Learning Ruby: Loops and arrays

This entry shows what I'm doing when I practice programming. I find it helpful to write little programs that use the concepts I'm trying to learn.

Why Ruby? you might ask. No particular reason. I've spend a semester learning C++, and I was pleasantly surprised to find out that the things I learned are applicable in many other programming languages. Ruby is one of them.

Writing scripting-type programs is one of the things I do. I have "practiced" recently with Bash (and all the little Unixy utilities that go along with it) and Perl (for the add-on that does the statistics for this blog).

Ruby just happens to interest me. I'm also interested in Elixir, but for the kind of things I'm interested in doing right now, Ruby with its many, many Gems and "make programmers happy" philosophy looks like a good fit.

I could say the same thing about Perl (or Python, or Java), but for now I'm playing around with Ruby.

I find that writing little programs like these is a great way to learn. And writing the "same" program in different languages is also very helpful. I could re-write this one in, say, Perl or JavaScript (using either Node in the console or rendering it on an HTML.

Here is the program I wrote to practice using Ruby loops and arrays. I also worked with strings (and converting arrays to strings and back again) and outputting results to the terminal.

What is an array? Here's what it is (in my mind anyway): A collection of pieces of data that can be manipulated as a whole. You can mix numbers and strings. In Ruby, arrays can even contain other arrays. I read that somewhere.

Here is the program:

#!/usr/bin/env ruby

=begin

The purpose of this program is to experiment
with Ruby loops, arrays, strings, integers and output.

The program creates an array, uses loops
to *push* numbers into that array, shows what
the array looks like at every stage using *puts*
and *inspect*, then uses *shift* to remove
numbers from the array, also showing
what it looks like at every stage.

There are two more loops in this script.
One prints out numbers ascending, the other
descending. 

=end

# Create an array

number_array = Array.new

# loop uses *push* to add a number,
# *puts and *inspect* to print it

(1..10).each do |i|
    number_array.push(i)
    puts number_array.inspect

end

# loop uses *shift* to remove
# an array element
# 1...10 with three dots runs
# the loop until 9, not 10

(1...10).each do |i|
    number_array.shift
    puts number_array.inspect
end

# *puts* on its own adds a blank line

puts

# *print* prints the output without adding
# a newline character (aka \n) like *puts*

for i in 1..10
    print i
    print " "
end

puts

10.downto(1).each do |i|
    print i
    print " "
end
Fri, 10 Jun 2016

Ruby for Admins

There's a great book available on the web, "Ruby for Admins."

Grammatically it's a little rough -- I would love to contribute via GitHub if that was available -- but the information seems solid.

Thu, 09 Jun 2016

I set up Ruby on CentOS 6

I set up Ruby on a CentOS 6 server. It was Ruby 1.8.7. Makes my 1.9 Pickaxe book seem timely.

I finished my CS class and finished another Election Night script

Finished my first CS class - programming in C++ - and did another Election Night results script that was supposed to be mostly Ruby but ended up mostly Bash. This time I had help and mostly worked on the back end. Things I did: used git and GitLab, generated JSON from XML, used Ruby Gems. Time constraints drove me back to Bash, but I would like to re-write it using MUCH more Ruby.

Sat, 04 Jun 2016

OwnCloud founder starts new project and company called Nextcloud

.@fkarlitschek already left @owncloud, and now he forks the project and starts Nextcloud http://karlitschek.de/2016/06/nextcloud

Sat, 28 May 2016

Fedora 23 yumex-dnf fix is on the way

Fedora's yumex-dnf has been broken for about a week. The issue is with dnfdaemon, and a fix is on the way https://bugzilla.redhat.com/show_bug.cgi?id=1338564#c18

Update: The fix is in. Yumex-dnf is working again.

Wed, 25 May 2016

Yet another GNOME test -- screenshot utility broken

As I do occasionally, I used GNOME 3 instead of Xfce 4.12 today to start my work. It all fell apart when the GNOME screenshot utility barely worked.

Update: I mapped GNOME Screenshot to alt-P instead of PrintScreen, and that works, but it's hard to choose the type of image I want, which is JPG, and the only way to make it work is to take the PNG offered and convert it later.

In contrast, the Xfce screenshot tool works with the PrintScreen key and makes any kind of image I want with no complaining.

Tue, 24 May 2016

Xfce's Thunar file manager is updated to fix crashes

The lovely people at Xfce and downstream at Fedora moved a new version of the Thunar file manager to fix a bug causing crashes when files are cut from one folder and pasted into another -- something I tend to do quite often.

The crash didn't happen every time but did often enough to be a little annoying.

Thanks to all who were involved, from reporting the bug to making the fix and then pushing new code.

Fri, 20 May 2016

x2js for XML to and from JSON conversion in JavaScript, the Crack gem in Ruby and more

I'm still undecided how I will convert XML to JSON in the election results app/script I am working on.

I'm considering Ruby and Node on the back end, and pure Javascript on the front end.

To those ends, I am looking for libraries that can do the heavy lifting for me.

Among the things I've stumbled upon are x2js.

Just putting this here so I don't forget about it.

If I go for Ruby, there is the Crack gem, which is packaged for Fedora, also hopefully for CentOS, and available for installation via Ruby if that doesn't work out.

Also, I don't want to forget my previous entry on xml2json.

Update: I am currently using the Crack gem with Ruby. I'm shelling out to Bash for some file-based operations that I hope to eventually replace with native Ruby code.

My initial idea of doing this all on the client in Javascript wasn't terribly practical because of all the CPU it took to do the XML to JSON operation on such large XML files.

Mon, 16 May 2016

AcousticMusic.org archive of guitar catalogs

Acousticmusic.org has a large archive of old guitar catalogs, best I've seen http://acousticmusic.org/research/history/catalogs #gibson #fender #martin #epiphone

How to get a developer job in less than a year

How to get a developer job in less than a year (Free Code Camp blog) https://medium.freecodecamp.com/how-to-get-a-developer-job-in-less-than-a-year-c27bbfe71645

United RPMs is a new repo for Fedora

United RPMs is a new repo for Fedora https://unitedrpms.github.io

Sun, 15 May 2016

Converting XML to JSON in JavaScript and learning what you need to do when you need to do it

I'm working on my election script, which has been Bash on the server to produce HTML with custom display on nine different websites controlled via CSS. Hacky as shit, but it works.

I've toyed with doing the script in Perl or Ruby, but my colleague Daniel Aitkin asked whether we could script the data into JSON, aka JavaScript Object Notation.

That way we could pretty much do this as a Javascript-on-the-client Web page. For California statewide data, we are working with XML, so a simple conversion to JSON in the browser would do the trick.

And here is one of many solutions to the XML-to-JSON problem: https://github.com/enkidootech/xml2json.

If this works, server-side scripting is limited to fetching and unzipping the XML files from the California Secretary of State. JavaScript will do the rest.

Since LA County sends fixed-width ASCII, this plan goes out the window, but I vaguely remember another ancient data format that I might be able to hack into JSON. Or the LA County data will be mangled the old-fashioned way.

I'm in the mood/mode to do things with JavaScript in the browser. I recently hacked together this simple Web page that takes any URL and spits it out with nine different domains and then copies them to my desktop clipboard via buttons, an admittedly narrow use case but one that I have about 30 times a day.

That's the best way for me to learn: Have an annoying problem and make it go away through code.

Along these very same lines, since I'm collaborating with others on this project, I decided that we needed a way to share the code.

And since I wanted to work out of a private repository, Gitlab ($0/month) beat Github ($7/month). And we are all learning git.

Sat, 14 May 2016

The Firehose Project - A hands-on intro to building modern web applications with Elixir and Phoenix

The Firehose Project - A hands-on intro to building modern web applications with Elixir and Phoenix http://phoenix.thefirehoseproject.com/

Fri, 13 May 2016

What Gitlab has to say about Github's pricing changes

What @gitlab has to say about @github's pricing changes https://about.gitlab.com/2016/05/11/git-repository-pricing/

Mon, 02 May 2016

Jazz Age Guitar website

Great posts at Jazz Age Guitar http://www.jazzageguitar.com

Fri, 29 Apr 2016

Mebe – The Minimalistic Elixir Blog Engine

Mebe – The Minimalistic Elixir Blog Engine https://blog.nytsoi.net/mebe

Elixir and Phoenix: The Future of Web APIs and Apps?

Elixir and Phoenix: The Future of Web APIs and Apps? http://blog.carbonfive.com/2016/04/19/elixir-and-phoenix-the-future-of-web-apis-and-apps/

Evan Miller: Elixir RAM and the Template of Doom

Evan Miller: Elixir RAM and the Template of Doom http://www.evanmiller.org/elixir-ram-and-the-template-of-doom.html

Mon, 25 Apr 2016

Termux brings Linux command line and apps to Android

Termux brings a Linux command line, apt-like package manager and Debian-like repo to Android http://termux.com

Tue, 19 Apr 2016

Perl is a DevOps power tool

Perl is a DevOps power tool http://www.i-programmer.info/programming/perl/9649-with-the-rise-of-devops-perl-shows-its-muscle.html

Mon, 18 Apr 2016

Building a reading queue in Ember and Phoenix, Part 1

Building a reading queue in Ember and Phoenix, Part 1: getting started with Phoenix https://medium.com/@diamondgfx/building-a-reading-queue-in-ember-and-phoenix-part-1-getting-started-with-phoenix-521a19814ae5#.l77gs8eh8

Sat, 16 Apr 2016

In San Francisco, a call to 'Build, baby build!'

In San Francisco, a call to 'Build, baby build!' http://www.nytimes.com/2016/04/17/business/economy/san-francisco-housing-tech-boom-sf-barf.html

Thu, 14 Apr 2016

Multiple transactions are what killed old #StarbucksRewards

Multiple transactions are what killed old #StarbucksRewards. App meltdown is killing new one.

Starbucks had to change Rewards program

I think @starbucks had to change #StarbucksRewards, but a lot of people are not going to like it

Wed, 13 Apr 2016

State of the JavaScript landscape: A map for newcomers

State of the #JavaScript landscape: A map for newcomers http://www.infoq.com/articles/state-of-javascript-2016 -- A nice overview

Tue, 12 Apr 2016

jQuery Bootstrap-style dropdowns

jQuery Bootstrap-style dropdowns http://labs.abeautifulsite.net/jquery-dropdown

Mon, 11 Apr 2016

HTML 5 Tutorials: Dropdown lists

HTML 5 Tutorials: Dropdown lists http://www.html5-tutorials.org/forms/dropdown-lists