Posts by Jeffrey Elkner

Swapping ESC and Caps Lock on Bodhi Linux

When former student Marco Sirabella told me last year that back when Bill Joy first created the vi text editor in 1976, the ESC key was located where the Caps Lock key presently is, a light went off in my head. I had long wondered why the otherwise motion efficient editor had such a glaring flaw, making its users stretch their left pinky fingers so far and so often. I became immediately obsessed with finding the best ways to swap the ESC and Caps Lock keys on all my computers. For most of the Linux distributions I use in my classroom (including Ubuntu, Xubuntu, Scientific Linux, and Fedora, this process is fairly trivial, since the GUI desktop configuration tools support making the swap.

Read more ...


Configuring a Centos 7 Postgres Server for a Fun Database Class

As Shankar Kambhampathy’s July 23, 2018 article in Forbes online magazine is titled, It’s All About Data, or as Catherine Devlin quotes in her keynote address at Pycon 2018, “data is the new oil”. So it is with great interest and enthusiasm that I approach the coming school year, where I will have four students enrolled in dual-enrolled courses titled Advanced Database Management and Data Modeling and Design.

Read more ...


The Time to Rebuild the Labor Movement is Now!

The Janus decision this Summer is part of long period of a sustained, intense, right-wing offensive against working class Americans. Sadly for us, the offensive has been overwhelmingly successful. Ever since Ronald Reagan broke the PATCO strike in 1981, the rate of union participation has been on a steep decline. In an inverse relationship, the share of income going to the wealthiest 10% has been steadily rising. A recent Princeton University paper, Unions and Inequality Over the Twentieth Century: New Evidence from Survey Data, documents the data, which an earlier study by the Economic Policy Institute makes graphically clear.

Read more ...


Remembering Colin Applegate

Back in May I traveled with Prof. Kevin Reed and four of our students from Northern Virginia Community College to Cleveland, Ohio to attend Pycon 2018. Pycon is always an incredible learning experience for computer science students, and we were able to bring four of our students this time in part because of the generous support we received as the first recipients of the Christopher Colin Applegate Memorial IT Fund. This post is dedicated to the memory of Colin, who towers high as one of my most memorable students.

Read more ...


I Love My Ubuntu Phone!

A few months back in Using ssh to Connect to My Ubuntu Phone I described how easy it was to shell into my Ubuntu phone. I’ve now been using it as my only phone for more than three months, so it’s time for a long overdue update.

Read more ...


More Explorations in Free Software GIS

I began working on Explorations in Free Software GIS back in mid November of 2015 (git commit histories are so useful ;-), and I now have a new project to add to it, which involves converting a PostGIS database to SpatiaLite.

Read more ...


Ubuntu 18.04 KVM Dev Server Setup II

I began documenting my current KVM server setup in Setting up an Ubuntu 18.04 KVM Dev Server. In this post I will describe PostGIS installation and the process I use to recreate GIS projects I had running on previous servers.

Read more ...


Remixing OER Textbooks for Computer Science

I’ve begun remixing two OER textbooks for use in my computer science classes:

Read more ...


Setting up an Ubuntu 18.04 KVM Dev Server

With the release of a new Ubuntu LTS a few weeks back, I wanted to take the time to recreate the KVM development server that I use for my current development projects.

Read more ...


Using ssh to Connect to My Ubuntu Phone

About a month ago one of my students told about the UBports project, which appears to be making a viable push to take over Ubuntu Touch after Canonical’s abandonment of it, and to continue development using a community foundation. I am longing for a free software phone platform, and despite my disappointing experience with Firefox OS, willing to keep joining whatever effort seems most likely to succeed until one of them actually does. So I didn’t hesitate to get myself a OnePlus One, install Ubuntu Touch on it, and make it my day to day phone.

Read more ...


Making a CS Gambit

I have a small, very adventurous data structures and algorithms class this year with students hungry to try new things. We are using Python as the primary programming language, and Brad Miller and David Ranum’s Problem Solving with Data Structures and Algorithms as our primary text, but earlier in the course we learned enough C to implement linked lists and stacks in that language.

Read more ...


Cambell's Law

This is a repost of a blog entry I made back on January 12, 2015

Read more ...


The Joy of PHP 1

In a previous post I described the process of setting up a basic virtual machine for PHP development using KVM. In this post I’ll decribe how to use it.

Read more ...


Getting Started with CiviCRM

This is the first of many posts to come that will be tagged CiviCRM . I’m going to follow the setup process documented by NOVA Web Developer, Douglas Cerna, and see how it goes. With any luck I’ll be able to begin exploring CiviCRM and further explore modifications to the setup. As an important example, I can see that these instructions use MySQL as the database. Since the work we will be doing almost immediately will involve geographic data and information, we will want a spatial database, and the clear choice there is PostGIS. We will have to determine how to escape from this quandary, but for now, I just want to get CiviCRM running.

Read more ...


Getting Started with PHP

Now that NOVA Web Development has made the decision to focus on CiviCRM support, I have been forced to deal confront the question of whether I should be teaching PHP to students in my web design and development classes instead of Python. I have been an active participant in the Python community since 1999, and I am very fond of both the language and the community around it, so it is with some reluctance that I make this decision.

Read more ...


PRIMEd for July

In an unexpected turn of events, I will have four high school interns through Arlington Public School’s PRIME program for the next three weeks. Their previously arranged internship fell through, so they will be interning with NOVA Web Development.

Read more ...


Why We Need NEA Members for Our Revolution - A View from Virginia

The NEA is the largest union in the United States, and according to our website, our annual Representative Assembly (RA) is the largest democratic deliberative assembly in the world.

Read more ...


GitHub Pages and the NEA Members for Our Revolution Website

We are using GitHub Pages to host the new website for NEA Members for Our Revolution. In addition to being available without charge, the workflow for editing and deploying changes to the website is fantastic. Regular git commits update the website at the same time as the source repository.

Read more ...


Beginning to Study for the RHCSA

Yesterday on the train ride from DC to Vermont I was able to complete chapter 1 of the Red Hat System Administration 1 curriculum, minus the end of chapter lab which I will do tomorrow. Today I’ll describe the motivation for pursuing RHCSA and talk about the virtual machine setup I’ll be using to practice for it.

Read more ...


A Morning of Networking

I came in early this morning to complete Unit 5 of Cybersecurity Fundamentals, which is the second of two units focused on networking. I’ll be teaching a one week Cybersecurity Camp beginning on August 7th, and this edX course is proving really helpful as preparation for that.

Read more ...


Summer Plans 2017

Tomorrow is officially the first day of Summer, so I’m just in time to start this new weblog with a Summer plans entry.

Read more ...