Extract linkable anchors from any webpage

You can’t always tell what parts of a web page are linkable. Some headings have ids, some sections don’t. On mobile, inspecting element IDs is nearly impossible. This tool lets you paste any URL and see a list of anchors you can link to. It detects both <a name=””> and any element with an id. …

Convert Old FLV Videos for Mobile Playback (iPhone, Synology NAS)

Note: I can attest this to be functional for me, but I’ve used an LLM to produce this. Your mileage may vary. Please check your particular details, particularly the call for checking temperature may vary. Many people have video files that no longer work on modern devices. You may have downloaded or perhaps made backups …

Relationship Questions / Dating app, Influencer/Company marketing matching

In this post I’m exploring two different takes on matching people in two different contexts. First, an app to use on a date to get to know them deeper, and second, a popular tongue-in-cheek swiping dating style app for influencers and companies looking for advert space. Dating/get-to-know questions app Relationship questions app (This demo only …

Simplifying for Focus: Block game for alleviating PTSD symptoms

The primary goal of tTrsTherapy is to remove distractions and create an experience that allows players to engage with the game in a mindful way. So we are aiming for less of a gamified experience and more for a zen of doing the thing for its own sake. Traditional Tetris mechanics have been retained, but …

Smooth animated CSS transitions across pages with View Transitions

This is pretty exciting! You used to only be able to do this on single page apps. Examples The View Transition API lets you add transitions between views of a website. — Read on developer.chrome.com/docs/web-platform/view-transitions/ Deeper dive: https://news.ycombinator.com/item?id=43308907 https://jakearchibald.com/2024/view-transitions-handling-aspect-ratio-changes/

Open Source UX: reviewing Joplin and Ocenaudio

In this post, we’re diving into two compelling open source projects, Joplin (task management) and Ocenaudio (audio editing), which are redefining user expectations and providing strong alternatives to proprietary software. These applications not only challenge the dominance of established players but also showcase a commitment to improving usability and functionality in ways that appeal to …

NotesOfFreedom: A Practical Solution for Offline Notion Data Access

Private for now. If you find the prospect of easily accessible, locally stored Notion data appealing and wish to contribute to the development process, we encourage you to reach out. Please express your interest by messaging me so I’ll have motivation to publish this. NotesOfFreedom is a solution that can be deployed on any web …

How to always get maximal debugging output for SQL queries in Qt

I tend to always forget how to use prepared statements, so I generated this little helper function that always does what I typically want. (TODO: retest this, 2023-09-04) #include <QSqlQuery>#include <QSqlError>#include <QVariant>#include <QMap>#include <QDebug>#include <QSqlDatabase>/** * Executes an SQL query with placeholders. * * @param sqlString The SQL query string with placeholders. * @param placeholderMap …

The Risks of Modal User Interfaces: A Deep Dive

I love how much power understanding the fundamentals of UI/UX design can give you to build experiences that really flow smoothly! One of these fundamentals is modes – and how to use them well. Modes are sometimes necessary, but they can be a risky choice in a user interface. This is true especially if the …

Qt Widgets Password Dialog with Caps Lock Check

Checkout on GitHub This is a dialog. There’s really nothing very particular about it; just that it’s been done well for a particular use case, where users need to be nudged to be aware of what they’re doing. In this current implementation, sufficiently technical users are able to extract the password but that isn’t the …

App: Merge Qt translation files

Checkout on GitHub Sometimes you can end up in a situation where you have multiple little apps (Qt projects) as part of a bigger project. So you may have started out with multiple translation files, but really, you want a single common translation file between projects so they share a vocabulary. So how do you …

Qt: Adjust QTableView height according to contents

In my layout, my dynamically generated QTableViews seem to get resized to only show one row. I want to have the container of the table views to have a scrollbar instead of the individual table views, which should show full contents. Qt doesn’t have anything built in for this apparently, you need to calculate and …

Getting Twincat XAE to function on MacBook Pro

I finally got sick and tired of all my windows laptops breaking physically one way or another. First there was ThinkPad Edge, then there was the ultrathin Sony Vaio (bought just before Sony sold the business and discontinued the thing). Developers, Linus Torvalds included, online seemed to agree that MacBooks are the best hardware on …

Learning and state machines

Guiding learning can be a deceptive thing. Where an expert might think something is simple, the student’s journey toward understanding is filled with twists and turns the expert no longer even remembers. This is really the core challenge of teaching: how to communicate the complex when your own mind has already largely automated those early …