MurphyA/hacker-news huggingface dataset:
by agentifysh | 2026-01-04 19:37:37+00:00
saying Expo is "free" is disingenuous. sure, you can self-hosts and duct-tapep pipelines together on-prem, but at that point you're just paying in devops hours instead, something which is not part of flutter DX

your comparison for web is a lazy trope. If a Flutter app is invisible to VoiceOver, thats on the developer for ignoring the semantics tree, not the framework

ironically, your point on React Strict DOM actually shows how much of a mess RN web approach is. Flutter solved cross-platform consistency at the engine level years ago while React is still trying to force the DOM to behave.

I much prefer a compiled language than the runtime uncertainty of RN. composing native views sounds ideal until an iOS update changes and breaks your layout, or JS bridge chokes during a complex animation edge case that will get you digging through github issues. Flutter is rendering natively on the GPU without the overhead. I prefer shipping a consistent app over debugging why some react-native-* is dropping frames on a budget phone because of JS thread

Overall, I find your blatant marketing advertisement of Expo, very suspicious, this is the second comment from you trying to defend Expo's pricing (https://expo.dev/pricing#plan-features) which clearly shows its a funnel to get developers to build dependence and end up paying for build credits

Sure you don't need to pay for it but the more you use it you are going to end up using pay-as-you-go build credits.

Doing your own builds is problematic as well as you can see the sheer number of issues and comments on reddit (https://github.com/expo/expo/issues?q=is%3Aissue%20state%3Ao...)

What is your relationship with Expo? Please clarify.
by omgwtfbyobbq | 2026-01-04 19:38:04+00:00
Elon ain't magic. The first tranche alone requires another $1.2+ trillion in market cap.

He might have been able to push prices up to +/-10+% when Tesla was smaller, but I doubt he could even move it 5% these days.

Have they faked their current sales? How are they going to fake future sales?

It's clear you're not a fan of Elon or Tesla, but they'll have plenty of opportunities to mess things up themselves like any other company. There's no need to speculate about trillions in fraud and millions of fake sales.

If they hit the targets, he gets equity, if they don't, he doesn't.
by freedomben | 2026-01-04 19:38:13+00:00
If only it were that easy. I got really good at centering and aligning stuff, but only when the application is constructed in the way I expect. This is usually not a problem as I'm usually working on something I built myself, but if I need to make a tweak to something I didn't build, I frequently find myself frustrated and irritated, especially when there is some higher or lower level that is overriding the setting I just added.

As a bonus, I pay attention to what the AI did and its results, and I have actually learned quite a bit about how to do this myself even without AI assistance
by coolhand2120 | 2026-01-04 19:38:16+00:00
This is awesome! I started experimenting with LLMs and Ableton over the break too. I used a few off the shelf VST templates to create a VST that leverages an LLM that can create LilyPond format music. This creates multi track VST output (MIDI) from the parsed LilyPond. I have a system prompt that explains LilyPond to the LLM (it already knows anyhow), and then I give it a prompt like "Megaman, 64 bars, ice man level", and it pumps out 4-5 tracks of MIDI that is just what I asked for. I get nice sheet music on top of that.

I like this because I'm really in the creative process still, it feels like a tool like "Scaler" (nice tool btw) where you're picking origin notes, but really putting the song together yourself. It can suggest "Synth Bass" but I'm the one assigning it from one of my other VSTs sounds, mixing, picking, etc.. And if all goes well playing some lead on the guitar or seaboard and then deleting it all and starting over.
by PaulHoule | 2026-01-04 19:38:16+00:00
Yeah, there are two ideals I think of in terms of programming languages:

(1) As a simple set of primitive operations that I can use to build up increasingly complex operations and on that level I value "simple". Like the all-virtual method dispatch in Java as compared to whatever it is in C# or C++. In that case I value predictability and users knowing what they're going to get.

(2) As a platform for domain-specific languages such as the tactics described in On Lisp although those tactics apply well to other languages. In that case my desires as an "author of libraries" and "users of libraries" start to diverge. With that hat on I start to think (a) application programs can consist of "islands" with radically different coding styles (say in Java part of the system is comfortable with POJOs but other parts work with dynamically structured data with no schema or a schema defined at runtime) and (b) I'd like to be able to bend the language really far.

From the viewpoint of a programmer who wants to get work and have an impact on the industry I'm usually working in commercially mature languages and finding as much of those values in them as I can.
by kentonv | 2026-01-04 19:38:30+00:00
> the whole point of WebAssembly is to solve this one problem.

For Wasm to be a secure sandbox, you have to assume a bug-free compiler/interpreter, which, alas, none of them really are. It's a somewhat easier problem than building a bug-free JavaScript runtime, but not by as much as you might expect, sadly.

> I want to build extension systems for my own apps such that users can run their own code or paste in code written by other people and have it execute safely. Similar to Shopify Functions: https://shopify.dev/docs/apps/build/functions

Ah, this is exactly the Workers for Platforms use case: https://developers.cloudflare.com/cloudflare-for-platforms/w...

And indeed, Shopify uses it: https://shopify.engineering/how-we-built-oxygen

(There's also the upcoming Dynamic Worker Loader API: https://developers.cloudflare.com/workers/runtime-apis/bindi...)

But it sounds like you really do want to self-host? I don't blame you, but that does make it tough. I'm not sure there's any such thing as a secure sandbox that doesn't require some level of monitoring and daily maintenance, sadly. (But admittedly I may be biased.)
by lightedman | 2026-01-04 19:38:37+00:00
The sad part about declaring it's about oil is that Venezuela's oil is complete and absolute garbage that is littered with heavies. They need to import naptha to mix into the super-heavy crude in order to make it into a state pumpable through pipelines. To boot, the USA doesn't have a whole lot of heavy crude refining capability, as a huge chunk of our reserves is light oil, and as such the majority of our refineries (like the ones on the Gulf Coast) are set up for processing that type of crude. A fat chunk of the heavy crude processing capability for North America lies in Canada for their tar and oil sands.

Reality - Roughly 2/3 - ~67% - of known hydrocarbon reserves are located in the North American continent. Venezuela is a modest ~17-18%.

If anyone should be invaded for world oil security - it's us.
by danaris | 2026-01-04 19:39:22+00:00
But many people do let perfect be the enemy of the good.

Sometimes they're even right.

If you think we shouldn't push a quick & dirty fix for this issue that's affecting 20% of your users, because a good fix will take much more time, but also take care of an entire class of bugs that are otherwise likely to crop up...

That's letting perfect be the enemy of the good.

And there's no way to know, just from that scenario, which side is really correct. Maybe the bug will cost your company $1 million/hour until it's fixed. Maybe letting the quick & dirty fix go in means that you'll annoy users enough that you'll lose 10% of them permanently.
by xpe | 2026-01-04 19:39:45+00:00
Corrections: please replace #3 above with these points:

1. It is too soon to assess the scope of international responses to Trump's invasion of Venezuela. A large part of ILN is what happens after a particular event.

2. "Farce" is rather squishy. One interpretation (one I agree with) means i.e. "international responses often fall short of rhetoric". Ok, sure. But few savvy people expect rhetoric to match reality. The impact of ILN are neither a 0 nor a 1. It is probabilistic -- not totally random -- and it depends on the circumstances. More detailed models have the potential to make better predictions (if they don't overfit).

We need to drive towards measurable (quantitative) predictive models. Here's an example question: "If the United Nations changed its charter so that one veto was not enough to block enforcement, how would state-based aggression change (by how much)?" See https://en.wikipedia.org/wiki/United_Nations_Security_Counci...
by brycewray | 2026-01-04 19:40:07+00:00
> Is there any static site generator where you specify the version you use, and the launcher will simply run the old binary that you want?

For Hugo, there is Hugo Version Manager (hvm)[0], a project maintained by Hugo contributor Joe Mooring. While the way it works isn't precisely what you described, it may come close enough.

[0]: https://github.com/jmooring/hvm
by octoberfranklin | 2026-01-04 19:40:12+00:00
They don't let you upload facefusion videos. The video has to come from the front-facing camera on a phone.

There is an extremely profitable company (whose data hoard keeps geting hacked but why should they care?) built around this:

https://www.au10tix.com/

Most apps use device attestation (derived from secure boot) to make sure the video stream is really coming from a front-facing camera on a physical device. If Hinge isn't doing this yet they surely will be in 5, 4, 3, 2...
by medbar | 2026-01-04 19:40:29+00:00
Location: Orlando, FL
Remote: Yes, or in-office

Willing to relocate: Yes

Technologies: C++, C, Python, Linux, Git, Bash, SQL, Javascipt, Typescript, Java, HTML, CSS, React, Redis, Next.js, RAG, Vector DB, Docker, NoSQL, Vercel

Résumé: https://davidsantamaria.com/resume.pdf (PDF) and https://medbar.dev/resume

email: dsantamaria1245@gmail.com

linkedin: https://www.linkedin.com/in/davidsantamaria1245/

github: https://github.com/Daves1245

Seeking a junior/mid dev role at a startup. I was part of my university's programming team and my team won the ICPC Southeast regionals Div2 contest. I interned at Google as part of the Network Doctor team and have done freelance frontend work for a YC-backed startup.

Most recently, I've been working on a multiplayer leetcode site , and I'd like to go through this list (https://ternarysearch.com), inspired by binarysearch.com, which I'll make open source to give to the community if/when I'll move onto something else.

My other projects include osdev (demo: https://medbar.dev), a discord bot to answer questions about a github repo using RAG, a discord clone to learn system design, a community-driven site that vibe codes itself, and home labbing.

If you're interested, you can schedule a quick chat with me at https://calendly.com/dsanta01 or shoot me an email
by tim-tday | 2026-01-04 19:40:41+00:00
This is a weak, pseudoscientific and pseudophilosophical argument. Relativity doesn’t say all events are happening at once (that would be absurd). It says that time is relative to the observer’s frame of reference (which has real and important ramifications for science and technology). Taking it to the absurd extreme is not only incorrect it is a common proof that an idea is wrong. (Dude accidentally disproves his own argument by making it absurd)
by hansmayer | 2026-01-04 19:41:20+00:00
Then dont sit still for 30 mins - try doing it for 3 minutes at first. If you feel like it, repeat the next day with either the same or longer length. Or dont do it at all. If you do - think of it as a kind of a meditation, without the extra steps. Some isolation from sensory stimulation is good for your brain - there is growing evidence we are all over exposed to attention-robbing mechanisms of the digital world.
by neildhar | 2026-01-04 19:41:31+00:00
I worked on a sandbox of Hermes that compiles the engine to wasm, and then converts the wasm to C (like Mozilla's RLBox). It exposes the same C++ API as Hermes so it is pretty convenient to drop in, and should be fairly secure.

It hasn't been updated in some time, but it should still be working, and can probably be brought up to date with some small effort: https://github.com/facebook/hermes/tree/static_h/API/hermes_...
by nooee | 2026-01-04 19:42:07+00:00
Also note, that after Uncle Bob's refactoring, you now have six additional functions floating around, which may or may not make sense outside of the context of their original caller. This can make the API surface of your class (even if it's just the internal one) harder to grasp and it invites other devs to reuse code that was never intended for reuse, creating unintended couplings.
That's mainly a problem for languages that don't allow nested functions though. But in Java, I am sceptical of excessive function creation for the sake of self-documenting code, unless maybe it's in the context of a command pattern, where the whole class only has one obvious function anyway.
by satvikpendem | 2026-01-04 19:42:24+00:00
> At best, they simulate what a reasonable answer from a person capable of having an opinion might be

That is what I want though. LLMs in chat (ie not coding ones) are like rubber ducks to me, I want to describe a problem and situation and have it come up with things I have not already thought of myself, while also in the process of conversing with them I also come up with new ideas to the issue. I don't want them to have an "opinion" but to lay out all of their ideas in their training set such that I can pick and choose what to keep.
by RobRivera | 2026-01-04 19:43:29+00:00
Number 14 really speaks towards the subtle difference between being domineering in conversation and genuinely a sme in an area with little overlap in other people's domain knowledge. I feel like being extremely transparent in explaining the rationale and to a degree teaching really reinforces that boundary.

If you get to a point of silent resentment 'debt' in spite of efforts to empathise, consider perspective, and provide clarity, then you have a collaboration problem on the other end. How you choose to address that is dependent on your political capital, and sometimes you need to accept it.

Young me naively believed people were like rational automatons who would speak up when appropriate, not take thinga personal, and aspire to the true north that I aspired to as a colleague, and that is no baseline for a healthy collaboration.
by mattwiese | 2026-01-04 19:44:32+00:00
Regarding your first point, extraction of the headers could be trivially automated. Also, using Hinge's CDN (which I think is CloudFlare and/or AWS) is more viable imo, as you don't need to provide headers to GET the files. If that also applies to user-uploaded videos then I do think there's some meat on this bone. But as the other user who replied to you pointed out, this was mostly for nerdy delight.

Also thanks for bringing up the blockchain C2 use, that's cool and news to me.
by simonw | 2026-01-04 19:45:06+00:00
I'm using it to build things.

Here's an example from the other day. I've always been curious about writing custom Python C extensions but I've never been brave enough to really try and do it.

I decided it would be interesting to dig into that by having Codex build a C extension for Python that exposed simple SQLite queries with a timeout.

It wrote me this: https://github.com/simonw/research/blob/main/sqlite-time-lim... - here's the shared transcript: https://chatgpt.com/s/cd_6958a2f131a081918ed810832f7437a2

I read the code it produced and ran it on my computer to see it work.

What did I learn?

- Codex can write, compile and test C extensions for Python now

- The sqlite3_progress_handler mechanism I've been hooking into for SQLite time limits in my Python code works in C too, and appears to be the recommended way to solve this

- How to use PyTuple_New(size) in C and then populate that tuple

- What the SQLite C API for running a query and then iterating though the results looks like, including the various SQLITE_INTEGER style containers for column types

- The "goto cleanup;" pattern for cleaning up on errors, including releasing resources and calling DECREF for the Python reference counter

- That a simple Python extension can be done with ~150 lines of readable and surprisingly non-threatening C

- How to use a setup.py and pyproject.toml function together to configure a Python package that compiles an extension

Would I have learned more if I had spent realistically a couple of days figuring out enough C and CPython and SQLite and setup.py trivia to do this without LLM help? Yes. But I don't have two days to spend on this flight of curiosity, so actually I would have learned nothing.

The LLM project took me ~1 minutes to prompt and then 15 minutes to consume the lessons at the end. And I can do dozens of this kind of thing a day, in between my other work!
by 1dom | 2026-01-04 19:45:26+00:00
If you want interactivity, we agree, you have to either run a server, or you have to use a 3rd party.

It's easier for a server to render markdown than it is for an SSG site to do server stuff.

Your suggestion for comments is to run a server/use a third party, and do SSG. My suggestion is to just run a server. One is clearly easier as it has fewer steps.

The idea that you can run a decent personal website without compromising on interactivity, and without running a server or using 3rd parties is a myth. As soon as you accept that you have to run a server, SSG becomes an unnecessary extra step.
by snet0 | 2026-01-04 19:45:41+00:00
I don't think you believe this, honestly.

The point, in my view, of art is to form personal relationships with the artwork. I can read Notes From Underground with no background on the era or the author, and pass my own judgements on the characters. I can read the thoughts of the Underground Man and feel them in any which way that strikes me. The point isn't that Dostoevsky is telling me something, rather he has presented an opportunity for me to explore something I've not explored before. How guided and directed that exploration is remains mostly in the hands of the author, but sometimes all it takes is a presentation of a character and the rest of the work is the reader trying to integrate that character into their own worldview.

The most boring art is the art where the author stands next to it and describes what it's about. That's the art where I think "what's the point of reading": the author has summarised the intent of his work, presented the canonical reading and disparaged other readings. You might as well just have the intent summarised on a post-it.

The most powerful art can be the most "meaningless", the art where most of the work is by the reader, searching for connections between what's on the paper and what's in their head. Have you never spent hours with a poem or piece of music, and each retread sparks some new attachment to an experience or feeling? Perhaps the author never even considered their work to relate to how you related to your friends as a child, but I see it as totally wrong to claim that either you or the author have erred in that reading.
by aurareturn | 2026-01-04 19:46:15+00:00
Bun's original marketing used JSCore's superior performance as a main benefit over Node.js.[0]

Why would Google have more incentive than Apple to make the fastest engine? Safari being the fastest mobile browser is important to Apple.

If Google had a stronger incentive than Apple, we would have seen V8 being more performant by now.

[0]https://web.archive.org/web/20220724110148/https://bun.sh/
by hansmayer | 2026-01-04 19:46:29+00:00
Thanks for sharing your valuable insights. I am quite surprised to learn that talking to customers was frowned upon at Google (or your wider team at least). I find that the single most valuable addition to any project - complementary to actually building the product. I have a feeling a lot of the overall degradation of software quality has to do with a gradual creep in of non-technical people into development teams.
by VulcanWM | 2026-01-04 19:47:37+00:00
i built saas heaven to collect failed saas projects in one place. every entry includes stats, story, lessons learned, and source code links.

the goal: let founders and devs learn from mistakes instead of only success stories.

it’s fully open-source, and anyone can contribute their own post-mortem.

curious to hear what the hn community thinks — would you browse failures to guide your next project?
by alembic_fumes | 2026-01-04 19:48:43+00:00
Hard disagree. Most of the Go code that I've ever worked with has been littered with one or another variant of the following:

value, err := doFallibleOperation()
if err != nil {
return nil, fmt.Errorf("fallible operation failed - %w", err)
}

That error construct exclusively works for the poor human who has to debug the system, looking at its logs. No call stacks and, crucially, no automatic handling.

At least with Rust's enums it is possible to make errors automatically actionable. If one skips that part and opts for anyhow because it's too much work, that's really a user problem.

I like the author's idea of "designing" errors by exposing their actionability in the interface a lot. I'm not overall sold on whether that should be the primary categorization, but at least including a docstring to each enum variant about what can be done about the matter sounds like a nice way to improve most code a little bit.
by 6r17 | 2026-01-04 19:49:04+00:00
Ultimately it's up to the user to decide what to do with his time ; it's still a good bargain that leaves a lot of sovereignty to the user. I like to code a little too much ; got into deep tech to capacities I couldn't imagine before - but at some point you hit rock bottom and you gotta ship something that makes sense. I'm like a really technical "predator" - in a sense where to be honest with myself - it has almost become some way of consumption rather than pure problem solving. For very passionate people it can be difficult to be draw the line between pleasure and work - especially given that we just do what we like in the first place - so all that time feel robbed from us - and from the standpoint of "shipper" who didn't care about it in the first place it feels like freedom.

But I'd argue that if anyone wants to jump into technical stuff ; it has never been so openly accessible - you could join some niche slack where some competent programmers were doing great stuff. Today a solo junior can ship you a key-val that is going to be fighting redis in benchmarks.

It really is not a time to slack down in my opinion - everything feels already existing and mostly already dealt with. But again - for those who are frustrated with the status-quo ; they will always find something to do.

I get you however that this has created a very different space where past acquired skill-sets don't necessarily translate as well today - maybe it's just going to be different to find it's space than it was 10 years ago.

I like that the cards have be re-dealt though - it's arguably way more open than the stack-overflow era and pre-ai where knowledge was much more difficult to create.
by snet0 | 2026-01-04 19:49:12+00:00
I mean the fact is that it's easy to fake because the permissible space of interpretation is almost infinite. That will always be the case, and the only thing people demonstrate when they create fake analyses is that they can't be bothered engaging with the art honestly. That's fine, but it's no mark against the interpretation of art.

The real question is: who are you fooling? In a field where there's no right answer, the only person being fooled by you avoiding an honest reading is yourself. If you can make the right noises to trick someone into thinking you've considered the story, why not expose yourself to art and actually consider the story?