rjinman
Idiots.
Write "Freehold" Software
Write "Freehold" Software
A CNN from scratch in C++/Vulkan (no ML/math libs) – A detailed guide
A CNN from scratch in C++/Vulkan (no ML/math libs) – write-up and tutorial
Building a convolutional neural network from scratch with no libraries
https://deadbeef.io/cnn_from_scratch
I posted this project here many months ago, but only just got around to writing about it :)
I also made a game called Pro Office Calculator (available on Steam), which includes a Doom-style 3D engine for which I used Inkscape as my map editor. Here’s an example of a map: https://github.com/robjinman/pro_office_calc/blob/develop/da...
Intelligence. I'm talking about super-intelligence. If you want to know what it feels like to be intellectually outclassed by a machine, download the latest Go engine and have fun losing again and again while not understanding why. Now imagine an ASI that isn't confined to the Go board, but operating out in the world. It's doing things you don't like at speeds you can scarcely comprehend and there's not a thing you can do about it.
I worked with Clojure/ClojureScript (mostly ClojureScript) for a couple of years many years ago. It was the first time I'd worked professionally with a functional language, so I made a game of minesweeper in my free time to help get to grips with it: https://github.com/robjinman/cljsmines
Back then, I fully bought into the idea that functional language like Clojure were the future, especially on the web. The way application state is managed is perhaps the key virtue of functional programming - if you get it right, you can design your program to consist mostly of completely pure functions. I remember how enlightening that was once I understood it.
Thanks for trying it :)
BTW, is there a problem with the JavaScript on my website?
A C++ Developer Learns Assembly
Show HN: Boulder Dash style game made in x86_64 assembly
https://github.com/robjinman/gemsnrocks_asm
It doesn’t use any libraries, not even the C standard lib! It just uses the Linux system call interface.Drawing to the screen is done by writing directly to /dev/fb0.I created this just to learn assembly - something of a lost art these days. I’m mainly a C++ developer. This has been a lot of fun and very enlightening.Here is a video: https://youtu.be/IoJQ80pWyGI
Show HN: Pro Office Calculator – How deep does the rabbit hole go?
https://github.com/robjinman/pro_office_calc
I developed this game back in 2017/18 while bored out of my mind working as a junior web developer. It was partly to entertain my friends and colleagues, but I decided at some point to put it on Steam for free. You can find it if you search "Pro office calculator". It also has an official website at proofficecalculator.com.The game is written in C++ and remains my largest project to date at...
Essentially, the goal is to keep the accounting equation true at all times. The equation is: Equity = Assets - Liabilities. Eventually, earnings (Income - Expenses) will become part of equity, so splitting that out, you have: Equity + Income - Expenses = Assets - Liabilities. Rearranging to get rid of the minus signs you get: Equity + Income + Liabilities = Assets + Expenses. This equation must be true or something has gone wrong - like money appearing or disappearing out of nowhere. To keep it true at all times, it should be clear that any time you add money to an account on the left side of the equation (say, to an Income account), you must either add the same amount to an account on the other side or subtract the same amount from the same side.
For example, you sell a lemonade for $5. You add $5 to Sales (Income) and add $5 to Current Account (Assets).
The "credit" and "debit" terminology is ridiculous because their definitions swap around depending on which account you're talking about, which is an utterly absurd (mis)use of language and the main reason people find this confusing.
There are no Vulkan constructs corresponding to those things. Vulkan lets you run compute shaders written in GLSL, HLSL, or any language for which there exists a compiler that outputs SPIR-V. Vulkan doesn’t have its own shader language. Deciding how to break the problem down into separate shader programs each with different workgroup sizes is a challenge.
And the end result performs very poorly compared with tensorflow. However, I haven’t yet put much effort into optimisation, so I expect there’s some easy performance gains to be made.
I don’t know anything about WebGL or WebGPU.