Web Development
Fix HTTP2 Header Errors on Nginx Reverse Proxy
You might get an HTTP2 error from curl and Safari browsers even though the page loads fine on Chrome and Firefox. curl: (92) HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1) Safari Can't Open the Page Safari can't open the page "https://steve.zazeski.com/". The error is: "cannot parse response" (NSURLErrorDomain:-1017) The [...]
Changing Primary Color Theme in wiki.js V2
Currently, custom theming in wiki.js V2 is just not there yet so here is how to do it anyways. Wikijs offers Code Injection in the administration panel. First I tried putting in CSS override but quickly found that most of the styles in wiki.js are applied at the tag style="" level or on classes using the !important flag which makes [...]
Google App Engine Bulkloader Refreshing due to a 401 Loop
Developing apps on Google App Engine can be difficult when your production servers have a dataset that is hard to reproduce on your local development servers. Thankfully Google App Engine includes a very useful tool to do bulkloading. To download your data from production: appcfg.py download_data [...]
Erratic Google App Engine 401 response when GOOGAPPUID set to x
I ran across a strange issue on an angularJS application that makes backend calls to a Google App Engine API. Every so often, the request would fail out with a 401 unauthorized request, but if you hit the reload button, the page would reload fully logged in. Looking at the AJAX request, it looked like the request didn’t change and [...]
Getting VisualVM to Connect to Railo 4
VisualVM is a great Java VM debugging tool that can show you VM performance as it runs your code. Since Railo runs on Java VM, this is a great tool to see if your code is leaking memory. NOTE: This setup is on a debian linux box running railo installed via the script with an apt-get install apache frontend. This should behave similarly [...]