MurphyA/hacker-news huggingface dataset:
Show HN:Fiig-The best way to mark up PDFs with AI [video]
by ieuanking | 2025-08-20 15:58:08+00:00
Hi HN!

Big AI keeps missing the mark for students. Study Mode and current chatbots do not reinforce or build critical thinking skills to turn information into knowledge. Unlike ChatGPT or classic chatbots, we focused on reading, note-taking, and citation + you can reference, note, and file using @[item_name] (like cursor).

Think: Google Scholar + ChatGPT + AI Highlighting Tools = Fiig

Our current users love Fiig because of the resource-intensive and content-driven experience. Fiig gives you access to a vast library of academic sources, or you can integrate your uploaded files for comprehensive, personalized research. Quickly search for relevant papers and studies across multiple academic databases. Upload and index your PDF documents. AI-powered relevancy ranking for search results. Filter by publication date, author, or journals.

The special sauce: Our overpowered AI annotation tools. Fiig can highlight down to the line in any uploaded or found PDF. This is great for draft revision, quote gathering, source skimming. When chatting with a PDF, Fiig is contextually locked to the information in the added PDF, so hallucination is minimized, and as you make notes and interactions, the context awareness around your needs increases dramatically.

Try Fiig today -- www.ubik.studio

Feedback is welcome and encouraged.

We are working on EVALS and an app. Will update you soon! (we are just a team of two with soooooo much to do lmao)
by shadowgovt | 2025-08-20 15:58:12+00:00
I strongly suspect this is the niche that LLMs will settle into long-term in programming work. They're pretty good at munging over code, documentation, and discourse online to paper over the issues with some projects having docs written in human-communication-as-a-second-language form, which is a lot of projects.

We've already migrated (via StackOverflow) far past 'RTFM' as the go-to answer, and LLMs seem the next logical step there: a machine to read all the sources and boil them down for you.
by jadamson | 2025-08-20 15:58:23+00:00
> The abbreviations I wrote are unambiguous. When I first learned about Unix, I basically guessed

They're completely ambiguous to someone who doesn't speak English.

> /mnt - the whole metaphor of "mounting" is... debatable

What? Have you never heard of mounting a picture on a wall? Mounting an engine? That's the metaphor.

> Anyway, a lot of people have done this criticism better than me and it's boring at this point.

Your original complaint was about "src", suggesting calling it "source", which is still ambiguous by your own standard. Source of what? How is someone going to know what "source" means if they've never heard of booting a computer? Who is the audience for this change?

Some of your suggestions aren't meritless, but your jumping-off point certainly was.
by canyon289 | 2025-08-20 15:59:09+00:00
Yes! To me the primary value is not just as a teaching or toy model. I see a lot o value in repeatable tasks if we think about enterprise and a local fast developer model for individual usage.

Here's some examples that are inspired by previous roles I had outside of Google, where a business I was working in needed real time text processing.

This tutorials were made with Gemma versions from a year ago, but could now be recreated with Gemma 270m

https://developers.googleblog.com/en/gemma-for-streaming-ml-... https://www.youtube.com/watch?v=YxhzozLH1Dk
by tantalor | 2025-08-20 15:59:11+00:00
> Together, these functions create a spherical helix... That's all!

This strikes me as backwards reasoning.

You are showing "these functions" -> spherical helix

But I actually want spherical helix -> "these functions"

1. What if I want to make some other shape? I'm lost.

2. I have learned nothing about the spherical helix.
by theamk | 2025-08-20 15:59:12+00:00
Increase deterrence effect to scare away shoplifters.

Home depot goes out of the way to make its cameras visible. There is a large "camera" sign, bright light to catch your attention, a visible display to show it's not a fake, and sometimes even a motion activated chime. I assume the green square around the face is the next step in a game.
by Sharlin | 2025-08-20 15:59:15+00:00
For constant speed you need a so-called “Euclidean parameterization” where the t value is proportional to s, the Euclidean distance traveled (and thus no matter the value of t, if you add some dt it always works out to the same ds). This is super commonly needed when animating motion along all sorts of curves, as you might guess.

Unfortunately, there’s usually no closed-form solution for it, so we have to do it numerically. And for doing that there’s in general no better way than at each t, binary/interpolation search a dt that roughly corresponds to the ds that you want (start with the previous dt, it’s likely a very good approximation).

In practice, you’d do that once and store the results, basically approximating the curve as a polyline of evenly-spaced points– at least assuming that the curve itself isn’t changing over time!
by jhanschoo | 2025-08-20 16:00:02+00:00
Your link explicitly says:

> It's a reverse proxy that requires browsers and bots to solve a proof-of-work challenge before they can access your site, just like Hashcash.

It's meant to rate-limit accesses by requiring client-side compute light enough for legitimate human users and responsible crawlers in order to access but taxing enough to cost indiscriminate crawlers that request host resources excessively.

It indeed mentions that lighter crawlers do not implement the right functionality in order to execute the JS, but that's not the main reason why it is thought to be sensible. It's a challenge saying that you need to want the content bad enough to spend the amount of compute an individual typically has on hand in order to get me to do the work to serve you.
by sjs382 | 2025-08-20 16:00:05+00:00
We're in total disagreement. I say "yes" to both "a" and "b" and I do not think that people flagging less is a good outcome. Same goes for vouching.

I think a lot of us are generally happy with how the site operates—that's why we're here. I personally consider the moderation to be a feature—I think dang and team do a great job. I'm sure you could pick out some counterexamples but comments and posts that rise to the top tend to be thoughtful. There are exceptions. Nobody bats 1.000.

Posters don't have a right to be seen/read. That said, there are plenty of other communities that will embrace the types of posts/threads that would get flagged here.

If you have specific concerns about specific comments/stories getting flagged, it's reasonable to take each one up with the moderation team privately (there's a contact link in the footer). Just don't badger them—becoming a nuisance won't help you achieve your goals.
by _thisdot | 2025-08-20 16:00:44+00:00
I know one popular author who doesn't care: Brandon Sanderson. In addition he makes it possible to buy DRM free ebooks from his website.

In his words: “My experience has been that readers want to support things they like … But if they are at a point in their lives where they can’t, then it’s better to let them read the stories they want … and let them support artists when they’re capable of it. So I am a big fan of giving away books for free.”

Source: https://www.jotdown.es/2016/12/brandon-sanderson-i-want-to-s...
by gchadwick | 2025-08-20 16:00:47+00:00
This whole series is fantastic! Does an excellent job of explaining the theoretical limits to running modern AI workloads and explains the architecture and techniques (in particular methods of parallelism) you can use.

Yes it's all TPU focussed (other than this most recent part) but a lot of what it discusses are generally principles you can apply elsewhere (or easy enough to see how you could generalise them).
by jdiff | 2025-08-20 16:00:49+00:00
First, a few disclaimers, I am not a lawyer and this is an actively evolving area.

The answer that most aligns with current precedent to my knowledge is that the parts you modify are protected by your copyright, but the rest remains uncopyrightable. With the exception of any chunks generated that align with someone's existing copyrighted code, as long as those chunks are substantial and unique enough.
by ljf | 2025-08-20 16:01:06+00:00
A friend of mine works in Bangkok pretty regularly, so it ended up cheaper to rent an apartment than get hotels (plus he can leave clothes etc behind.)

A nicely sizes 2 double bed apt is £450 a month all in including utilities - plus a pool and huge roof terrace shared with the other people there - looks great.

If you can get a visa to work there, and have the cash, you can have an amazing life out there for sure.
by lucfranken | 2025-08-20 16:01:07+00:00
One of the most challenging things I currently find is that it’s complicated to keep the ai tools focused and at the same time with enough understanding of the full project.

In small parts they excel really quickly but in bigger apps they seem to write for example helpers everywhere which are already available. Think date formatting.

So that would worry me a bit, it would literally explode the code size of the own project.

There are solutions off course but in general that’s for now a thing I would be careful of. Later that will be better I’m sure.
Show HN: Luminal – Open-source, search-based GPU compiler
by jafioti | 2025-08-20 16:01:13+00:00
Hi HN, I’m Joe. My friends Matthew, Jake and I are building Luminal (https://luminalai.com/), a GPU compiler for automatically generating fast GPU kernels for AI models. It uses search-based compilation to achieve high performance.

We take high level model code, like you'd have in PyTorch, and generate very fast GPU code. We do that without using LLMs or AI - rather, we pose it as a search problem. Our compiler builds a search space, generates millions of possible kernels, and then searches through it to minimize runtime.

You can try out a demo in `demos/matmul` on mac to see how Luminal takes a naive operation, represented in our IR of 12 simple operations, and compiles it to an optimized, tensor-core enabled Metal kernel. Here’s a video showing how: https://youtu.be/P2oNR8zxSAA

Our approach differs significantly from traditional ML libraries in that we ahead-of-time compile everything, generate a large search space of logically-equivalent kernels, and search through it to find the fastest kernels. This allows us to leverage the Bitter Lesson to discover complex optimizations like Flash Attention entirely automatically without needing manual heuristics. The best rule is no rule, the best heuristic is no heuristic, just search everything.

We’re working on bringing CUDA support up to parity with Metal, adding more flexibility to the search space, adding full-model examples (like Llama), and adding very exotic hardware backends.

We aim to radically simplify the ML ecosystem while improving performance and hardware utilization. Please check out our repo: https://github.com/luminal-ai/luminal and I’d love to hear your thoughts!
Show HN: Internationalizationext selector API – selector t for TypeScript
by adrai | 2025-08-20 16:02:26+00:00
i18next released a new version of a new selector API that lets you pass a selector function to t instead of a string key:

// before i18next.t('my.nested.key')

// after i18next.t($ => $.my.nested.key)

The change unlocks IDE autocompletion and “go to definition”, preserves JSDoc from your resource files at the call site, and — critically — removes the huge type-level unions that used to grind TypeScript/IDEs to a halt. See the announcement and examples.

The selector support has landed in i18next (PR merged) and react-i18next has matching typings/changes. If you want to migrate, there’s an automated codemod to convert usages to the selector form.

Why share this here: if you use TypeScript + i18next, this should make working with large translation catalogs far more pleasant — less “doom scrolling”, much better editor UX, and big type-performance improvements. We’d love feedback from folks who try the codemod or hit edge cases. => https://github.com/i18next/i18next/pull/2322
by arm32 | 2025-08-20 16:02:28+00:00
Ah, yes, the classic "Playwright isn't fast enough so we're reinventing Puppeteer" trope. I'd be lying if I haven't seen this done a few times already.

Now that I got my snarky remark out of the way:

Puppeteer uses CDP under the hood. Just use Puppeteer.
by jillesvangurp | 2025-08-20 16:02:57+00:00
Keeping it simple is always a good idea. I've been pretty happy with gh actions lately. I've seen everything from hudson/jenkins, travis ci, git lab, etc. Most of that stuff is fine if you keep it simple. Building your software should be simple if you do it manually. If it is, it's easy to automate with CI.

The same goes for other tools: build tools (ant, maven, gradle, npm, etc.); Configuration systems (puppet, ansible, salt, etc.); Infrastructure provisioning (cloudformation, terraform, etc.); other containerization and packaging tools (packer, docker, etc.).

Stick to what they are good at. Don't overload them with crap outside the scope of what they do (boiling oceans, lots of conditional logic, etc.). And consider whether you need them at all. Write scripts for all the rest. My default is a simple bash script. Replacing a 2 line script with 100+ lines of yaml is a clear sign that something is wrong with what you are doing.

A consideration lately is not just automated builds but having agentic coding tools be able to work with your software. I just spent an afternoon nudging codex along to vibe code me a new little library. Mostly it's nailing it and I'm iterating with it on features, tests, documentation etc. It of course needs to be able to run tests to validate what it's doing. And it needs to be able to figure out how. The more complicated that is, the less likely it is to be useful.

CI and agentic coding have similar needs: simplicity and uniformity. If you have that, everything gets easier.

Anything custom and wonky needs to isolated and removed from the critical path. Or removed completely. Devops work is drudgery that needs to be minimized and automated. If it becomes most of what you do, you're doing it wrong. If an agentic coding system can figure out how to build and run your stuff, getting it to setup CI and deployment scripts is not that much of a leap in complexity.

After a few decades with this stuff, I have a low threshold for devops bullshit. I've seen that go sideways and escalate into months long projects to do god knows what a few times too often. Life is too short to deal with that endlessly. The point of automating stuff is so you can move on and do more valuable things. If automating it takes up all your time, something is very wrong.
by Nizoss | 2025-08-20 16:04:07+00:00
Thanks for the TL;DR!

Go support was recently added, and TDD-Guard also works with these frameworks:

JavaScript/TypeScript: Vitest and Jest Python: Pytest PHP: PHPUnit Go: Native go test

Adding a new language or framework just means creating a reporter that outputs test results in a format that TDD-Guard can consume.

I'm not familiar with Opencode. Is there something particular that interests you in it?
by chaboud | 2025-08-20 16:05:49+00:00
The instinct to sort of slow t is right, as the governing functions are maintaining angular velocity with respect to t but scaling radius also with respect to t.

It’s sort of like an Archimedean spiral. So, yeah, if you parameterize velocity and make that constant, you’re in better shape. Note that the radius starts at zero, though, so something is going to have to deal with limits.

A simpler path following approximation (e.g., for a game) might be to just give an iterative system path and tangent targets with respect to Z and then provide an iterative constraint on velocity with some sort of basic tweening (e.g., new = a * old + (1 - a) * target). Then just drag the thing along Z, like bead toys for toddlers.
by mgfist | 2025-08-20 16:06:07+00:00
> However genuinely curious about the thesis applied by the VC’s/Funds that invest in such a late stage round

1) It's evaluated as any other deal. If you model out a good return quantitatively/qualitatively, then you do the deal. Doesn't really matter how far along it is.

2) Large private funds have far fewer opportunities to deploy because of the scale. If you have a $10B fund, you'd need to fund 2,000 seed companies (at a generous $5m on $25m cap). Obviously that's not scalable and too diversified. With this Databricks round, you can invest a few billion in one go, which solves both problems.
Show HN: Pluely v0.1.1 – OSS Cluely alternative with custom/local LLM support
by truly_sn | 2025-08-20 16:06:39+00:00
Hey HN,

Quick backstory: After spotting the buzz around Cluely (that $15M stealth AI startup), I wanted to build an open-source version that's lighter, more private, and fully customizable. No bloat, no data leaks—just efficient AI assistance right on your desktop.

This is my first dive into Tauri, and it's been a game-changer. I tried Electron first, but it felt too heavy with all the browser cruft—high RAM usage, slow starts, not ideal for something that needs to be instant and unobtrusive. Tauri + Rust keeps it snappy, native, and tiny.

Pluely is a ~10MB desktop app (27x smaller than Cluely's ~270MB) that gives real-time AI help during calls, interviews, or chats—undetectable overlay, no meeting transcription (though you could extend it).

Fresh in v0.1.1: Custom LLM support! Add any provider, including local ones like Ollama or custom URLs/APIs for full offline mode. Plus, better window management (focus/resize), improved markdown rendering, auto-scrolling chats, and layout tweaks for smoother UX.

Core features: Undetectable overlay(Tested in MacOs): Translucent window floats over apps like Zoom/Teams, hidden in shares/recordings/screenshots. Now with better click-through and positioning. Multi-LLM integration: OpenAI, Claude, Gemini, Grok with dynamic model fetching. Plus the new custom option for locals. Inputs: Text (markdown), voice (Whisper STT + auto-detection VAD), images/screenshots for analysis. Privacy/performance: 100% local processing (API keys stored in localStorage, no telemetry), 50% less CPU/RAM, <100ms startup. Offline-first except for your LLM calls. History: Local, with conversations list. Cross-platform: .dmg (macOS), .msi (Windows), .deb (Linux).

Great for discreet tips in interviews, quick code debugs in meetings, or strategy in negotiations. Free, tweakable, transparent—unlike Cluely's closed setup.

Repo: https://github.com/iamsrikanthnani/pluely

Feedback welcome! Thoughts on custom LLMs, voice tweaks, or what else for a stealth AI companion?
by mandevil | 2025-08-20 16:07:03+00:00
Samsung has already announced that their frontier node (what they call 1.4nm) is going to delayed at least two years, and issuing statements calling it into question at all. Intel has announced that they will only do what they call 14A if they can get a partner who will promise to use it in significant volume.

As of this moment, the only company that is definitely going ahead with that next generation node is TSMC. The other two companies capable of doing so are both signalling that they will only do it if they get a partner who promises to use them for significant volume, not just as negotiating leverage against TSMC.
by haolez | 2025-08-20 16:09:14+00:00
I've seen a team implement Go workers that would download the HTML from a target, then download some of the referenced JavaScript files, then run these JavaScript files in an embedded JavaScript engine so that they could consume less resources to get the specific things that they needed without using a full browser. It's like a browser homunculus! Of course, each new site would require custom code. This was for quant stuff. Quite cool!
by almostgotcaught | 2025-08-20 16:09:39+00:00
> Even Apple is simply exporting to CUDA now.

This is like when journalists write clickbait article titles by omitting all qualifiers (eg "states banning fluoride" when it's only some states).

One framework added a CUDA backend. You think all of Apple uses only one framework? Further what makes you think this even gets internal use?
by jacobaustin123 | 2025-08-20 16:09:39+00:00
I believe this is correct. For an H100, the 4 NVLink switches each have 64 ports supporting 25GB/s each, and each GPU uses a total of 18 ports. This gives us 450GB/s bandwidth within the node. But once you start trying to leave the node, you're limited by the per-node InfiniBand cabling, which only gives you 400GB/s out of the entire node (50GB / GPU).
by mgfist | 2025-08-20 16:10:14+00:00
Early investors (the main ones at least) usually get pro-rate rights - which means you can invest in later rounds to maintain your ownership percentage (i.e a later round dilutes your ownership, so you invest a bit until the ownership stays the same).

But the pref stack always favors later investors, partly because that's just the way it's always been, and if you try to change that now no one will take your money, and later investors will not want to invest in a company unless they get the senior liquidity pref.
by darepublic | 2025-08-20 16:10:14+00:00
It can help even when using the library and not contributing. It helps you to use the api better imo, because usually the abstraction is not perfect and having even a general sense of how the sausage is made will prevent you from falling victim to gotchas. But then on the downside it lowers the mystique of the library. Some coders prefer to be magicians.
by hearsathought | 2025-08-20 16:10:46+00:00
> I'm from eastern Turkey and my DNA results showed mostly Iranian and Armenian ethnicity. I'd assume, a place that was constantly trampled would have a little more variety

Historically, being "conquered/trampled" didn't mean genetic displacement or even mixing. Especially if an established and stable population already existed there. It just meant the masses had a new master. The mongols conquered china but china is still chinese. The arabs conquered iran but iran's still iranian. The brits conquered india but india is still indian.

> especially considering the last time the Persian or Armenian empires controlled the city I'm from (Malatya) was thousands of years ago.

But turks don't speak persian or armenian. They speak turkish. They don't use armenian script but used arabic alphabet previously and now the latin alphabet. Turks aren't christian or zoroastrian or buddhist, but are muslim.

A predominantly genetic iranian/armenian population that speaks turkish, is muslim and uses the latin alphabet. That's pretty diverse.
by OnionBlender | 2025-08-20 16:11:29+00:00
This is why I've been finding it difficult to learn Metal. Apple's documentation is terrible. The important information is in their WWDC video presentations, but a lot of that assumes you are already familiar with Metal.

The most frequently recommended book (Metal by Tutorials) often doesn't explain things. It tells you to open a file, type this text, open this other file, replace this line with this text. If I wasn't also reading Realtime-Rendering, I would have no idea what is really happening. I've been thinking I should go back to Vulkan. At least Vulkan has a spec, more books, and more samples.
by griffzhowl | 2025-08-20 16:11:57+00:00
Yeah, I think that's an interesting feature of linguistic thought: it builds on and exists within our deep evolutionary heritage of percetion and fuzzy classifications, but by the nature of words as being discrete items it also predisposes us to think naively that the phenomena referred to by words are also discretely organized into this box-like either/or structure, but the reality is more complex