<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Darren Reid</title><link>https://layoric.org/</link><description>Recent content on Darren Reid</description><generator>Hugo</generator><language>en-au</language><lastBuildDate>Fri, 02 May 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://layoric.org/index.xml" rel="self" type="application/rss+xml"/><item><title>Vibe coders frustration can be seen in GitHub search</title><link>https://layoric.org/posts/vibe-coding-frustrations/</link><pubDate>Fri, 02 May 2025 00:00:00 +0000</pubDate><guid>https://layoric.org/posts/vibe-coding-frustrations/</guid><description>&amp;ldquo;Wait.. I know how to fix this..&amp;rdquo;
frustrated vibe coders LLMs have made coding more accessible, but this doesn&amp;rsquo;t mean you don&amp;rsquo;t need to learn software development. These techniques can slightly improve the outputs of LLMs, but it doesn&amp;rsquo;t &amp;lsquo;know&amp;rsquo; anything. Asking it &amp;ldquo;do not hallucinate&amp;rdquo; doesn&amp;rsquo;t make it follow those instructions, it changes the weights of the token output. It is lossy compression with some targeted reinforcement learning to act like a chat bot given input.</description></item><item><title>Cloud Lock-in Reinforcement</title><link>https://layoric.org/posts/cloud-lockin-reinforcement/</link><pubDate>Sat, 18 Jan 2025 00:00:00 +0000</pubDate><guid>https://layoric.org/posts/cloud-lockin-reinforcement/</guid><description>Recently I&amp;rsquo;ve been looking at the large Cloud providers like AWS, Azure and GCP and how their value proposition has changed over the last decade. While On-Demand compute that these companies can provide are still great for small experimentation or low volume messaging/orchestration, the value they provide to any kind of larger compute needs has been getting worse. I&amp;rsquo;m putting together a more detailed post on these value changes overtime, where as this post is about how these proprietary systems, and the skills they require, are not only further locking in companies to their platforms, but also contributing to locking-in developers creating a feedback loop that I don&amp;rsquo;t believe leads to anywhere good.</description></item><item><title>Postgres Performance Monitoring with PgHero</title><link>https://layoric.org/posts/postgres-monitoring-with-pghero/</link><pubDate>Tue, 07 Jan 2025 00:00:00 +0000</pubDate><guid>https://layoric.org/posts/postgres-monitoring-with-pghero/</guid><description>In a previous role, I needed to optimize a Postgres database to store 2-3 billion total rows using an r4.xlarge instance on AWS RDS. This was storing weather data parameters for the world where parts were being updated every 5-15 minutes as new data came in, and old data needed to be removed. The total data stored was only for 2-3 weeks, so the whole database would be recycled with new data in that time frame.</description></item><item><title>Redis Optimizations</title><link>https://layoric.org/posts/redis-optimizations/</link><pubDate>Fri, 03 Jan 2025 00:00:00 +0000</pubDate><guid>https://layoric.org/posts/redis-optimizations/</guid><description>I thought I&amp;rsquo;d write up some of my experiences at Solcast building a global solar forecasting system, and some of the challenges I had storing and updating millions of forecasts every 5-15 minutes.
Problem We needed somewhere to store weather and solar forecast data being generated every time a new satellite image was pulled from various geo-stationary satellites like Himawari-8/9, GOES-17, and others. Each time a new satellite image was pulled in, a set of geo-spatial positions within that region was used to generate a forecast for each point.</description></item><item><title>About Me</title><link>https://layoric.org/about/</link><pubDate>Thu, 02 Jan 2025 00:00:00 +0000</pubDate><guid>https://layoric.org/about/</guid><description>Professional Background I&amp;rsquo;m freelance software developer with over 15 years of experience specializing in creating easy to use and efficient web APIs and developing versatile developer tools among building anything for the web. My background is in managing large-scale data and implementing cloud infrastructure solutions. I have extensive experience with AWS and am comfortable provisioning and managing Linux environments in the cloud or on-premises.
I&amp;rsquo;m proficient in C#, Java, JavaScript, Python, and have experience building and maintaining large-scale databases efficiently.</description></item><item><title>Using locally powered LLM in your favorite Jetbrains IDEs</title><link>https://layoric.org/posts/using-local-llm-in-jetbrains/</link><pubDate>Sun, 26 Nov 2023 00:00:00 +0000</pubDate><guid>https://layoric.org/posts/using-local-llm-in-jetbrains/</guid><description>I&amp;rsquo;ve recently found a good setup for using locally powered LLMs in the IDEs I use every day. Specifically, I almost exclusively use Jetbrains IDEs like Rider, WebStorm, PyCharm, etc. After building a large chunk of my own LLM integration for these IDEs, I have finally found a setup that I wanted via the Open Source plugin called CodeGPT.
In this guide, I&amp;rsquo;ll walk you through the steps on how I integrated a locally running Large Language Model (LLM), like the fine-tuned Mistral-7B, into your JetBrains IDE setup.</description></item><item><title>Starting a Homelab</title><link>https://layoric.org/posts/starting-a-homelab/</link><pubDate>Wed, 21 Dec 2022 00:00:00 +0000</pubDate><guid>https://layoric.org/posts/starting-a-homelab/</guid><description>TL;DR I recently build my own homelab using a Dell T7910. Compared to a similar AWS setup, it cost me less to purchase than a single AWS monthly bill. AWS is raking in the profits, if you have to use AWS for large compute, upgrade instance type as much as possible. I intend to try and power my server using 100% home generated solar, will try to post projects at homelab.</description></item><item><title>SQLite with Litestream has little to no downside</title><link>https://layoric.org/posts/sqlite-and-litestream-is-a-win/</link><pubDate>Sun, 05 Jun 2022 00:00:00 +0000</pubDate><guid>https://layoric.org/posts/sqlite-and-litestream-is-a-win/</guid><description>It might sound cynical, but it isn&amp;rsquo;t often a new piece of software comes a long, and I&amp;rsquo;m immediately won over.
SQLite SQLite&amp;rsquo;s utility when it comes to proof of concept or testing environments has been something I&amp;rsquo;ve been leaning on for a number of years. For example, in any demo, personal project, it is my default choice simply because it is easy to use, and embedded right into your application.</description></item><item><title>Most Crypto Projects are a Scam</title><link>https://layoric.org/posts/most-cryptos-are-a-scam/</link><pubDate>Fri, 05 Nov 2021 00:00:00 +0000</pubDate><guid>https://layoric.org/posts/most-cryptos-are-a-scam/</guid><description>If you&amp;rsquo;ve seen much of twitter at all, you will know pretty quickly I don&amp;rsquo;t like cryptocurrencies.
To be clear, I don&amp;rsquo;t hate the technology behind cryptocurrencies. Cryptography is an extremely useful bit of maths that enables a lot of what we do on the internet long before the term &amp;ldquo;cryptocurrency&amp;rdquo; was common place. Distributed databases are an interesting problem. Decentralized systems have fascinating technical architecture.
I do however, declaring my bias, have a huge chip on my shoulder when it comes to the social impact of how cryptocurrencies have been used and their impact on the world.</description></item><item><title>New blog, migrating from Blogger</title><link>https://layoric.org/posts/moving-blog-from-blogger/</link><pubDate>Sun, 24 Oct 2021 00:00:00 +0000</pubDate><guid>https://layoric.org/posts/moving-blog-from-blogger/</guid><description>It has been over 10 years since I started blogging on a few technical/software related topics.
Having my blog tied to a platform like Blogger didn&amp;rsquo;t really encourage me to do anything with it, so I&amp;rsquo;m finally getting around to starting the blog a new and try to document the process of migration if anyone else wants to do the same.
Markdown from HTML Thankfully most platforms do provide an API to get their content and Blogger has a pretty simple one.</description></item><item><title>Message based architectures empower polyglot developers</title><link>https://layoric.org/archive/message-based-architectures-empower/</link><pubDate>Thu, 15 Oct 2015 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/message-based-architectures-empower/</guid><description>Demis Bellot recently responded to a question going into depth why a message based architecture approach works, I wanted to add this post to highlight how this approach is paying dividends for reuse across frameworks, languages and runtimes and empowering polyglot developers to build rich strongly typed clients in a simpler way.
A common story for ASP.NET developers For the first few years of my professional programming career, I programmed almost exclusively in C#.</description></item><item><title>Building an IntelliJ plugin using Gradle is easier than you might think</title><link>https://layoric.org/archive/building-intellij-plugin-using-gradle/</link><pubDate>Fri, 09 Oct 2015 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/building-intellij-plugin-using-gradle/</guid><description>I recently had the problem of automating the build of an IntelliJ plugin so more of the process of updating the plugin could be automated.
I found a lengthy write up by Arjan Molenaar which I followed to originally get ServiceStackIDEA building on a new CI server. This use the idea gradle plugin to handle some of the IntelliJ project specifics. Although it works, it&amp;rsquo;s quite verbose and requires the need to resolve the IDEA SDK zip, extract them temporarily, strip out dependencies so your plugin isn&amp;rsquo;t huge amongst other things.</description></item><item><title>Visual Studio, Xamarin Studio, Xcode, Android Studio, IntelliJ and Eclipse. Which IDE is easiest to extend?</title><link>https://layoric.org/archive/ide-integration-comparison/</link><pubDate>Fri, 07 Aug 2015 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/ide-integration-comparison/</guid><description>Over the past year I&amp;rsquo;ve been lucky enough to work at ServiceStack focusing on continuously improving the developer experience for developers using ServiceStack. A part of this role, I was tasked with improving developer workflows for multiple IDEs by integrating ServiceStack&amp;rsquo;s Native Types feature for all major IDEs. Though all IDEs tend to grapple with the same or similar constructs (projects, files, menus, etc), the implementation of extending them varies hugely.</description></item><item><title>Dart/Javascript Interop - Creating a SignalR client wrapper in Dart</title><link>https://layoric.org/archive/dartjavascript-interop-creating-signalr/</link><pubDate>Sun, 06 Jul 2014 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/dartjavascript-interop-creating-signalr/</guid><description>I&amp;rsquo;ve recently been exploring the idea of using Dart for the client side of my next web project as I think the language lends itself to a more maintainable code base at larger sizes copared to JavaScript. However, due to the large number of frameworks JavaScript already has at it&amp;rsquo;s disposal, it would be silly to not try to leverage those frameworks. One in particular, is the SignalR JS client. I really like SignalR as a technology, it&amp;rsquo;s easy to use and provides great real-time support to your .</description></item><item><title>AngularJS - Exposing a Directive API</title><link>https://layoric.org/archive/angularjs-exposing-directive-api/</link><pubDate>Sat, 26 Apr 2014 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/angularjs-exposing-directive-api/</guid><description>I&amp;rsquo;ve been doing a fair bit of AngularJS development over the past 18 months (currently full-time) and I&amp;rsquo;ve come across a pattern I&amp;rsquo;ve found my self using a fair bit. For the most part it seems to hold water and make my life easier, but I don&amp;rsquo;t know if that&amp;rsquo;s just a short term gain that will come back to bite me (or someone else) in the near future. I also wanted to post about it to see if it either helps any one else or invokes someone to point out why it&amp;rsquo;s a bad idea.</description></item><item><title>ServiceStack + AngularDart - Getting Started</title><link>https://layoric.org/archive/servicestack-angulardart-getting-started/</link><pubDate>Thu, 23 Jan 2014 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/servicestack-angulardart-getting-started/</guid><description>Over the past couple of months, I&amp;rsquo;ve been spending more time with Dart and trying to get my head around how to use it in my current set of favourite tools and workflows. I&amp;rsquo;ve also been working on a site to share and collaborate on Tiled map editor maps called &amp;lsquo;TiledStack&amp;rsquo;. The site is currently written in AngularJS and I have ~80% of the functionality I want the site to have is done.</description></item><item><title>TiledStack - Web work and Dart client</title><link>https://layoric.org/archive/tiledstack-web-work-and-dart-client/</link><pubDate>Sun, 17 Nov 2013 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/tiledstack-web-work-and-dart-client/</guid><description>Thought I&amp;rsquo;d post another update for TiledStack as I finally had some what of a win for one of the main features I&amp;rsquo;ve been trying to get done at various points in the past couple of weeks. Map preview for web. I want users to be able to (if they choose) to let their maps to be visible to rest of TiledStack users. Eg, visible in search/browse and also available to all other users via the API.</description></item><item><title>Visual Studio Templates and Developer Experience</title><link>https://layoric.org/archive/visual-studio-templates-and-developer/</link><pubDate>Sun, 10 Nov 2013 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/visual-studio-templates-and-developer/</guid><description>A couple of days ago at work, I was thinking about how we might reduce number of errors and avoid some of the more repetitious code that we were writing. I&amp;rsquo;ve known about Visual Studio templates for a while but never bothered to look into them. Code generation (even though I&amp;rsquo;ve written T4 templates and the like) is something I tend to shy away from as they can becomes brittle quite quickly.</description></item><item><title>TiledStack Update - Server persistence, Web development and Hosting</title><link>https://layoric.org/archive/tiledstack-update-server-persistence/</link><pubDate>Sun, 27 Oct 2013 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/tiledstack-update-server-persistence/</guid><description>In the past week or so I have been doing a bit more work on &amp;lsquo;TiledStack&amp;rsquo;, specifically web, server persistence of map changes and user management.
I have also been updating the 2 clients main clients. The MonoGame client (AKA, run-time client) and the file watcher client which looks at changes in the local tiled file and generates requests to the server (collaboration client).
Server Persistence After working with MongoDB for the persistence layer, I hit quite a number of issues which I thought I might go through in case they might be useful to some one else who might be looking to use it.</description></item><item><title>TiledStack Update - Developer workflow and Tiled integration</title><link>https://layoric.org/archive/tiledstack-update-developer-workflow/</link><pubDate>Sat, 28 Sep 2013 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/tiledstack-update-developer-workflow/</guid><description>I&amp;rsquo;m continuing on with a project I am calling &amp;lsquo;TiledStack&amp;rsquo; which is a set of libraries, web services and clients that assist in the development and running of games that utilise the Tiled map editor.
This past week or so I have focused on &amp;lsquo;developer workflow&amp;rsquo;. How developer(s) make changes to a map and how those changes get incorporated into the iteration and feedback loop workflow of the developer(s) involved.</description></item><item><title>C# Extension Methods. Abuse of static or not? Pros and Cons</title><link>https://layoric.org/archive/c-extension-methods-abuse-of-static-or/</link><pubDate>Sun, 22 Sep 2013 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/c-extension-methods-abuse-of-static-or/</guid><description>Recently in my projects I&amp;rsquo;ve been finding more use for extension methods in C#. If you&amp;rsquo;re not familiar with extension methods, they go something like this.
public static class Extensions { public static string AsScoreString(this MyClassA myclass) { return myclass.Foo.ToString() + &amp;#34; points!&amp;#34;; } } public class MyClassA { public int Foo { get;set; } } Basically some syntax sugar. Instead of writing &amp;lsquo;Extensions.AsScoreString(myclassInstance)&amp;rsquo;, you get to write &amp;lsquo;myclassInstance.AsScoreString()&amp;rsquo;. To me, the later reads a lot more clearly.</description></item><item><title>TiledStack - Tiled map rendering, messaging and support project for MonoGame</title><link>https://layoric.org/archive/tiledstack-tiled-map-rendering/</link><pubDate>Sat, 14 Sep 2013 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/tiledstack-tiled-map-rendering/</guid><description>Recently in my spare time, I have been playing around with idea of using a simple HTTP services for messaging between game clients, specifically updating Tiled maps. Traditionally, networking between games has been done by TCP sockets as it is a far more efficient and light weight tech to use for games.However, as an enterprise developer by trade and games developer hobbyist, I&amp;rsquo;m not too fussed by the perhaps heavy handed approach of HTTP.</description></item><item><title>Windows 8 from a productivity view point</title><link>https://layoric.org/archive/windows-8-from-productivity-view-point/</link><pubDate>Tue, 04 Dec 2012 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/windows-8-from-productivity-view-point/</guid><description>I&amp;rsquo;ve been using Windows 8 as my primary operating system for around 3 months. With any software that I have to spend a decent amount of time with, I try to learn tricks to help me as much as I can. I am a huge proponent of avoiding the mouse as much as possible during development and trying to use hot-keys instead. So I Ctrl-Q pretty much every where on Windows 8 that I can.</description></item><item><title>Cross Platform Development</title><link>https://layoric.org/archive/cross-platform-development/</link><pubDate>Thu, 20 Sep 2012 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/cross-platform-development/</guid><description>More recently I have been playing with the range of projects from the Xamirin team, specifically Mono and MonoGame. Mono is a .NET equivalent framework that works across other platforms. Xamirin&amp;rsquo;s tools even spread across the mobile space with MonoTouch and MonoDroid. Now, even though I&amp;rsquo;ve just been saying how good it is to look vary your experience with different tech, there are obviously major productivity advantages to being able to write same code in MS space and run it on other platforms whilst only having to worry about device specific UI and application life cycle events.</description></item><item><title>TechEd 2012, Game Developers and Communication</title><link>https://layoric.org/archive/teched-2012-game-developers-and/</link><pubDate>Thu, 20 Sep 2012 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/teched-2012-game-developers-and/</guid><description>Last week I was lucky enough to attend TechEd 2012 on the Gold Coast. If you follow my twitter feed, you&amp;rsquo;ll know thatI didn&amp;rsquo;t have high hopes for it being anything but a giant sales pitch. However, thankfully, a few good speakers saved me from maintaining that impression.
Favourite Talks (no specific order) Adam Cogan - Whats New in Visual Studio 2012
Adam did a really good job at showing what was new in VS 2012 as well as being honest about what he doesn&amp;rsquo;t like.</description></item><item><title>Open Source and Quality</title><link>https://layoric.org/archive/open-source-and-quality/</link><pubDate>Sun, 09 Sep 2012 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/open-source-and-quality/</guid><description>Open Source Software When I first started in software development, I worked in a large enterprise environment. Lots of terms were getting thrown around and accepted by other developers around me. Phrases like, &amp;ldquo;Enterprise solution&amp;rdquo; and &amp;ldquo;Commercial Quality&amp;rdquo; which I also accepted, but didn&amp;rsquo;t really think too hard about. One thing I did notice after a while was that these terms were primarily used by people trying to persuade others. However, this was not before I had sadly formed misgivings of my own regarding open source software due to the relationship I had created between quality and cost.</description></item><item><title>Open Source, Cross Platform and Software Architects</title><link>https://layoric.org/archive/open-source-cross-platform-and-software/</link><pubDate>Sun, 09 Sep 2012 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/open-source-cross-platform-and-software/</guid><description>I haven&amp;rsquo;t posted in over a year, however I thought it&amp;rsquo;s about time I try to get more into writing down some of my internal arguments regarding software development. I started this blog focusing on the XNA framework, which was something I was having a great time with as a hobby about a year ago, however, it&amp;rsquo;s something I&amp;rsquo;ve had less time for lately. So, in an effort to get myself to post more often, I&amp;rsquo;ve change the title and purpose of this blog on a much wider range of topics on software development.</description></item><item><title>Avoiding garbage and other optimisations - Must Reads!</title><link>https://layoric.org/archive/avoiding-garbage-and-other/</link><pubDate>Mon, 29 Aug 2011 00:00:00 +0000</pubDate><guid>https://layoric.org/archive/avoiding-garbage-and-other/</guid><description>Recently I&amp;rsquo;ve been optimising my WP7 game to avoid garbage and run the core of the game with plenty of performance left for future features. I was putting together a post regarding some of the problems and resolutions I came across, but I stumbled across this article this morning and it says everything and more.
I highly recommend reading this article and related links if you are currently optimising an XNA title for the Xbox 360 or Windows Phone 7 platform.</description></item></channel></rss>