HN user

supertron

181 karma

UK-based technologist/developer/designer.

---

More about me:

https://supertron.dev/about

---

Always happy to hear from people - feel free to get in touch:

https://supertron.dev/contact

---

Posts2
Comments37
View on HN

This might sound hyperbolic but as a .NET developer JetBrains Rider is a real joy to use IMHO. I think being paired with an M1 Mac is probably part of what makes the experience great for me.

That IDE/hardware combo beats anything I've ever developed on in my career. By a long way.

Shameless plug but I mention it and a few of my other favourite software tools here:

https://supertron.dev/tools

The other "sparks joy" software I use regularly are Sketch - which after a lifetime of using Adobe products felt like a breath of fresh air when I switched to it - and Proxyman which is hands down the best HTTP interception/proxy software I've used on the Mac (and iOS).

What's insane to me is that Kagi is so good for the relatively little funding they have. Maybe when they have the subscriber numbers of Netflix they can reduce their monthly fee (not that I even personally think they need to), but for now I'm quite happy to pay them for a good service.

I'm increasingly a big fan of very direct revenue models. I pay for the product. I am *not the product*.

It's not just search either, their summariser tool is great, their Mac browser Orion is really impressive, and their attitude in general - eg. promoting signal over noise in everything they do (see Kagi Small Web), is just extremely refreshing.

Monodraw 2 years ago

Dark mode support

Hell yeah! I'm a long time user of Monodraw (thanks for the awesome work!) and this would be an instant upgrade for me :)

How to drill holes in your keys

Drilling holes in your keys is easy.

1. Find a partner whose father is a retired precision engineer who owns a pillar drill.

2. Ask him to do it.

3. Be very grateful.

Ok, I'm now subscribed to this joker's RSS feed.

The P2P sync sounds cool.

Ever so often I think about trying again,

I think if you enjoy the process and the result is useful to you, then it's definitely worth trying again!

I don't know about you, but I always learn a hell of a lot through my personal projects too. They've almost always been a good investment of time for me.

Evernote originally inspired me (back in the day) as to the value of having some sort of personal knowledge management tool.

More recently Obsidian inspired me in terms of showing me what a non-enshittified, open/portable format note-taking experience could be like. And the beauty of simple Markdown notes!

Through the Obsidian community I discovered the concepts of Zettelkasten / Second Brain etc. and was further convinced of the usefulness of regular note taking and storing/synthesising of reference knowledge.

But I found Obsidian slightly mismatched with my requirements. Primarily because there was certain functionality I needed which can only be achieved with plugins, but I didn't consider their plugin security model to be sufficient enough for storing my most confidential data - even with everything being local files. (That and the lack of open source was enough to make me nervous).

My app is written in pure Javascript, heavy use of web components, running in Electron. No Node.js (apart from what Electron is precompiled with) - so no third-party dependencies as part of my code, and Electron is heavily locked down. I have a lightweight build step using Esbuild (a single rust binary).

Being 100% native JS - no frameworks - and quite lightweight, the app is indistinguishable from a native macOS app in terms of responsiveness! Knowing that may not always be the case, I'm also eyeing up Tauri as a potential alternative GUI "wrapper".

As a .NET developer by day I would have liked to have built it in MAUI but found that to be quite lacking for my purposes.

I've started to write a blog article about it with some screenshots - I"ll eventually get around to publishing it!!

How about you? What did you write your backend in and did that escalate into the front-end too?

The CalDav idea is very interesting... you've got me thinking about that.

But when you write your own software, you have a map of everything in your head, and you don't have to guess what exactly a button does, how it does it or where you need to go to do that.

Absolutely! It's quite a unique experience. When I started out it felt like I might just be wasting time and reinventing the wheel but in retrospect it was absolutely a good time investment!

There's a beauty to engineering something having yourself as the target user, and no one else.

100%, I'm following a similar approach to you with yet another notes app solely for my own use.

Have you written more about your personal project anywhere?

One thing I only realised once I started building my own tools, is that you become - from day one - an unmatched world-class expert in using that tool. This seems obvious and inconsequential on the face of it, but how many pieces of software do you use where you can say with 100% certainty that you know every single thing about it?

Every feature, every shortcut, how it all works internally...

It's only when you use something self-crafted that you realise what this actually means. If it's a tool that you use for work or productivity - you can become exceptionally productive with it due to this from-day-one "total mastery".

This compounds if you iterate. Using the tool daily and feeding back in little fixes and optimisations as you go. The tool grows with you and molds to your use of it over time.

It's obvious that the tool is going to be well suited to your needs if you built it - but it was less obvious to me ahead of time what benefits the side effect of "total mastery" would also bring.

For me, my notes app is now used as my personal knowledge base, project management tool, todo list, daily planning tool and for journalling. Because I built it, I'm extremely effective at using it - and it's lean and fast - only with the features that I know I need.

In addition to being a very fulfilling project - it has created a degree of leverage and efficiency that I didn't expect!

My conclusion is that we should all experiment more with creating our own tools.

That's very kind of you to say, I appreciate that. It's relatively new and still quite a bit unfinished (in my eyes...)

Having spent the last decade or so buried deep in quite a big project, I have shamefully very little to show in terms of open source - but that will likely change quite a bit over the coming year.

I do plan to talk more on my blog about my approach to versioning and various dev/CI tooling.

Always happy to chat to like-minded people so feel free to ping me a message via my contact form if you'd like to talk more tech :) Happy to share a bit more about versioning - the approach mentioned in my article still works really well for me.

This is a great point actually. It's amazing how far you can get in a .NET project these days without a single third-party (Nuget) dependency.

Compared to my projects that (begrudgingly) use Node.js...

My first experience developing for .NET on a non-Windows OS had me running Visual Studio & SQL Server Management Studio in a Parallels virtual machine (VM) running on a Macbook Air with only 8GB RAM, targeting .NET Framework.

I'm actually amazed that you got away with that on an 8GB (presumably Intel) MacBook Air!! :)

You're right, Mono was pretty good even in the very early days. I had a small C# Mono app deployed on macOS in a similar time period (possibly close to 10 years ago now) and I was amazed at how well it worked at the time.

It also felt like magic somehow, after having my .NET development tied to Windows for so long before that...

There were a lot of caveats then and quite some disparity in how it would run on Mono vs normal .NET Framework.

I assume that if C# on Linux was productive and fast in 2013 it won’t have gotten any worse today.

Safe assumption!

I agree that many of MS’s “open source” libraries (eg EF, OData) are half-assed, badly run projects.

Just as a counterpoint to this, I have found Entity Framework (Core) to be an extremely nice and very productive dev experience, with a lot of constant improvements in every release. MS don't always get it right, but I definitely wouldn't call EF a "half-assed, badly run project" by a long stretch. (Though there are probably other MS projects I might be more inclined to describe as such!)

That said, they were pretty brutal in cutting off legacy support for those still using .NET Framework and trying to migrate. Through luck, I didn't have to suffer too much pain, but the migration story from .NET Framework to the new world of .NET (including EF to EF Core) has not been the smoothest for some scenarios.

I am. I've been developing with .NET since the start and my current workflow is really the smoothest and most productive (and most enjoyable!) I've ever had:

I develop solely on Mac (JetBrains Rider), compiling/debugging Mac binaries locally - no containers - unless I need any external dependencies like eg. Postgres.

On M1 MacBook Pro the experience is blazing fast - and Rider can be pretty heavy but Apple Silicon eats it up. (And to be fair to Rider, it was still pretty good even on Intel machines).

Everything is built and tested on Linux (and sometimes Mac) runners in GitHub.

Then I deploy direct to cloud-based "disposable" Debian VMs. If it's a small/hobby project, I can get really great performance out of even the smallest VMs.

For those interested in the details; I most often run production .NET ASP.NET apps as a systemd service on Debian using the native/in-built .NET Kestrel web server, and almost always (currently) use Cloudflare Tunnel as a reverse proxy for ingress traffic. No inbound ports open in Linux. I've got multiple production systems running like this including some load-balanced using Cloudflare Tunnel load balancing features, and it works really nicely.

The .NET team have been laser focused on performance since the early days of .NET Core and they haven't let up on this. The whole experience is night and day compared to "legacy" .NET Framework development.

My entire workflow is now Windows free - and for me there are no longer any compromises compared to developing/deploying on a Windows stack (in the early Mono days, there used to be a lot of compromises compared to a then first-class Windows experience, but no more...)

I have some strong (negative) opinions about what Microsoft is doing to the Windows ecosystem - which is partly why it's been a delight to no longer have to use it in any part of my day-to-day - but I will extoll the benefits of .NET all day long. The .NET team really do an amazing job. *

* For the purposes of generosity, I will briefly overlook MAUI and the slight mess that is the .NET GUI based app story...

Nicely done! Very cool.

And good job on the excellent GIF in the readme which completely demonstrates what it does - something that's often missing on such projects.

Got a chuckle out of this too:

Disclaimer: This is a demo and is not intended for production use. It doesn't have any auth so you will go broke if you deploy it.

This seems unfair. We have no idea who has been updating that site in the 8 years (presumably) since it last had any major changes - given the 2016 copyright statement.

Websites change hands. People try to take on updates in-house to save money. Who knows.

A cursory look at the agency's website shows they are perfectly capable of producing functional websites, so maybe let's not randomly disparage small companies when we have no idea of the context...

Presumably AvSax know what their website looks like.

Yeah, can confirm the same here. This seems to be the most frequent failure mode that I see with my use of Tunnels. Existing connections will continue working, but attempts to create new ones (or other changes) fail. Ie. the control plane fails more often than the core connectivity service.

I certainly prefer that failure mode to the opposite, but I do find the status information on Cloudflare's page to be very confusing about this.

Tunnels as a product is essentially heavily degraded (putting it lightly) and yet it's listed currently as "Cloudflare Tunnel: restored" [0]

https://www.cloudflarestatus.com [0]

Edit: also having used Shopify's CLI a little, one thing I noticed immediately is how opaque the whole thing is. They want to push you down a very specific path, and don't provide a lot of information if you want to take a bit more control over your dev process (as I always want to do) which directly leads to points of failure like this. From your GitHub links it looks like devs are struggling to figure out how to quickly switch to a different reverse proxy.