778 karma · joined September 9, 2016
My experience has been that typical LLMs will have more “preamble” to what they say, easing the reader (and priming themselves autoregressively) into answers with some relevant introduction of the subject, sometimes justifying the rationale and implications behind things. But for o1, that transient period and the underlying reasoning behind things is part of OpenAI’s special sauce, and they deliberately and aggressively take steps to hide it from users.
o1 will get correct answers to hard problems more often than other models (look at the math/coding/hard subsections on the leaderboard, where anecdotal experiences aside, it is #1), and there’s a strong correlation between correctness and a high score in those domains because getting code or math “right” matters more than the justification or explanation. But in more general domains where there isn’t necessarily an objective right or wrong, I know the vibe matters a lot more to me, and that’s something o1 struggles with.
Judging by the study’s data, converting the organic compounds in an asteroid like Bennu could feed thousands of astronauts for decades. Even the lower estimate of 600 astronaut life-years is staggering when you consider how much food we’d otherwise have to launch from Earth (even with SpaceX’s cost reductions, Elon). If we can refine these processes to work efficiently and reliably, which is a very big if, we’re looking at a future where asteroid mining could fuel spaceships AND feed the crew without being tethered to Earth
IMO we need to start normalizing being militant about this stuff again, to aggressively and adversarially defend the freedom to use your computer the way you choose to use it
Key points include:
- 100% immutable datastructures
- Immutability is leveraged to make a lot of core operations concurrent
- Continuation-based threading model and Actor-based concurrency
- Fun little VM implemented behind the scenes
That being said, the documentation strongly contradicts the title!
> The goal has not at any point been to become an ultimate Lisp and take over the world
Rhetoric isn’t reasoning. True explainability, like what overfitted Sparse Autoencoders claim they offer, basically results in the causal sequence of “thoughts” the model went through as it produces an answer. It’s the same way you may have a bunch of ephemeral thoughts in different directions while you think about anything.
I’d also be inclined to discard theoretical “in the long run it’ll be unhelpful” concerns, since that opens up an infinitely-deep can of hypothetical contrived scenarios of arbitrary complexity that can’t be disproven. I’m sure there are very real concerns, but it’s impossible to reason about which concerns specifically people would care about.
IMO that leaves the purely practical concerns:
- Students in poverty might not have reliable internet, devices or digital literacy. If zlib isn’t available to them, it isn’t helpful
- Books available might not cater to the local language/culture, or the real world curriculum needs of those students. If zlib doesn’t help them succeed, it isn’t helpful
- The interface sucks and is confusing, which makes students struggle to find what‘s useful. If zlib isn’t useable for them, it isn’t helpful
Naturally this leads to slapping even more arcane fixes on top of that, like NAT port assignment oracles to adversarial interoperate with different port allocation strategies (random, sequential, single, etc.) by analyzing patterns in previous port assignments. Networking sucks.
Kudos to the author: I think it actually covers a lot of what you’d need to know: crypto identities, message formats, wire protocols, peering and stream semantics, spanning tree updates and root selection, the DHT, forwarding logic, sessions, etc. A couple things are TODOs like how to verify and sign root updates, and there’s some ambiguity in the tiebreaker algorithm for next-hop selection.
It seems to be very tightly coupled to TCP as the transport layer though, since all packets need to be delivered reliably and in the order they were sent, and need to be capable of being fragmented into smaller packets for varying MTU sizes.
[1] https://github.com/yggdrasil-network/yggdrasil-specs/blob/ys...
Libraries like Boost.Preprocessor can’t be taken as an example of “cutting edge” preprocessor metaprogramming. It set a very low bar, and IMO has stifled a lot of developer creativity.
[1] https://github.com/rofl0r/chaos-pp/tree/master/chaos/preproc... [2] https://github.com/rofl0r/order-pp/blob/master/example/fibon...
It’s pretty well known at this point, but it seems like when it comes to prompting these models, telling them what to do or not do is less effective than telling them how to go through the process of achieving the outcome. You need to get them to follow steps to reach a conclusion, or they’ll just follow the statistical path of least resistance.
Edit: the poem: https://paste.ee/d/rIbLa/0
At the end of the day this isn’t a technical argument I’m trying to make, it’s a philosophical one. I think that the more we normalize eroding the core benefits the language safety features provide, one enhancement proposal at a time, one escape hatch added each year for special interfaces, the less implicit trust you can have in rust projects without reviewing them and their dependencies for correctness.
I think that trust has enormous value, and I think it would suck to lose it. (reflect: what does seeing “written in rust” as a suffix make you think about a project’s qualities before you ever read the code)
The punchline here, so to speak, is that for all Rust’s claims to revolutionize safety, it simply(!) formalizes the same unwritten social contract C developers have been meandering along with for decades. The uniqueness boils down to “we still trust the devs, but at least now we’ve made them swear on it in writing”.
They’ve both converged on a timeless “foundation” for reality, but they’re completely opposite in how they explain the emergence of time: objective geometry, vs. subjective computational experience
Just own it if you’re going to put all the work into developing it!
Ignoring the underlying point being made won't make it go away, and won’t help educate any of our peers who might take some of this stuff at face value.
Obviously as a private group DEF CON’s organizers have every right to contract with whatever companies they want to. In the same way, obviously the private individuals paying DEF CON’s organizers have every right to criticize them when they treat their contractors so poorly. However , I think it’s short-sighted and self-defeating to suggest that they shouldn’t ALSO have the right to criticize their choice of companies they work with when it impacts the quality of what they’re paying for.
This is not a sexist, anti-POC, or anti-trans criticism. Deciding on contractors for the reasons they claimed they did would be illegal in the public sector under France’s anti-discrimination laws, under Germany’s Grundgesetz, under Japan’s GPA, under the UK’s Equality Act in many cases, etc.
At least SDP 8.0 overhauled the kernel to not be locked to a single thread anymore, which is nice IMO
I can’t help but feel it’s a shame to have published this draft (I hesitate to call it a preprint) before any of the factual content of the article was suitable for publication, since if these improvements are as effective and profound as the summary suggests, you’re doing yourself and your work a disservice by advertising it in a shallow way.
My 2c: It’s scummy that CF did this. It looks like they were disingenuous about the severity of the violations and used it as an excuse to get more $$$ from an already paying customer to make the manufactured problem go away.
At high temperatures, it’s essentially a rounding error.
After reading the Wikipedia page and a couple corporate pages about cyberphysical, I think it looks like it’s more about rebranding existing systems that contain interacting heterogenous elements with different RT needs, rather than introducing fundamentally new systems methodologies or technologies. It kinda reminds me of Agile, where a shift in mindset and terminology was hyped way more than any legitimate improvement in the underlying systems being built, and engineering “Agile products” became so important for some businesses.
Are you using APIs that are unavailable on iOS 16 and under, or is it a matter of testing? My understanding was that about 25% of iPhone users aren’t on iOS 17 (myself included!) so it’s a fairly large demographic
Edit: Usually good form to point out your affiliation when you're commenting on your own company's announcements. Unless I'm very much mistaken, RadVl sounds a lot like a portmanteau of Vlad Radulescu, FSM at OxidOS. It's a great looking product, don't get me wrong!
Tree-based expansion machines are the usual way to do preprocessor recursion for non-trivial applications (see: order-pp, chaos-pp). They have that desirable property of letting you process an exponential number of tokens using a linear number of macros, while letting you “bail out” at any time and avoid needing to resolve all of those deeply-nested macro expansions when there isn’t more work to be done.
Getting the linear->exponential property is actually the easy part, since you just need two parallel hierarchies of macros (shamelessly plugging https:.//github.com/notfoundry/pp2/blob/master/include/pp2/machine/vm.h as the most readable implementation). It’s how you stop expanding before the heat death of the universe once you have an effectively unlimited number of recursive expansions available that’s really interesting: if you design all of your recursive macros to return their output wrapped in parentheses, you can write your recursion machine in such a way that at the end of every recursion step, those parentheses are used to complete a function-like macro expansion to get to each next recursion step downstream. When you want to stop computation, you make your recursive macro stop expanding to something parenthesized, and the system naturally stops making progress. In a sense, each recursive macro provide its own potential energy to power the whole recursion system!