Nic Barker
nicbarker.com
Nic Barker
@nicbarker.com
Open source developer & programming educator.

github.com/nicbarker for my projects.

https://www.youtube.com/@nicbarkeragain for programming videos.

ex engineering @canva & game dev @cerebralfix
Pinned
If you're not familiar with my work, I maintain an open source high performance UI layout library written in C 🙂
github.com/nicbarker/cl...
#cprogramming #c #ui
GitHub - nicbarker/clay: High performance UI layout library in C.
High performance UI layout library in C. Contribute to nicbarker/clay development by creating an account on GitHub.
github.com
After a lot more work than I expected, my video about Recursion is done. Hope you enjoy the journey down the rabbit hole ꩜
youtu.be/YuaJ8x_NcLw
Recursion, Explained Simply
YouTube video by Nic Barker
youtu.be
May 31, 2025 at 10:41 PM
I have a game side project that uses algebra, so I built a small computer algebra system that can manipulate equations. Would anyone be interested in a video walkthrough of how the code works for something like this? I think it's quite interesting 😁
May 27, 2025 at 12:18 AM
It's kind of funny how a megabyte is either tiny or massive depending on who you ask
May 16, 2025 at 12:33 AM
A frustrating side effect of search becoming "smarter" in general is that we seem to have lost the capability to just match on a substring. Across the various search boxes I use daily (apple spotlight, google search, github search) they all now fail to find "bar" in "foobar"
May 14, 2025 at 12:44 AM
I've recently had to write a significant amount of code in the tools that I use for making videos - with no auto complete, no syntax highlighting, no error squiggles, nothing. And I've noticed that the next time I write actual code, I'm way more likely to 1 shot it correctly.
May 13, 2025 at 12:35 AM
Odd to think that there is now a “vintage” of college degrees that were earned before ChatGPT existed.
I honestly wouldn’t be surprised if most companies dropped degrees from hiring requirements before the end of the decade if nothing drastic changes.
May 8, 2025 at 1:56 AM
Spend enough years working on an artistic or scientific pursuit and you start to realise that the bell curve meme is actually the sine wave meme
May 7, 2025 at 9:59 AM
When I first released Clay the README was around 2x the line count of the actual library itself. I personally believe that open source, for all it's amazing benefits, has also created enormous pollution in the form of wasting people's time. The issue is complex and has two sides.
May 5, 2025 at 1:18 AM
I know it's easy to hate on the web as a software platform but every so often I have to fill out one of those turing complete PDFs for some government service in acrobat and it reminds me that there was more than one circle in Dante's inferno.
April 23, 2025 at 9:04 AM
Nothing quite like the adrenaline rush of undoing 100+ steps and veeeery carefully copying some old code then redoing 100+ steps into the future again.
We've all been traumatised by that one time fat fingering ctrl+x and having to redo everything 🥲
April 9, 2025 at 11:54 PM
There is an insidious idea that has crept into software through the open source movement, which is that software no longer being modified is "abandoned".
It's very possible - even desirable - for software to simply be "finished".
To serve its purpose reliably, as a tool should.
April 7, 2025 at 10:15 PM
I find it interesting to think of the work a compiler does as similar to the concept of "simplifying" an algebraic expression - searching for redundancy, combining like terms, replacing identities, etc.
Anyone have any academic terms / links for me to have a dig in this space?
April 6, 2025 at 10:03 PM
The problem with programming language debates is that the critics present the worst possible thing a language is capable of, the supporters present the best possible thing, and precisely 0% of real world projects using that language are either of those things.
April 4, 2025 at 7:51 AM
Anyone know the name of this phenomenon in human endeavor?
Gen 1: Spends career mastering difficult process
Gen 2: Learns with difficult process, invents tools to greatly increase productivity
Gen 3: Learns with new tools, similar or reduced productivity vs Gen 1
March 30, 2025 at 10:54 PM
There is so much "mitochondria are the powerhouse of the cell" type trivia in programming - one is that "the stack grows downwards" is always mentioned immediately in stack vs heap discussions. Functionally useless in practise, but a very common question for comp sci exams!
March 27, 2025 at 12:35 AM
Does anyone know of a "sandboxed real mode" style system, i.e. machine is still running in protected mode, but within each process you have free reign over the entire address space, and peripherals and IO are mapped into special fixed memory regions rather than being syscalls?
March 26, 2025 at 12:36 AM
You know how explorers love to put their names on things like mountains and rivers? Turns out academics do the same thing, but for ideas.
Problem is, inevitably 10 people think of the same idea independently, and then students get taught 10 words that mean the same thing.
March 25, 2025 at 3:06 AM
Programming jargon can seem intimidating until you figure out that a fancy term like "immutable variable" means "unchanging changeable", and it becomes clear that technical language is just a crowd sourced API design with serious backward compatibility issues
March 24, 2025 at 3:19 AM
I suspect "what do you think about global variables?" would be quite an enlightening interview question.
March 23, 2025 at 8:32 AM
I totally agree with the current sentiment of “use a profiler before you try to optimise” - but it’s also important to remember that a profiler won’t reveal quadratic loops, resource contention problems etc that only appear under certain circumstances.
Intuition matters too!
March 22, 2025 at 7:40 PM
Might sound counterintuitive but I think the best advice for improving your high performance programming is to get a much worse computer.
It's so easy to commit crimes on an apple M series that you could never get away with on the type of machine most people in the world are on.
March 21, 2025 at 6:18 AM
It's amusing to me to think that other disciplines like mathematics must have the same type of tribalism as software - there must be an equivalent of the C people, the Rust people, the Haskell people etc in math research
March 20, 2025 at 12:24 AM
Anyone know of any data / research that explains why the "lose/loose" misspelling became so common online?
I find it fascinating - there are so many other more common words that are easier to misspell. Why loose? Possibly driven by some phone keyboard auto correct failure?
March 19, 2025 at 8:27 PM
The way that people point at large language models like ChatGPT and say “AI is a trillion dollar technology” reminds me of how people used to point at Beat Saber and say “VR is a trillion dollar technology”
March 17, 2025 at 9:19 PM
It appears to me that all the programming focused AI tools are heading in the direction of "write all the code for me", but does anyone know of any models focused instead on "I want to ask conceptual questions about programming", that can respond with diagrams, references, etc?
March 13, 2025 at 9:18 PM