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

Regular blog here, 'microblog' there

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

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

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

Mon, 23 Oct 2017

I got an automatic Java update in Windows

Since I installed the JDK instead of the JRE, I didn't know if automatic Java updates would come at all and would cover the development portion of the tools.

I got the update today, and as you can see from the image above of my Windows command line, all is updated.

Fri, 20 Oct 2017

My blog-posting program in Ruby

I'm actually doing it. I'm writing a blog-posting program that will take an http link, extract the remote page's title and create a social-media-style blog post (title, body text and link) that can be easily uploaded to my flat-file blogging system's server.

The idea is to make it as easy to post a "social"-style update to my own blog as it is to post to Twitter (or Facebook or Google+).

(I use IFTTT -- and formerly dlvr.it -- to post these social entries on Twitter, but I could see this program taking over that task as well.)

Back to my application. I could have gone several different ways from a conceptual standpoint.

  • I could have done this idea as a web app, but in order to get the files to upload to the blog, I'd either have to write a server component on that side, or create a backend service -- with some measure of security -- to handle the upload (I'm using FTP, but it doesn't have to be that).

  • I thought about a desktop GUI. I want this to be a true cross-platform app. I seriously considered using the now-ancient Tk framework with Ruby. I less-seriously considered Java FX, though I did successfully hack together code to upload via FTP using Java. (At least it was a worthwhile programming exercise.) I could have gone with QT. Maybe I could have done the whole thing with QML.

I'm not ruling out any of these GUI solutions, but I needed to start coding, and the easiest, quickest thing for me to do (or so I thought) is a menu-driven console app. I could have gone with Java, JavaScript, Ruby, even Perl. I did tests of various components in three of those languages.

I'm writing the app for the console with an eye toward re-using the code in a future GUI app, and for that reason maybe I should have used JavaScript.

But I really wanted to use Ruby. I'm trying to grasp object-orientated programming, and there is a whole lot of web-based help for Ruby programmers that often acknowledges that there are beginners out there who need a helping hand.

And I really would love to eventually port this code to Tk, or even as a Sinatra or Rails app. I should want to do it in JavaScript. But Ruby is so friendly, and it's made for use in the console.

So I'm writing it in Ruby. And I have some 190 lines of code that do the following:

  • Display a menu of tasks and wait for input
  • When a URL is entered, grab the HTML title
  • Create a simple document with a title and text derived from the remote HTML title
  • Add a Markdown-formatted link back to the original HTML page
  • Save all as a text file with an auto-generated file name incorporating the current date and text derived from the title
  • Allow user to enter different text for the title or body
  • Let user choose not to include the source site's URL
  • Save all to a text file
  • Upload to website via FTP and "tell" blog to index the new entry

I have all of these features working, and while the app is very far from perfect, it is functional. The code isn't ready for public consumption -- it needs lots of cleanup before I publish it, and it's really meant more for Ode users and blogs that work in a similar way (files are uploaded to a server, from which the blog software renders them for the reader) than it is for flat-file systems such as Hugo, where a dedicated program builds the blog locally and sends files on their way, but the concepts and code used in this app can certainly be modified for that workflow -- and I'm not at all above doing that in the future.

Aside from adding more features, primarily the ability to edit elements instead of re-typing them (maybe by invoking the vi editor), I want to make the code more modular. Right how it's a huge procedural hack, and modularity (and object orientation) will make it cleaner and more flexible. That's the idea anyway.

Before that I need to clean up the configuration, which is all over the place.

Still, I wanted to make an app, I used the skills I had (and Googled and read plenty), and now I have something that works, however ugly it may look on the back end.

Sun, 17 Sep 2017

Building a Twitter clone with Meteor

From The Meteor Chef:

Tue, 12 Sep 2017

How do I make this program?

I want to create a program that helps me quickly write up a blog post -- especially a "social" blog post based on a link -- and upload that post as a file to a flat-file-driven blogging system.

In case it isn't obvious, I'm not a professional developer. The whole "hey, let's learn to code just because" thing doesn't work so well for me. Tutorials aren't my thing. I need a project. Then I'm compelled to learn what I need to make that project happen, at least in some fashion. The first thing to do is come up with something doable and not so difficult that I can't even get close.

Hence my idea: a flat-file blog posting machine. It's not too complicated. It would be geared mostly for "social" posts, which I stash in a dedicated category directory-driven category on my blog and let IFTTT (and formerly dlvr.it scrape and then send to Twitter. Why do I do this? Because I feel better about "giving" Twitter my free content to promote their business when I have that same content on my website that is wholly owned and operated by me and not them.

Back to the program: I want to be able to enter a URL from a post/story/page that interests me into a box and then have that box generate a title, post body, file name and actual file with the ability to make changes in any of these fields -- all with as little required input from me as a "regular" Twitter post. The program would then upload the file it creates to my web server, also taking care of whatever back-end housekeeping is needed to make that post appear on the blog. And if I could figure out the Twitter API, I could also trigger the social post itself and eliminate the need for IFTTT or dlvr.it.

Read the rest of this post

Wed, 26 Jul 2017

Free book: The JavaScript Way

I just heard about "The JavaScript Way," a book by http://www.bpesquet.com/ that is https://github.com/bpesquet/thejsway/ and a minimum of https://leanpub.com/thejsway.

It bills itself as beginner-friendly yet written to ES2015 standards. I took a quick look, and so far I like it.