HNHacker News
TopNewBestAskShowJobs

polymonster

49 karma · joined September 25, 2019

Coder, gamedev of 15+ years. https://www.polymonster.co.uk https://www.github.com/polymonster
submissionscomments
polymonster··on Ask HN: What are you working on? (October 2025)
A music discovery app for record diggers.

It’s an instagram style UI but for scrolling through record releases and snippets, worked on making it responsive as possible with low latency audio playback so you can browse a lot of stuff quickly.

Wrote about it on my blog: https://www.polymonster.co.uk/blog/diig

And GitHub repo: https://github.com/polymonster/diig

polymonster··on Ask HN: What are you working on (September 2024)?
https://github.com/polymonster/diig

A music digging app for record collectors, with instagram style feed for listening to new vinyl snippets

polymonster··on JSON
I’m using this json like data format.. supporting json and json5 plus a few more features, including comments https://github.com/polymonster/jsn
polymonster··on That coworker who never stops refactoring
Refactoring is life
polymonster··on Ask HN: What feature did you find after years of using macOS?
Command + double click a search item in spotlight to open the containing folder in finder.
polymonster··on Lights and Shadows
Looks really nice, the widgets are great and run well on my phone. Is it a real time ray tracer doing the rendering? Still amazes me these days what’s possible in browsers or on a phone.
polymonster··on London's rental market: where $2k a month gets you a bed beside the toilet
I live in London, it is expensive for sure.. I have seen some pretty ridiculous flats for around the same cost as the one in the article, one with a shower cubicle in the bedroom comes to mind... not quite as bad as toilet but still you don’t want a wet bedroom.

Some of the landlords are just taking the piss, there are much better places for better value in decent areas just don’t get tricked by the snakey estate agents like foxtons and look around you can find reasonably good value..

polymonster··on Show HN: C++ maths library for graphics and games
I wanted to share my c++ maths library have been adding to for quite a long time now, There are lot of other available maths libraries but I have enjoyed developing and maintaining this over the years since.

As a graphics programmer it has been a good learning experience to implement my own maths library from scratch because linear algebra is such an integral part of my job, I also learned a lot about template programming to implement the types and also the vector swizzles.

A lot of other available maths libraries provide matrix, quaternion and vectors.. but not as many provide a vast collection of geometric intersection and overlap tests as my library does.

Additionally other maths libraries may be SIMD implementations, this library is all scalar and that is my intention all along. I favour the portability and simplicity of the scalar implementation.. I do like SIMD for sure but find that code can be optimised to much greater effect by writing entire algorithms in SIMD and not relying on the underlying vector / matrix SIMD implementation.. this is due to often a large number of horizontal operations may be necessary in certain algorithms.

This may be a bit dated now, but my experience with SIMD vector implementations on PowerPC were very inefficient because of general use games / graphics code often wants to access and set single vector elements and get them into floats and it would cause load hit stores and massive performance penalties, so then you require the scalar float in vec type and add all that additional complexity.

Anyway.. I hope people might find this useful if you are looking for a simple c++ maths library packed with great features for graphics and games :)

polymonster··on Show HN: Jsn – A relaxed, user-friendly JSON-like data format
Yeah, in hindsight maybe we could just switch to YAML but it does have quite a lot more syntax.

Jsn started as a python function which removed comments and fixed trailing commas. YAML does not come bundled with python and is an external dependency..

I suppose looking at it now jsn grew to a point where using something else in the first place would have been less work :)

polymonster··on Show HN: Jsn – A relaxed, user-friendly JSON-like data format
I suppose not. Jsn has some unique features that have just developed over time, starting as json with comments and no need for quotes.

Jsonnet looks pretty comprehensive and I did not know about it!

polymonster··on Show HN: Jsn – A relaxed, user-friendly JSON-like data format
This project came about because we were using json a lot for it’s for simplicity and also widespread support in languages and tools we were using.

We started hand editing a lot and making more mistakes, but we have a lot of code generated json from build pipelines and use json with a number of different libraries in different tools already so didn’t really want to switch to yaml or toml.

Jsn is not meant to replace json, we are still using json a lot natively, we just can write config files more easily and jsn spits out fully compliant json for you, or you can use a python dict the same as json.

Jsn does not have a serializer, once it has been parsed it is json.

polymonster··on Show HN: Pmfx-shader – Cross platform shader system
I will take a look into it, if people think it would be useful it might be a nice feature to add. I haven’t really used webgl myself so not sure on the difference between that and GLSL version 330. I drew a line at GLSL 330 / Shader Model 3 for now because it makes graphics API backends easier to implement and more consistent.. Keep an eye on the repo in future :)
polymonster··on Show HN: Pmfx-shader – Cross platform shader system
Thanks a lot, if you ever use it for anything cool let me know :)
polymonster··on Show HN: Pmfx-shader – Cross platform shader system
Yeah for sure, we just finished a PS4 game at work so have the SDK but we weren’t using pmfx until we now moved onto a new project.

Has been a while since I directly used PSSL but remember it being very similar to HLSL so it should be quite straight forward..

polymonster··on Show HN: Pmfx-shader – Cross platform shader system
Thanks!.. and fixed the typo too :)
polymonster··on Ask HN: How do you develop crossplatform desktop applications in 2019?
We do a lot of the work ourselves with our own engine used for games, 3D graphics, video playback and editing tools. Targeting all desktop, mobile and console platforms.

Using c++ we have a quite minimal amount of platform specific code by making tight abstractions and trying to work on shared code as much as possible.

We use open source where possible to save time and repeated work. Using things like ImGui for Ui..

But all platform specific things we abstract ourselves (window creation, graphics apis, video decoders, input, timers, threads etc)

I have worked on proprietary game engines for over 10 years and while it may sound a lot of work to reinvent the wheel, when you know how and can do it well the end of cycle development can be a breeze when everything is bespoke to your needs...

alternatively I have worked on products using unity, qt and other frameworks and have spend months of optimisation grinding to ship..

polymonster··on JSON for Modern C++
We use C++ and care about real time performance, but also use this JSON library, the thing is that we use JSON for loading and configuring data which happens during load time which is infrequent and don’t need JSON during the critical update path.

Previously we used rapid json which is faster but the syntax of the nlohmann json is nicer and it is much quicker to develop with.. we also use python a lot so the familiarity between the 2 is also useful, some of the other C++ json libs can have quite convoluted api’s for dealing with values, objects and arrays.