Category Archives: Uncategorized

Squarespace Subscription Service Problems! Webmasters check with your customers.

I’ve been seeing emails and tweets flying around that Squarespace’s subscription products have been double charging customers regardless of their purchase date.

In addition, if these early charges fail twice, the customers current subscription is automatically cancelled. This is a terrible problem for all users of Squarespace’s subscription services to deal with. If you are using it please make sure you are communicating with your customers and hopefully Squarespace will fix this horrible bug soon.

Some customers are also reporting that they have been charged overdraft fees as a result of the unexpected subscription charges. Squarespace as of this post has not made a statement on whether or not they will make their customers whole as a result of their sloppy mistake.

Canceled Laravel Forge Subscription and SSL Certifications aren’t renewing?

A few months ago, I was fresh on the beat trying to get a few new projects stood up on Laravel. I was having a few issues with manually setting up the server blocks on Nginx so I decided to go the easy route and pay for a temporary subscription on Laravel Forge, which is a website that makes all the set up like server block settings, SSL, multiple domains per server, etc super easy. I figured that it’d be better to spend my time to do that and focus on building the web-app than muddle in the details of what was going on with my server.

Well, that may have bit me in the butt. So I’m going to share a few steps that you’ll need to take to fix your configuration. Yours may be different, because I am not a sysadmin and I tried to install a bunch of things trying to fix this.

So first things first, I had at some point already followed a tutorial to set up my domain to create SSL certificates on Lets Encrypt. I would follow this tutorial first: https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04

After doing that if you run command: sudo certbot certificates

You should see your certificates show up with current valid dates. If your website no longer gives an error, great! You’re done.

If you are still having problems, like I did, keep going. So now, I was confused, because my certifications were valid, but my server wasn’t using them apparently. That led me to go look at my Nginx block file for my server. I then had to go into my server blocks and edit out a few lines that Laravel Forge had created that pointed the SSL certificates to a different location. I honestly don’t know why he set up his service to point to a different path, which doesn’t update with the normal certbot commands. Honestly he could have easily loaded a cron job to auto-update the certificates, and I’m not sure why he didn’t.

So in the terminal enter: sudo nano /etc/nginx/sites-available/yourdomain.com

You’ll comment out the lines that look like this with #

# ssl_certificate /etc/nginx/ssl/yourdomain.com/123456/server.crt;
    # ssl_certificate_key /etc/nginx/ssl/yourdomain.com/123456/server.key;
#ssl_protocols TLSv1.2;
#ssl_ciphers AAAA-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:EC$
#ssl_prefer_server_ciphers on;
#ssl_dhparam /etc/nginx/dhparams.pem;

Now add a few lines that look like this but using matching domains that you made in the tutorial above:

    ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

Now restart nginx using sudo systemctl restart nginx

If you get an error run sudo nginx -t to see what might be causing the error.

This fixed it for me. Hopefully this helps someone else out there.

LG G3 Bluetooth Turning Off and Won’t Stay On

TLDR; try pulling the battery out and putting it back in.
EDIT TLDR; My phone started to do the screen flickering thing. I followed the directions to bake the motherboard which worked for a little bit. I ended up buying a new phone.

Recently, the Bluetooth radio on my LG G3 started to turn off instantly. I would push the Bluetooth button on the pull down menu, and the little icon on the top of the screen would flicker on and then flicker off a couple seconds later. I Google searched for some help and there were posts about installing weird apps and custom ROMs, hard restarting, and reformatting.

It turns out none of those things were necessary. Before you go off and try all those things, try turning off your phone, pulling out the battery and then putting it back in. My Bluetooth is as good as new again.

Trigger VBS Script via PHP

You probably won’t come into this situation very often where you have a Windows computer/server running PHP. Basically this is a web-service that allows the user to trigger a VBS script bu posting a variable to a web service. The web service then takes that information and runs the VBS script after updating the database with the appropriate information. The VBS script uses information in the database, which is why the first part of this code block is needed in the example.

This is also an example of a PHP script connecting to an Access database over ODBC as it’s data source.

Source code    
header('Content-type: application/json');
require('session.php');
/* Get POST Parameters */
if(isset( $_POST['fmreq']) == True)
{
	$FM_REQ = $_POST['fmreq'];
/* connect to Database */
	if (!($con = odbc_connect("DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=" . str_replace("/", "\\", $_SERVER["DOCUMENT_ROOT"]) . "\data_source.accdb", "", "")))
			echo "<p>Connection to CollectOh failed.</p>\n";
		else
		{
/* Updating database so that when the script runs on the Access database it will have the correct information */
			$sql = "update frm_date_select set FMREQ = '" . $FM_REQ . "' where ID = 1";
			odbc_exec($con, $sql);
 
		}
/* This is the meat of where you set the path to your VBS script */
	$command = 'wscript.exe "' . str_replace("/", "\\", $_SERVER["DOCUMENT_ROOT"]) . '"\FMREQ.vbs"'; 
 
	/* 
	 * wait for command to return a exit code? 
	 * 
	 * true = waits for the command to complete, before continuing this script 
	 * false = executes command then continues this script without waiting for command to exit 
	 * 
	*/ 
 
	$wait = false; 
 
	// run it 
 
	$obj = new COM ( 'WScript.Shell' ); 
/* Feedback via JSON */
	if ( is_object ( $obj ) ) 
	{ 
		$obj->Run ( 'cmd /C ' . $command, 0, $wait ); 
		echo json_encode(array('Saved at '.date('H:i').''));
	} 
	else 
	{ 
		echo json_encode(array('Failed at '.date('H:i')));
	} 
 
	$obj = null; 
}

Control + Alt + Delete in Remote Desktop

So when you’re remoted in another computer with Windows Remote Desktop Application pressing Control +  Alt + Delete to bring up the task manager, to change your password, or to log off, you’ll pull it up on the main computer instead of the remote computer.

To get around this press : Control + Alt + End, sometimes Control + Alt + Home will work too.

Tl;Dr: On a remote desktop Ctrl + Alt + Del = Ctrl + Alt+ End or Ctrl + Alt + End

Have two Excel Workbooks Open at the Same Time

I know that this is one of my pet peeves. If you open multiple workbooks in Excel, they all get stuck together in the same window, and it’s hard to do split screens or multiple monitors.

Thankfully there’s an easy way to get two (or more) independent windows of Microsoft Excel to open. All you have to do is open Excel from your start menu each time you want an independent instance of Excel to run, and then open the worksheet in your new program window.

Volia! Two ribbons, two spreadsheets, and you can drag them around to two different monitors if you please.  They can finally be two different sizes, and whatever else you need them to do.  One minor downside though, is that referencing cells between the 2 instances of Excel doesn’t work.