The Twelve Doctors and the TimeHorse

Doctor Who: 57 Years Young

The Twelve Doctors and the TimeHorse
A version of the 50th Anniversary background with the TimeHorse Logo. Hence, some currently beloved Doctors are missing.

Today is Doctor Who Day, the anniversary of the first ever episode of Doctor Who. And seeing as it’s also the day that my Reston Writers’ Review meets, I decided I should try my hand a fan fiction once again.

Yes, I did say once again. In fact, my first ever written work was from when I was 14 or so years old, and a huge fan of the program. Colin Baker was the Doctor back then and his companion was Perpugilliam ‘Peri’ Brown. I wrote it to take place during the mysterious disappearance of the Roanoke Colony in Virginia (Modern North Carolina) and involved the Terrible Zodin, a character never appearing on camera, created by Terrance Dicks. Indeed, the character is only mentioned in two off-handed comments in The Five Doctors and Attack of the Cybermen.

For 2020, I wanted to use the Sixth Doctor again only this time with his second companion, Melanie ‘Mel’ Bush, a software engineer—and in my story, a cyber-security expert. I teamed her up with Yasmin ‘Yaz’ Khan and the Thirteenth Doctor. And for fun, I had them fight Missy, with cameos from all the other Masters. Of course, I did need one final cameo to make the multi-Doctor story complete. I added the Doctor’s Granddaughter, Susan Campbell and her husband David as well.

But, let me be honest. The story was total rubbish. I rushed to write the whole thing on my phone on Sunday night just to get it uploaded in time, and like my feeble attempt at a Halloween story with only 101 words, it sunk like a lead balloon. I guess I’m just not on my writing A-game these days. I just need to find the time… does anyone have a TARDIS!

EDIT 2020-12-10: Forgot to post this on Doctor Who day. It was originally scheduled for posting on Monday, 23 November, 2020. Sorry for the delay.

The Hourlings Podcast—Episode 3: Finding the Time

For this episode, I’m back, but our intrepid host Martin Wilsey was unable to attend so the Toastmaster extraordinaire David Keener to host us as we talk about how to find time between work, and home, and all the other things you have to do with life. Believe me, I barely even find the time to update this site, never mind write.

Another Finely Structured meeting, if I do say so myself.

I hope you find the time to watch it and keep writing. I hope to see you next week!

36 Hours…

I bought my current iPhone on 30 September 2013—over 7 years ago. My iPhone 5S has served me well throughout the years but for the last fourteen months or so, I have been chafing over the inability to upgrade my phone to the latest Operating System. I knew then that, despite preferring the finger login, it was time for an upgrade or the massive, up-front cost.

However, I wasn’t ready just yet. Then SARS-CoV-2 happened, I had to quit my job for more money. Then COVIDWISE was released, and yet totally incompatible with my phone! This wan’t even the first app I was unable to download requiring Bluetooth Low Energy (BLE) technology. I was becoming more and more distressed over my inability to install the apps I so desperately wanted—even more so having forgotten some of them with no way to bookmark or remember. And, as an App Developer, I really should have the latest gear to test out the latest technologies.

iPhone 12 Pro Max ½TB, Blue
iPhone 12 Pro Max ½TB, Blue

On 10 July, with my final vacation payout, I decided it was time to upgrade. I knew a new Phone was coming soon—and hoped it would add 5G support. I waited. The September Apple event came with no update. The October Apple event came with an announcement but you still couldn’t buy the iPhone 12 Pro. The date on the order page said I had to wait until 23 October for that. So I waited so more. I got up early on that Friday and, yes, the iPhone 12 Pro was available, but not the 12 Pro Max! I had to wait until 6 November for that!

And I did.

The phone is on its way. 36 hours and counting…

iPhone 12 Pro Max in Transit
iPhone 12 Pro Max in Transit

Keep coding my friends and write great software. I hope you will be as gainfully employed as me, soon!

The Hourlings Podcast, Episode 2: World Building

This episode of the Hourlings Podcast was one I could only contribute to in indirectly. We have a new YouTube channel, Channel 137—which I hope you will follow—and you may be wondering where the 137 comes from.

As an author, as well as a Physicist and Scientist, I have an affinity for the wonders of the physical world—and so does host Martin Wilsey. The number 137, or more specifically it’s approximate reciprocal, 0.007 297 352 569 3(11), which is about , is important to Physicists. It represents the Fine Structure Constant, ⍺, a ratio between the square of the Fundamental Charge and Planck’s Constant, the Speed of Light, and the Permittivity of Free Space:

The derivation of Alpha
This is the most common formula for calculating Alpha.

Originally, it was a was of defining the distance between spectral lines but has been found in many other physical properties. It’s quite a number!

Which is why we will be ending each meeting with a note about how it was so finely structured!

Another Finely Structured meeting, if I do say so myself.

Hope you enjoy the episode despite my lack of tales of intelligent octopuses and planetary colonists suffering technological attrition. Oh, well.

I’ll be back next week though so keep writing and hope to see you there!

The National Popular Vote, Virginia, and then…?

Earlier this year, the Virginia House of Delegates voted to pass the National Popular Vote Interstate Compact. It then went to the Virginia Senate where it was tabled in the Senate Privileges and Elections committee where it now remains. Unlike most tabled legislation, we have it on good authority the Senate P&E will vote on it in early December. If we win there and then in then, assuming we get at least Twenty of the Twenty-One Democrats and—worst case—no Republicans, we can pass the Senate and the General Assembly with the Lieutenant Governor breaking the tie. Governor Northam has promised to sign the bill when and if we do!

But then what?

Minnesota!

Starting now begins our #PopularVote2024 strategy where we look to shore up the last five or six states to get us to 270. One of those states will almost certainly be Minnesota, land of 10,000 lakes! I’ve been to Minnesota, it’s absolutely gorgeous, and the Mall of America is a sight to be seen, as is the Mary Tyler Moore house.

Today, I worked with some fellow NPVIC advocates to find some likely soft Republican districts we could target to get voters to call their State Representative and ask them to support the National Popular Vote Interstate Compact. Of the 134 House Districts, we selected 4 that were battleground districts and one that was a hail-mary pass for any Republican challenger.

Minnesota Legislative Districts
The 134 paired legislative districts of Minnesota; we hope voters in these districts can help Minnesota to be the next state after Virginia to join the National Popular Vote Interstate Compact

We don’t know how well this will go but nothing ventured, nothing gained, eh? And we must try anything that gets us to #PopularVote2024!

Got Melk

Stift Melk
Melk Abbey, a full view. The photo is out of focus as the focus lock on an iPhone 3G was wonky. Friday, 22 October, 2010. © 2020 Jeffrey C. Jacobs

Melk, Austria, is a small, monastery town in North-Central Austria. I visited there in ten years ago today, in 2010, on a trip across Austria. Melk was our first stop as we left for there right after landing in Wien.

2010 was kind of a melancholy year for me since I decided to become a Vegetarian for just that year. I wasn’t ready so reverted back to meat in 2011, but a couple years ago I stopped liking the taste of meat so I went back to vegetarianism. The sad thing was that here I was in Austria and I couldn’t eat authentic Wiener Schnitzel.

The sky was clear that day, perhaps too clear, and the buildings of the abbey shown beautify. I wish the photo could give it justice but the iPhone 3G back then was just not up to snuff.

That said, the Chapel was lovely and I did like how that photo turned out. I love Austria and hope to return someday. Grüß Gott!

Stift Melk, Kapelle
Melk Abbey Chapel. Photo from Friday, 22 October, 2010. © 2020 Jeffrey C. Jacobs

EDIT 2020-12-12: Forgot to post this on the day in question. It was originally scheduled for posting on Thursday, 22 October, 2020. Sorry for the delay.

How to Install Glassfish

Glassfish is a Java Library for creating Java Message Queues. Regular readers my be surprised to know I am also a Java coder since I usually talk about Python and C++, but just as I occasionally speak Italian, I am multilingual. In this case, though, this is all about Java.

Unfortunately, despite what it’s billed to be, Glassfish 5 isn’t as turn-key an application as it appears to be and therefore I wanted to fill in the gaps for would be message queuers—whatever the word is—who may be struggling.

First, let’s download Glassfish: https://javaee.github.io/glassfish/download

When you check out the readme file, you’ll see the following text:

2. Starting GlassFish
=====================
The 'asadmin' command-line utility is used to control and manage GlassFish (start, stop, configure, deploy applications, etc).

To start GlassFish, just go in the directory where GlassFish is located and type:
        On Unix: glassfish5/glassfish/bin asadmin start-domain
        On Windows: glassfish5\glassfish\bin asadmin start-domain

After a few seconds, GlassFish will be up and ready to accept requests. The default 'domain1' domain is configured to listen on port 8080. In your browser, go to http://localhost:8080 to see the default landing page.

To manage GlassFish, just go to web administration console: http://localhost:4848

The GlassFish README.txt file.

That’s all well and good, but, if you’ve never used Glassfish before, when you follow those steps, you’ll see the following cryptic error:

Exception in thread “main” java.lang.NullPointerException: Cannot invoke “org.glassfish.hk2.api.DynamicConfigurationService.createDynamicConfiguration()” because “dcs” is null
      at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.initializeServiceLocator(AbstractModulesRegistryImpl.java:152)
      at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.newServiceLocator(AbstractModulesRegistryImpl.java:144)
      at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.createServiceLocator(AbstractModulesRegistryImpl.java:218)
      at com.sun.enterprise.module.common_impl.AbstractModulesRegistryImpl.createServiceLocator(AbstractModulesRegistryImpl.java:224)
      at com.sun.enterprise.module.single.StaticModulesRegistry.createServiceLocator(StaticModulesRegistry.java:88)
      at com.sun.enterprise.admin.cli.CLIContainer.getServiceLocator(CLIContainer.java:217)
      at com.sun.enterprise.admin.cli.CLIContainer.getLocalCommand(CLIContainer.java:255)
      at com.sun.enterprise.admin.cli.CLICommand.getCommand(CLICommand.java:231)
      at com.sun.enterprise.admin.cli.AdminMain.executeCommand(AdminMain.java:371)
      at com.sun.enterprise.admin.cli.AdminMain.doMain(AdminMain.java:306)
      at org.glassfish.admin.cli.AsadminMain.main(AsadminMain.java:57)

$ glassfish5/glassfish/bin/asadmin start-domain

Clearly, Glashfish is not a turn-key installation.

From here, it was up to me. Google was no help. "dcs" is null as a search term was too generic and including the full, topmost error only gave a page with sample Java code, not how to actually start the server.

To the best of my ability, I believe the error is related to the DynamicConfigurationService object—that’s what dcs stands for.

Looking through the QuickStart document I thought maybe it’s because I didn’t install to my home directory, ~, but moving it there produced the same results.

The next thing to try is to downgrade to Java 8. I’m not fond of Java 8 as it was one of the last Java versions to be 32-bit—which is incompatible with MacOS Catalina—but fortunately, Oracle provides a 64-bit, Catalina-compatible version.

Once Java 8 was installed, I just needed to tell my terminal to use that version instead of the default one. First, I needed to get the location for Java 8 in the list of installed Java VMs:

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (3):
    15, x86_64:         "OpenJDK 15" /Users/username/Library/Java/JavaVirtualMachines/openjdk-15/Contents/Home
    13.0.4, x86_64:     "Zulu 13.33.25" /Users/username/Library/Java/JavaVirtualMachines/azul-13.0.4/Contents/Home
    1.8.0_261, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home

/Users/username/Library/Java/JavaVirtualMachines/openjdk-15/Contents/Home
$

What Java VMs are available?

Finally, I had to set the local Terminal to use the Java 8 VM:

$ export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0_261`
$

Set the Java VM to Java 8.

Success!

$ glassfish5/glassfish/bin/asadmin start-domain
Waiting for domain1 to start ......
Successfully started the domain : domain1
domain  Location: /Users/username/glassfish5/glassfish/domains/domain1
Log File: /Users/username/glassfish5/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.
$

Starting Glassfish!

I hope that helps and I am so happy with my new job!

My Statement to the Virginia DMME

Today is the last day you can leave comments for the Virginia Department of Mines, Minerals, and Energy with respect to an electric car rebate for both new and used Electric Vehicles. If you do wish to leave comments, please try to watch the video attached to the comments form.

For the record, here is my testimony:

Thank you Delegate Reid for proposing HB717. I am sorry it’s taken so long for me to add my testimony but what I want to say is to add, as I said in my committee testimony, that providing Rebates on new and used Electric Cars has long-term CO₂ benefits. Considering first when someone is interested in buying their first vehicle. If we put a rebate on that first vehicle, new or used, then the buyer will be more inclined to stick with electric for the second, third, and fourth car. What’s more, it makes her family more likely to continue the tradition of an electric car family.

Secondly, some of the most polluting vehicles in our Commonwealth are owned by those Virginians of lesser means. The problem for them is that electric cars are too expensive, even used electrics. We need a rebate that puts the $5,000 LEAF into the hands of those folks who now drive the most polluting ICE vehicles of all. This would give us the biggest bang for the buck. They are also usually the least fuel efficient vehicles, and thus moving them to use fuel generated right here in the Commonwealth would greatly reduce our local fuel imports.

That is why we need a rebate of the maximum amount for both the cheapest of vehicles and for first time car buyers.

This is also why it must be a Rebate at the dealership. It shouldn’t be like Maryland where the application is submitted and the buyer has to wait for money allocated in the General Fund. The Virginia bill should be based on a fuel tax, in this case, I think a tax should be passed on all coal and natural gas (CH₄, methane) plants which generate power for the electric car. That would have the dual benefit of pushing Dominion to move more of its generation to renewable. Since electric cars will be generating more revenue for the Power Utilities, using a tax on Dominion to pay for more revenue for Dominion seems very apropos. What’s more, this will get us out of the trap of waiting for more money from the General Fund when many used vehicle drivers can’t afford to wait that long. Indeed, ideally, if the dealership could apply the rebate and then file it with the Commonwealth to be reimbursed, then this would be idea for first time electric car buyers. If that can’t be done, having the dealership file the paperwork and send the check to the buyer would be acceptable.

Beyond that, please consider not the MSRP of a vehicle when setting the cap on the Rebate, but rather the value used to generate property tax. None of the feature add-ons like Tesla Autopilot should put a vehicle outside of the price cap. AutoPilot is a feature that makes electric cars safer, and pricing it out of the rebate could result in fewer cars with that feature and thus less safe vehicles.

I think the Maryland cap of $60,000 is good for Virginia as we are similar states. I would also accept $50,000, which is still available to the base model Tesla if Autopilot is ignored. But the top of the cap should be graded, such that, if the cap is $50,000, a $49,000 vehicle gets a maximum of $1,000, a $48,000 gets $2,000 max, until the price goes down to a point where the full cap can be realized. That would alleviate any shock by the price going up astronomically at $50,001.

As for how to scale the rebate, I would like our goal to be based on the total number of vehicle registrations in the Commonwealth. Ideally, we should target total registrations, like 1% of all vehicles registered in Virginia be the goal for full funding, and 2% of all registrations be 66% of the rebate, and 3% of all registrations grant 33% of the rebate. I don’t think those are necessarily the best drawdown numbers, but I think the drawdown should be in those terms.

Finally, as I said, first and cheapest cars should get the biggest rebate, regardless. But for vehicles not in those categories, that still fall under the price caps, I’d like a sliding scale based on the battery pack size. Any battery rated at least 10kWh or more would qualify for the full rebate, but each kWh less removes 10% from the rebate. Thus, a 5kWh battery gets 50% of the rebate.

Thank you for reading my comments and I look forward to the final report.

Testimony by Jeffrey C. Jacobs to the Virginia DMME

I’m quite fond of the sliding scales in terms of tapering rather than full cutoff for the rebate and the reduced payout for smaller electric car batteries. I didn’t mention the poverty rate and left it vague in those terms, letting others fill in those details. I also spelled Delegate Reid’s name incorrectly, though it is fixed here.

The DMME plans to have its final report ready around October so it’ll be interesting if they incorporate any of my ideas into the final bill. I wish I could have attended the original public session but the news got to me too late. This is all I could do.

I miss cruising upon a cloud these days, but I hope this passes so more can enjoy the pleasure!