AI, app, grading, Software, Weird

Ghetto Scopez: Free alternative scopes for DaVinci Resolve – for any display with a browser (I did a thing. Again.)

Recently, it was that autumn school holidays time. So I did another thing – also for DaVinci Resolve.

Previous things:
Thing 1 – Lens Debaser for DaVinci Resolve
Thing 2 – FIACAM for ARMA Reforger

Welcome to my nerdy nerdings that is even too nerdy for most nerdy nerds, part 3.

Introducing Thing 3 – Ghetto Scopez: Stellar Scopes. On any screen.

View scopes (old & new) from DaVinci Resolve on any display with a browser connected to your network.

Why? Because!

Well, it started with an idea to buy a cheap usb monitor to use on the desktop below my main monitor to vibecode the scopes I mostly use in Resolve for it. As I have some unused real-estate behind the keyboard directly below the center monitor, I thought it would be nice to see the scopes at the same time as seeing the Resolve UI on the main monitor (I usually have scopes in full screen on the left monitor, clean feed to the right, and direct monitoring above the main center display, which makes seeing the change in the scopes and image at the same time more of a hypothetical possibility than the reality) .

After a little armchair research into cheap usb monitors and after staring reality in the face, it became clear to me that what I don’t need is even more displays; I have several unused older ipads and monitors laying about already.

So the project soon pivoted to using older iPads.

The first idea was to build a native iOS app for this. The first stab at that made three things painfully clear:

  1. I need a server or host between Resolve and an iOS app anyhoo.
  2. Developing native iOS apps is much slower (at least for me) than building web apps (iterations on a web app is just insanely much faster for me)
  3. I’ve spent about the double amount of time with building web servers and web apps than native iOS apps (30 years of doing web things vs roughly only half of that time also doing native apps).

Then the project pivoted to using a web app with a web server in the middle communicating between an OFX plugin (GTap) and a web app (Ghetto Scopez), in effect enabling scopes on any old display with a (compatible) browser.

And things really accelerated from there on.

Now Ghetto Scopez is basically three components (that needs to be installed):

  1. The OFX plugin called GTap that needs to be added to a node (e.g. after the node that transform the color space to display space, often after the very last one in a normal Timeline-level node tree)
  2. A web server that can communicate between the OFX plugin and the scopes display page in a browser
  3. The web app, aka web page that communicates with the server and displays the data it delivers as scopes in real-time on an external display in a compatible browser connected to the same network as your Resolve machine & the web server

GTap is added to a node in Resolve to give GTap data, GTap analyses the data it receives, passes analysis over to the host (server), server makes sense of the analysis data and regulates traffic of data, passes interpretation of data over to a (customisable) web page for human consumption as visualisations (scopes), in (as) real-time (your computer specs will allow). That’s it.

UPDATE: I’m an Apple dev. Again. Yay. Now installs normally like any app, binaries signed and notarized, no sketch security work-arounds needed.

A note on the (current) kludge of an install process is in order: I am (for some unknown reason) STILL waiting for Apple to reactivate my dormant Apple Developer ID (it’s being tracked, it’s moving forward – albeit at an insanely slow pace), so for now this installer process is highly sketch, is only Ad-Hoc signed, is not properly notarised with Apple Dev ID. But it should work – if you’re determined enough to try this out right now.

For now, installation is for the brave and requires a little knowledge of how to operate things behind the UI curtain. The installation script automatically starts the Ghetto Scopez server. For later (re-)use, double-click ‘Start.command‘ to start the server again. Keep the Terminal / CLI window open while using the scopes. Press Control-C in the CLI window to stop the server. (Scopes do not work if the server isn’t running to feed them data.)

The GTap OFX interface once added to a node in Resolve.

Things may break. Be warned. This software is provided as is and as available, without warranties of any kind, express or implied. To the fullest extent permitted by applicable law, I accept zero liability for loss, damage, interrupted work, corrupted projects, lost media or any other consequence arising from installation or use. Test the plugin on shit that can blow up with no serious consequences – not your paid client projects nor irreplaceable family experiences.

I’m also a fan of Time in Pixel’s Nobe OmniScope – it looks like everything a pro would ever need for scopes (and then some, so go buy it instead of wasting your time here) – but I’m too stingy (which is more than a borderline dysfunctional behaviour, because it’s really not that expensive at all, but there are SO MANY OTHER SHINY BLINKIES TO BUY!) to justify the purchase just for a hobby that wastes an insane amount of time and money already doesn’t pay squat.

I’ve always been curious if using the Tektronix Double Diamond (or Split Diamond) / Nobe OmniScope TwinPeaks would help in my rinky-dink hobby-ista “work” (especially with color corrections, getting to a good neutral – before digging into the looks & feelz).

So I built something like it to test. In Ghetto Scopez parlance it is called DoubleD. But of course. (You can also use it as a 90 deg counter clockwise rotated horizontal scope to fill the whole screen better. No. We’re not going there…)

And a lot of other stuff: Check it out.

Is this safe? Probably possibly maybe not HELL NO! I couldn’t be bothered to harden this for a local yolo network install with https or whatever. So be warned. Do not install on critical infra. Probably you should not install this at all.

Is this optimised? Sort of. Most of the dev process so far went into finding ways to make it perform as fast as possible, aka at least try to match output speed of GTap to the monitoring scope page fps (which seemed to be the logical max). It was trained on synthetic targets of known values, but I only tried it in actual life on ProRes RAW Open Gate 4k content so far (yes, I’m lazy and yes, this is just the first release, easy now), and although my Mac and Thunderbolt 4 SSD RAID10 array can play BRAW at least in 8k, ProRes RAW tanks out at somewhere between 15 and 20 fps playback (depending on footage) for Apple ProRes RAW Open Gate 4k just with a transform to display space LUT applied, BEFORE the GTap analysis and communication plugin is added. On my vanilla Mac Mini M1 system at least, the rate of GTap spitting out results matches the fps (15-17 fps) in the scopes page (connected over WiFi). YMMV. Let me know how this performs on you beast of a production machine – or not.

Side note: My fave conversion route to display space right now is Cullen Kelly’s Referent for my iPhone’s ProRes RAW Open Gate footage, using a Referent LUT for Apple Log2 to rec709/Gamma2.4 sidestepping the need for a god-awfully bland (and weird-looking) native CST sandwich (and I also use the LUT when shooting using the Blackmagic Camera app which is great for consistency and predictability). For my BMD Micro Cinema Camera DNG content I normally use the fantastic OpenDRT.

Are these scopes accurate? IDK. You tell me. Accurate enough for me. For now. I’m not a pro and I don’t really use scopes when grading (much). I mostly use vector scopes to get my bearings on color correcting or adjusting, waveform to check for clipping. That’s pretty much it. For me, color grading is a taste / art thing, not a science fair competition. Do not rely on this being accurate for anything, though.

Why CC BY-NC-SA 4.0 (and not a proper big-boi-OSS-GPL-style license)? I think it’s a license most people can understand without having to involve a crack legal team or ending up in a political argument like that scene in ‘Life of Brian’ stuck on infinite repeat…)

Why Ghetto? It’s just a prefix I’ve always used for my cheap-ass, half-assed, jury-rigged projects. Consider it my dumb-ass idiolet. My Ghetto wireless transmission of a HDMI signal using a 15 bucks AliExpress rear-view camera transmitter with an iOS app was probably patient zero in that regard. (It actually works as well as many more “expensive” solutions in the 100-200 bucks range, but with much less range).

Why the Z? Why not? Z is for Zorglub! My favorite GOAT villain! Let’s call it a homage to my fave, Franquin – the greatest cartoonist that ever lived – and move on.

Why Non-Commercial? I’m not trying to make money on AI slop, and neither should you (by repackaging and pimping my ready-made slop).

Why no working color space tap, only display space? I don’t know if that’s a thing you need, but scene referred tap could happen in the next release. It may even be included by the time I finish this post (that’s the iteration speed we’re living with today, folks: It’s faster for me to develop, test, and ship a new release than finishing a freaking blog post these days… Yes. I can confirm my secret agent now reports working space tap as added, tested, deployed. My GenX mind cannot comprehend. Now if this actually works… Dunning-Kruger, here we come!).

The source is freely available on GitHub. Report bugs and feature requests here.

If you want call this open source or not is up to you. (I don’t care too much about the finer points of that philosophical / political discussion).

It’s openly available, it is free, and it is inherently non-commercial (making money on your own AI slop is questionable at best, making money by repackaging and pimping someone else’s slop should earn a special place in hell – if there ever was such a thing).

Standard
Education, pitching, startup

Pitching Masterclass, back at RWTH Aachen University

Recently I had the pleasure to be invited back to RWTH Aachen University and its Materials Lab incubator to prepp the participating teams, insuring they have as much as a winning pitch they could possibly have for the big next funding grant decision!

Looking for pitch training as a startup or a student in a support program like and incubator, accelerator, entrepreneurship curriculum, or for your teams in your company or organisation, or help with prepping and quality insurance for your startup pitching event or competition?

Check out my Pitching Masterclass and its editions!

Standard
app, Arma, DIY, gaming, Reforger

FIA Cam for FIA in Arma Reforger vanilla (I did another thing…)

I have a couple of hobbies these days… and also a guilty pleasure named Arma Reforger. I really don’t have time for it, but when I do… I play as FIA, the outnumbered and doomed resistance fighters. IYKYK… (OK, sometimes I also play on modded WCS servers too – but playing FIA is more my kind of “fun”).

Introducing FIA CaM – The FIA Cache Mapper. Open the web app, take a photo of the FIA shopping list in your inventory on your phone, watch the map populate by the magic of OCR with the location of the five caches. You can even share a link to the populated map of the caches in the current game session with your FIA buddies.

It’s not cheating when you’re doomed already, right? Right?!

Find, use, share location on map with team, resupply, and protect it!

Supports maps of Arland, Everon, and Kolguyev. Source shared on GitHub under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (because why not – most people can grok CC without a lawyer).

Standard
cine, dev, grading, OFX

I made a thing… (for DaVinci Resolve)

Update 2 2026: I did another thing. It’s called Ghetto Scopez (background).

Latest Lens Debaser build: Get it HERE

Summer time is… Hobby time, I guess? So I’ve indulged a bit in my other hobby again.

Introducing Lens Debaser OFX – Debase perfectly good optics in post.

A highly experimental AI slop OFX plugin for DaVinci Resolve, Apple Silicon (Metal) only for now, mimicking vintage optics kinks. At least that’s the idea…

Why? In 2026 „cine“ image acquisition is solved & commodified. Like Gerald Undone said, all cameras are good now. I say TOO good. So I made this for you to debase perfectly good optics in post – because perfect modern optics is for OnlyFans – not for ABSOLUTE CINEMA!

How it started: Above, my original Lens Debaser power grade on graded iPhone 17 Pro 4K Open Gate Apple log2 RAW, shot with a ghetto cheapskate 1.55x anamorphic lens. Here, MTF (my old compound node power grade – BUT Lens Debaser can do MTF too now, it slices & dices!), Halation, Bloom, Gran and a look + print grade is applied to my original power grade. (The flare is from the optics itself – and that’s not all: Ldb now also can do anamorphic colored flares too, if that’s your kind of kink!)

Let me show you its features & download installer package here

WARNING – This is highly experimental software made with AI. It might be full of lies, stolen IP, and broken dreams. It may explode your computer, ruin your projects, and wear your underwear when you’re not at home.

I made an original “Lens Debaser” for myself as a Power Grade some years ago because I love me some exotic dirty vintage optics – and perfect modern optics is for OnlyFans, not for ABSOLUTE CINEMA! However, as a rinky-dink amateur hobbyist digital cinematographer & color grader I just couldn’t keep justifying (to my wife, tbh) spending a fortune on more and more old glass, so I made myself a digital power grade that simulates a few of my favorite vintage optical “cine” kinks as a cope.

Now my old power grade still works, but it’s kind of a one-trick pony. So this new thing here came to be as I was thinking about how I could turn my old jury-rigged “Lens Debaser” Power Grade into something with a bit more features – like into a single plug-in or something. But I’m too old & lazy to start learning new SDK tricks just to program a little Resolve plugin for myself, so one night I happened to leisurely ask Altman’s golden doomsday calf if it could explain how the physics of chromatic aberration in vintage cinema optics work to me like I’m 5. Next thing I knew, we were knee-deep in the science of MTF, getting pitched on the virtues of Codex learning the OpenFX SDK for me, soon tokens started flying, context windows started breaking – and things got seriously out of hand from there…

As you can clearly see by the insane and depraved amount of possible optical parameters available by now.

How it’s going: Above, same-same, but different – with my new Lens Debaser OFX plugin added to a node instead of the OG power grade, “Internal Field Edge FX” preset applied.

Nobody noticed I made a completely entirely different first version of this thing, but that one turned out to be a piece of total junk unsustainable for further development – so I did a complete new refactoring, starting from scratch, using a brand new unadulterated context window actual references and science and shit. I guess the time wasted on the first version was just the ticket of admission to even barely start to scratch the surface of this domain. If anything, this new version is insanely faster when compared to my previous abject failure “preliminary study” – and it produces usable effects most of the time too (in my highly subjective dunning-krugered sunken-cost-fallacious opinion).

The idea was to make a plugin that could emulate most common exotic and vintage optical kinks without insane render times required, preferring fast “good-enough” emulations over scientifically accurate GPU-melting raytracing. I’m not trying to win a science-fair prize here. (THIS IS NOT A RAY-TRACER!). Conceptually, I wanted to create an emulated synthetic model of most cine optics first, then figuring out what the hell to do with it later. That’s why Ldb let’s you adjust an obsessive amount of parameters, presents the user with loadable and saveable presets of parameter states instead of limiting it to hardcoded and pre-defined lens makes or models to tweak. This may end up being a stupid approach – but it’s mine and I’m owning it. I think it’s more fun, inviting the user to explore effects and looks this way.

When the kind of engine able to handle many if not most traits was (finally) emerging through umpteen iterations, I started to think, why should I be the only one having to put in the work to create usable presets you also not be able to easily create that special optical kink you’re craving yourself? So I made an additional package for your AI chatbot to make you Lens Debaser preset files based on your own reference images and kinks tastes as descriptive text input to directly create it with AI, load and test in Resolve. Now with 100% vibe coding for you too!

Yes. I made some AI slop with AI for your AI to make more slop for you! It doesn’t get much more zeitgeist-y cringe than that… but it might actually work. Kind of. Try it and report back to me. (One feature on the optional road map is to enable a user-based living community repository, like you may know from e.g.soft-synth apps already for sharing presets. I think that’s neat. But with a community of one to date, this is currently folly).

Aside: If you came here to gripe about AI stealing your job, I hear you and I get you. Can’t say I disagree with you. Probably. However, this is the new lay of Darwin’s land – isn’t it? Insert that “always has been…” meme image here. At least I’m not pretending it’s something I came up with completely on my own – I’m not claiming it’s something other than slop (that might actually somewhat serve its advertised purpose).

CC BY-NC-SA 4.0 source on GitHub (tl;dr you can pretty much use and abuse this project in any way you want as long as you attribute sources and keep it non-commercial)

Download latest Apple Silicon binaries installer

View the User Guide – complete with visual examples of what Ldb can do featuring before/after sliders to inspect its effect on test charts and actual footage.

Compare the OG Lens Debaser power grade to Lens Debaser OFX:

Left, OG Power Grade. Right, Ldb OFX (4k scaled down to 1080p)
Standard