Drupal has released a new CMS, creatively named Drupal CMS. The Drupal framework is one of the most used platforms for building web sites, with deployments from governments and several large corporations. The timing is exceptional, as the popular WordPress is currently going through some difficult times, both legally and financially. I haven't had a chance to try it, but it looks like it has potential.
David D.
Mantine 7.16 has been released with several enhancements. Check out the changelog.
David D.
I've been experimenting with creating a new scripting language that I'm writing with Rust. I've named it Languish, which is a synonym for Rust and a word play on Language. Surprisingly, it's actually coming along fairly well. I don't want to really get into details yet, but it has some novel capabilities and has been kind of refreshing to work on. I don't know when it'll be ready, but I plan to get it to the point I'm happy with it and then I'll begin sharing it with the world. For now it's just another side project.
David D.
Sometime around snapshot 20250102 I started having issues with Flatpaks not using system fonts or cursors. Most notably in DBeaver and Zen Browser. If you have these issues, you can solve them as below.
Download the previous RPM from the Tumbleweed repos: https://download.opensuse.org/tumbleweed/repo/oss/x86_64/xdg-desktop-portal-1.18.4-1.1.x86_64.rpm
Open the location you downloaded the RPM in a terminal and run: sudo zypper in --oldpackage xdg-desktop-portal-1.18.4-1.1.x86_64.rpm
(optional) Lock the package version to skip the bad version: sudo zypper al xdg-desktop-portal
Note: once a newer package is released, you can remove the package lock with sudo zypper rl xdg-desktop-portal
David D.
In the evenings I've been working on the reboot of ProfoundGrace.org (PFG), which is being built on top of Grazie!. I have the Bible feature working fairly well, with some additional features it didn't have before. PFG will have it's own theme, named Rock, based loosely on it's existing color scheme. The work has driven some fixes and improvements to Grazie! as well. I found some bugs in the pager and content lists: the pager currently overwrites query params external to the pager itself; the posts listing page doesn't display correctly for privileged users when there are no posts. There have also been a few little fixes here and there.
In Grazie!, I've been working on the Notes feature, which will later merge into PFG and kinda be specialized for that use case. Notes in Grazie! are mostly a feature for me or any user that registers here; they are private notes and lists, so you can only see the ones you create. I also plan to add website Bookmarks to Grazie!, but I don't know yet if they will be public or private (or both).
David D.
ProfoundGrace.org (PFG) hasn't had any updates in a while and it uses ArangoDB, so I'm converting it into SQLite so I can use Grazie! with it. I had been planning to use Allora (the SurrealDB variant of Grazie!) for it, but it seems like overkill and I was working on some JSON to SQL scripts earlier, which gave me the idea to use it with PFG. The tooling is intended for a project on ATF, but it actually works really well with SQLite as well. I have the SQLite tool in a repo, on github, named dbtools, if you want to take a peek, otherwise I'll talk about it later on when it's more capable.
I need to get back to the ATF work, which inspired this change, but I mostly have the Bible feature ported to Grazie. I'll work on it on the side and try to get it online in a couple of weeks. This was all necessary because I'm moving to SurrealDB and want to drop my ArangoDB sites/servers. Getting PFG converted gets me another step closer and SQLite makes a lot of sense for mostly static data. The content features don't get a lot of traffic, but the Bible does, so I don't want to take it down without replacing it.
David D.
I've been working on several new development branches for All the Flavors. We also acquired VC (https://vapingcommunity.co.uk/), which was, previously, going to shutdown 1 January 2025. Hopefully we can keep this great community going.
We've added a Browse Batches listing, for public batches. You can also now feature a public batch by pinning it to the Recipe, there's now a list of public batches on the Recipe, and a toggle button to choose which batches are viewed. This one is completed, we just haven't pushed it to the live site yet.
We are adding Flavor Reviews and updating the way reviews are displayed. Reviews will also have like and dislike buttons.
We are updating the flavor tooltips in the recipe editor to display flavor ratings, favorites, inventory amount, and location info.
We are adding a page to browse by tags and displaying tags on item listings (like flavors and recipes).
The home page is getting some styling updates and some new content, like recipe forum posts and recent reviews.
We are building up a new data set of Flavor Compounds, which you will be able to use in Recipes. These will also enable you to create perfumes and other aromatic recipes.
David D.
Better late than never, Tumbleweed finally got the 6.12 Kernel with version 6.12.6.
As far as I can tell, there were some issues with the new kernel and systemd-boot (which I don't use). The automated testing kept failing, so the kernel had been held back until now.
David D.
We launched the new calculator updates. These allow you to mix recipes with flavor shots and premixes, as well as mix a premix from just a formulation.
We also had some bug fixes in the update. There was previously an issue where mix counts weren't incrementing, so that was fixed. We fixed a bug that would cause issues if a recipe had more than 20 revisions (due to a self-imposed query limiter). We also fixed a state bug when adding favorites or flash stashing flavors from a recipe view.
I am currently working on enhancements for Batches. There will be a general Browse Batches menu item and page. Recipes are getting featured or pinned batches, so the recipe author can highlight a mix or variant of the recipe. Recipes will also be getting a public batches list. These will all be under a selector button, so you can choose which batch view is being shown, instead of adding more buttons or tabs.
We will also be adding the ability to set ingredients to 1/1000 instead of just 1/100 as well as the ability to mix by parts, instead of percent.
We have some new types of "ingredients" we will be adding soon, which goes along with the 1/1000 and parts updates.
Finally, there is still an outstanding bug in remixing batches: if you modify a formulation in the calculator, the changes don't show up when you remix it. I've worked on that some and will try to get that fixed soon. I will probably spend a week here soon just bug fixing, as I'm sure more will probably be identified with the more recent updates.
David D.
Just so you know, I've forked Grazie! (my own project) and created a version that supports SurrealDB, named Allora. So far it's a 1 to 1 port, with just changes related to SurrealDB and dropping SQLite/PostgreSQL support. It's taken a lot longer to find time to work on it than I hoped. It will be the platform BeSquishy will be built on and will be open sourced eventually, along with the SurrealDB tools developed for it.
David D.
We've been doing some big calculator updates for ATF.
We've added a formulation only mode to the calculator, so you can make premixes.
You'll be able to add a Premix to the calculator, which can match the formulation or be additional ingredients. You'll also be able to replace a formulation with a premix.
You'll be able to mix with a flavor shot of a recipe.
A big focus of the calculator changes initially were to make it more modular, but I'm not very happy with how that turned out. That will happen, but it'll be a work in progress and may wind up being a separate experimental mode.
We've fixed a few bugs with the calculator, most of which people haven't seemed to have noticed. I also fixed some bugs in the Recipe History display (again, probably unnoticed). There is one outstanding bug for remixing a batch, but I haven't tracked that one down just yet. I also fixed a bug that wasn't counting mixes correctly and one that didn't update if you added a flavor to flavor stash/favorite from a recipe.
I've also worked on improving the formulation selection for mixing, including a selector in the calculator. This won't be in the next update, but it's coming.
There's more, including some enhancements for tags in item lists and some public batch improvements, and some all new stuff that has been a work in progress.
David D.
Mid-summer in 2020, I started planning and buying parts for a new PC build. During all of that, I was also looking for a new Linux distro. At the time, I was tired of LTS and always having to manage a big chunk of my own package versions. I tried Fedora, but then an upgrade broke my desktop and I could have probably fixed it, but I decided I didn't want to deal with major distro upgrades at all. I tried Arch, then I tried Tumbleweed. I said, "Okay...I'm gonna give this [Tumbleweed] a try, I'll run it until it breaks." Well, 4 years later now, It never broke. Not only that, I went nearly 2 years without having to use snapper to roll back an update, at one point, and today, it has been 11 months and 15 days since my last roll back. That is insane reliability for a rolling distro. That's also without me having to manually fix anything, which you just don't do when you can just roll back.
Tumbleweed is the best Linux distro. It is.
David D.
She just squirtin' her coochie into the wind?
By my wife, watching a nature show, Night on Earth. The scene was of an Atlas Moth, for context, spreading pheromones.
David D.
This past week we released Recipe History, which allows you to track recipe revisions, revert to older versions of a recipe, or save an older version as a new recipe. We also released an update that allows you to copy a new recipe from a Batch of another recipe or update a recipe from a batch that was modified in the calculator before saving it. The third update added the flavor information from the Recipe editor to the calculator freeform and modify features. Finally, we added user cards that can be clicked to activate on Recipes and Formulations.
It's hard to believe we only have 12 weeks left this year. We still have a lot we want to do. This past week I developed the user cards and did some finishing touches on the Recipe History before launch. I also worked on the ability to mix a recipe as a flavor shot, which is mostly functional now, and the ability to select ingredients in a formulation to be part of a premix. These are all built on the branch that adds the ability to mix a formulation without a recipe, so the part that creates a premix.
We are getting close to the calculator state we want, which will allow us to add more functionality to it. We also want to break up the calculator and make it more modular, but that should preserve functionality and just allow us to do more things more easily in the future. I should be getting my co-worker back soon too, so either the pace will pick up or we'll be developing a wider range of features.
David D.
Today I begin using Zen, an open source browser, based on Firefox. As far as I can tell, it had its first alpha release in July 2024 and is still in alpha status. Be careful, there is another Zen Browser, based on Chrome, that is older and has a different web site (zen-browser.com). The correct website is zen-browser.app.
Being based on a mature browser like Firefox, the alpha status is somewhat deceiving. It seems to run very well for me. It has side tabs and some interesting features, like a sidebar browser and split browsing windows. It also supports everything that Firefox does, so if you want to use sync or whatever else, it seems to all be functional.
I'm currently using the flatpak, but for Linux it also has an AppImage and a portable binary. There are also downloads available for Windows and Mac, if you are into that type of thing.
I've been using the Developer edition of Firefox and I also have the development repo (openSUSE Tumbleweed) version installed, which is a build of the normal Firefox, slightly ahead of the normal package. The Developer edition is maintained by Mozilla, not openSUSE, and auto-updates, but today's update basically broke it for me. My toolbars and customizations are all shuffled around or just gone. I decided maybe it's time to try a different browser, so I searched for browsers based on Firefox and found Zen. I'm not saying I'm dropping Firefox, just that I'll try Zen for a while and see how it goes. I've used Firefox since 2002, when it was called Phoenix. I've tried a lot of browsers since then, but Firefox has been my browser for a long time. I'd probably build my own browser before I'd use Chrome or anything based on it.
David D.
This week I opened pull requests (reviews) for updates that add a revision system for Recipes. This displays every change to a recipe, including if it was created from a copy of another recipe or from a batch of another recipe, or updated from a batch from the same recipe.
I also opened a pull request that adds the flavor info to the calculator modify function and to the free form calculator.
After that I've worked on adding the ability to mix a recipe as a flavor shot, at a specific percentage, the ability to mix formulations as premixed bases, and the ability to designed premixes in the calculator. Those aren't complete and, due to the overall complexity of the calculator, are actually a little more difficult to implement than you may imagine.
There is another calculator update on tabs next, which will make it possible to select any formulation from the calculator itself, rather than having to find it on the recipe page. That should catch us up to what most people have requested and lines us up for a new type of ingredient and a new way to create formulations and use formulations. Eventually I want to add some new community features and better browsing features for batches and tags...but I'm slowly getting there.
David D.
I've been working on a Recipe versioning system for ATF. It's been...not that easy, but I ended up reverting back to the simplest way I could think of. I've probably built 10 different versions, ironically, of the version system. The system I ended up deciding was the best is mostly like openSUSE's Snapper. It creates a pre and post-change snapshot, with some pre variations, depending on the source of the revision. Currently, the only time a revision is triggered is when a flavor changes, but I am experimenting with other things, like recipe descriptions.
Additionally, I've also been working on the ability to update or create a recipe from a batch. This ties into the versioning system, but is change to the way we normally update recipes. The idea is, instead of simply editing a recipe, you create a new mix and change the flavors within the calculator. You then mix it and try it, if it's good, then you can update the recipe directly from the batch. This creates a new revision of the recipe and ties that revision to the batch and recipe. It's a change to the normal recipe development workflow, but it should make it simpler and reduce the number of clones and things like that.
Finally, I haven't forgotten about clones. If you clone a public recipe, that recipe will be tied to revision 0, which is the initial version. If it wasn't a public recipe, then it acts like the current cloning system and ignores the original version. This allows you to create original recipes, even if they are actually based on a private recipe base. Also, sometimes you may create a new batch that is good, but should be it's own recipe. The new version system will allow you to create a new recipe from that batch, like a clone, except it's from a batch. This means you can start out just creating batches, and when you get to the point where it's a legitimate recipe, then you save it as a recipe from the batch.
So the next features will be recipe versions and recipes (updates or new) from batches. After that we have some calculator updates and some new recipe features, plus some community features. I'm not sure which order those will come, but both are a priority. Among the calculator updates are some new features, mostly for our flavorists and vendors, but they could be exciting for others in our DIY community, who aren't necessarily happy just using regular flavors ;) More to come on those. That's it for the week 38 update. Sorry for the gap in weeks, I'll try to do better with the updates.
David D.
I've been considering moving away from Github for a while and have moved in the past. For, I think, 2 or 3 years I used BitBucket and I hosted a private git server as well. A couple of projects I contributed to brought me back to Github and then All the Flavors chose Github. I think I'm going to start using other services again, even if I do still use Github for some. I'm going give codeberg.org a try. I had considered it not too long ago and I think I had decided to wait until they have more services set up. I don't plan to move any of my current projects, which I had done with BitBucket previously, and I may move those to Codeberg.
I have 3 projects that aren't in remote repositories and they'll probably be private for a while. I'll announce those at a later time. Anyway, just giving a heads up if anyone follows my Github. I'll be putting a link in the footer to my Codeberg at some point.
David D.
I've been spending my spare time working on Node.js tools for SurrealDB. The 2 that are showing some promise are named Surrealigrate (a migration tool) and Bole ORM. I may end up changing their names, but for now that's what I'm calling them.
I've talked about both of them, so I'll try not to repeat myself. I've worked on expanding Surrealigrate some, but I need to work on some more advanced schemas and namespace setups to really push it. This week I've mostly focused on Bole ORM. The word "bole" is a kind of clay or the trunk of a tree, which both are kinda fitting for an ORM, in my opinion. My approach with all of my SurrealDB tools has been to take advantage of the built-in info queries and generate database specific code. A lot of tools, especially ORMs, are very standardized and strict with their implementation. I don't want that. I want to be able to generate query tools that are specific to the database and then be able to adapt them however I want, without the ORM getting in my way.
Bole ORM is a simple CLI tool and it generates a query class built for that specific database, down to table names and specific fields' validation. It doesn't require any kind of schema files or anything that manually needs to be done by the developer, it's all generated by inspecting the database. While it currently generates a class, to be used as object-oriented, I also plan to make it configurable, so if you prefer chaining, it'll do chaining, instead of objects. It resembles Prisma in the way the queries look, when using the class output, but it's simplier and I'm pretty sure the where and fields (Prisma's select object) objects may support more options than most Prisma methods support.
All the Flavors uses Prisma, so I'm very familiar with it and it's actually powerful when combined with a GraphQL parser. That is why I'm mimicking Prisma, to some extent, but also adapting with some things I feel Prisma could have done better. Once the feature set is, well, set, then I'll go into more details for the actual capabilities...but there's also a catch. I plan to make the generator modular, so you can plugin whatever you want, leave out whatever you don't, or add custom modules. This means you can basically design your own ORM with modules and just let Bole generate it.
I want to add some additional utilities to each. For Surrealigrate, I want it to be able to identify potential missing indexes and suggest changes. I also want it to be able to use either schema within SurrealDB or from a library, such as Zod, to generate migrations. The other side of that, I want Surrealigrate to be able to generate a Zod schema and validations for use outside of Surrealigrate, in Bole ORM or just in your application in general. As far as Bole ORM additions, I want to generate documentation for the specific database, and Bole ORM itself, and I want to do automated tests, primarily on data integrity, but also for the application itself.
The idea behind these tools is to simplify development and have something you use when you need them, but they get out of your way when you don't. There's no point in making someone run a bunch of CLI commands, when you can use Surrealist to design your database, then just run a simple command that does everything else. That's the way I see it anyway. If extra commands are involved, they are optional and they add value, like a command to generate a Bole query that you can paste into your application. That could just be a plugin though, and then it just updates a generated export and you never have to touch it again. Working for you, not against you.
David D.
Every week I'm going to do a summary of what I've been working on for All the Flavors (ATF) and some of the things we are planning. I'll write it throughout the week and try to publish it by the following Monday. This is the first time, so I'll start with
We released ATF v.2.3.13. It featured administrative tools for creating and managing badges for Users, Recipes, and Vendors. It also fix a bug in the messages application that prevented replies to reports sometimes. Finally, it introduced improved email queuing and sending, without which could make the API seem sluggish at times.
I also submitted the Pull Request for Remixing Batches for Recipe + Formulation batches.
Monday I submitted Pull Requests for improving the button layout in the Recipe editor and permissions system improvements. Finer-grained permissions will allow us to delegate some tasks to specific users, such as a Vendor being able to assign their badge to users or a streamer having a badge for their followers.
I also worked on a new feature earlier in the day, which I wasn't able to complete. It involves a new calculator mode, but I'm not sure when I'll be able to finish it, so I wont say what it is just yet.
Tuesday I worked on ways to make the mix calculator more modular and the new mix mode. The calculator is very complex, so I want to refactor it to be more data driven, but found it was too much work for this time allotment. Then I planned out some ways to utilize public batches.
Wednesday I submitted a Pull Request that adds a Batches list to Mixers' profiles to display public batches. I also restyled the way batches display to make some slight improvements and added a Mix button to both the My Stuff batches and profile batches, which allows you to mix that batch [again].
Thursday & Friday I worked on a data expansion project we are integrating into ATF
David D.
Batches on All the Flavors are the result of mixing a recipe. They are an optional last step (Create Batch button), but they are useful snapshots of a recipe's history, and they provide the utility of updating Stash amounts. One of my goals is to make the batches more important and have more utility. The first step in that was to allow batches to be public, which has partially been done, but there isn't a public directory of batches, you have to have a link to find it. Now I am working on allowing you to remix a batch. I'm still working out the exact details, but the goal is to allow you to just go to a batch, click Remix, and do it over again. It's currently functional, but it's not using all of the batch data explicitly, as I'm still working out option for formulations.
This is a pretty big change in the normal workflow and isn't even the end goal. I wont share all of the plans, just yet, but this new feature, combined with public batches, means you can easily share different iterations of a recipe and other users can actually mix them. It also allows you to move recipe development out of the main recipe, because you can edit in the calculator and keep remixing, editing, etc before updating a recipe or needing to make copies of a recipe. It keeps the workflow for a recipe contained to that recipe, without requiring changes that you don't know if you want to keep or not. It also means if you've mixed a recipe and it was later changed, you can still mix the original recipe without cloning it, just remix the batch you mixed before.
David D.
ATF v1 had the concept of Badges, which are like awards that users received for doing something, like having a recipe that had 500 views or submitted bug reports, I even have a developer badge on my profile. Badges were just ways to reward users for contributions and a thanks for being a part of the community. Now, badges are coming back in ATF v2.
Yesterday, I submitted a pull request for All the Flavors to reintroduce Badges. They've been present on user profiles for ATF v1 users, but we haven't issued them since moving to ATF v2. Once the pull request is reviewed and approved, we'll be able to introduce new badges for Users, Recipes, and Vendors. ATF v1 only support them for Users.
We have a lot of exciting new things coming with badges, they are just another step and help restore one more feature we didn't fully implement in v2. There aren't many of those v1 features left, so the new stuff coming is pushing us more toward v3 than adding v1 parity.
I hadn't been talking a lot about All the Flavors here, so I think I'll start. This new stuff is maybe going to change our part of the DIY world.
David D.