Yours truly we be in a webinar all about electric cars on Tax Day, Thursday 5 October, 2023
Interested in owning an electric vehicle but concerned about the cost?
The Fairfax County Office of Environmental and Energy Coordination (OEEC), in partnership with the Greater Washington Region Clean Cities Coalition and the Electric Vehicle Association of Greater Washington, DC, is presenting “Electrify Your Ride with Tax Incentives: A Carbon-Free Fairfax Webinar” on Thursday, October 5 at 6 p.m. Together, they will answer common questions about electric vehicles and how drivers can take advantage of federal tax credits and incentive programs.
Electric vehicles, or EVs, are better for the environment and less expensive to fuel and maintain than gas-powered vehicles. Rebate and incentive programs for the purchase of EVs – including federal tax credits of up to $7,500 – are reducing the cost and driving up demand.
The webinar will be hosted by Fairfax County Environmental Analyst Kate Daley and feature brief presentations and Q/A with Antoine Thompson and Jeffrey C. Jacobs. On The Agenda
Tax credits and rebates available through the Inflation Reduction Act and local utilities to help lower the costs.
Tips for first-time EV buyers to help with a purchase or lease decision.
Answers to common questions about EV ownership.
About the Speakers
Antoine Thompson, Executive Director of the Greater Washington Region Clean Cities Coalition, a public private partnership that promotes the use of clean, American transportation fuels for homeland security, improved air quality, environment justice, diversity, and inclusion.
Jeffrey C. Jacobs, an EV owner living in Reston, VA and a board member of the Electric Vehicle Association of Greater Washington, DC, an organization of electric vehicle owners, educators and enthusiasts dedicated to promoting the use of EVs as an environmental and energy benefit to society.
The webinar will be livestreamed on Fairfax County’s YouTube channel as well as OEEC’s Facebook page. No registration required. It will also be immediately available on YouTube to watch the replay after the livestream. Be sure to tune in at 6 p.m. on October 5!
There’s also a sneak preview perhaps tonight at this month’s Ask an EV Owner.
In one month, I will be celebrating my half-century of existence. What’s more, I will, for the first time in a quarter century, single. After much hemming and hawing over my continued love for the woman who was my wife, with the frustration over so many things I can’t discuss, the coup de gras being things like Nowhere to run? and Sheltered in Place with a Domestic Abuser? and incessant unnecessary forced to sanitize when we really should just Relax—you actually don’t need to sanitize your food!
The thing is, these days I need to physically leave my premises 3 days a week because I’m required in the office. I’m typically the only one wearing a mask there because I do believe in being cautious—especially since the recent SARS-CoV-2 outbreak. It’s not like I’m endangering myself when I go to a writing group or an electric car event. I use due caution every time I’m out, typically 5 days a week. I’ve even tested negative, and triple vaccinated!
You’d think that’d be enough, but nope. Every time I return to the house, I have to do the four S‘s. I’m effectively forced to Surrender all of my items—iPhone, Apple Watch, wallet, even my glasses and wait for them to be Sanitized! Then I need to Strip to my underwear because my clothes “must be contaminated”. Finally, I’m supposed to Shower, but and only when I come home, never in the morning or before I go out.
I put up with a lot for all these years, from a profound lack of physical intimacy to constant threats of divorce whenever she was cross with me. I put up with it for all these years because I truly believed she was the best woman I could ever hope to be with. The truth is, she may still be the best, but with all I have to deal with, I would quite frankly rather be alone—though I’m not dead yet, so we’ll see what the future holds.
Now, you may be wondering why it’s taking me so long to move to my new apartment, especially since I’ve been paying rent since 30 January. Well, for the last 11 years, I have been enjoying extremely inexpensive charging at my house on the Dominion Schedule EV with my Clipper Creek CS-100. But, when I got #CO2Fre, my first Tesla #P三D, it came with free, unlimited SuperCharging. The plan was, I could take advantage of the free fuel, move to an apartment, and just charge up the vehicle on my way to work at the Sterling Supercharger.
But then, while coming back from a Star Wars cosplay event, where I was cosplaying Grand Moff Tarkin, running late for a barbeque with my brother, I found myself on the most evil road in all of Fairfax County. Braddock Road is mostly a straight road, but it makes this one incongruous bend which is the bane of all my existence. I had just paid off #CO2Fre 24 days earlier, when, on 25 July 2021, the same year I watched my mother die and attended my dear Aunt’s funeral, the greatest car I’ll ever own, and my ticket out of here was totaled. I was taken to the hospital and, because of the airbag deployment, I was even left in a cast—which you can see on my TikTok. To top it all off, my uncle died on 31 December 2021 to cap off an utterly tragic year.
GEICO and Tesla refused to fix it. I lost my ride, my free fuel, and my free celular entertainment system, the later a $99 per year value. Supercharging I can’t even begin to estimate, because I wasn’t using it during the Pandemic, and I knew I would need it when I moved to an apartment.
As it was, I did find an apartment with EV Charging. However, if you don’t move your car within 4 hours, you will be charged an arm and a leg, meaning you’d have to get home, and set an alarm to remind you to go back down and move your car. What’s more, while charging under Schedule EV costs me about 7.5¢ per kWh, the apartment costs 15¢ per kWh, double the price. And, if I wanted to use the Supercharger, it would cost 30¢ per kWh, four times what I’m used to paying. And that cost is constantly increasing!
People seriously lambasted me on social networks when I lost #CO2Fre. Of course, it’s just a car, but my whole plan went up in ashes with that loss, and here I am, 123 days with an empty apartment, stuck with the quadruple S‘s, because I just want keep saving on fuel. That’s why I was so sad when I lost my ride, because I knew life would be more expensive and I would end up staying longer than I needed. I wish folks could have understood—I had to take whole 2 month hiatus from social networks to avoid the vitriol.
However, here we are, today. I now have #NoSO2, I pay for Supercharging and Premium Connectivity, but I got rid of GEICO, who grossly undervalued my precious ride, and now am insured by Tesla, constantly trying to improve my Safety Score to lower my insurance rate, as well as finally qualify to beta test my $14,000 investment in the Full Self-Driving Beta. And my wife is working with my to get the divorce finalized as soon as possible as a final birthday present to me.
And you know what? Imma have a party! A party to celebrate a half-century of existence, a party to celebrate my divorce and freeness, a part to play board games and sing karaoke and cosplay at your leisure, to grill with my brother and have pizza aplenty with plenty of vegetarian and other dietary options as requested. And unlike Jeffrey’s Jammin Birthday Bash 2 years ago, this party will be in person, on the third floor and community space of my new apartment in Reston Town Center. I’m hoping maybe even the Metro will open by then, but then, I’ll be lucky to just have you show up.
Get your free tickets here! Please remember to RSVP so I can let the concierge know you’re coming.
For fun, we decided to make our fifth episode about chewing the fat and spinning some yarns about what we write and how we get our ideas. Then again, maybe that sounded pretentious. After all, here I am talking about how I love #CO2Fre, my Tesla #P三D. But then, what folks don’t know I spent over a decade writing about electric cars on the Affordable Electric Car NOW site. I struggled and even had to quit my job to afford the car I drive now. It was through a lot of pain and suffering that gave me the chance to drive my dream car—or, more to the point, have my dream car drive me.
Of course, that’s all non-fiction, and these days I prefer to write fiction. Indeed, I’ve been writing published fiction since 2013, and I have so much more left to write.
Anyway, have a drink with us, be it beer, whine, spirits, tea, or just plain Hydrogen Hydroxide, also known as water. Stay thirsty my friends and see you next week.
TeslaFi had been spamming me with news about TeslaOS 2020.16 for a while and I’ve been itching to see what, after giving us the amazing stop at a stop sign in the last minor update.
Turns out, not much. I am mostly unimpressed by Tesla with this update, though nonetheless very appreciative. Autoformatting a DashCam drive—I wonder if it supports 2TB yet—and a better layout for Easter Eggs are, after all, improvements, even if the Easter Eggs aren’t really hidden gems anymore.
The coolest new feature, though, is the new SuperCharger filter, allowing the driver to only see Version 3 stations and filter out all the slower ones. I love the fact that I have free, lifetime SuperCharging, and one of these days, I’m gonna cross the continents with that perk.
Overall, I’m not disappointed despite being underwhelmed. And one rumor is that this, or a soon to be released version will add V2G to the Tesla. I can’t wait until that rolls out as the Tesla Battery Pack may make for a new, mobile Powerwall. Mind you, even if #CO2Fre could do V2G, my house isn’t equipped for it anyway. So, even if it doesn’t have V2G, it’s still a cool update!
Gentle reader, if you have been keeping up with me since 11 February of this year, you know that I have been posting once a day since then. As such, today marks a hundred days of a hundred daily posting. Through that, I’ve shared with you exciting electric car news, updated to the National Popular Vote Interstate Compact, my struggles to get the Equal Rights Amendment to be our Twenty-Eighth Amendment to the Constitution, written about my many works of fiction, and the many books of nonfiction I voraciously read to be a better scientist. I’ve shared with you my cosplay adventures, and my love of Doctor Who, my love of games, and a bit of my speaking in tongues as well as delivering speeches and singing to my heart’s content. I’ve talked about international travel and how I love to fly there in my own plane, discussed my acting and my dietary needs. And most of all I’ve told you I’m an excellent coder who is always keen for new work. Thanks for riding with me as we cruise upon the cloud to another one hundred posts!
Originally, I wanted to implement an texting in the background for the I’m Running Late iOS app. After all, the whole idea of the app is that you may be stuck in traffic and not really in any position to send the I’m Running Late while you’re driving or otherwise indisposed in transit. If you in the car, for instance, sending that text, even if it just means clicking the Send Button, is dangerous. It totally defeats the purpose.
The idea of I’m Running Late is it’s a background process like cron for the iPhone. It just programs events based on the clock and your calendar, then, when the grace period begins, if your Sat Nav notices you’re not within a prescribed number of meters from your event location, it automatically informs the host—or your boss—that you’re running late.
How is this not a thing?
It’s not a thing because Apple‘s philosophy is, if you can send one text without consent, you will be able to spam infinite texts without consent. But, the thing is, the App Review team should be able to detect of an app was abusing the option to text without consent, so why prevent this safety feature when you could just stop it from being abused?
For the record, texting without consent is a safety feature. When you’re driving to an Event, it’s dangerous to have to look at your phone and hit a consent button. Forcing the user to do so may even violate some state laws. Yet, you want to send the text because you are running late, yet you can’t because you’re stuck in traffic.
Sadly, you need a user interaction to send an email too.
With both options stupidly closed by Apple, making this very important use case at first impossible to solve, the only option left is to send the text via a GET Query, for example, to a web service, and rely on the web service to send the text.
One such service is Twilio. Twilio seems to be the leader in Web to SMS transactions. Unfortunately, as far as I can tell, Twilio is a paid service and I’m still trying to figure out how this service works. I created an account and want to test it, but if all users of I’m Running Late are going to be using the service, I’m sure I will have to set it up as a business account.
One possibility I’m considering is having a monthly fee to use I’m Running Late, that I can use to pay Twilio for the use of their service. However, I want the fee to be small, like 15¢ per user per month. And then, say if Twilio costs $15 per month for one hundred users, then one hundred I’m Running Late users would completely cover the cost and I won’t need to let TimeHorse, LLC go further into debt.
The question is, though, what if I have less than one hundred users. In that case, I may have to disable the service or come up with some poor-man version on this very server. Initially, all text message requests could come here, and when the numbers crack one hundred, I can tell I’m Running Late to switch to the Twilio server.
On the other hand, maybe I’m going about this all wrong. IIRC, all Teslas are running Linux. And if the Tesla is connected to the driver’s Phone, and it knows the time, and it has the Phone’s calendar, then surely it could have an app that texts the Event organizer when the driver is running late.
And I could write that code!
Hear that Tesla? You could be bidding on me, because I’m still available for hire but my rates are going up with all the offers!
The third time’s the charm. After over a week of trying to get the TeslaDashCam to work, a USB Stick arrived yesterday. After again formatting with a GUID Partition Table, a FAT32 file system, and adding the /TeslaCam directory, I plugged it into #CO2Fre.
When I then looked at the screen, lo and behold, the DashCam was restored!
But that wasn’t all! Turns out I also got the 2020.12.6 TeslaOS. Eager to install, I hit the install now button because I knew this update would be adding auto-stop at stop signs and stop lights. The quirk with the update is that it will even stop at green lights, so if you want it to keep going you need to keep your foot on the accelerator to get it to run the green light. It’s probably okay, though, to let it stop on yellow or red. Also, it won’t turn for you; to do that, you need to take control of the wheel.
Finally, once that was installed and Stop at Traffic Lights was activated, I decided to have another go with my 2TB SanDisk Extreme SSD. Because it was also formatted properly and had the same directory structure as the USB Stick, I had a hunch it was because the drive was a whopping 2TB that the Tesla couldn’t recognize it.
With a little work, I re-formatted the drive as GUID, with one FAT32 partition with 996GB and another 1TB of free space. After adding the /TeslaCam directory, it worked like a charm!
In conclusion, although the 2TB SanDisk Extreme SSD drive works with Tesla, Tesla cannot understand drives above at least 1TB. This seems like a failing of the TeslaOS, but one I can live with. After all, my long-term plan is to have a Raspberry Pi Zero W installed and use the 2TB drive for portable backups.
Now that I have my DashCam back, and have the automatic stopping at stop signs, I can’t wait to take #CO2Fre for a spin. I hope to be cruising on a cloud soon!
I really wanted to have my DashCam fixed by today. I really did. But then the hypochondriac got involved, called Tesla, and have them tell me some least common denominator information information that they wouldn’t accept there was a problem with my Tesla unless I tested it with a USB Key [sic]. As I didn’t have any USB Sticks handy, I ordered one that was Tesla branded, as well as a faster, High Endurance MicroSD Card and new adaptor.
The USB Stick won’t arrive until later in the week but the flimsy excuse from the hypochondriac threatened to call the police if I didn’t cancel my service request and wait for my USB Stick order to arrive. She said some lawn care folks would be here today but of course they didn’t come, so I ended up cancelling my appointment for nothing.
However, not wanting to give up, I got my MicroSD Card and tried it in #CO2Fre. It was formatted as exFAT so I formatted it as FAT32 and plugged it into #CO2Fre. Nothing.
I did some more research and realized that most drives come formatted with an MBR to allocate its partitions. I pulled the SanDisk Extreme SDD #CO2Fre and it too had an MBR. Since Tesla recommends using a GUID Partition Table, I opened up DiskUtility and reformatted the entire drive with a GUID Partition Table and a FAT32 File System.
This went quickly and in the end I had the system correctly formatted as per Tesla’s specifications. The drive was formatted with 2TB of free space.
Finally, I added the TeslaCam folder.
With the drive reconfigured to Tesla’s specifications, I donned the rubber gloves and tried the SanDisk SDD in #CO2Fre. Finally, I got a camera in the toolbar. Only there was an X on the Camera and a warning label. When I clicked the warning, #CO2Fre gave me a mysterious UI_a078 error,
Because the hypochondriac doesn’t want them to come to my house to fix #CO2Fre, she insisted I call Tesla’s tech support. I reiterated the issue to the support staff, including the note about UI_a078, and told him about my problems obtaining a USB Stick, and he recommended I make a new appointment as the Tesla Mobile Team Member would have a USB Stick he or she could use to test the USB ports of #CO2Fre.
Of course, the hypochondriac vetoed this idea and instead she ordered a couple, cheap USB Stick that should get here by Sunday. If they don’t work, I may be able to get support to come out next week to help me finally resolve this most vexing issue.
Alas, until then, I won’t be cruising on the cloud.
I haven’t been able to use the TeslaCam since 27 July 2019. That’s because, around TeslaOS 2019.28.1, Tesla broke most USB Sticks used for Dashcam functionality, because, it claimed, they were too slow.
Not having a DashCam and having such a mysterious and incomprehensible error—my USB stick was fast enough—I was afraid to buy a new USB stick to see if I could get it working again. For months I dithered on the issue, totally unsure what Tesla wanted, and wanting so badly not to waste money on a device that would fail with Tesla.
Compound that with, in December, 2019, thanks to an AutoPilot, #CO2Fre failed to stop when a vehicle with California plates cut me off by jumping into the exit lane ahead of me at the last minute, causing $4,000 worth of damage I can’t remotely afford to pay. The scratches, therefore, remain to this day. And as no solace, I don’t even have the Dashcam video to go over the details even if I wanted to make an Insurance claim. So, I have scratches but still no Dashcam.
Then TeslaOS 2020.12.5 came out, which added support for watching Dashcam videos within #CO2Fre. Since I had the time off thanks to Covidapolis, I decided to try again with the Dashcam, and found this neat video:
I didn’t have access to my car because of the hypochondriac until the day of my #CO2Fredemo. I plugged in the SanDisk drive with its USB-C to USB-A adaptor and… nothing. I had the drive plugged in, but no camera was showing, and I couldn’t show off any of the Dashcam features during my entire presentation, including Dashcam footage of the speed test on the main screen after I parked, despite having the drive plugged in. The demo still went well, but I’m annoyed how hard I tried to get this working and still failed.
Afterwards, I tried to play around some more. Doing so requires me to go through decontamination because, for some reason, the hypochondriac thinks #CO2Fre has SARS-CoV-2. Meaning, I have to keep changing my clothes every time I go to the car because sitting in my car contaminates my clothes.
The drive was exFAT, so I reformatted it as FAT32. The drive did flash on the screen after some cord giggling, but it said it wasn’t formatted properly despite having the TeslaCam folder and being named TeslaCam. Since I’ve read that Tesla supports exFAT, I formatted it back as that, and it sits now, unable to connect.
I also tried my MicroSD chip with an adaptor. Originally, the chip was supposed to be part of the Raspberry Pi, but I wanted to test to see if it could be used as the TeslaCam directly. No dice. I’d hook up the Raspberry Pi and try with that, but I have to finish updating my Résumé and fix my broken Zone File updater for Reston Writers first. I just have too much going on to worry about going any further with this nightmare of Tesla‘s.
The way I see it, the drive works in a PC, the drive works in a Mac, it just doesn’t work in #CO2Fre. When you’ve tried everything else, the simple answer it so blame Tesla. So, I made a Mobile Service Request and they should be here Friday morning.
Why must Tesla make this so hard!?!?
In any case, unless I find another set of clothes to wear, even without my Dashcam, I shall very much miss cruising on a cloud.
Last week I mentioned my struggles about eliminating the squeak from #CO2Fre. Then, of course, I was forced into a one-room cell as a hypochondriac put me into lockdown. On Sunday, I was released. I would say I finally had a clean bill of health but the truth is I was always healthy and just had to deal with irrationality. But that’s yesterday’s story and today I want to talk about how I wanted to finally pick up #CO2Fre… and couldn’t.
I got a ride to the Tyson’s Corner Service Center and used the Tesla app to find #CO2Fre. She was parked in the back, against the side of the building. I had to open it with my ancient iPhone 5S. We sanitized #CO2Fre and then my ride left. There was a large Tesla Model X in front of her. Much as I try to inch her out of the space, I can’t do it. I get within a couple centimeters of the car next to me only to have to give up as impossible.
I scanned the QR Code and indicated I was there for pickup. I also called Tesla and left a message. I told them I couldn’t move #CO2Fre and my key wasn’t inside. Then I asked my ride to return as I waited for the callback that never came. I figured it wouldn’t because it was Sunday, but then it never came on Monday either, so I was rather distressed.
Finally, I called them on Monday and they agreed to move #CO2Fre to an accessible area where I could pick her up Tuesday morning before opening. They also arranged where I could pick up the key. I just hope my ride wakes up in time. After all, she was also my jailer…
Hopefully soon, I can get back to cruising on a cloud.
Late last night, just as I completed my post about Tesla trying to scam me, I decided to upgrade WordPress to version 5.4. Normally, this shouldn’t be an issue, but for me, since I run a multisite system, there are extra security issues and directory layout complications that must be taken into account.
The first step was, apparently, to backup my database. Since I’ve never backed up the mysql database before, I felt this seemed like a reasonable approach. I certainly didn’t want to pay JetPack to do it; I’m a genuine code jockey, I can do my own backups. After some digging around, I found mysqldump. Unfortunately, all the instructions on how to use it were incorrect.
After some further poking around, I finally came across the correct syntax. Essentially, the user name and host have to come before the --all-databases command. Also, the host can’t be localhost, it must be the IP for the local host. Unfortunately, I was not able to find a way to get it to prompt for my password which meant I had to type my password in the command line, leaving all there in the open for any history recall to see. Not very secure at all.
mysqldump command; note <uid> and <pw> are placeholders for the user name and password; you must replace this with your own values.
Alas, I was not able to find a way to get mysqldump to prompt for a password. I think if I have more time, I may write a python script which builds the command by first prompting for the password. At least that way, the password wouldn’t be stored in the command line history.
The mysqldump command is quite clever. It just stores the list of sql commands that would be required to recreate the databases you have stored. However, the file is rather big and being text, it compresses nicely with bzip2 -9, which is what I did.
Once I did this, I was ready for the main Upgrade. I held my breath and pulled the trigger…
The install progressed along nicely until it tried to write a file to the wordpress directory. 🤦🏻♂️ I logged into my server and sure enough, the permissions on the wordpress directory were 755, which meant the user could add and remove files, but the group and anyone else could not. You see, with my multisite, I try to have all wordpress files with user wp-user and group as www-data, to work with apache. And apache runs all web processes as www-data for both user and group. Thus, when WordPress asked to add a file to its codebase, apache could not write it because the www-data group didn’t have permission, only wp-user did.
Change all the wordpress directors to allow www-data to add and remove files from them.
Realizing my mistake, I changed the permissions on all directories to be 775 (both wp-user and www-data could add and remove files). Unfortunately, it was too late. Instead, I had no choice but to blow away my current install and replace it with a fresh, new install of WordPress 5.4. At least, that’s what I did on a high level. The details, though, are a bit more complex.
Once I extracted all the wordpress files, I needed to get their ownership to match the settings for my wordpress install. I was able to do this quite easily with the chown command.
sudo chown -R wp-user:www-data wordpress/
Command to set the right file ownership for wordpress.
Next, I set the directories as above. Finally, the files themselves had to have the right permissions. Namely, they should be readable and writable by wp-user and the www-data group, but only readable to others, not writable. Namely, they needed to be set to permission 664.
Change all the wordpress files to allow www-data to modify them.
Next, I had to copy over the active wordpress configuration file. This file is actually fairly spartan as all the active site configurations are actually stored in /etc/wordpress; my wp-config.php actually just scans this directory for configurations. The configurations, in turn, point to directories in /srv/www/wp-content with the site-specific files. I thuns needed to bring that file over to the new install.
cp /usr/share/wordpress/wp-config.php wordpress
Copy the configuration to the new wordpress install.
Next, I wanted to preserve the Languages I had installed. I just copied the entire directory over to the local install.
Copy the Upgrades directory to the wordpress install.
Finally, I needed to move the links to my shared, dynamic contents that are for all the sites on my server. Specifically, the uploads, themes, and plugins folders all rest in /var/lib/wordpress/wp-content. (Technically, Uploads rests in blog.restonwriters.org site-specific Uploads directory, but that’s something I’ll fix later to conform with the same layout Themes and Plugins use.) Since these are already symbolic links, they can be moved to the new wordpress install directory to replace the defaults.
One caveat however, is the default install for wordpress comes with one plugin and three themes. In order to preserve those, I renamed the default plugins directory to plugins-default, and the default themes directory to themes-default. This was necessary before the symbolic links could be moved since those directories were in the way.
Move the symbolic links to the plugins, themes, and uploads directories.
Finally, the apache permissions file needed to be moved as it was also a link, pointing to /etc/wordpress/htaccess. I store the file there because it makes it easier to maintain in case I accidentally bow the .htaccess file away.
cp /usr/share/wordpress/.htaccess wordpress
Move the symbolic link to the .htaccess file.
Once all this is done, it’s a good idea to run the chown and chmod commands from above on the wordpress install directory once more to make sure the copied files and moved links are also properly attributed.
Finally, it was time to perform the brain transplant and move my staged wordpress install to the active /usr/share/ directory. I moved the current install to a temporary directory and then moved my staging install to the /usr/share/ directory to replace it.
Replace the installed wordpress with the new version.
Once all this was done, I was able to get to my web page, and wordpress prompted me to upgrade my database. Once this was done my sites were back online. In total, this site and its sister sites were down for a total of about forty-five minutes. It was a long day yesterday and I was exhausted but I did get it done and you can now see the results.
I hope you enjoyed my story about hacking UNIX. Please note, I am available for hire if you like what you see!
Follow my socials!