I have moved to using VirtualBox VM’s for my local web development. I use Vagrant and Ansible to set them up. For my site, I use synced folders to share the site files from the local machine to the dev VM. This limits what permissions can be set on the files though, and doesn’t work well for Symfony’s var
folder stuff, eg cache and logs. The normal Symfony permissions for those folders use ACL’s, but those cannot be set on Vagrant synced files. My solution was to create a /var/www/var
folder to store such folders for any sites on the VM, and symlink them into place in the shared folder location. I did this with Ansible so that it would be reproducible. Since I ran into some issues getting it working, I thought I’d blog about it.
WWW posts page 4
I had off work this past week and took a staycation. It went very fast and now it’s back to work tomorrow.
Continue reading post "#3924"Vagrant network IP change
Apparently, an update to VirtualBox after version 6.1.26 limited the IP’s usable for network adapters on Mac / Linux hosts. They must now be in the 192.68.56.0/21
range, which is pretty limited and much less easy to remember or type than the 10.*.*.*
that I had been using. I had to change my projects to all be in this range and spread out the IPs to avoid collisions between the various projects when I updated VirtualBox a while back.
Playing with GitHub Pages
This past weekend, I started playing with GitHub Pages for the first time. It took a while to figure out, but was somewhat fun. I’ve been interested in it for a while, but was unsure of how to do what I wanted, such as building with PHP, Sass, and Rollup. Turns out it was fairly easy with GitHub Actions to do most any sort of build steps I want. It is very interesting for free static site web-hosting.
Continue reading post "Playing with GitHub Pages"Letsencrypt log failure string
After being unsure for a while of what to look for in the Certbot / Letsencrypt log that is pertinent, as in useful to look for under normal circumstances, I finally had a renewal fail and figured it out. The string “(failure)” will appear if a renewal fails, and will be on the same line as the name of the cert.
Continue reading post "Letsencrypt log failure string"Github repo backup script
For some time, I’ve been wanting to set up a backup for my Github repos. Technically they are all backed up by my local copies, which are also backed up when I back up my local computer. However, I wanted something that was sure to have everything from all the repos (all branches, tags, etc) and could be set up and run continuously on a yet-to-be-created backup server. I have create a bash script to do this for me.
Continue reading post "Github repo backup script"Ideas: Cascading Behavior Sheets, a declarative alternative to JS
I have had the idea for some time that the web ought to have a declarative format to define behavior on elements like it does for styles (CSS). It would be an alternative to JavaScript (JS) that would be as robust as CSS, simplifying adding and defining common behaviors. There are a lot of things sites do frequently that can take a fair amount of work for a new person to implement, as well as require a payload sent over the wire. For people who don’t need complications beyond standard, this could be provided by the browser with some configuration in a simple sheet. I think there should be a Cascading Behavior Sheet (CBS) standard for the web.
Potential advantages:
- robust forward and backward compatibility like CSS
- simpler, easier to learn format than JS
- little to write or think about for common functionality
- little to send over wire for common functionality
- more performant native implementation possible
- declarative
- familiar syntax to CSS devs
- simple to connect behavior broadly to chosen selectors
- cascade,
@media
,@support
, etc to limit which and when behaviors apply - automatic handling of attaching and removing behaviors when they apply / don’t, including new DOM elements
- maintain separation of concerns that keeping JS and CSS separate provides
Porkbun has moved to Cloudflare for providing their DNS service. That is fine with me after they had an outage earlier in the year: Cloudflare DNS is pretty reliable.
Continue reading post "#3891"Annoying bot and Cloudflare free rate limiting
Some German bot(s) seemed to take interest in one of Cogneato’s sites, Rockin Houston. The aging site is fairly inefficient with a lot of data, and the bot was causing high load on our DB server. I have implemented a PHP blocker for certain IPs, but I wanted something more broadly applicable. I made a rate limiting rule on Cloudflare that should block this type of behavior and prevent it from even hitting our server once the rule triggers.
Continue reading post "Annoying bot and Cloudflare free rate limiting"Vim autocomplete setup
After hours of playing and learning some details of vimscript, I have improved the autocomplete in vim almost to where I like it. I’ve made it work more like some GUI editors, eg Sublime and Atom, where it pops open automatically as I type and I can tab to apply the selected choice or otherwise type on and ignore it, and otherwise clean up the experience. The main thing I would like to add is fuzzy matching. I’d also like it to match more in-document words and work for more unknown file-types in a generic way.
Continue reading post "Vim autocomplete setup"