MurphyA/hacker-news huggingface dataset:
by Straw | 2025-06-30 21:58:02+00:00
You say the busy beaver function is a function. But I can claim it's not, because you cannot make it constructively- in constructive analysis, all functions are computable.

Many other numbers and functions are computable, including e, pi, 10^100, etc- these are fundamentally different than BB.

So in what sense is it actually a number? There is no algorithm which can resolve questions such as BB(748) < x given x. That doesn't seem like a number to me!

In fact, for some x, such questions will depend on the consistency of ZFC. All normal math we do is expressible in ZFC, but by incompleteness, ZFC cannot prove it's own consistency or is inconsistent. So, we cannot really ever know the value, we can only ever find lower bounds. Does this seem like a number to you? It's not in the English sense and neither is it in what I would consider a reasonable definition of numbers you actually encounter, the computable numbers. Real numbers are in fact, not very real at all.
by infotainment | 2025-06-30 21:58:43+00:00
> These restrictive rules weren’t a problem back when Sun Belt cities could expand by building new single-family homes at their exurban fringes indefinitely. (…) Recently, however, many Sun Belt cities have begun hitting limits to their outward sprawl (…) To keep growing, these cities will have to find ways to increase the density of their existing urban cores and suburbs. That is a much more difficult proposition.

It always comes down to increasing density, and people’s apparent view that once they move somewhere the place they moved to should remain exactly the same forever. Never mind that most places Americans would consider to be emblematic of small town Americana would be effectively impossible to build today due to having such blasphemous things as stores near houses, or buildings that go right up to the street.
by bikenaga | 2025-06-30 21:59:03+00:00
Does your apartment lease require that you use Comcast's hardware? When I signed up for Xfinity years ago I wanted to use my own hardware (NetGear cable modem, Buffalo Airstation with DD-WRT). I forget now whether I had to walk through the activation over the phone with a tech - I vaguely recall having to provide some information about the modem, which was one of the models listed as supported on their use-your-own-hardware web page - but the whole thing was easy.

Other people have mentioned that not using Comcast's stuff means that certain features won't be available, but I don't care. I don't have huge bandwidth needs, for instance.
by pakl | 2025-06-30 21:59:15+00:00
In most B2B cases you really don’t want to self host authentication. Really.

There are plenty of identity providers out there who will worry about hashing passwords, resetting them, 2FA, etc. Most client businesses already have identities via one of those for all their employees (read: users of your APIs or apps).

Unfortunately nearly all of the open source solutions out there do exactly what you said, they start with (required) self-hosting authentication. Not helpful.

What’s more relevant to businesses is authorization using existing IdPs (shameless plug: https://github.com/DMGT-TECH/the-usher-server)
by comex | 2025-06-30 21:59:35+00:00
> I guess C might be able to get away with it due to the interaction with strict aliasing rules.

But not for char-typed accesses. And even for larger types, I think you would have to worry about the combo of first memcpying from pointer-typed memory to integer-typed memory, then loading the integer. If you eliminate dead integer loads, then you would have to not eliminate the memcpy.
by FredPret | 2025-06-30 22:00:20+00:00
The problem with this is in the very definition of what it means to be an "app" developer. You say "app" and most people immediately understand you mean the iPhone or Android kind, with all that entails.

These companies have been dominating the landscape for decades now, most likely for longer than most app developers have been app developers. As a developer, there's definitely a choice: don't make an iPhone app; don't make an app at all. Make something else.

If you say you want access to the walled garden because that's where the people are, then consider that they are in there because they like the walls. From this point of view, you don't have a right to demand that the walled garden have free entrance.
by grep_name | 2025-06-30 22:01:40+00:00
So far that experiment is going pretty well! I haven't worked much on it but the tooling I'm using has made a great base for the project. My goals (in order of priority) are:

- Get it so that you can categorize transactions quickly in a keyboard-driven way

- Similarly have a quick, improved option for dealing with overspending / underfunding

- Add some additional reporting that I'd like to see (as well as the ability to drill down in a more fuzzy way than currently supported in ynab)

- Finally (and most importantly but also most ambitiously) develop a view with some simple tools that helps users figure out WTF is wrong when a reconciliation isn't working out. This is much harder than the other things I'm trying to do here

Luckily YNAB's API is very open and I think I can do all the things I'm looking to achieve here. If I'm successful, I plan to spin off a sister TUI project for making handling import edgecases easier in beancount, which I also use but for different reasons

Edit: but your idea of having CLI command options for printing reports on a regular basis / on opening the shell is also neat, I do plan to have some CLI options that don't require you to open the full TUI
by ZYbCRq22HbJ2y7 | 2025-06-30 22:01:52+00:00
> They might be good reads on the topic but Drew makes some significant etymological mistakes. For example loadout doesn't come from gaming but military terminology. It's essentially the same as kit or gear.

Doesn't seem that significant?

Not to say those blog posts say anything much anyway that any "prompt engineer" (someone who uses LLMs frequently) doesn't already know, but maybe it is useful to some at such an early stage of these things.
by ac29 | 2025-06-30 22:01:54+00:00
I did this recently and found out Comcast considers some security feature that runs only on their hardware to be part of the bundle they sold us.

So, bringing your own modem gets rid of the rental fee, but requires moving to a different plan without the security feature bundled. This is of course more expensive, almost entirely negating the savings of bringing your own network equipment (I think our net savings is $5/month, which means its going to be a couple years to pay back the modem cost).
by shitpostbot | 2025-06-30 22:01:59+00:00
That does not track.

If you believed Bitcoin was under valued, you would just buy Bitcoin and not pay a 100% premium to buy shares in their company.

Also being inflationary is a feature of the US dollar, not a downside. It feels like crypto shills never discuss why inflation is intentional and good and rely on the financially illiterate to be shocked by those 93% and 1/5th numbers
by godelski | 2025-06-30 22:02:06+00:00
By "intervention" I mean interacting with the environment. Purpose a hypothesis, test, modify, test. You can frame RL this way though RL usually generates hypotheses that are far too naïve.

This looks like a good brief overview (I only skimmed it but wanted to give you more than "lol, google it") http://smithamilli.com/blog/causal-ladder/
by RossBencina | 2025-06-30 22:02:32+00:00
After reading the fine article I'm left wondering what if you implement your own heterogeneous allocation scheme on top of malloc? (e.g. TLSF) In this case all of your objects will belong to the same malloced storage region, and you will compute object offsets using raw pointers, but I'd expect provenance to potentially treat each returned object to behave as if it were allocated from a separate disjoint storage.

I guess my question is: does this provenance model allow for recursive nesting of allocators with a separate notion of "storage" at each level?
by aleksiy123 | 2025-06-30 22:02:37+00:00
It may not be a silver bullet, in that it needs lots of low level human guidance to do some complex task.

But looking at the trend of these tools, the help they are requiring is become more and more higher level, and they are becoming more and more capable of doing longer more complex tasks as well as being able to find the information they need from other systems/tools (search, internet, docs, code etc...).

I think its that trend that really is the exciting part, not just its current capabilities.
by abetusk | 2025-06-30 22:03:05+00:00
The posts author and site operator is Chris Crawford [0]. He said so in the post but Wikipedia confirms that he was mostly active from 1980s to 1990s with at least 15 titles to his name, not including other tools that he built and not including game design books that he authored or wrote for.

[0] https://en.wikipedia.org/wiki/Chris_Crawford_(game_designer)
by utopcell | 2025-06-30 22:03:12+00:00
The result doesn't actually apply to _all_ algorithms, only oblivious ones. Oblivious algorithms are ones where step i does not depend on decisions made in steps j < i. Almost all useful algorithms are non-oblivious, with some notable exceptions [1]. This work is a step forward towards proving the result for the general case, with little practical usage (and that's perfectly okay).

[1] https://en.wikipedia.org/wiki/Sorting_network
by gwbas1c | 2025-06-30 22:03:28+00:00
I moved my blog over to Jekyll hosted via Github: https://blog.andrewrondeau.com/

The site itself isn't anything "special." I've had a personal website for about 25 years; the past few years I finally moved from making HTML by hand to using various CMSes. I tried a "no database" CMS that my hosting page had, then I wrote my own CMS, https://github.com/GWBasic/z3, to learn node.js, but then I had to go back because Heroku dropped the free tier.

Jekyll is interesting. As a Mac user, I'm surprised there isn't a push-button app, like MAMP, to just run it. Instead, I got exposed to some weirdness with Ruby versioning that, because I don't have any Ruby experience, was frustrating.

The default Jekyll template has warnings, but when I tried to fix them, I ended up jumping into a rabbit hole of sass versioning.

I also ended up jumping into a rabbit hole with setting up redirects from old urls on my blog to their new locations. I don't touch Apache / cpanel that often, so there was a bit of a learning curve for me.

One funny thing was that I set up two redirects, in cpanel, from the same url to two different urls. (It was a mistake!) I couldn't delete them, so I had to submit a service request with my host.

Two interesting things that I do not have time to do:

- Set up Github actions to deploy on my original host (andrewrondeau.com) - Set up redirects from blog.andrewrondeau.com -> andrewrondeau.com
by shofetim | 2025-06-30 22:03:41+00:00
Phoenix — https://github.com/shofetim/phoenix

A multi-server process supervisor. Existing init processes (systemd, runit, s6, etc) work great on a single server but when you need to manage/deploy many servers, the tooling gets really complicated (K8s). Phoenix extends the process supervision model from one server, to many. Run this thing once / keep one copy of this around / keep this running on all machines that match pattern X etc.

Turns out the (obvious in hindsight?) problem is automated but simple networking. Currently digging deep into wireguard based overlay networking before rolling the next version of Phoenix out.
by comex | 2025-06-30 22:04:05+00:00
Probably >50% of exploits these days target use-after-frees, not buffer overflows. I don’t have hard data though.

As for null pointer problems, while they may result in CVEs, they’re a pretty minor security concern since they generally only result in denial of service.

Edit 2: Here's some data: In an analysis by Google, the "most frequently exploited" vulnerability types for zero-day exploitation were use-after-free, command injection, and XSS [3]. Since command injection and XSS are not memory-unsafety vulnerabilities, that implies that use-after-frees are significantly more frequently exploited than other types of memory unsafety.

Edit: Zig previously had a GeneralPurposeAllocator that prevented use-after-frees of heap allocations by never reusing addresses. But apparently, four months ago [1], GeneralPurposeAllocator was renamed to DebugAllocator and a comment was added saying that the safety features "require the allocator to be quite slow and wasteful". No explicit reasoning was given for this change, but it seems to me like a concession that applications need high performance generally shouldn't be using this type of allocator. In addition, it appears that use-after-free is not caught for stack allocations [2], or allocations from some other types of allocators.

Note that almost the entire purpose of Rust's borrow checker is to prevent use-after-free. And the rest of its purpose is to prevent other issues that Zig also doesn't protect against: tagged-union type confusion and data races.

[1] https://github.com/ziglang/zig/commit/cd99ab32294a3c22f09615...

[2] https://github.com/ziglang/zig/issues/3180.

[3] https://cloud.google.com/blog/topics/threat-intelligence/202...
by layer8 | 2025-06-30 22:04:52+00:00
My understanding is that you need to provide and configure task-specific tools. You can’t combine the AI with just a general-purpose computer and have the AI figure out on its own how to make use of it to achieve with reliability and precision whatever task it is given. In other words, the current tool usage isn’t general-purpose in the way the LLM itself is, and also the LLM doesn’t reason about its own capabilities in order to decide how to incorporate computer use to compensate for its own weaknesses. Instead you have to tell the LLM what it should apply the tooling for.
by simonw | 2025-06-30 22:04:56+00:00
Drew isn't using that term in a military context, he's using it in a gaming context. He defines what he means very clearly:

> The term “loadout” is a gaming term that refers to the specific combination of abilities, weapons, and equipment you select before a level, match, or round.

In the military you don't select your abilities before entering a level.
by storus | 2025-06-30 22:05:27+00:00
Those issues are considered artifacts of the current crop of LLMs in academic circles; there is already research allowing LLMs to use millions of different tools at the same time, and stable long contexts, likely reducing the amount of agents to one for most use cases outside interfacing different providers.

Anyone basing their future agentic systems on current LLMs would likely face LangChain fate - built for GPT-3, made obsolete by GPT-3.5.
by rednafi | 2025-06-30 22:05:35+00:00
I really don’t get this rush to invent neologisms to describe every single behavioral artifact of LLMs. Maybe it’s just a yearning to be known as the father of Deez Unseen Mind-blowing Behaviors (DUMB).

LLM farts — Stochastic Wind Release.

The latest one is yet another attempt to make prompting sound like some kind of profound skill, when it’s really not that different from just knowing how to use search effectively.

Also, “context” is such an overloaded term at this point that you might as well just call it “doing stuff” — and you’d objectively be more descriptive.
by msencenb | 2025-06-30 22:05:44+00:00
First of all - totally agree. I work half-time so I get to spend extended time every day with the kids.

My post did not say anything about how I was going to use the computer, in fact we often do exactly what you said with his fake keyboard in between his other activities.

I also believe that it's my job to provide my children with the environment in which they can thrive and be independent. This post is asking for constructive guidance on how other people have navigated the transition into engaging with technology that all kids go through.

If you have any ideas, I'd be happy to hear them.
by ghusto | 2025-06-30 22:05:48+00:00
The house is set up for ring cameras and makes it either impossible or painful to use anything else. Not because of technical limitations, but in order to steer you away from competitors. Building something with it working in a particular way is fine, but building it in a particular way _in order_ for it not to work with competitors hurts everyone. I get the argument it's just because it makes their products work better, and call bullshit.
by wat10000 | 2025-06-30 22:06:05+00:00
I said “good enough,” which is not quite the same as “good.” They’re usable.

Better outdoor usability is demonstrably a selling point. That’s why newer iPhones have such a high max brightness. And people will certainly like even more. But they’re not going to pay a large amount for it, or accept any loss of indoor capability. It’s not going to be a new category of device, just the same stuff except better in very bright light.
by gametorch | 2025-06-30 22:06:16+00:00
the title is a classic quant interview problem

the basic idea is that, because multiplication commutes, probability of A then B is the same as probability of B then A, so long as they are independent events (rolling objects typically meets this criteria)

so instead of using just A or just B, which might neither have 0.5 probability, you only count "A then B" and "B then A" as rolls

and this trivially extends to constructing a fair N-sided die out of any arbitrarily biased die for any N
by _xtrimsky | 2025-06-30 22:06:16+00:00
This post convinced me to never try marijuana again.

I've tried 3 times, last time was a bad trip, I went into a very cold state (was shaking) and I was seeing random visual images every second. It felt like my brain was telling chat gpt to generate a random image on the fly none stop.

Anyways I was fine the next day, but I'm not trying it ever again if there is some risks associated with it. I took a low dose (half gummy).
by tzs | 2025-06-30 22:06:23+00:00
I don't use Siri much, but I have noticed sometime over the last few months a problem in something that Siri uses. That's the voice dictation. I use it all the time on iPad to enter search terms.

So for instance if I wanted information on public transit options in London I'd tap the search bar in Safari, tap the mic icon, and say "Public transit options in London" and that used to work pretty much all the time. It would even work if I had a loud TV on or loud music on, and it was great about realizing when I'd stopped speaking and automatically starting the search.

Lately it has tended to cut off early, so I only get "Public transit options" entered. I can get it to work if I try again and say each word very loud and with a distinct short gap between the words.

My understanding is that modern dictation systems make heavy use of deep learning so I'd expect it shares from underlying technology with Siri. I wonder if there is a problem with that underlying technology?
by alexisread | 2025-06-30 22:06:30+00:00
TBH this is a good case for Linq-style queries, over SQL-based ones. Linq style allows you to narrow the query deterministically vs Sql eg. Mytable1.select().where().join(mytable2)

This applies the filter before the join, compared with:

Select from mytable1 join mytable2 on... Where...

Which relies on the query plan to resolve the correct application of where, and hope it puts the where before the join.

This becomes more important in the cloud, where Iceberg tables cannot be benchmarked in the same way as single-cluster relational DBs.
by jongjong | 2025-06-30 22:06:49+00:00
Recently I started work on a new project and I 'vibe coded' a test case for a complex OAuth token expiry bug entirely with AI (with Cursor), complete with mocks and stubs... And it was on someone else's project. I had no prior familiarity with the code.

That's when I understood that vibe coding is real and context is the biggest hurdle.

That said, most of the context could not be pulled from the codebase directly but came from me after asking the AI to check/confirm certain things that I suspected could be the problem.

I think vibe coding can be very powerful in the hands of a senior developer because if you're the kind of person who can clearly explain their intuitions with words, it's exactly the missing piece that the AI needs to solve the problem... And you still need to do code review aspect which is also something which senior devs are generally good at. Sometimes it makes mistakes/incorrect assumptions.

I'm feeling positive about LLMs. I was always complaining about other people's ugly code before... I HATE over-modularized, poorly abstracted code where I have to jump across 5+ different files to figure out what a function is doing; with AI, I can just ask it to read all the relevant code across all the files and tell me WTF the spaghetti is doing... Then it generates new code which 'follows' existing 'conventions' (same level of mess). The AI basically automates the most horrible aspect of the work; making sense of the complexity and churning out more complexity that works. I love it.

That said, in the long run, to build sustainable projects, I think it will require following good coding conventions and minimal 'low code' coding... Because the codebase could explode in complexity if not used carefully. Code quality can only drop as the project grows. Poor abstractions tend to stick around and have negative flow-on effects which impact just about everything.
by colgandev | 2025-06-30 22:06:56+00:00
I've been finding a ton of success lately with speech to text as the user prompt, and then using https://continue.dev in VSCode, or Aider, to supply context from files from my projects and having those tools run the inference.

I'm trying to figure out how to build a "Context Management System" (as compared to a Content Management System) for all of my prompts. I completely agree with the premise of this article, if you aren't managing your context, you are losing all of the context you create every time you create a new conversation. I want to collect all of the reusable blocks from every conversation I have, as well as from my research and reading around the internet. Something like a mashup of Obsidian with some custom Python scripts.

The ideal inner loop I'm envisioning is to create a "Project" document that uses Jinja templating to allow transclusion of a bunch of other context objects like code files, documentation, articles, and then also my own other prompt fragments, and then to compose them in a master document that I can "compile" into a "superprompt" that has the precise context that I want for every prompt.

Since with the chat interfaces they are always already just sending the entire previous conversation message history anyway, I don't even really want to use a chat style interface as much as just "one shotting" the next step in development.

It's almost a turn based game: I'll fiddle with the code and the prompts, and then run "end turn" and now it is the llm's turn. On the llm's turn, it compiles the prompt and runs inference and outputs the changes. With Aider it can actually apply those changes itself. I'll then review the code using diffs and make changes and then that's a full turn of the game of AI-assisted code.

I love that I can just brain dump into speech to text, and llms don't really care that much about grammar and syntax. I can curate fragments of documentation and specifications for features, and then just kind of rant and rave about what I want for a while, and then paste that into the chat and with my current LLM of choice being Claude, it seems to work really quite well.

My Django work feels like it's been supercharged with just this workflow, and my context management engine isn't even really that polished.

If you aren't getting high quality output from llms, definitely consider how you are supplying context.