HNHacker News
TopNewBestAskShowJobs

cdcarter

2,014 karma · joined May 28, 2011

@cdcarter / cdcarter@gmail.com

apex compiler and runtime - salesforce

submissionscomments
cdcarter··on A browser-based viewer for Office Open XML documents
How would a docker container do anything for a web component?
cdcarter··on Citing 'severe' math deficits, UC faculty demand a return to SAT tests for STEM
Can you share some credible sources on "schools banning calculus"? Googling seems to primarily show up Quora and indeed HN discussions, and no actual policy proposal or news article.
cdcarter··on Mini Micro Fantasy Computer
Check out the Adafruit Fruit Jam, its got pretty much everything you need.
cdcarter··on Is "colorectal cancer" rising in "young people"?
Most US insurance has very strict guidelines about what is diagnostic vs preventative for a colonoscopy. And its almost certianly diagnostic.
cdcarter··on Show HN: GNU grep as a PHP extension
The plugin directly adapts code from GNU Grep, so they MUST release it under the GPL, as far as I understand.
cdcarter··on Want to Write a Compiler? Just Read These Two Papers (2008)
All you really need is a copy of "The Unix Programming Environment", where you can implement `hoc` in a couple hours.
cdcarter··on ESP32-S31: Dual-Core RISC-V SoC with Wi-Fi 6, Bluetooth 5.4, and Advanced HMI
What do you mean by that? bad support for what?
cdcarter··on Everything old is new again: memory optimization
Swift too, in 6.3!
cdcarter··on The 'paperwork flood': How I drowned a bureaucrat before dinner
The blog started publishing in 2017. Why do you think this?
cdcarter··on The 'paperwork flood': How I drowned a bureaucrat before dinner
That is what raincole is asking about. Do you have a source for this, in the Uk context?
cdcarter··on Swift 6.3
As of very recently, the entire stdlib (i.e. "Foundation") is open source and available on all platforms Swift targets. For a while, the Linux builds had a much smaller/limited version of Foundation, but it's fully supported now.
cdcarter··on Swift 6.3
I was looking for something that allows easy access to direct memory, with a syntax thats a little easier to explain than C. Frankly, zig was not actually a real viable option based on that syntax requirement but I still wanted to explore it.

Nim really is clean and simple.

cdcarter··on My minute-by-minute response to the LiteLLM malware attack
If it weren't for the 11k process fork bomb, I wonder how much longer it would have taken for folks to notice and cut this off.
cdcarter··on Swift 6.3
I spent last week (with Opus, of course) porting the xv6-riscv teaching operating system to a bunch of different languages. Zig, Nim, LISP, and Swift.

The improvements in embedded Swift have definitely made it one of the most enjoyable/productive languages to work on the OS. I feel like I can build useful abstractions that wrap raw memory access and make the userland code feel very neat.

On the other hand, the compilation times are SO bad, that I'm really focusing on the Nim port anyway.

cdcarter··on Write up of my homebrew CPU build
That would be the "hardwired" option.
cdcarter··on Beyond has dropped “meat” from its name and expanded its high-protein drink line
I don't think beyond tastes that crazy, but I have to jump in to support this bean burger. These guys are the real deal.
cdcarter··on My Journey to a reliable and enjoyable locally hosted voice assistant (2025)
80% of my home voice assistant requests really need no response other than an affirmative sound effect.
cdcarter··on MacBook Air with M5
Even a PCMCIA slot would help! ;)
cdcarter··on Show HN: Vibe coding a bookshelf with Claude Code
I vibe coded an app to track my movie watches, at https://moviesonthe.computer.

I really enjoy the ability to get started quickly with a known idea like “make a single user letterboxd clone” with a system prompt that explains my preferred tech stack. From there it’s relatively easy to start going in and being the tastemaker for the project.

I think people being able to build their own bespoke apps is a huge super power. Unfortunately I don’t think the tools today do a good job of teaching you how to think if you aren’t already a software engineer. Sonnet rarely grasps for an abstraction.

cdcarter··on Have Gemini stage and write commit messages for you
Nothing stopping someone from deciding to migrate VCSs (or even just repos) and all of a sudden end up in the place that 15 years of codebase history is squashed down to a single new starting commit. :(
cdcarter··on Pretty.c
On the other hand, ifnt is fun to say outloud.
cdcarter··on Build Your Own Z80 Computer: Design Guidelines and Application (1981)
Huge shout out to Small Computer Central/Steven Cousins. I have four or five machines designed by him, with various main boards and backplanes. The parts are all tested working, and the build instructions are comprehensive. It’s a very enjoyable project to go from a pile of parts to connecting to the UART and blinking some LEDs.
cdcarter··on Language and shell in Go with 92% test coverage and instant CI/CD [video]
Do you have any written posts or documents about this language and your design decisions?
cdcarter··on Apple tries to rein in Hollywood spending after years of losses
What?
cdcarter··on What can TypeScript learn from Zig? What can Zig learn from TypeScript?
I don't come from TS, but this seems like a good intro to zig from that sort of perspective. There's a whole lot of paradigms to relearn when you switch to something like Zig and this kind of content is useful.

I'll nitpick with one complaint though...

    const values = std.AutoHashMap(Point, u32);
    defer values.deinit();
    try values.put(Point{ .x = 0, .y = 0 }, 1);
    //  ~~~~~~^~~~ error: expected 3 argument(s), found 2
> The mistake here isn't on that line, and it doesn't have to do with the number of arguments. Rather, it's that I forgot to call .init() on the hash map

Well...

    >>> class MyType():
    ...    def test(self, a, b): return a + b;
    ... 
    >>> x = MyType
    >>> x.test(1, 2)
    Traceback (most recent call last):
       File "<stdin>", line 1, in <module>
    TypeError: test() missing 1 required positional argument: 'b'
How else do you want unbound functions to behave when you haven't constructed an instance of the type yet? (And FWIW, zls in vscode correctly annotates values as having type `type` for me)
cdcarter··on Crafting Interpreters
The Unix Programming Environment tutorial for building hoc doesn’t even come close to what Nystrom gets into in Crafting Interpreters. Hoc is a very fun little language, but as Nystrom describes several times in the book…parsing just isn’t the interesting part of the game.
cdcarter··on Crafting Interpreters
I’ve also ported the lox vm to Zig and had a great time working through it.

Since the project is designed in C, you can mostly write the exact same code in zig, with minimal modifications. If you want to use zig features, they’re easy to integrate, but Nystrom obviously won’t be giving you any hints.

But the language offers a lot of useful features (slices, optionals, error types) and makes some C paradigms syntactic realities (tagged enums, explicit pointer casts). Even more so, the standard library comes with very useful stuff (an ArrayList, a handful of different allocators, heck I replaced the trie of keywords with a StaticStringMap).

it’s a fun project, I would definitely recommend it!

cdcarter··on Kobold letters: HTML emails are a risk
Well, the markdown specification allows inline HTML, so that's to be expected. But it's true if you're taking user input as markdown and display it as rendered HTML, you need to think very carefully about escaping and sanitization.
cdcarter··on An unusual 7400-series chip implemented with a gate array
kens is the author of the write up, not the designer of the chip.
cdcarter··on [dead]
(2017)
Page 1 of 32Next →