1,021 karma · joined October 3, 2018
If the LLM designs the circuit, it is clear "contamination" if the tool calls which wrote the RTL / Verilog are also in the same context window as the specification design.
If a windows DLL, distributed without a license that says anything regarding, is it a "clean room implementation" if there is some nonzero chance the source code was leaked into the weights at pre-train time? I guess there should be some sort of method for subpoenaing frontier labs to ask "can you grep for this code in the training set for this model", but that might not be practical or feasible.
I have to assume that hardware advancements in the past four years have only pushed the efficiency envelope further.
Synchronous, mostly functional python scripts written with the standard library and perhaps a few dependencies generally feel like the best the language has to offer, and they frequently make great prototypes (and I have put a few in production).
But I have also dealt with a lot of important stuff that felt like the wrong tool for the job:
- Airflow tasks, and durable workflows as a whole on top of a database
- async stuff, and generally the fact that you need `aiofile` to interact with the filesystem asynchronously
- "Productionized" stuff around NumPy and DataFrame APIs. I think there are genuinely fascinating uses for this stuff and its still great! JAX stood out as the the API that truly "clicked" for achieving "simplicity" despite the difficult challenges that it solves.
Typing woes appear the most when I am handed a prototype to productionize. Good static analysis of types carries you so far, it makes me frequently wonder if something even more aggressive than what TypeScript does would have been ideal. There is a great scripting language trapped underneath a mountain of adjustments that have been made to Python so it can "be used for writing large scalable software systems" and it makes me question whether that ever should have been the point of Python in the first place.
P.S. INB4 Stroustrup quote about languages people complain about vs ones they don't use and all that. You can tell Go was designed for very specific use cases and hasn't catered too much to use cases outside of that.
There is still something to be said about the lack of alignment between Flock the company and the HOA as to how that data is used, but the compromise was explicit, and there was at least some coordination within the community. At the heart of the issue with automatic surveillance is the lack of accountability over those who retain the data and the lack of consent of those surveilled, and measures were taken to address one of those two within your community.
Google at its core is not a dev tools company and it has become evident that is where the money is given the verifiable nature of software. Hixie's reflections on his tenure at Google still ring in my head to this day, though I have never worked there[1].
The people at the helm of Google no longer see the company's identity as something which must be channeled through a product or an experience. Some will point to the DoubleClick acquisition, others will point to Google Reader, or Pichai's ascension. Despite his very short tenure, MBA/McKinsey-brain is a very real phenomenon and it's no mistake that it shaped the "promotion packaged as a product launch" culture that steered Google away from seriously betting on anything that wasn't ads. To quote the signull tweet linked elsewhere in this thread, you can have everything at Google, except for permission.
Most importantly--I don't think there's a single tech product where I can point and say "Google wouldn't do that". You can contrast this with say, other Alphabet companies which don't suffer from this remotely as much. It is VERY clear what Waymo and YouTube are trying to accomplish, and while it frequently makes a ton sense for the companies to share infrastructure and product knowledge, YouTube does an exceptional job on the product side of making it very clear what they would and wouldn't do. They have experimented and shut down experimental features before (is their MOOC functionality still around?), but since it's fairly clear Google specifically is no longer working in service to the mission of providing the world's best digital portal for accessing information, I think it would behoove of them to figure out what their mission is.
A lot of my professional C++ experience comes from the computer vision space where I am specifically linking against FFmpeg (libav does its own share of memory management tricks that don't always play well with RAII).
I think of static functions (even within member classes) as a signifier of "hey, you don't need a constructed object for this to work and it doesn't depend on class instance state".
In application code, I was typically relying on Myers Singletons and the implicit thread-safeness more than what you see here. I debated dropping the static keyword because it stands out as odd especially in a private class method, but settled on keeping it.
I specifically wrote that by hand to note the specific shortcomings of this approach when evaluated under King's thesis. I do acknowledge that I use LLM models heavily when drafting the code snippets in this blog post, and I do a mini review in the conclusion of the downsides of using these models.
I know multiple people whom are quite attached to 10+ year old mice that haven't been manufactured for quite some time, and would like to keep the familiar shape and design.
How do FreeBSD users get around the inconveniences associated with the "the rest of the world" running on Linux?
The NMF model was fairly simple to get off the ground, thanks to the maturity of the deployment ecosystem surrounding it. Getting the Set Transformer to beat it in my internal benchmarks has been a journey, hopefully I'll share later this year!
YouTube likely won't support streaming 3440x1440 60FPS video, and while discord technically supports it, they usually compress the footage fairly aggressively once it's sent up to the client, so I'd like to host my own; it only needs to support a few people. I wouldn't mind hosting it so my friends and side project partners can watch me code and play games in high quality.
Server class CPUs and GPUs are littered with side channels which are very difficult to “close”, even in hardened cloud VMs.
We haven’t verified “frontier performance” hardware down to the logic gate in quite some time. Prof. Margaret Martinosi’s lab and her students have spent quite some time on this challenge, and i am excited to see better, safer memory models oyt in the wild.
A lot of the same big ideas used in hardware are making their way into the software later too, see https://faultlore.com/blah/tower-of-weakenings/
The vibes are off at the moment, but goal is to do a show HN and a little PR a little closer to the holidays: https://mtg.derekrodriguez.dev/
One commonality among all of those teachers is that decade(s) later, it seems that they are mostly the same person, beliefs-wise and character-wise. It appeared that they had hit a point in their life where they "figured it out", and anchored themselves on that point. I put the phrase in quotes, because as an adult, I know the statement is superficial now, but that it certainly how it seemed when I was younger.
Circling back to the post: in my own lived experience, "Men who mean what they say" became that way not necessarily through the sole virtue of honesty, but by guiding themselves using the same set of virtues (honesty included) for large portions of their life. It was very easy to understand what mattered to them and what they believed in, and as an adult at the end of my 20s, it is clear to me that should I want to become the person my younger self aspired to be, following in my teachers' example means making an increasing percent of my actions reflect the virtues that matter the most to me.
But it is a learned process, not one necessarily passed down through merely being a person who has learned that lying is bad. By learning to practice actions which reflect your virtues, you also learn how to avoid shallower "means-justify-the-ends" behavior (e.g. is it more important to NEVER tell a lie, even if speaking only in facts you know to be true creates more harm?)
The security engineer in me had a facial twitch, but for the right usecases this would be indeed be interesting!
Contrast with
Testing = “My tests prove these inputs definitely produce these test outputs”
IME Formal methods struggle making contact with reality because you really only get their promise “it always does what it is constrained to do” when every abstraction underneath provides the same guarantee, I wager most CPUs/GPUs aren’t verified down to the gate level these days.
It’s just faster to “trust” tests with most of the benefit, and developing software faster is very important to capturing a market and accruing revenue if you are building your software for business reasons.
EDIT: My gate-level verification remark is a bit extreme, but it applies to higher layers of the stack. The linux kernel isn’t verified. Drivers are sometimes verified, but not often. There is an HN comment somewhere about building a filesystem in Coq, and while the operations at the filesystem layer are provably correct, the kernel interfaces still fail. The firmware still isn’t proven. The CPU itself running on has undisclosed optimizations in its caches and load/store mechanisms which just aren’t proven, but enabled it to beat the competition on benchmarks, driving sales.