Toby's Log

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
Continue reading post "Ideas: Cascading Behavior Sheets, a declarative alternative to JS"

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"

Ideas: Hybrid energy storage for electric vehicles

I would like to see electric cars adopt hybrid energy storage / generation systems. An advanced controller would direct electricity to and from each system based on which is considered best at handling the current situation. If one has failed, it would simply be cut out of usage. It might include batteries, a generator, capacitors, compressed air systems, etc. A system like this would:

  • allow for characteristics that any one system doesn’t provide
  • provide an alternative / backup for if any one system fails / degrades
  • retain the simple, low maintenance drive system that an electric vehicle has
Continue reading post "Ideas: Hybrid energy storage for electric vehicles"

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"

git: MacOS default branch now “main”?

At some point recently, git init on my Mac has started to default to the branch name “main”. It did this for a repo I created today, but not for one created August 29th, so maybe Apple made a change in an update sometime between then and now. I haven’t been able to find anything about the change on the web though.

Continue reading post "git: MacOS default branch now “main”?"

I finally failed to get my first Wordle word a couple weeks back. I had missed one in August just by time because I forgot about it, but still got the word after midnight. This time I took six guesses and didn’t get “PARER”. Apparently, it’s another name for a paring knife, but I have never heard it referred to that way. I don’t care as much though since I no longer had a streak going.