The Road Goes Ever On and On

Working on the User page is a bit of a pain in the backside.  For those of you who are new here, let me explain. After you create an account and log in, the Log Out button appears with your (Extended Stats) user name underneath it. This works extremely unreliably! I’m *still* debugging that.

User name is displayed under the Log Out button.

If you click on that user name, you get taken to the user page, which contains the user widget, which is the bit that is supposed to let you choose your BGG user name and make geek buddy lists. It also shows you the information that Extended Stats stores about you, which actually does work, even it looks like a lot of waffle (so far).

Now I spent quite a bit of time before I got addicted to Assassin’s Creed: Origins making the user widget work. In particular I built an Express server and coded the autocomplete functionality in that and deployed it with Elastic Beanstalk and then undeployed it from Elastic Beanstalk and just stuck it on an EC2… and now Chrome says that as the user page was loaded using HTTPS (secure), it can’t call the Express server on the EC2 using HTTP (insecure) as that would break the security. It is correct to do that. So today I needed to add a security certificate to the EC2, but with AWS you just can’t do that. There is no way.

So what I figured out I could do is I could configure api.drfriendless.com, which does have HTTPS, to direct calls to the autocomplete code on the EC2. And then I need to change the user widget to use https://api.drfriendless.com instead of http://eb.drfriendless.com.

As if all of this isn’t a complete pain in the bum enough, extstats.drfriendless.com is served by the CDN, Cloudfront, so it caches all of its resources. I am supposed to be able to tell it to dump particular resources from the cache, but that hasn’t been working for me. It used to, but now I must be doin’ it wrong. So after I change all of those things, I have to wait a day for the changes to take effect. This is a seriously painful development process.

Of course, I need a test server to try this out on. I do have test.drfriendless.com. The test server doesn’t use CloudFront, which means that it doesn’t have HTTPS so it won’t have the problem anyway. But also, because it doesn’t have HTTPS, auth0 (which manages the logins and passwords) won’t talk to it. So in this particular case, the test server cannot possibly work.

Ah well, enough bitching. I got two new patrons yesterday, for a total of 4. Four wonderful patrons! Muahahahahaa! At this rate I’ll be rich about when I get the user page working properly.

 

The Bill for December

Sorry for the lack of updates. Just before New Year I bought myself Assassin’s Creed: Origins for the PS4, and oh my goodness I have been playing a lot of that. Today I’m making some time to look at Extended Stats, before I finish saving Cleopatra.

In the absence of having anything exciting to say, here’s the news on the latest bill. It’s still higher than I want, but it shows promise.

The Bill for December

The great news is that Lambda costs are zero. Lambdas do a lot of work on the site, so getting them for free is good. The Elastic Compute Cloud (EC2) costs are high, but that includes the costs for Elastic Beanstalk that I blogged about previously and will be much lower since I replaced that with a simple virtual machine.

The CloudWatch charge is another surprise – my graph of all of the lambdas being invoked started costing me money because there was too much stuff on it.

The database is running nicely

In other news, the database performance gets smoother and smoother, which is a great thing.

I’m continuing to try to get the login button to work properly. It’s very hard to test! I guess I should start adding some functionality some time soon.