Qt has the palette-object, which stores colors for windows, and automatically switches when the OS’s dark mode is activated. Very nice and useful if you want to stick to OS defaults as close as possible.
Archive
2025
Corridors in Qt: Some time ago I made a fully working clone of Dungeons & Diagrams in vanilla JS and Three.js. I used JSDoc-comments for some kind of help/hint during development. I never really finished it, but it was a good learning-experience for Three.js and Vue, which I used for the UI. This game is a great …
Progress on the QtQuick LCARS Todo App: I further refined the UI and added some responsiveness, so it’s usable now on a phone. I’m missing some UI debugging/inspection features that are normal in other layout-solutions. Finding out where a gap or width is coming from is a bit clunky.
LCARS Todo App Experiment: Progress of my LCARS Todo-App. Played around with animations, but that’s something for later. First I’d like to have a “clean” look, with a color-scheme I’m happy with. Went with Lower-Decks-LCARS-Colors for this one. Also got the iOS-Simulator-Build to run today. At …
In QtQuick whenever you change data within a QAbstractListModel, you have to notify Qt in some way. It’s not as straightforwardly reactive as in modern web-frameworks. When adding, moving or removing items from the list, the operation needs to be enclosed by beginInsertRows/beginRemoveRows/etc …
Qt is fun! I spent some later nights now getting my ToDo-List to work. I’m also not very versed in C++ so it’s two new things. Thankfully, Qt has fantastic documentation! It had to be LCARS colors of course. You can connect a C++ Class to a QML-View by making it a Q_OBJECT (a macro that …
Still haven’t gotten around to finish that e-ink-thingie from the last post. Played around with Linux Ubuntu in the last few weeks. I’m considering getting the son an old machine for his 10th birthday. It would be pretty locked down, no online-connectivity in the beginning. And with …
I regularly (every year or so) checked out e-ink-displays for the RPi since I had my first one (2014ish). Lately I found that the Pimoroni Inky Impression is a good candidate. It works as a “hat”, so you just plug it onto the Pi and off you go. Also finally a use-case for the Pi. I have …
I still have a game-scenario-idea in my head, but haven’t been able to think up a game-design for it that I like: A space-port-manager where the player has to manage landing-pads, and certain resources to ensure happy visitors, and making sure that enemy fractions don’t land next to each …
One of my current WIPs is a GTA1 clone/experiment in Godot 4. Using some Kenney and HumbleBundle Low-Poly Assets, I implemented some of the simpler things like entering/exiting cars, nearing NPCs with a speech-display and NPCs following the player within a restricted area. As long as it’s fun …
This is still my most favorite CSS-hack of all time, from jQuery-times.
2024
The whole process works now! Opening file, editing and saving to JPEG.
I managed to get the correct resulting image-crop from OpenCV. I passed the wrong Vector2 to CV as the destination-size before, and got the original images ratio for some reason. Opening an image via Drag&Drop also works. The only thing left is to add saving the file.
Added Drag & Drop and Raygui Panels and Styles. Next will probably be to load and save images. Currently the image is hardcoded. Planning to add some more ornament. A nice-to-have would be to crop the destination-image to the final crop without the “outside”.
It kinda works now. At least the straightening part. I’m feeding the images into OpenCV, and converting them back to a Raylib-compatible format. The whole load/save-cycle is still missing. Thinking about doing a crop-selection on the resulting image.
Switched to trying to use OpenCVs Transformation Matrix with Raylib. I’m getting some pixels, but nothing really working yet. Feels adventurous.
Currently playing around with C++ and Raylib. Trying to re-create Skewbacca, the tool I created to un-skew laptop-images. I got pretty much everything down except getting the correct transformation matrix. I got a little help from Claude, but the the calculation didn’t do quite the right …
Deno and Skia-Canvas: I have used Deno for Advent of Code, and I like the OOTB Typescript-Support. It’s also pretty simple to add Skia-Canvas for graphical stuff without having to use Raylib (which is great, but if you don’t need Input or Sound, and want to use canvas-API, may be too much). $ deno add …
Wednesday, November 27, 2024 →
The current thingie I’m working on is a game inspired by Golden Idol. The main loop is sorting chat-threads. Discover a story by sorting chats. Making a little prototype in HTML. The most annoying part is coming up with a story. Generated some moods for inspiration.
Changed the approach to only get the possible solutions for each next step, which sped up the board-solving from infinity to an instant. The “hardest Sudoku” is now being solved instantly. The only thing that doesn’t really work quickly or at all, is to fill a completely empty …
The brute-force-method caused a major headache but it works! I can solve all Sudokus in theory, but for more than a couple 0s, it takes longer than a few seconds. I’m generating a list of 0s and their possible numbers, then recursively trying out all possible combinations. So far without …
So currently I’m checking the Sudoku board for 0s with only one possible solution. This works for most easy boards, but as soon as it gets medium-hard, it’s not possible to finish the board only by analyzing rows, cols and quads. I don’t know if there are any other algos for …
Simple solving Sudoku works now with multiple solving passes.
On the Sudoku-Front: The easier part is done, I can analyze rows of numbers if they are valid (1-9) and if they are “ok”, which means they may contain 0s, but no number is used more than once. Do I go the brute force-approach first? I’m thinking to first collect all 0s and fill out …
Game idea: Unsorted chat bubbles that need to be sorted into the right chronological order. Could be a group chat. Could be combined with photos, videos or images. Would be trivial to prototype with HTML/CSS/JS.
I was testing the newish Zed-Editor recently. Some slight details still bother be, so I won’t switch completely for now. (File-tree is not movable to the right side, no good grayscale-theme and syntax) It has pretty good Elixir-support, so I’m using it for the Sudoku. It’s a great …
Messing around with a sudoku–solver in Elixir. I haven’t done Elixir in long time, although I really enjoy it. For hobby-projects and experiments I usually do something with graphics or UI, and Elixir is better suited for “headless” programs. I’d love to dive more into …
A nice detail in Godot: In the editor-sidebar, a file will appear bluer, the more recently it has been opened, in terms of how many other files have been opened in the meantime.
Already got some systems in place, I can move single steps depending on the angle. The Trek-Game handles diagonal movement as one step resource-wise. Godot-UI is pretty nice, but lacking reactive properties. There are some extensions, but I think for my limited amount it should be fine to go the …
Currently doing a modern version of WinTrek, while learning Godot. I played WinTrek on my old PCs back in Windows 3.1 or ME times.
Long time no post. I released the Pico-8 Solitaire: www.lexaloffle.com/bbs/
Adding Windows 95 UI is always the best idea.
Wednesday, February 21, 2024 →
Pico-8 is peaceful
The Cpp/Raylib-version of the solitaire-game is kinda on hold. No motivation to do card-images. The Pico-8-Version is just for fun, plus it’s easier for the card-art.
TIL: Two of the same highways in the US can have more than one mutual junction. #geoguessr
Shuffling Cards in Pico-8/Lua
2023
Solitaire is an interesting dev-project. The rules are quickly done. The real work comes with layering the render-order of the cards.
The current looks of kuso–solitaire.
Managed to get a high-res web-export with Raylib. It doesn’t work with resizable, since the WASM-lib will set the canvas size and you can’t do the 200% width-trick to get a sharp canvas.
Yak-shaving with the art-style again, but I think I like the vector-look more for this. Some more features added, too, and it’s starting to feel good for playing. Time to introduce a re-deal, maybe undo and/or difficulties.
Trying out more-readable fonts for the card-numbers. Also I think I’ll ditch the jaggy stacking, since the pixel-art doesn’t rotate that well.
Got basic animations working, and every card is now a sprite. WASM-Build works.
Sketching the other Faces
Saturday, September 30, 2023 →
Exploring a style for the card-game. Aseprite, PICO-8 Palette.
First round played on the card-game. No win-state yet, but fully solved with a random deal.
Wednesday, September 27, 2023 →
The current game-dev-project is an italian version of solitaire, with brescola-cards. First time making a card-game. C++/Raylib.
The current game-in-progress is actually fun to work on. A clone of “Dungeons & Diagrams”. The same rules, but I want to do it a SciFi-Mining-Look, and instead of 8x8 boards the plan is to do mobile-friendly irregular boards, like 6x8 or 5x7. Tech is ThreeJS and Vue.
/imagine vast atmospheric plain landscape, arizona desert, few clouds, huge mountains in the back, detailed digital painting style, low saturation, early morning –aspect 9:20 –no vegetation –v 5
Current game-prototype-idea is Lxk8 but as idle-game.
Some attempts on generating tile-able backgrounds for game-prototypes. Created by Midjourney V5.
“Buy once, cry once” —its_iron
Game idea: Diary fillout detective game in the style of Obra Dinn or Golden Idol.
Started a DevLids-Web-Component. codepen.io/niorad/pe…
The boss just left the company after 10ish years. I’m there since 2010. So many folks coming and going. Wondering how long I’ll be around here. It’s still fun and challenging.
Current state of the binary guesser game. Made with Flutter.
Playing around a bit with the new Container-Queries, still noticing inconsistencies. Firefox can’t do aspect-ratio-queries. Chrome will make a container zero-height (like the ol' container with floating child-elements) if no height is set. Let’s see what else will come up!
Game Idea: How long do you need to write a number in binary? A number is given, like 2342. You have like 12-15 fields with zeros you can flip. The timer runs. How long until you get to 100100100110?
2342 = 100100100110
So in Dart, “const” is for values that are known at compile-time, “final” is for those that ain’t.
It’s hard to find out what the actual syntactical differences are between Dart and TS.
My cell-phone/smart-phone history Part 2
My cell-phone/smart-phone history Part 1
My music device pre-smartphone history
The current game-idea is Threes but with directional cards where you can only merge in certain directions. Like monsters eating monsters only from behind or the side, but not frontal.
𝙼𝚊𝚢𝚋𝚎 𝚝𝚑𝚊𝚝’𝚜 𝚑𝚘𝚠 𝚋𝚘𝚘𝚔𝚜 𝚐𝚎𝚝 𝚠𝚛𝚒𝚝𝚝𝚎𝚗 𝙼𝚊𝚢𝚋𝚎 𝚝𝚑𝚊𝚝’𝚜 𝚠𝚑𝚢 𝚜𝚘𝚗𝚐𝚜 𝚐𝚎𝚝 𝚜𝚞𝚗𝚐 𝙼𝚊𝚢𝚋𝚎 𝚠𝚎 𝚘𝚠𝚎 𝚝𝚑𝚎 𝚞𝚗𝚕𝚞𝚌𝚔𝚢 𝚘𝚗𝚎𝚜
First try without reading up on how to do it. Next brick crashed it.
Managed to get my CO2-Sensor working with C# and Raylib. Made a little LCARS Interface. I did that with Pygame last Winter, but I wanted to get it working with a more familiar language, and a general HID-Library. I’m not sure why all of this works, but you have to send a feature report first, …
I got memory confused with variable registers at lots of places. Now it works! Sound is still missing, and I thing about adding a ROM-switcher or something similar. Or variable FPS.
Not quite there yet. Some simpler ROMs work, some look weird, but at least no crashes. #chip8 #csharp #raylib
Finished the Wire re-run, 10 years later. Best show ever, nothing comes close.
OMG my Chip-8 is chipping!
After some initial confusion about memory, stack etc. (no good at those things) I finally got some wrong pixels on the screen and managed to get the program looping. Using the IBM-Chip-8-Testing ROM. Using C# with Raylib.
I got pretty far in the last Advent of Code. Never learned so much in a month. The rest I’ll probably do as time and energy allow. After the holidays I got strep throat with 40 fever, and had to call several pharmacies for the right antibiotics. Got better pretty quickly. But it halted …
2022
3yo: “Papa hast du Geburtstag?” “Ne erst in vier Tagen” “ABER DU BIST DOCH SCHON ALT!”
Re-watching The Wire. Got it on Apple for 35€ HD remastered. Every second is gold. This is how good shows can be.
Wednesday, November 23, 2022 →
My MiYoo is supposed to arrive tomorrow. There seem to be no issues with customs. Already got a Mini-SD and put Onion OS on it. The original SD I’ll backup and then not use, in case I want to sell the thing at some point. Let’s hope the screen has no dead pixels or other issues.
Still on the Lxk8-Pico8-Game. Fun times!
A controlled jump for Pico-Lxk8. The idea is (from googling) to apply a lower gravity to the player while the jump button is pressed. So that after release, the player would fall down sooner. The problem with this approach is, that tiny jumps become harder to get right. This happens because the …
Wednesday, November 16, 2022 →
Doing an Lxk8-Remake in Pico-8. Every time I use it I’m delighted. Nice to do some yolo-coding for a change. Ordered a MiYoo handheld, and planning to run Pico on it and finally play all their great games. I think I like the palette most. Only 16 Colors, but they are so vibrant and create a …
Started learning Rust a few days ago. Today having a presentation about JAM-Stack. 100,1 kg as of today.
A thing I wrote in a Discord: I always loved programming, but wasn’t good enough at school to get into an “Ausbildung” in that direction (also it was Post-Dotcom-Burst). Ten years of detours (and a BA in Design) later, I got into a dev position. At first it was design, but when they saw the websites I did on …
I strongly believe that most folks who complain about Electron never seriously tried other “native” web-based cross-platform-solutions. Most are horrible, and/or are non-free, and/or don’t handle accessibility at all. Sometimes even OS-native ways like Swift-UI lack flexibility and …
In other news, got the X-Box Wireless Headset and it does such a good job with 2 connections, console and mobile. Connecting the Bose 700 to two devices doesn’t work well. The X-Box has no issue at all. It could use it exclusively for all headset-needs if it had a cable-feature and …
Played aroung with Godot 4 Beta 2. No Web-Exports work, but really liking it so far. GDScript is nice.
Finished Today: Sniper Elite 5, Blake Crouch: Upgrade, Better Call Saul, Hack*Match from Last Call BBS
Current Look
Building the gameplay is more fun than creating levels.
Current state Hangar-Puzzler-Prototype. Inspired by Dungeons & Diagrams.
I’m more and more convinced that long-running compilers and other build-processes are the No. 1 productivity killer for developers.
I’m happier when I: Do some kind of movement that is more than biking or walking Do some creative or constructive thing
Don’t worry Don’t compare Don’t expect too fast Be kind to yourself
Current state. We have “ships” (the colored shapes") with stats.
In game-prototyping it’s so vital that you get an answer to “is it good/interesting?” as soon as possible. Throw all clean code, effects and ornament out, or you’ll be polishing turds in no time.
This is how the hangar-puzzle prototype looks right now. Made in React. If it shows any resemblence of fun, I’ll do it in an engine or SwiftUI, let’s see. The idea is to place space-ships in a way that they can receive energy, repairs and leisure (as in crew-vacation etc.). The game loop …
“Only ideas won by walking have any value”
Started looking at SwiftUI. Really similar to current web-front-end. Have an idea for DevLids: FiveLids. Every day there are 5 Lids to check out. Swipe thru TikTok-Style, but not endless, but limited to 5 a day, in order to not waste time.
I’m much more relaxed in the afternoon. From 15:00 on I feel more calm and not so nervous or tired or restless.
If you need a user-onboarding for a UI-Redesign, the redesign can’t be that good.
A little accident yesterday evening. Spilled some liquid over the keys.
Some years ago I used Emacs for a while, and now setting it up again, following a Clojure-Course. All the little problems are coming back, like the meta-key (option) which prevents me from typing [ and ].
Checking out Clojure this morning. Cider didn’t work on Emacs following www.braveclojure.com/basic-ema… I had to throw out cider from init.el, and package-install it anew. stackoverflow.com/questions…
Googling for my old nickname “Kfeeras” led me to a Reddit Thread from 2021. They posted an infographic I made 2010-ish about Oil (university-assignment). No idea how they found it. It’s not really sticking to any rules for infographics. I just wanted to do something with Cinema4D.
While lots of people seemed to have lots of more free time during the pandemic, I had almost no free time during the lockdowns and restrictions.
I need 10 minutes by bike to the bubble-tea-store and back.
It’s one of either “using H3 because it’s too small for H1” (styling) or “there can only be one H1 on a page” (SEO-crap).
In my time interviewing at my current work (Junior–Senior Front-End-Devs), I didn’t have one applicant using H1-H6-Tags correctly.
Game-Dev: Have to remind myself that the engine doesn’t matter at first. Use something quick and known. When the game-prototype/idea is there, switching to another is not an issue.
Checking out Defold-Engine. Nice for 2D. Good showcase-game poki.com/en/g/zoom…
Pfusch to Talk
NTS: use Joey Jo-Jo Junior Shabadoo somewhere
.
💻 Not sure which kind of modal-component is more DX-friendly. 1: One which is used programmatically, like modal = new Modal(); modal.open(content); 2: One which is used declaratively like {modalShouldOpen ? <modal content="content"/> : null} Currently using it the first way.
On Peppa Pig there are „normal“ doctors and vets.
Last day of therapy today after almost 2 years.
💻 One thing I would love to see in Lit: The option to make a component without creating a custom element. It would be the same, but without any shadow-dom. It could just render whatever is inside render() and have a div as root. Although usage then couldn’t be declarative in HTML, but would …
💻 Lit mostly provides a security-layer for interpreting HTML (Lit-HTML), and a couple of helper-features for element-classes. Especially TypeScript-Support. One thing that is non-trivial IMHO is to know, when elements will re-render. Not always straightforward, particularly with nesting. State on …
💻 I really enjoy working with WebComponents/Lit. If I made a list of all the pros and cons, there wouldn’t be much on the “pro” side, and lots on “con”, but still I enjoy the simplicity. The one killer-con is, that it’s probably not very useful to have on my CV.
💻 Lit-ClassMaps are more useful than expected. Also I increased the print-width in my editor and project, since nested templates can get very indent-y and super-hard to read. From 80 to 140. Why not?
This is a nice ASCII-Zine. www.legowelt.org/shadowwol… Thinking about doing a punkrock-copy-paste-style zine for DevLids.
Yo Discord. Why is the cross green?
Also I finally feel like doing something productive again, after the whole stress with the second kid additional to the pandemic. Slowly starting to feel like myself again. Also my therapy is ending on Tuesday after almost two years, so there’s a milestone! I did some game-development here and …
The main goal for the new DevLids-Client is to allow for a more browsable UX. Something with a nicer layout and lazy-loaded-scrolling. And to see what’s new in the front-end-area. I worked mostly with WebComponents in the last years, so time to catch up.
💻 Next.js is caching images, even from 3rd party sources. Very convenient! Currently running Kirby on local PHP and Next via Yarn. I’m not dealing with CORS in my free time, no sir. Enough of that at work. Will try to do all Next-requests server-side.
💻 Managed to update DevLids' KirbyCMS to the latest version and connect NextJS, all local, via an API plugin which I already had in Kirby.
💻 This git-command is a live-saver for late timesheet-bookers: git log --since="7 days ago" --until="now" --author=nio --all
💻 About one or two years ago (I really don’t remember) I switched the color-scheme in my main editor (VSC) to a grayscale-scheme. Instantly liked it and didn’t change it ever since. Currently using the Go Mono font, too. I keep switching between that and Liberation Mono, which I saw …
I wonder if we (in IT and consulting) will ever return to any form of regulated attendance, where one has to be here or there for whatever reason. I used to prefer the office over home-office, but that changed after some time (> 1 year at least) getting used to.
Friday-afternoon is my most productive time. Usually no meetings, nobody needs help. There’s a “let’s finish this thing” vibe in the air.
💻 Petite-Vue is a lighter version of Vue.js, which can be just dropped into an html-document. Its purpose is “sprinkling” interactivity onto existing server-rendered pages. github.com/vuejs/pet…
Today I’m 14 years on Twitter. I’m happy that they don’t show you your first tweets, though. How often does a person change completely in 14 years?
There are 36 kinds of stories. https://en.wikipedia.org/wiki/The_Thirty-Six_Dramatic_Situations
🎮 Played a little Elden today (30 minutes). Ended up at two sealed gates and no idea how to continue. Neither feel like googling nor like spending time searching. Will probably play Chinatown Detective Agency next.
MacOS Safari does not display the page-title of the active tab.
💻 I feel like a grandpa reading the Remix-docs remix.run/docs/en/v…
🎮 I’m sure it prepares you for overcoming IRL challenges in a way. Maybe kids and youth does need that lesson, and if they learn it in a game, great. I can only speak for myself, and when I beat a boss after 5-50 tries, after the first “Yissss!” has faded I only see the coming …
🎮 I never understood the toxic and annoying fandom with Souls games. And how folks keep celebrating the overcoming of challenges that are thrown at the player. Did they ever, well, practise a thing? An instrument? Drawing? It’s all the same. But with a game, the acquired skill doesn’t …
🎮 Also since having kids, I got super-picky and annoyed with games that are wasting my time. Not being able to save a game when I want. Games that corrupt my savegame unrecoverably (Halo Inf. (12 hrs in), AC: Valhalla, Immortals Fenyx R. (14 hrs. in).
🎮 And ultimately the question is, why invest so much time and energy in something that may be fun sometimes, but in the end doesn’t have any benefits. Actual work is paid, at least.
🎮 Nowadays I have around 30-60 Minutes a day for gaming. Sometimes a bit more. Less on weekends. For ER there needs to be mental energy left, too, which is not always the case.
🎮 I like Elden Ring a lot, more than any other Soulsborne. On the other hand I would have to continue playing for months to get to a level where it gets fun, let alone finish it. Not sure if I’d rather play smaller games instead. So much good stuff coming out these days.
If you ever wonder how good the Tiktok-Algos are, open it in a new private Browser and scroll through that. Night and day.
“Java is a boilerplate-driven language for writing instant legacy-code” www.youtube.com/watch
On the other hand, when I do have a concrete idea, I prefer not to use any new tech, but prefer to use something I have experience in, to get it done/out quickly.
I often feel the urge to try out new languages, game-engines, frameworks etc. but the interest almost always wanes after getting a first idea of the thing, because I have no ideas for projects.
Is Meteor still a thing? Note to self: look up.
For full-stack I find it annoying to work on two projects, back- and front-end at the same time. Ofc there is the “classic” server-rendering, but I do feel like the ideal situation is to have one codebase and a permanent connection between browser and server. (The hypothetical use-case …
Asking around some more I came to the conclusion that one should stick to client-only-use with Next.js. I guess something like Elixir/Phoenix with LiveView is the closest thing to my preferred structure/architecture.
Next (hehehe) step will be to make a simple guess-the-number-game in Next.js.
Seems like the “api”-folder is the place for such things. Feels stateless on first look. Let’s see.
I guess the actual question is, whether it’s able to keep a state in sync with the front-end. Maybe I’m thinking too much in the direction of Phoenix and LiveView here.
Starting to look into Next.js and similar approaches. I wonder if it’s possible to do stuff on the (Node-)Server only, like game-logic that the client shouldn’t see. Or server-calls to counter CORS-issues. Or is it just for constructing DOM for that initial render…
Hello, Sailor!