RSSAmplifier

Blog

Productive Rage

Dan's techie ramblings

productiverage.comRSS feed ↗10 posts

Latest posts

Hosting a DigitalOcean App Platform app on a custom subdomain (with CORS)

TL;DR I host my blog using GitHub Pages ( repo here ), and have the domain registered through GoDaddy. I wanted to experiment with adding some additional functionality to my static content, using DigitalOcean App Platform (where I can essentially throw a Docker container and have it appear on the internet). I wanted this DigitalOcean-hosted app to be available through a productiverage.com…

(Approximately) correcting perspective with C# (fixing a blurry presentation video - part two)

TL;DR I have a video of a presentation where the camera keeps losing focus such that the slides are unreadable. I have the original slide deck and I want to fix this. Step one was identifying the area in each frame that it seemed likely was where the slides were being projected , now step two is to correct the perspective of the projection back into a rectangle to make it easier to perform…

Finding the brightest area in an image with C# (fixing a blurry presentation video - part one)

TL;DR I have a video of a presentation where the camera keeps losing focus such that the slides are unreadable. I have the original slide deck and I want to fix this. The first step is analysing the individual frames of the video to find a common "most illuminated area" so that I can work out where the slide content was being projected, and that is what is described in this post. ( An experimental…

So.. what is machine learning? (#NoCodeIntro)

TL;DR Strap in, this is a long one. If the title of the post isn't enough of a summary for you but you think that this "TL;DR" is too long then this probably isn't the article for you! A previous job I had was, in a nutshell, working on improving searching for files and documents by incorporating machine learning algorithms - eg. if I've found a PowerPoint presentation that I produced five years…

Parallelising (LINQ) work in C#

TL;DR For computationally-expensive work that can be split up into tasks for LINQ "Select" calls, .NET provides a convenient way to execute this code on multiple threads. This "parallelism" should not be confused with "concurrency", which is what async / await is for. A "parallelism vs concurrency" summary Before getting started, I want to nip in the bud any confusion with the differences between…

Automating "suggested / related posts" links for my blog posts - Part 2

TL;DR By training another type of model from the open source .NET library that I've been using and combining its results with the similarity model from last time (see Automating "suggested / related posts" links for my blog posts ), I'm going to improve the automatically-generated "you may be interested in" links that I'm adding to my blog. Improvement, in fact, sufficient such that I'll start…

Automating "suggested / related posts" links for my blog posts

TL;DR Using the same open source .NET library as I did in my last post ( Language detection and words-in-sentence classification in C# ), I use some of its other machine learning capabilities to automatically generate "you may also be interested in" links to similar posts for any given post on this blog. The current "You may also be interested in" functionality This site has always had a way for…

Language detection and words-in-sentence classification in C#

TL;(BG)DR Using an open source .NET library, it's easy to determine what language a sentence / paragraph / document is written in and to then classify the words in each sentence into verbs, nouns, etc.. What library? I recently parted ways on very good terms with my last employers (and friends!) at Curiosity AI but that doesn't mean that I'm not still excited by their technology, some really…

Monitoring my garden's limited sunlight time period with an Arduino (and some tupperware)

My house has a lovely little garden out front. The house and garden itself are elevated one storey above the street (and so my basement is really more of a bizarre ground floor because it has natural light windows but is full of dust and my life-accumulated rubbish is in one room of it while my covid-times "trying to stay fit, not fat" home gym is in the other) and there was no fence around it…

How are barcodes read?? (Library-less image processing in C#)

I've been using MyFitnessPal and it has the facility to load nutrition information by scanning the barcode on the product. I can guess how the retrieval works once the barcode number is obtained (a big database somewhere) but it struck me that I had no idea how the reading of the barcode itself worked and.. well, I'm curious and enjoy the opportunity to learn something new to me by writing the…

Productive Rage · RSS Amplifier