<p>I’m doing quite some AI-assisted and work and development, and find myself trying a variety of different tools, agents, harnesses, apps, workflows, and so on - i could throw some more buzzwords around here, but the point is that i’m juggling quite some tools for different tasks without a clear way to take the built-up knowledge and context from one tool to the next. Here is a non-exhaustive…
<p>I love reading Hacker News, usually it’s one of the first things I do in the morning when I start browsing on my phone. The curation of the items is really good and I like to follow the discussions to see what others think about the topics and how users are challenging the posted content. For me the curation of the posts is very valuable - I often see myself browsing the “past” pages to find…
<p>Just shipped a new version - code is deployed, tests passed, and now, time to look at the diff from the last release. Time to write a changelog that consists of more than just “fix stuff”, “wip”, “actually fix it this time”, “fixed the fixes” and “please work”. Now turn that into professional release notes. For developers. And end users. And maybe a tweet. And your boss wants an executive…
<p>.NET MAUI Blazor Hybrid is great. The name is a mouthful, but the ability to build native apps and being able to mix and match web and native UI is powerful. Even if your UI is fully web-based, you still get access to native APIs which is a big win. In a recent project I’m mixing native controls and blazor components and had the need to display locally cached images (not part of the app bundle…
<p>You want to quickly test something, try out a new API, or just play with an idea. So you create a folder called <code>test</code>. Then <code>test2</code>. Then <code>test-new</code>. Then <code>test-new-final</code>. Before you know it, your projects folder looks like a graveyard of abandoned experiments with names that you’ll never remember what they were for. We all do it. I got tired of…
<h1 id='tl;dr'>TL;DR<a title='#tl;dr' href='#tl;dr'></a></h1> <p>Boom is a hackathon project to interact with LLMs in a visual node-based way, allowing branching conversations on an infinite canvas. Built with Svelte, Typescript, TailwindCSS and Photino for various model providers including OpenAI, Ollama and LM Studio.</p> <p><img…
<h1 id='tl;dr'>TL;DR<a title='#tl;dr' href='#tl;dr'></a></h1> <p>This post demonstrates how to connect a locally running MCP Server to a hosted LLM API using SignalR for communication. I’m using a similar approach to let a cloud hosted LLM API interact with a locally installed application which acts as the MCP Host containing both the MCP Client and the MCP Server.</p> <h1 id='intro'>Intro<a…
<h1 id='tl;dr'>TL;DR<a title='#tl;dr' href='#tl;dr'></a></h1> <p>I got into Vibe Coding and built a screenshot tool called GuckGuck. It takes periodic screenshots of a specific area of the screen and uploads them to a web server with a unique link to access the image. The app is available for Windows and macOS and looks like this:</p> <p><img…
<p>For a side project I’m currently developing, I need a basic API that includes CRUD operations and a method to execute Playwright commands. I decided to use <a href='http://ASP.NET'>ASP.NET</a> Core for this, as I’m already familiar with it and the setup is very easy. I started with a blank <code>dotnet new webapi</code> project. After development and testing my API locally, I wanted to deploy…
<p>While working on a .NET MAUI app which has a strong focus on desktop platforms, I needed a way to listen to keyboard events and handle shortcuts and key combinations. Built-in to MAUI there are <a href='https://learn.microsoft.com/en-us/dotnet/maui/user-interface/keyboard-accelerators' target='_blank'>Keyboard Accelerators</a> which can be used to bind commands to <code>MenuFlyoutItems</code>.…
<h1 id='update-from-2024-09-11-22:34'>Update from 2024-09-11 22:34<a title='#update-from-2024-09-11-22:34' href='#update-from-2024-09-11-22:34'></a></h1> <p>Wow 🤩 the feedback and usage of the app has been overwhelming. I have received a lot of positive comments about it - many users shared the app with their bubble. This lead to heavy traffic on the site which I tackled by scaling up the Azure…
<p>I’m recently working on a .NET MAUI Blazor Hybrid app which is a migration project from Xamarin.Forms. It has a large codebase of MVVM architecture and I’m trying to reuse as much of the existing code as possible for the first stage of the migration. Some parts of the app are already migrated to Blazor components while others are still XAML-based. It’s a mix-and-match of pure XAML pages and…
<p>In this post, I will revisit the topic of publishing a single exe for a WinUI application. I tried to do this in the past and it was quite a challenge - that’s an understatement, it was impossible. You can go through the original post, where I describe my journey <a href='2023/04/Windows-Publishing-with-NET-MAUI'>Welcome to Hell - Windows Publishing with .NET MAUI</a>.</p> <p>As being…
<h1 id='tl;dr'>TL;DR<a title='#tl;dr' href='#tl;dr'></a></h1> <p>I used DemoFusion image-to-image generation and Real-ESRGAN-NCNN to upscale and enhance some sprite sheets of the game Little Fighter 2 which was released in 1999. You can find the results and the code on my <a href='https://github.com/nor0x/lf2k' target='_blank'>GitHub</a>. So far I have enhanced the full sprite sheets of the…
<h1 id='tl;dr'>TL;DR<a title='#tl;dr' href='#tl;dr'></a></h1> <p>The frustration with .NET MAUI was too big, so I decided to rewrite Dots with Avalonia, which brought back the joy of development. It’s now available for Windows, macOS and will soon come to Linux. You can get the app from the <a href='https://github.com/nor0x/Dots/releases'…
<p>I really like the <a href='https://playwright.dev/' target='_blank'>Playwright</a> project. It’s a great tool to automate browser tasks and has a well-designed API. I use it for testing, but also for some automation tasks. I also use it in client-side applications (like <a href='/2022/03/OpenSee-an-OpenSea-downloader-built-with-NET-MAUI'>OpenSee</a>) to scrape website data, probably not the…
<h1 id='.net-maui-branding-?!?!?'>.NET MAUI Branding ?!?!?<a title='#.net-maui-branding-?!?!?' href='#.net-maui-branding-?!?!?'></a></h1> <p>Last weekend our team at <a href='https://h3y.studio' target='_blank'>H3Y</a> decided to join a virtual design jam. We were brainstorming ideas for a brand or product redesign. We wanted to work on a project in the tech space that we are passionate about and…
<p>I’m currently working on a side project where i need a custom view that can animate multiple images like a slot machine reel. The project is based on .NET MAUI and i couldn’t find any existing control that would fit my needs. So, i decided to build my own control. I called it SlotView.Maui and it’s available on <a href='https://github.com/nor0x/SlotView' target='_blank'>GitHub</a>.</p> <p><a…
<h2 id='update-march-2024'>Update March 2024<a title='#update-march-2024' href='#update-march-2024'></a></h2> <p>Publishing a WinUI 3 app as a single exe is now possible. Check out my new post about this topic <a href='/2024/03/Revisited-WinUI-publishing-a-single-exe'>https://johnnys.news/2024/03/Revisited-WinUI-publishing-a-single-exe</a>.</p> <h2 id='tl;dr'>TL;DR<a title='#tl;dr'…
<p>In January i published a sideproject called <a href='/2023/01/Promptdle'>Promptdle</a>. It’s a Blazor web app connected to a service uses a generative AI model which generates and publishes an image every 24 hours. The image is posted on the website <a href='https://promptdle.com' target='_blank'>https://promptdle.com</a> and users can guess words that are part of the prompt. The UI / UX of the…
<p>i’m playing with StableDiffusion for a while now <a href='https://johnnys.news/2022/12/setup-StableDiffusion-locally' target='_blank'>https://johnnys.news/2022/12/setup-StableDiffusion-locally</a> and today i’m shipping a first sideproject that was influenced by my experiments with it. It’s called <strong>Promptdle</strong> and it’s a simple web app that shows an AI generated image that changes…
<p>Finally found some time to write this post about Dots. It’s my holiday hack 2022/23 and i’m not sure if a post in the middle of January still counts as a “holiday” but here we go.</p> <h1 id='tl;dr'>TL;DR<a title='#tl;dr' href='#tl;dr'></a></h1> <p>Dots is a GUI to manage .NET SDKs - it’s developed with .NET MAUI and is available for Windows and macOS (sorry Linux folks 👉 <a…
<h1 id='stable-diffusion'>Stable Diffusion<a title='#stable-diffusion' href='#stable-diffusion'></a></h1> <p>I’m pretty sure at this point most of the tech savvy people on the internet have heard about or have seen some AI-generated art. There are different types of models that can be used to generate image data. I have described GANs (generative adversarial networks) in a <a…
<p>I’m in the process of porting a complex desktop app to the web. The app is written in C# and uses the MVVM design pattern. With more than 250 interfaces and several hundred implementations of those interfaces, there are cases in the code were the default DI container simply lacks functionality. In beginning i was implementing workarounds, but i quickly realized that i needed a more powerful DI…
<h1 id='tl;dr'>TL;DR<a title='#tl;dr' href='#tl;dr'></a></h1> <p>Maui.ColorPicker is the evolution of XFColorPickerControl - a SkiaSharp powered color picker for .NET MAUI. Major kudos to <a href='https://github.com/UdaraAlwis' target='_blank'>Udara Alwis</a> for creating the original control. You can find Maui.ColorPicker here on <a href='https://github.com/nor0x/Maui.ColorPicker'…
<p>I started “collecting” NFTs (not the real token but the JPGs) a while ago when i released <a href='2022/03/OpenSee-an-OpenSea-downloader-built-with-NET-MAUI'>OpenSee</a>. One fun project i thought about was to play around with the pictures and see if i could train GAN (Generative Adversarial Network) to generate new images.</p> <h1 id='tl;dr'>TL;DR<a title='#tl;dr' href='#tl;dr'></a></h1>…
<h1 id='rip-beloved-gd245hq-☠️?'>RIP beloved GD245HQ ☠️?<a title='#rip-beloved-gd245hq-☠️?' href='#rip-beloved-gd245hq-☠️?'></a></h1> <p>In 2010 i bought the Acer GD245HQ for 430€. The main reason for me at that time was gaming performance especially a high refresh rate. It also works with Nvidia 3D Vision and shipped with a pair of 3D glasses - remember the 3D hype? I actually used these glasses…
<h1 id='update'>UPDATE<a title='#update' href='#update'></a></h1> <p>After various requests to publish the app i finally found the time to prepare a <a href='https://github.com/nor0x/OpenSee/actions/workflows/release.yml' target='_blank'>CI/CD pipeline</a> for OpenSee. The workflow builds the macOS and Windows version and generates a new <a href='https://github.com/nor0x/OpenSee/releases'…
<p>I’m experimenting with Uno Platform for a while now - it’s a great piece of software and enables dotnet developers to use their existing skills to build cross-platform apps. For me it’s interesting especially for its WebAssembly capabilities, which were available even before Blazor from Microsoft was a thing.</p> <p>I’m currently working on an Uno WebAssembly application where i need to display…
<p>In November 2021 the latest version of C# was introduced together with .NET 6. You can find everything new about C# 10 in the official <a href='https://devblogs.microsoft.com/dotnet/welcome-to-csharp-10/' target='_blank'>blog post</a>. For Xamarin.Forms developers the release of the new runtime version won’t change much, because our shared code project will probably stay in netstandard projects…
<p>Back in 2019 while i was working on a big Xamarin.Mac based application, i needed some form of analytics and crash reporting. Since the app is cross-platform, the team decided to choose AppCenter for this. Unfortunately there was no solution for Xamarin.Mac - AppCenter was limited to macOS apps written in Objective-C / Swift.</p> <p>There were plenty of Xamarin.Mac related <a…
<p>I spent a lot of time during my christmas holidays on the tennis court doing training and matches with my friends - as i’m still a rookie and pretty new in the tennis game it can happen that i loose track about the current score. That’s why i decided to do another quick holiday hack to build a small helper app for my Galaxy Watch 4 to assist me during the game.</p> <h1 id='tl;dr'>TL;DR<a…
<p>time for a holiday hack 🎅 HoHo! this year for me it’s more like NoNo 🤓</p> <h1 id='tl;dr'>TL;DR<a title='#tl;dr' href='#tl;dr'></a></h1> <p>i have created a reminder app which integrates with the OS share menu so you can add items from anywhere and snooze them away. it’s as simple as that:</p> <p><img src='2021/12/Holiday-Hack-2021-Nono/img_vj89li3.jpg' alt='' loading='lazy' class='φbp'></p>…
<h1 id='tl;dr'>TL;DR<a title='#tl;dr' href='#tl;dr'></a></h1> <p>add an asset catalog (YourIcon.appiconset) with the icon and add this to the <code>info.plist</code> of the extension.</p> <figure class='highlight plist'><table><tr><td class='gutter'><pre><span class='line'>1</span><br><span class='line'>2</span><br></pre></td><td class='code'><pre><span class='line'><span class='tag'><<span…
<p>this is a quick post about my current theme for Visual Studio Code. It started with my recent <a href='https://twitter.com/johnny_leo' target='_blank'>tweet</a> showing some Xamarin.Forms related capabilities of GitHub Copilot (an awesome extension, you should check it out). A twitter user asked me about my current theme and where to get it. Let’s do a quick setup guide because there are some…
<h1 id='sharpnado.materialframe-for-macos'>Sharpnado.MaterialFrame for macOS<a title='#sharpnado.materialframe-for-macos' href='#sharpnado.materialframe-for-macos'></a></h1> <p><em>guest blog post on Sharpnado <a href='https://www.sharpnado.com/materialframe-macos/' target='_blank'>https://www.sharpnado.com/materialframe-macos/</a></em></p> <h2 id='why-sharpnado.materialframe?'>why…