The automatic exposure settings on the Elgato Facecam are terrible, but you can fix it.

Use minimum brightness, a short 'Sleep After' period and a fully black screensaver image to protect your keys (image provided).

One of the cool new features of the GoPro Hero 9 is that you can use it as a 1080p webcam. Sadly, the out-of-the-box experience is glitchy and way too unreliable to use for a serious project, but you can fix it with the right setup and more $$. TLDR: Get the media mod and use the HDMI port for better output, take the battery out and power directly through USB to prevent unwanted shutdowns, and use OBS studio to resolve audio/video syncronisation issues.

TLDR: The Coolermaster H500M case supports up to a 240 mm radiator in top-mount position and up to 360 mm in front-mount position, but a front-mounted 280mm radiator is probably the best option for an AIO system.

A maintenance release, updating all third party libraries in use. No changes to core functionality, but the update of Bootstrap-fileinput has added a nice drag-and-drop target to image and media file uploads, which is something of an improvement. Upgraded libraries were: Bootstrap (v4.6), Bootstrap-datepicker (v1.9), Bootstrap-fileinput (v5.14), DICE (v4.0.2), FontAwesome (v5.15.2), HTMLPurifier (v4.13), jQuery (v3.5.1), TinyMCE (v5.6.2).

Tuskfish 2 is a rewrite of Tuskfish CMS to adopt a strict model-view-viewmodel (+ controller) architecture (MVVM + C). You can think of it as traditional MVC except the view is split into a view and a viewModel to abstract the model/view relationship, which improves flexibility and reuse of components. A front end controller and static router have been added to allow custom URL schemes. With the adoption of namespaces, Tuskfish 2 is now a very modern (if small) PHP application.

Tuskfish 2 is a rewrite of Tuskfish CMS to adopt a strict model-view-viewmodel (+ controller) architecture. You can think of it as traditional MVC except the view is split into a view and a viewModel to abstract the model/view relationship, which improves flexibility and reuse of components. A front end controller and static router has been added to allow custom URL schemes. With the adoption of namespaces, Tuskfish 2 is now a very modern (if small) PHP application.

Just a short note to say Tuskfish 2 is in the works. It's going to be a partial re-write of the back end, but there will be minimal changes on the front end or from a user experience point of view. The database schema will also remain unchanged to allow seamless upgrade. Tuskfish 2 will be designed as a strict MVC architecture to improved separation of concerns, rather than the loose MVC it currently has. Components will be assembled through composition and inheritance will be fully dispensed with.

I'm very happy about Github's decision to grant unlimited free private repositories. It's not that I objected to Github charging people for the services they provide, but to qualify for free access you had to make all of your repositories open source and public. The problem with that was that the world is actually better off with some repositories remaining private. Do you really want access to the scratch pad repository I'm using to learn a new language? I think not.

A maintenance release. Further internal refactoring to improve the structure and extensibility, and updates to third party libraries. An XSS vulnerability present in Bootstrap 4.0 has been patched through an update to Bootstrap V4.1.3.

Changelog:

  • Add canonical URL link.
  • Clean up base URL / links on index page (remove unnecessary 'index.php').
  • Use title for image alt tag if no caption is set.
  • Refactor of methods towards smaller logical components and improved compliance with the single responsibility principle.
  • Removal of magic method accessors and mutators in favour of manual getters and setters.
  • Improved error messages to increase clarity.
  • Extended bad login count and retry delay to include 2-factor authentication.
  • Fixes to pagination control.
  • Implement admin side content object controller to clean up the admin script.
  • Fix https://tuskfish.biz conversions in content module.
  • Manually set cache limiter in some pages to avoid 'document expired' errors when using the browser back button.
  • Bugfix for taglinks being deleted when a tag is edited.
  • Update to FontAwesome 5.5.
  • Update Bootstrap to V4.1.3 and remove unnecessary files.
  • Remove popper.js library (now bundled in Bootstrap).
  • Update TinyMCE to V4.8.5.