Create Student User

| May 4, 2020

It’s amazing how old some of my students’ computers are. The oldest with least memory are the foreign students. Fortunately, I kept copies of the old Oracle Database 10g XE. I give it to some students who need to run the smallest possible option. Then, again I have students who get emotional about having to use Unix or Linux as an operating system, which means I now also support Oracle Database 18c.

Anyway, I had (more...)

MySQL Linux to Windows

| May 3, 2020

My students want to transfer their course setup MySQL files from the Linux VM that I provide to Microsoft Windows 10. This post explains how because I found a couple small errors in the Google’d posts they would most likely see.

The first step is required because when I didn’t assign a name or domain to the the Fedora VM, which allows it to run as localhost on any student machine. In tandem, I didn’t (more...)

SQL Developer Error

| Apr 21, 2020

It’s been a couple releases trying to fix the following error thrown by SQL Developer on Fedora 30 and shown as the following dialog:

When you click the Detail button it shows the following error stack:

java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel
	at oracle.dbtools.raptor.javafx.ui.JFXPanelFactory.createJFXPanelImpl(
	at oracle.dbtools.raptor.javafx.ui.JFXPanelFactory.createJFXPanel(
	at oracle.dbtools.raptor.startpage.StartPageViewer.createGUIComponent(
	at oracle.dbtools.raptor.startpage.StartPageViewer.getEditorContent(
	at  (more...)

Fedora 30 pgAdmin4 Install

| Apr 11, 2020

Last September, the pgAdmin4 installation stymied me. I wasn’t sure what was I had done wrong in the installation but I was on a deadline to release my Fedora 30 Linux virtualization. That meant I had to move on and leave it for later. Today, I’m building the new image and returned to the task.

I installed pgadmin4 with the following command:

dnf -y install pgadmin4

The pgadmin4 configuration instructions can be found for several (more...)

Java & MySQL 8.0.19

| Apr 10, 2020

It’s the in-between term time and we’re all stuck at home. I decided to update the image for my Fedora 30 virtual machine. I had a work around to the update issue that I had encountered last October in Bug #96969 but it was not required with the current version. However, after updating from MySQL 8.0.17 to MySQL 8.0.19, I found that my Java connection example failed.

The $CLASSPATH value was (more...)

PostgreSQL Table Function

| Feb 21, 2020

This shows how to write a PL/pgSQL function that returns a filtered table result set while writing to a debug log file. The example requires a small character table, like:

CREATE TABLE character
( character_id    SERIAL
, character_name  VARCHAR );

and, a logger table:

( logger_id     SERIAL
, message_text  VARCHAR );

Now, let’s insert a couple rows into the character table. The (more...)

Python List & Dictionaries

| Feb 16, 2020

The following two sample programs are used in an Python programming course that I teach. I find them useful in qualifying how to work with loops, couple loops, and queues. The first example uses two lists and coupled loops, while the second example uses a single dictionary and FILO queue approach.

The Twelve Days of Christmas lyrics can be printed like so with coupled loops:

days = ['first','second','third','fourth'       \
       ,'fifth','sixth','seventh','eighth'      \

verse = ['partridge  (more...)

Developing Python Libraries

| Feb 13, 2020

I put this together to show my students how to simplify writing and testing Python library files. The trick requires that you learn how to set a relative $PYTHONPATH environment file.

export set PYTHONPATH=./lib

After setting the $PYTHONPATH environment variable, connect to Python’s IDLE environment and run the following code:

import os

It prints the following:


You can also discover all the standard libraries and your $PYTHONPATH value in your environment (more...)

Quick C How-to add .h

| Jan 26, 2020

Somebody wanted a quick example of using a user-defined header file for a constant value. While I think there a lot of examples on the Internet already, here’s quick example.

You can define a header (or global.h) file in the local directory with the value of pi, like this:

// A global header file for constants.
double pi = 3.1415926535;

Then, you can write a little circle.c program like so:


PostgreSQL Write JSON File

| Jan 5, 2020

In the process of working through issues to support ETL transformations from JSON with Python. The first step was extracting a the data from a PostgreSQL table into a JSON file. The syntax wasn’t exactly clear and the PostgreSQL Tutorial was a bit misleading but I worked it out. My initial sample deals with writing the data from the item table of my videodb database to a item.json file in the /tmp directory.

The (more...)