politics

Tampa Mayoral Election – 2019

I often rely on the Tampa Bay Times to provide useful information on local political elections. Their coverage is usually pretty good. But they don’t always cover every election or every candidate. And since I like to do my own research, I figured I’d start blogging about the elections.

Here’s what I’ve found on the Mayoral candidates. The election is March 5th, 2019.

Jane Castor

Campaign website

Job History:
Former Chief of Police of Tampa.

Unique Features:
Castor has been heavily criticized for a policing policy implemented while she was Chief of Police of stopping people on bicycles, as a disproportionate percentage of those people were black.

Harry Cohen

Campaign website

Job History:
Lawyer turned public servant. Worked as Chief Deputy Clerk of the Circuit Court of Hillsborough County from 2005-2011. Elected to Tampa City Council in 2011 and re-elected in 2015.

Unique Features:
The only candidate to put together a fairly detailed transportation plan for Tampa.

Dick “Dickie” Greco

Campaign website
Job History:
Unique Features:
Dickie Greco is the latest addition to the candidate pool, announcing his candidacy in early January. He is also the son of Dick Greco, who was mayor of Tampa multiple times.
Party Affiliation:
Democrat

Michael Anthony Hazard

Campaign websiteTwitter;

Job History:
He’s a Tampa native. His family operates an online human resources and office supply company.

Unique Features:
Hazard is a convicted felon (for bad checks and forgery) who voted illegally in Florida twice (though, this was before the passage of Constitutional Amendment 4 in 2018 that restored the voting rights of felons, which made him eligible to run for Mayor).

Party Affiliation:
Democrat

LaVaughn King

Campaign website

Job History:

Unique Features:
King appears to be the only candidate who is flaunting his religiosity.

Topher Morrison

Campaign website

Job History:

Unique Features:

David Straz

Campaign website

Job History:
Comes from a wealthy family. His mother loaned him the money to buy his first bank.

Unique Features:
I found this quote from an article about a candidate forum interesting, “Straz advocated letting the private sector take the lead on the problem [affordable housing in Tampa] with help from willing banks and city and federal aid. He said he had hired an African-American staffer to “help me in the urban core.“” So, like Trump, put a black person in charge of poverty because blacks are, presumably, all poor?!? That strikes me as remarkably out of touch… And racist.

Mike Suarez

Campaign website; Twitter;

Job History:

Unique Features:

Ed Turanchik

Campaign website

Job History:

Unique Features:

Polling Information:

July 24th, 2018 – St. Pete Polls put Jane Castor at 41%, almost 30% ahead of the next closest candidate, David Straz, at 11%.

Debates and News Coverage:

October 3rd, 2018 – You can read about the first debate here.
December 11th, 2018 – Here’s the coverage from the Tampa Bay Times on the third debate/candidate forum. Candidate statements from that debate on youtube.
January 9th, 2019 – Fourth debate covered here.
January 15th, 2019 – Another candidate forum.


Campaign finance information for all of the candidates is available here.

technology

Linux – OCR PDF

One of the few tasks I have not been able to do on Linux since I switched over from Windows more than a decade ago is optical character recognition (OCR) of PDF documents. I work with a lot of PDFs. Most of them were digital documents to begin with and the text is readily selectable. However, the occasional need arises when I either have to scan something myself or I receive a document that does not have selectable text and is just an image. Up until now, I have kept a software package on a Windows virtual machine (in Virtualbox) specifically to OCR PDFs on the rare occasion when I need to do that. But, I think I can safely move past that thanks to recent advances in OCR on Linux.

I scanned a chapter I wrote in a book recently. The scan looked good (especially after I used Scan Tailor’s Dewarping feature to flatten the pages).

I then converted the TIF files from Scan Tailor into PDF files, put them in the correct order, and was ready to OCR them in the software I used in Windows. However, my virtual machine was giving me some issues and required me to install some updates that were going to take a while (’cause, Windows!). I got the updates started, then realized that I hadn’t checked to see if any progress had been made on OCR on Linux for quite a while (probably a couple of years). A quick Google search landed me on Stack Exchange (where I seem to spend a lot of time these days). There, I found two new options for OCR on Linux. 

The first option was a command line program called “ocrmypdf.” That sounds like a dream! I quickly installed it on my Kubuntu machine:

$ sudo apt install ocrmypdf

A number of additional packages were installed as well. Once it was installed, I gave it a whirl. The command is pretty easy. Navigate to the directory where you have your PDF you want to have recognized then type in the following:

$ ocrmypdf input.pdf output.pdf

My initial PDF (on the left below) was 14 mb in size and looked fine, but I couldn’t select the text – it was just an image. With a quick command, I ran it through the “ocrmypdf” program and got out a nearly identical PDF that was smaller (just 9 mb) and allowed me to select the text (image on the right below).

Original PDF on the left; OCR PDF on the right.

In the next image, you can see that I can select the text in the OCRd image:

I can select the text in the OCRd image.

Finally, the real question is, how accurate is the OCR? The image below shows the OCR document next to the text:

PDF on the left; selected text copied and pasted on the right.

As you can see, this isn’t award-winning software. It’s probably 80 to 90% accurate. But that is more than sufficient for what I need most of the time. And, as FOSS, I’ll take it. My rating: 8 out of 10. But given the speed with which I can do this, I’ll absolutely be using this over the old software I was using on a virtual machine before.

On the same page where I found “ocrmypdf,” there was mention of another software package: “ocrfeeder.” Since I had been dreaming of this kind of software for ages, I figured I’d give it a spin as well. I downloaded “ocrfeeder” quickly:

$ sudo apt install ocrfeeder

I then tried to pull up the GUI… And… Nothing. Perhaps I needed to reboot. Not sure. But “ocrfeeder” didn’t seem to be working on my install (Kubuntu 18.10) when I tried to run it.

technology

LibreOffice – Impress Templates and Object Styles

I just upgraded one of my computers to Kubuntu 18.10. With that upgrade came the latest version of LibreOffice (6.1.2.1).


With this new version, when I try to create a new Impress document, I’m now forced to pick a template. The options aren’t terrible, but I am of the opinion that presentations should focus on the content, not the pretty colors, shapes, or designs around the content.

I wanted a plain as can be, black and white template. There wasn’t one to be found. So, I created one.

I’m not going to go into the process of how to create a template in this post, but I do want to note one thing that I learned while creating my template. There is a quick way to change the characteristics of drawing objects in LibreOffice as well. I have always hated the default color when I create a box or circle in Impress (usually it’s some ugly blue color). It is possible to change the defaults for those, but doing so also seems to affect the defaults for outline boxes (not sure why). But it’s also possible to simply create a new style for objects and then apply that style once you’ve created your object, just like can be done with text. Here’s how you do that.

First, make sure you have your right side panel open in Impress and click on the Styles tab.

I initially tried changing the Default option in the list of styles, but that ended up changing the characteristics of the outline boxes, which I didn’t want to do. So, instead, what you need to do is create a new style (or modify one of the existing ones). You can create a new style by right-clicking on one of the existing styles and selecting “New” (my mouse was on “Modify” in the screenshot below). 

In the window that pops up, you can change the fill color under the “Area” tab and the line color under the “Line” tab. 

Since I like super plain, I changed mine to a grey fill with a black outline. Now, when I create a new drawing object, I can simply select it and double-click the style and it is how I like it:

I also saved this as part of my template. So, now, when I create a new Impress presentation, I load my template, and all of the settings I like are already in place.

(NOTE: How to save this as a template. Click on “File -> Templates -> Save as Template.” You’ll get a new window. Name your template and pick your folder. It will then be saved as a template for you that you can use when you create a new Impress file.)

technology

LibreOffice – animating elements or series in a chart/graph in Impress

I really like LibreOffice. It’s not just my default office suite because it’s free. I like it because of the control it gives over so many elements of what I do in my day-to-day work. However, this post is one of those where I lament the fact that it is missing a feature that other similar software has had for over a decade: the ability to animate a series or element in a chart or graph. There is a way to do this, but it is extremely clunky and should really be a feature that is added to the software.

Assuming you want to use LibreOffice to animate a series in a graph or chart, here’s the process.

First, create your graph. I created mine in LibreOffice Calc.

Now, copy and paste that into a slide in Impress. 

Check to be sure the chart looks exactly how you want it to look, because this next step is going to make it so any future changes to your chart will be really time consuming. What you’re going to do is right-click on the chart and select “Break”.

What the “Break” command does is separate every element of your chart into individual pieces. You can test this once it’s done by clicking on any one piece of the chart and you’ll see that it doesn’t select the chart anymore. It select just the single piece of the chart, as shown in this next image.

So, after “breaking” your chart, you have all the same elements, but they are all broken into individual pieces. What that means is you can now animate every single piece of your chart.

Of course, if your goal is like mine and you want to show change over time by animating a series from left to right, there are a couple more steps. 

To animate an entire series, you have to select the whole series. You really need to do this by dragging a selection square around the relevant elements, since there are is an outline of each marker in an element, the fill component, and then the line. Selecting each component individually is basically impossible. So, drag a square around the elements you want to link together like this:

Then right-click on them and select “Group”. Once you’ve got the elements grouped together, you can then “Animate” the group using a Wipe animation from left to right.

Here was my result once you play the slideshow:

LibreOffice programmers, if you’re listening out there. I love the software. But this is a feature that should be included and not require this length of work. Please add it.

technology

Linux – tinyMediaManager on Kubuntu 18.04

I run a network attached storage (NAS) device at home to manage all my media (e.g., music, videos, photos, etc.). I have used various programs over the years to manage the naming and organizing of my music files but just recently discovered tinyMediaManager for managing video files. Since it’s written in Java, it works on any OS, including Linux.

Given my large collection of movies, I have been looking for software that would properly name and organize all of them. tinyMediaManager seemed like the perfect solution, but I immediately hit a snag once I tried to get it running on Kubuntu 18.04 (my current distribution of choice). I couldn’t get the GUI to launch. It took some doing, but I eventually figured out how to make this work on Kubuntu 18.04.

First, download the tar.gz file here. (Note: I couldn’t download it using Chrome, as the tinyMediaManager site only lets you download it using a browser that allows Java and, as of Chrome 45, Chrome doesn’t. I used Firefox, which worked fine.).

Untar that file and move the resulting folder wherever you want it to reside (obviously, somewhere you have access to it, but, otherwise, it doesn’t matter).

Now, the tricky part. According to the tinyMediaManager website, all you need to do to launch the program is use a terminal to navigate to the folder you just untarred and use the command:

cd /home/ryan/tinyMediaManager
./tinyMediaManager.sh

When I tried this, it didn’t work. It seemed like it was trying to do something, but then the GUI wouldn’t open and… nothing. Disappointed, I started looking for answers. I eventually found the “launcher.log” file in the tinyMediaManager folder and that gave me the clue I needed to solve the problem. As it was trying to launch, it was running into a problem with a specific thread and library in the version of Java I had installed by default. Here was the error:

Exception in thread "Getdown" java.awt.AWTError: Assistive Technology not found:

It turns out, tinyMediaManager has not been updated to work with newer versions of Java. So, here’s what you can do.

First, install the Open Java Development Kit version 8 which is the latest version it works with:

sudo apt-get install openjdk-8-jdk

It turns out, you can have multiple openjdk’s installed at the same time. I was running as my default openjdk 11. Now, in order to switch to the openjdk 8 environment, type in the following command at the terminal:

sudo update-alternatives --config java

You’ll then be given the chance to choose which openjdk you want to use, like in this screenshot:

Choose openjdk 8 as your default. Then try running tinyMediaManager again. If the software gods are smiling upon you, the GUI will launch: