Tag: syndicated

  • Flyway Tips: Object History

    It’s a small change, but a handy one. Flyway Desktop (FWD) now includes the object history for different schema changes, so as you are evaluating how your changes might fit in with others, or you are trying to determine where something broke, you can see a list of historical changes. This post looks at checking history quickly in FWD.

    I’ve been working with Flyway and Flyway Desktop and helping customers improve their database development. This series looks at some tips I’ve gotten along the way.

    Checking History

    In Flyway Deskop, I can see all of my objects on the Schema Model tab on the right side. Here I’ve selected CustProc in the list, and at the bottom I see the current version of the code. However, if you look where my cursor is, there’s a small clock there.

    2026-09_0103

    If I click this, I see a blade pop out with history. On the left, I see the various versions. At the top, I have the uncommitted change I just saved. This is shown as the older version on the left, which is committed in Git. My new changes are on the right, with green shading to highlight what I’ve changed in code.

    2026-09_0104

    However, maybe I wonder what was the previous change. If I click the top commit (c398a9d), I see this view. Note the red shading on the left, which are the columns I removed. I also have the green shading on the right, where I’ve added a comment and removed a comma. My commit message is at the top with my name and the time (upper right).

    2026-09_0105

    I can flip through the various history iterations of code here, just as I did with Git, but I can do this while I’m doing development work in the same place I’ve capturing changes.

    I have a “go to Version Control at the top as well, which opens the VCS tab. Here I can commit the change.

    2026-09_0106

    Once I do that, my change appears as a new commit for this object in the history.

    2026-09_0107

    AI Sparkle

    It can be easy to sometimes see the changes made by a developer and understand them. However, sometimes there are complex changes, or you don’t notice something. Here I’ve got a more complex object history.

    2026-09_0108

    In the upper right, there’s an AI sparkle next to the “Explain this change”. If I click that, and have AI features enabled, I get an explanation. I’ve zoomed in to see this at the top.

    This is a summary of the changes, which in the chaos of work, can be helpful. I get a quick summary.

    2026-09_0109

    I wouldn’t just trust this, but instead this guides me along the code to look at what’s been removed and added, and this summary helps me double check that the code does this, and that I understand it.

    Summary

    This a small improvement, but one that keeps you focused on the work: what changed. No hunting down the changes in Git or changing somewhere else. This also is easier to see than a git diff for me. It also gives me a quick summary where there are a lot of changes.

    If you work with Flyway, update your desktop and give it a try. We would love to hear your feedback.

    Flyway is an incredible way of deploying changes from one database to another, and now includes both migration-based and state-based deployments. You get the flexibility you need to control database changes in your environment. If you’ve never used it, give it a try today. It works for SQL Server, Oracle, PostgreSQL and nearly 50 other platforms.

    Video Walkthrough

    Watch me do this in video:

  • Car Update September 2026

    Software is hard. While I love our Lucid Gravity, I realize that they are behind Tesla with software. A few of the weird UX and software engineering decisions they’ve made.

    This is part of a series of thoughts on cars, just for fun. These are my thoughts and opinions based on my experiences.

    Confirmations

    When I got the car, the phone-as-key wasn’t working. I could open an app on my phone and unlock the doors and enable driving (two buttons), but I had to select these items. Unlike my Tesla Model Y, these weren’t automatic.

    I understand that, as building apps that run with low power and detect things is hard. I’ve had numerous items not work well for doors, devices, etc. though I think Lucid should have made this a priority sooner. However, I’m not trying to start a car company, so what do I know.

    However.

    Phone as a key seems like table stakes for car software, but let’s ignore that. The big thing for me is the confirmation when I open a door or the trunk(s). Why is there a pop up asking me if I want to do this. Engineers might think, of course, give a confirmation.

    For me, if I press a button on the fob, there’s no confirmation. If I hit the button inside the car, no confirmation. Why add one in the software? Or maybe more importantly, why not have this as a toggle the user can enable or disable. Toggles are cheap, they are often implemented anyway for testing, so why not expose them?

    There are UI/complexity considerations, but most of us are used to changing settings in the various apps on our mobile phones.

    Deep Linking

    On the main screen for a Tesla is a set of buttons on the bottom, one of which is a menu. There’s also a settings button. There are 5 (or 6?) customizable buttons, which I can pick a function and then drag that onto the main toolbar, so it’s available. For me in the Tesla, I had:

    • Spotify
    • Radio
    • Heated Steering Wheel
    • Energy usage
    • Bluetooth
    • Cameras (not sure if this was always there)

    Everything on the screen is a function/method call in software. Likely an event calling a method, but still. Why wouldn’t we make things available.

    On the Lucid, I only have top level categories available: home, fan/climate, seats, charging, nav, media, etc. You can see these below. I can remove some, or add them back, but I can’t change say, media to radio. I always to to the main media screen and then select radio or Bluetooth or Spotify, etc.

    2026-09_0098

    Everything is a function, so why not offer linking those functions to quick buttons?

    Summary

    There are a few other things I don’t like, but I can guess why the software works that way. I am looking to work with the software, and in some cases, stop doing silly things I would have done before and try to let the car do things for me.

    I’ve gone back and forth with Android Auto, and while it sometimes gets in my way, if I live with it and accept it, I’m a safer driver. I do less stuff on screens when I should be driving (or mostly paying attention at red lights).

    This is still a fantastic car and I look forward to driving it whenever I can.

  • Local Models Using GPUs with Ollama

    Can you use your GPUs when running a local model under Ollama? You can, and it really depends on how you run Ollama and what your hardware is.

    Ollama supports NVidia and AMD GPUs with some exceptions. You can read about their hardware support here. There are drivers required from the vendors, and configuration, but it can help with performance.

    Of course, GPUs aren’t cheap.

    I have an NVidia GeorForce RTX 2060, which is listed as being supported with a compute capability of 7.5. I need a driver version of 550+. I’m supported with driver version 560.94.

    2026-09_0096

    However, I need NVidia CUDA drivers installed for this to work. Those don’t really install on Windows, so I have to install them in the WSL subsystem, with the Linux install guide for this to work on my system. I don’t use Docker, I have Rancher for reasons …, so I haven’t done this so far.

    If you use Docker Desktop, there is native support for GPUs.

    On Macs, there is native support.

    If you are looking to run local models seriously, you’ll likely want either a dedicated machine, or you will go the Docker Desktop route as an individual. In an org, you might pick a dedicated server and allow multiple users to connect and get answers in a secure, controlled way.

  • Creating a Local Model Chatbot on Windows

    After my session at VSLive last week, I had a few questions from the audience. I’m adding some of these into blogs, and this was one:

    How do I run the docker compose to get a local chatbot?

    I didn’t include the dockerfile in a a repo, mostly because it’s simple, but just to make it easy, it’s in this zip: ollama-docker-compose.zip.

    To start this, I’ll assume you have Docker (or equivalent), but no images. Create a folder structure like this:

    2026-09_0091

    Put the docker-compose.yml in here. Then open this in a CLI and run: docker compose up

    You should see something like this. The images start pulling. This is slow, but once the download is there, it should be smoother.

    2026-09_0090

    Once the images are pulled, the containers should start and you should get some output in your CLI window. Something like this. Note the first part of the output is the container.

    2026-09_0093

    Once it’s up, it will first ask you for an admin account. Enter your credentials, as I’ve done. I didn’t use this email, but it doesn’t matter which one you does. It’s local!

    2026-09_0094

    You should then get the chatbot interface. Note, like me, the first time you run this, there’s no model, so use the post below to add your model and get started.

    2026-09_0095

    I have a few posts on this that might help. Note that these are from the past the the GUI has changed slightly, but the items are still in the GUI, just moved.