Title photo
frugal technology, simple living and guerrilla large-appliance repair
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

Inspirational Pixels: Creating a Dropdown Menu with HTML & CSS

Inspirational Pixels: Creating a Dropdown Menu with HTML & CSS http://inspirationalpixels.com/tutorials/creating-a-dropdown-menu-with-html-css

Stack Overflow: How to make a pure css based dropdown menu

Stack Overflow: How to make a pure css based dropdown menu http://stackoverflow.com/questions/9953482/how-to-make-a-pure-css-based-dropdown-menu

Sun, 10 Apr 2016

Have you heard of Blankenship Amp Repair and ARS Electronics, both in Van Nuys?

I have to confess that I'd never heard of Blankenship Amp Repair and electronic tube seller ARS Electronics until just now. And both are in Van Nuys.

Ilene told me about her co-worker, a guitar collector, who bought an old Fender Super Reverb amp that might have been in a fire, but definitely didn't come with any of its four speakers.

He was taking the amp, or what was left of it, to Blankenship Amp Repair, where Roy Blankenship will fix your amp or make you a new one that's just like the old ones, only better (and with better parts). His clients include just about everybody in rock 'n' roll. To learn more about what Blankenship Amp Repair does, check out its Facebook page.

If you're more the do-it-yourself type, and need electronic tubes for anything from guitar amplifiers and vintage radios to broadcast transmitters, radar and x-ray machines and military equipment, ARS Electronics on De Celis Place near the Van Nuys Airport probably has it. They also sell connectors, speakers, capacitors (if it's old, the capacitors are probably bad, and you need new ones) and transformers.

Take a look at the ARS Electronics history and contact us pages. It looks like a great place to get just about anything made out of glass that glows and isn't a light bulb.

Fri, 08 Apr 2016

Hackaday is awesome

Hackaday is awesome http://hackaday.com/

Newspapers don't like Brave Software's ad-replacing browser

Newspapers among those threatening to sue Brave Software for browser that will block and replace ads http://www.infoworld.com/article/3053525/security/javascript-founder-brendan-eichs-company-could-face-legal-action.html

Round-up of Elixir books and resources

Round-up of #elixirlang books and resources http://blog.jordan-dimov.com/round-up-of-elixir-books-and-resources/

The business case for switching to Elixir

The business case for switching to #elixirlang http://blog.jordan-dimov.com/10-reasons-to-switch-to-elixir-from-python/

After 25 years, Linus Torvalds still wants Linux to take over the desktop

After 25 years, Linus Torvalds still wants Linux to take over the desktop http://www.cio.com/article/3053507/linux/linus-torvalds-still-wants-linux-to-take-over-the-desktop.html

Ubuntu Bash for Windows 10 not quite ready

Ubuntu Bash for Windows 10 not quite ready http://www.theregister.co.uk/2016/04/07/windows_10_with_ubuntu_now_in_public_preview/

Tue, 05 Apr 2016

When to choose Elixir over Ruby

When to choose #Elixir over #Ruby https://www.amberbit.com/blog/2015/12/22/when-choose-elixir-over-ruby-for-2016-projects

Mon, 04 Apr 2016

Elm with Elixir and Phoenix

Elm with #Elixir and #Phoenix http://www.cultivatehq.com/posts/phoenix-elm-1 #elmlang

Elm for the front end, right now

Elm for the front end, right now https://bendyworks.com/elm-frontend-right-now #elmlang

Fri, 18 Mar 2016

Radio Boulevard

The Radio Boulevard web site looks like hell, but the vintage-radio content is very, very golden http://www.radioblvd.com/

Rebulding an R-390A military receiver

Great page on rebuilding an R-390A, the holy grail of surplus military receivers http://www.radioblvd.com/R-390A%20Rebuild.htm

Thu, 17 Mar 2016

2 posts, 1 timestamp - dlvr.it doesn't like that

Key to getting dlvr.it to work well with Ode: don't upload without setting Indexette timestamps locally (and staggering by at least a minute)

I have been wet shaving

I have been 'wet shaving' with a safety razor and one of those brushes (no badger!) That is all.

Nearly 3 years with one laptop, one Fedora installation

I have been running the same Fedora installation, upgraded from F18 to 23, for nearly 3 years on this HP Pavilion g6 laptop

I am working on lots of programming at once

I am studying C++, working on Perl code for my blog and now coding a simple JavaScript web app pretty much all at once

Thu, 10 Mar 2016

K8IQY's QRP Rigs: "Hardware Defined Radios"

K8IQY's #QRP Rigs: "Hardware Defined Radios" http://www.k8iqy.com/qrprigs/QRPRigs.htm

Tue, 08 Mar 2016

I learned a couple of things about Ode add-ins (and Perl in general) today

I've been having trouble with my Ode Counter add-in.

I have been using File::Find to gather filesystem information and make it available to Ode, and I learned two things.

1) The Ode add-in framework allows the passing of scalar variable data from add-in to non-post areas of the site, but it doesn't allow passing of arrays. This is easy enough to work around. You just convert the array to a scalar. There is more than one way to do this, but I chose this one:

$directory_list = join('', @directory_list_array);

2) Producing acceptable HTML out of the add-in is one thing, but for it to transfer properly to the Ode site, all the usual characters must be "escaped" on the server side:

Instead of:

<li><a href="/blog/programming/perl/">Programming > Perl</a></li>

It must be:

<li><a href=\"\/blog\/programming\/perl\/\">Programming > Perl<\/a><\/li>

Once I fix my regex, I'll be in business.

Mon, 29 Feb 2016

Update on the Counter addin, version 3, for Ode sites

I've been working on and off on the next version of the Counter addin for Ode sites.

The last update added counts of photos in the blog's filesystem to the original counts of entries with breakouts for traditional blog entries and social updates (basically counting everything in the whole documents directory and the updates directory, then using a little math.

I used the File::Find CPAN module as the backbone of the addin.

The next thing I wanted to do, also using File::Find, was to crawl the blog's filesystem and generate a categories list that can be displayed on the site.

So I've been playing with File::Find, Perl regular expressions and arrays.

I am able to generate an array made up of every directory that contains Ode posts, and I'm working on the regex to make the HTML and display text look exactly the way I want.

At this point I have a pretty good looking array, and I'm ready to move the Categories code (which I'm developing in a local directory with a "dummy" filesystem) into the main Counter addin code.

There are still some issues to work out, but as soon as I get the next version of the Counter addin ready, I will make it available for download and also hopefully have it on Github.

Wed, 24 Feb 2016

Fedora: break fast, fix fast

That's how it is with @fedora -- something breaks every once in awhile, but it's almost always fixed rather quickly.

Fedora developers dealing with sqlite dependency issue

Fedora 23 has been suffering from a sqlite updating issue for the past week or so, but it looks like a fix is on the way.

Mon, 22 Feb 2016

Linux Mint damned, no faint praise in sight, for security, packaging and professionalism issues

.@Linux_Mint dammed, no faint praise in sight, for security, packaging and professionalism issues https://lwn.net/Articles/676664

Reddit response to Linux Mint woes

The @reddit community responds to @Linux_Mint's security (and other) issues https://www.reddit.com/r/linux/comments/470pvo/to_conclude_i_do_not_think_that_the_mint

Thu, 18 Feb 2016

Can't the feds just image an iPhone, reimplement it in software and crack it at their leisure?

Can't the feds just image an iPhone, reimplement it in software and crack it at their leisure?

Thu, 11 Feb 2016

How UbuCon brings a new element to LA's SCALE

How #UbuCon brings a new element to LA's #SCALE show https://daniel.holba.ch/blog/2016/02/trip-report-ubucon-summit-scale14x #Ubuntu @Mark_SABDFL

VCs who miss the point of open source shouldn't fund it

VCs who miss the point of open source shouldn't fund it http://www.infoworld.com/article/3032120/open-source-tools/vcs-who-miss-the-point-of-open-source-shouldnt-fund-it.html by @webmink

What is standstorm.io?

What is @standstormIO? An open-source, easy-to-use server platform for web apps featuring sandbox-based security https://sandstorm.io/

Mon, 01 Feb 2016

Learning more Perl for my Ode Counter add-in

I learn better, or should I say I only learn how to program when I have an actual problem to solve.

My current "problem" is figuring out how to generate more data out of my Ode blog's filesystem for my Ode Counter add-in.

I already report 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.

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.

Read the rest of this post

Sat, 30 Jan 2016

Computer science and me and computer science and me

I might as well come right out with it.

I'm going back to school. Community college. For computer science.

Ilene thought I should do it at least a year ago. She's smart 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.

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 Go.)

Read the rest of this post

Thu, 28 Jan 2016

I think Brave is going to be big

The @brave browser is going to be big if it can meld the speed of Chrome with a users-first mentality

Linux advice: How to get started with Debian (or any Linux) web server

I answered this question on Quora and figured that I might as well put the answer here, too:

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

Here is my answer:

You should definitely get The Debian Administrator's Handbook.

Then there is everything on the Debian documentation page.

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.

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.

O'Reilly is releasing a new version of The Apache Cookbook in two months. I highly recommend it.

I also recommend two No Starch Press books: How Linux Works: What Every Superuser Should Know and The Linux Command Line: A Complete Introduction

This part is not on Quora:

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.

That pretty much happened, but seeing a new "Apache Cookbook," plus these two excellent titles from No Starch as well as a third, The Linux Programming Interface: A Linux and Unix System Programming Handbook, I see four very compelling Linux books that aren't woefully out of date.

They may not be focused on individual distros, but that is a strength, not a weakness.

Mon, 25 Jan 2016

The year ahead in C++

The year ahead in C++ http://meetingcpp.com/index.php/br/items/cpp-in-2016.html

Dave Cross: Why learn Perl?

Dave Cross: Why learn #Perl? http://perlhacks.com/2016/01/why-learn-perl Plus his whole site is great: http://perlhacks.com

Sat, 23 Jan 2016

I'm enjoying GNOME 3 today. That is all.

Today I'm enjoying GNOME 3 in Fedora 23.

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.

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.

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.

Or that's how I'd like to think about it.

In related dark-theming news, Fedora did fix yumex-dnf 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 dnf).

One unfortunate thing: The Eclipse IDE looks like HELL with dark theming. Eclipse developers, you wound me.

Wed, 20 Jan 2016

Geany builds Java and C++ programs, does it on everything

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 Geany will build and run both Java and C++ code.

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

I even tested a Perl script in Windows, where I'm using Strawberry Perl. 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."

Note: I did install Microsoft Visual Studio Community because I have a feeling I'm going to need it (though instinctively I lean toward Netbeans, and practically am using Geany).

One thing I'm learning about C++ as I dip the very tips of my toes into its vast waters: Like Perl but more so, there is definitely more than one way to do it.

Tue, 19 Jan 2016

Twitter intermittent this morning and last

Both today and yesterday, Twitter has been less than healthy

Mon, 18 Jan 2016

Go has been updated in Fedora

Go has been updated to 1.5.3 in #Fedora http://koji.fedoraproject.org/koji/buildinfo?buildID=711203 #golang

Right now, this is the current Go release. That makes Fedora a great platform for Go programmers.

Fri, 15 Jan 2016

I dislike 'listicle' articles that are just clunky photo galleries

I dislike 'listicle' articles that are just clunky photo galleries -- I'm looking at you, @zdnet

Thu, 14 Jan 2016

Lengthy list of what's wrong with Linux

I found this very long list of things wrong with Linux http://itvision.altervista.org/why.linux.is.not.ready.for.the.desktop.current.html