Many of my traditional blog post live on this site, but a great majority of my social-style posts can be found on my much-busier microbloging site at updates.passthejoe.net. It's busier because my BlogPoster "microblogging" script generates short, Twitter-style posts from the Linux or Windows (or anywhere you can run Ruby with too many Gems) command line, uploads them to the web server and send them out on my Twitter and Mastodon feeds.
I used to post to this blog via scripts and Unix/Linux utilities (curl and Unison) that helped me mirror the files locally and on the server. Since this site recently moved hosts, none of that is set up. I'm just using SFTP and SSH to write posts and manage the site.
Disqus comments are not live just yet because I'm not sure about what I'm going to do for the domain on this site. I'll probably restore the old domain at first just to have some continuity, but for now I like using the "free" domain from this site's new host, NearlyFreeSpeech.net.
Since I am not anxious to either dual-boot or replace Windows 10 with Linux on my main laptop (HP Envy 15-as133cl 15t), I thought I would go back to the live distribution that introduced me to Linux -- Puppy -- and see if I could make it do all the things I want and need it to do.
My history with Puppy goes WAY back. I remember running version 2.13 on all kinds of hardware -- castoff laptops, converted thin clients. It would run on anything.
Back then I booted Puppy from CDs. Nowadays, with "modern" Puppy I could boot from USB and save either to the laptop's hard drive or another USB drive.
I downloaded the latest Puppy, Xenialpup, and used the Fedora Media Writer in Windows to put it on a 4GB USB flash drive. Xenialpup is UEFI-compatible, and after turning off Secure Boot on the laptop, I was off and running the super-fast JWM desktop that has traditionally anchored the Puppy live system.
Surprisingly, I was able to get a pretty comprehensive Ode blog-posting setup going. I have Unison: I pulled version 2.40 from an old Ubuntu package and used dpkg-deb to extract the binary since I need the old version and not the Ubuntu Xenial version of Unison, which is 2.48. (On a related note, why is it so hard to get a working Unison 2.48 for CentOS?)
I pulled all of my scripts from the Windows Subsystem for Linux, and I've already synced the blog over to this system.
Thankfully, Puppy's unusual running-as-root way of working didn't screw up my file ownership on the server, or in my Windows Subsystem for Linux copy of the filesystem.
There was one old problem from Linux that I haven't had to deal with in a while: While typing, I had the typical "jumping" behavior due to "interference" with the touchpad. Though Puppy doesn't have a "disable the touchpad while typing" setting, I was still able to solve the problem quickly by disabling tap-to-click with the system's straighforward Input Wizard configuration utility.
Where I ran into problems was with my development environment. I got Ruby to work in Puppy after a little effort, but I couldn't get the equivalent of ruby-dev to build things like the Ruby Twitter gem, and the gem itself, which is a package in Ubuntu, is not easily available for Xenialpup.
So I can post to the blog but can't use my "new" social-posting routine that turns URLs into Ode-compatible files and then sends the results to both the blog and Twitter.
I can't run all the gems I want in Ruby. But I am also exploring Clojure, so maybe that would work.
I did manage to install the JDK, though I had to add it to my path, opting to do so in /etc/profile, in order to get it to work.
I downloaded the Leiningen script and installed it. I can create new Leiningen projects, but the REPL errors out in spectacular fashion.
I haven't tried to get Node working yet, but the Ubuntu version is old (4.2.6), and I'm not confident that this installation will play well with the overall npm ecosystem. I could try to download and install direct, but there's potential for a lot of trouble.
The mechanics of Puppy are working great. Despite the unorthodox packaging and software installation, I did manage to get quite a few things working. I have my favorite text editor (Geany), the full LibreOffice suite via SFS package, the Firefox browser with all of my bookmarks synced, and a super-fast desktop packed with a lot of (mostly) home-grown utilities.
But I couldn't get Puppy to go the last mile.
So the "story" for me and Puppy Linux in 2018 is good until the point at which I want to do development work. At that point it's better to stay in Windows (and the WSL) or opt for a traditional Linux installation.
Now if only there was a "full" Debian live environment that allowed for persistence. Maybe there is. I'll be looking.
So I've been watching Showtime's "I'm Dying Up Here," the excellent series about LA's 1970s stand-up comedy scene and its "Carson's couch means you've made it" vibe, and all I can think about is how easy it was to park your car in LA back in those days.
Pragmatic Programmers, No Starch Press, Manning Books, Packt and Apress fill void left by O'Reilly Media
It wasn't a total surprise in mid-2017 that O'Reilly Media was retreating from tech-book publishing, especially when it comes to offering digital books. It's been more than a while since the company announced that it would no longer sell books -- digital or print -- directly and would instead offer all of its books through the Safari online service and in print via Amazon.
Here are two articles from O'Reilly Media on their decision:
If you look at it, this decision by O'Reilly to exit the direct-sales market didn't just happen out of the blue in June 2010. It was a slow decline over years. O'Reilly (and most other publishers, really) used to offer a whole lot of books on Linux and Unix, and even more on individual programming languages.
O'Reilly really slowed down what it did for Linux (pretty much stopping that category) and put out programming books with longer and longer gaps in between.
Announcing that they would no longer sell directly to readers was just the end of what had already been in motion for a long time. I don't begrudge O'Reilly its sizable conference business, which I'm sure "carried" the book publishing part of the company for years. I also can't fault them for pulling back. It's a business decision. Sure, they are killing their brand, but they don't see it that way. Maybe a brand isn't so valuable if you can't make money with it.
Luckily we have a few tech-book publishers who are doing a great job filling the sizable gap (and, if I'm right, sizable market) left by O'Reilly.
In no particular order, my favorite tech publishers are Pragmatic Programmers, No Starch Press and Manning Books.
On the second tier are Packt and Apress.
I'd also like to mention Leanpub, which is more of an author "platform," but has a lot of content I like.
And then there's the rest of the self-published tech-book world, which you can tap into via Amazon and all over the Web. In particular, a lot of academics are publishing extremely valuable books for free via PDF, sometimes also publishing in print. I've even heard some authors for the "real" publishers say their books sell better when they're also available for free in electronic form. Maybe you get such a big audience for a free book that the percentage who might want a paper copy is bigger than the number who are willing to take a chance on a book that they can't yet read.
What O'Reilly Media used to "bring" was a guaranteed level of quality. I think that PragProg, Manning and No Starch are continuing that tradition. They're "gatekeepers" in the sense that you know it's going to be a good book that really offers value. I don't always get that sense with Packt books. Apress seems to bring a good level of quality, but it's not at PragProg/Manning level.
I'm sad that O'Reilly went all in with their digital subscription model, but they were fading from relevance for years before they made that move. That makes me happy to support the current publishers who are keeping quality high and selling direct to their readers.
I'm looking into this very thing -- using .htaccess to force trailing slashes at the end of URLs requested on the Apache web server.
Stack Overflow may have the answer:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)([^/])$ /$1/ [L,R=301]
The
RewriteCondwill check to make sure there's no files with that name, and if not, perform theRewriteRule. More future-proof than having a manual list of extensions!
I don't have time right now to hack this onto a server, but I will for sure be giving it a try.
Rubyguides.com does a great job presenting all the things you can do with strings in Ruby.
I have a situation where I want all of the directories in my project to have 755 permissions while all files have 644 permissions.
All of the files have the same extension, so it's easy to single them out:
$ chmod 644 *.txt
But what do you do for directories? I did a search, and a Linux Questions thread gave me the answer:
$ find . -type d -exec chmod 755 {} \;
Works like butter.
Two very helpful (and very readable) articles by Ricardo J. Méndez of Numergent. I will be watching for future articles in what I hope will be a series.
I have been experimenting with the Twitter API and using dlvr.it and IFTTT less (ironically because this post will Tweet via IFTTT). My purposefully social posts use a script and the API.
My systems and scripts are all focused on publishing content to my sites. Mirroring them on social media, currently Twitter, is optional and can be modified or pulled altogether at any time.
I'm doing my Linux due diligence by trying out Ubuntu 17.10 now that Canonical has issued new ISOs that won't brick a BIOS. That's a bit of nasty business, to be sure, but it's not enough to put me off of Ubuntu for good.
It's unfortunate that Canonical/Ubuntu made the kind of mistake that would brick a computer, and I can't see Fedora doing this kind of thing, even though the Red Hat-sponsored distro is closer to the bleeding edge.
Not coincidentally I just tried Fedora 27, and I liked it. I don't see much different in Ubuntu 17.10. Both distros use GNOME 3, feature Firefox as their default browser (good because since FF 57/Quantum, it's also my default browser) and offer the LibreOffice suite.
Sure there are major differences in package management (dnf vs. apt) and firewall (firewalld vs ufw), but it's still more similar than different.
The distros both look fairly similar on my 1920x1080 screen, and the fonts seem about the same in both, though Ubuntu features its own font in places where Fedora offers Cantarell. Both are interchangeable, so it's horses for courses, as they say.
The GNOME-ified Ubuntu made its debut in 17.10, so there will be no GNOME-powered Ubuntu LTS until 18.04 (which, now that I look at the calendar, is due in 4/2018, which is only a few months from now).
Until Ubuntu dropped GNOME 2 for Unity back in 11.04, all of the "top" distros shipped GNOME as a default. By that I mean Debian, Ubuntu, Fedora, Red Hat/CentOS and Suse. So there was a great deal of uniformity that made the distro "wars" seem kind of stupid since the desktop is such a major part of a user's experience, and every major distro pretty much offered all of the major desktops (GNOME, KDE, Xfce, Cinnamon, Mate, LXDE). It was notable that only Ubuntu shipped (or even offered) Unity (to the best of my not-comprehensive knowledge).
Now that Unity is dead and Ubuntu is back to GNOME, I hope that there will be more emphasis placed on not just tweaking GNOME but actually developing it to have more of what "power" users want (like actual knobs, levers and buttons to tweak to get the behavior we want).
Hey, as I write this in the Ubuntu 17.10 live environment, my screen keeps momentarily turning upside down and blanking for a moment. This is on an HP Envy with an Intel i7 processor. Hmm. Hopefully that's a byproduct of the live session and not something that will persist in a full installation. I hope not. I didn't experience that behavior in Fedora 27 or Debian 9.3.
To sum up, I'd say that Ubuntu 17.10 and Fedora 27 are more similar than different, with six-month upgrade cycles unless you opt for the Ubuntu LTS in a few months' time. Both are much more "polished" than stock Debian, with less setup pain, though probably more maintenance pain, as Debian Stable is exactly what the second word in its name says it is.
It all comes down to how new you want your packages to be. This really only matters (to me) for the purposes of software development. I think you can either run Fedora, or Ubuntu (possibly the latter with PPAs), and have things be acceptably new. If you need a newer stack, you'll probably be managing it outside of distro package management anyway, so it all comes down to personal preference and what works.