I successfully upgraded PHP and still have my wordpress site working! I hadn’t touched a PHP upgrade since I setup my server a while ago. I thought this was going to be a disaster, but it wasn’t too bad. I discovered my spam blocker ad was no longer supported which created errors the first night I tried to jump to PHP 7.X. To figure this out, I deactivated all plugins and changed to a basic theme. Then I upgraded to PHP 7.X and individually turned on each plugin and restored the theme. When I hit the spam blocker plugin it was clear this was the problem from the first night. Next up trying to upgrade Apache….
Author: Brian Thompson
Google Backup Sync Problems
I discovered that many excel save problems I’ve been having are a result of the “new” Google Backup Sync program. In Windows MS Office when a file is open it creates a ~filename temp/lock file. With BackupSync running, it would backup/copy this file and somehow it wouldn’t release the file. Then when saving in Excel the save would fail.
So I decided to only turn Backupsync at night and then turn off 2 hours later. That should be enough time to copy everything from the previous day and if not it should eventually catch up.
To turn it on I setup a TaskManager task to simple trigger at 3am and start the program.
To turn it off is a bit more complicated. In the end I created a .bat file based on this post. Which resulted in the code below. From there I have another TaskManager task to run the .bat file at 5am
tasklist /fi “imagename eq googledrivesync.exe” | find “:” > nul
if errorlevel 1 taskkill /f /im “googledrivesync.exe”
Vizio repair
I replaced the main board and now it just resets, flashes, and repeats. Any suggestions?
Sprint Sign Up Deal
The following deals were at Costco. Not sure what the problem is/was, but Costco didn’t get me signed up for it. Then after 6+ hours of chat with sprint and an hour phone call they finally honored the deal (I think). Though I’m not sure Sprint ever really found this plan and just gave me what I told them



I also bought a new phone that is supposed to have the following deal. I suspect this is a mess and I’ll have to fight to get the deal too. Fortunately, I have plenty of saved IM conversations with Spring saying they will honor the deal.

Real SSL Certs
For a while I was making my own certs, just to see that I could and to understand how to setup and force https. However, since my certs were not signed every browsers said my site wasn’t secure (rightly so). So after a few times of my certs expiring I turned off forcing https and all redirects related to it.
With Chrome now making https more mandatory I looked into getting real SSL certs. I found ZeroSSL.com could do the trick. I followed the new user directions and have a few trips I was able to get real certs. However, I read that these certs expire every 90 days. Now I’m not the best at remembering to do updates like this so I set out to figure out how to refresh my certs automatically.
Perhaps I’ll get into the details later, but my final messy solution is a php script that will create an html output will run the refresh command. It translates the refresh command output to a less descriptive output (i.e. it hides all the folder paths and files used). If the refresh command generates keys the command is setup to place the keys in my webservers SSL folder. From there I use a windows batch file to call the php file and to log the output to a html file. The batch file also transfers the lastest html log file to a known folder that I can see from my website (the reason I don’t capture the full refresh command output into the html log file). Finally, I have Windows Scheduled task setup to run the batch file every night.
And with that I should have SSL certs always up to date….at least that’s the theory.
Bar Coaster
I have my own bar coasters! I don’t know why, but this seems so much fun. I was fortunate enough to have a few beers reviewed on The Brewing Network’s Dr. Homebrew podcast from which I won a gift certificate to GrogTag. After looking at the various products I settled on getting bar coasters. I spent way too much time thinking about this. I think I received the gift card in February and then thought about it for a good six months. When I actually sat down to make something I spent several nights working on various designs. In the end I settled on a somewhat modern theme loaded things with Easter eggs about my background. Can you find everything?
[singlepic id=394 w= h= float=none]
I will have to say when I sent this to get printed I suspected the print quality wouldn’t be that great. Much to my surprise everything looks fantastic. Below is a photo of the real coaster
[singlepic id=396 w= h= float=none]
And finally here are all the easter eggs exposed
- ViaSat-2: The last satellite I help build at Boeing. I helped design several of the unique digital payload units.
- Silhouette of Engineer Mountain as seen from Purgatory: Purgatory is where I grew up skiing
- Iron Cross 360 with a grab: I’m still trying to land my dream trick from Tommy Mosley’s 1998 gold medal Olympic run
- A Zia symbol: New Mexico state symbol as a look back to where I was born and raised
- Delta Chi: My college fraternity
- A pull down circuit: A reflection of my EE background. Also this is a variant of what I designed into my future brewstand controller
- My family: two boys, my wife, and I
- Palm Trees: These are the plam trees that could be seen from our old Hermosa Beach balcony
- NMSU: where I attended undergrad
- Standford: where I completed my masters’ degree
- My mash paddle: Not really and Easter egg, but this corner got charred one brew session when I left it too close to the burner and later cut it off
- Norte Dame!!!!!
- Soccer ball: I’ve been playing since a kid, still play, and am having fun teaching the boys to play
- Abbey of St. Peter in Oudenburg: Abbey founded by St. Arnold, commonly referred to as the brewer’s saint
[singlepic id=397 w= h= float=none]
#33 Dark Matter
This is my second lager, a Schwarzbier, and it came out really well. Though if I were to do it again I might pull back the blackprinz just a bit and add a touch of pale chocolate malt. For fun I entered this into the Brew Hut Annual Homebrew Competition. This was well received and took 2nd place with a score of 43.
Possibly even more exciting is that the more experienced judge gave the beer and Outstanding rating of 45! He even left as the final feedback “Delicious & Drinkable! Each element blends harmoniously!”. Big thanks to Brew Hut for hosting the competition.
Here is a link to recipe
[ngg src=”galleries” ids=”34″ exclusions=”391″ sortorder=”388,389,386,390,392,393,387,391″ display=”basic_thumbnail”]
11/5: After trying to change my webpage theme I broke things and had to revert to an older version of the website. In doing that I lost the original post about this beer and re-typed it best I could remember.
Corrupt Database & Quick Recovery
Just experienced my first corrupt database error. All repair attempts failed. Fortunately, I have the WP-DBManager plugin running with periodic full backups. With a previous backup I was able to use the import function in phpMyAdmin to recover my WordPress site back to my last post.
Raspberry Pints – My digital taplist
In playing around with the Raspberry Pi and Craftbeerpi, I came across a project called Raspberry Pints. This project is intended to enable a single screen behind a bar show what is on tap. It has fancy features to monitor the kegs if you add flowmeters and stuff. Somewhere along the way I read that someone noticed that this can be ‘ported’ to work on a normal apache/php/mysql server. So I thought, I have one of those (the website that you are reading) and decided to give it a whirl.
Turns out the project is kind of dead or at least stalled for a while, but I managed to learn that the 2.0.1 zip file was a good start. I kicked off the install and ta-da it said everything was a success. So I went to the main page and immediately ran into several errors.
Error 1: I think the install script running on my server didn’t update config files for the username and passwords that I was asked for in the install script. There are a few files this had to be updated.
Error 2: The main page didn’t recognize some variables setup in a few include files. I’m pretty not php savy, but it seemed that if I setup a variable as a global things went fine.
Error 3: Some of the includes were missing from the admin page to get into the mysql database. Simple adding the inlcude files to the files that generated errors seemed to overcome this.
Once I was past that I was in and able to set things up. Quickly I discovered that I need to learn how to use this better. It seemed like some pages were overwriting information about beers when I didn’t think they should and subsequently mixed up the data on the beers. After a bit of trial and error I was able to get my info added.
I then made a few updates. I wanted a way to jump back to my wordpress site added to the display. The logo on the top left normally takes you to the admin page, but I changed this to go back to my own page. This took some effort as I didn’t realize how the project was converting the mysql data into php variables. Several hours later I discovered an include file was doing this magic. Simply adding my new variables to this and adding the data to the mysql database got this all going. I tried to make an Admin link right below the logo, but my random attempts to update the php and css files failed. So instead I setup and Admin link on the left header in a ugly way.
So there we go I have my digital taplist up and going. Now I can get back to my brewstand controller design, but at some point I need to create my own logo.
5/10/2018 Update: I figured out how to add some PHP code that will convert a snapshot of my current raspberry pints webpage to an image using khtmltoimage and add it to this post and my homepage rather than using iframe. This allows the image to size correctly in my post.
Rasberry Pi Brewstand Controller
Once I was able to get into my Rasberry Pi (RPi) I started to think about how I was going to use it. I was pretty far along on my Ardunio controller and circuit schematics that I started to think that I would connect the serial cable to the Ardunio and build upon my existing design.
So I started to look at Craftbeerpi which seemed to have a pretty solid start on what I wanted. The more I looked it seemed to not have support to read from an Ardunio to the pre-made widgets. So I started scheming ideas to make my own program. For better or worse I was leaning towards a Python development. My brief time using Python wasn’t too great and I hated the tabbing format for block commands (if statements, loops, etc). However, after looking around it seems to be one of the more popular languages and something I should probably be more familiar with. From what I could see Django was about my best option as it looked like I would be able to get something up and running quickly. If I could follow instructions better I would have Django setup in about 20 mins, instead I spent a day fumbling with errors before I re-read the instructions.
With Django setup I started to wonder if I was making this too hard. So tonight I re-visited my I/O needs from my Arduino controller vs what RPi offers. Turns out RPi can fully support my needs and I don’t have to deal with interfacing with the Arduino a bit more. With that simplifcation, Craftbeerpi is now back to being my quickest way to getting a Brewstand Controller working. I think I’d still like to make my own program, but given that I tend not to have much free time (unless it is late at night) I seriously doubt that will ever happen once I get a controller working with Craftbeerpi. So now I just need to tweak the circuits a bit to adjust for 3.3V outputs and watching the currents.

