The best Hacker News stories from Show from the past week
Latest posts:
Show HN: App that asks ‘why?’ every time you unlock your phone
Show HN: App that asks ‘why?’ every time you unlock your phone
Show HN: App that asks ‘why?’ every time you unlock your phone
Show HN: Rill – Composable concurrency toolkit for Go
Show HN: I made an ls alternative for my personal use
Show HN: I made an ls alternative for my personal use
Show HN: Rebels in the sky – Terminal game about space pirates
Rebels in the sky is a P2P multiplayer game about crews of space pirates roaming the galaxy to play basketball against each other. It's basically a basketball managerial game with some pirate-y stuff. It's a P2P game with no central server, built on top of libp2p. Players interaction are limited to playing games against each other and trading pirates.<p>The game runs as a terminal application, meaning that you just need to run it from your terminal.<p>You can try the game over ssh without installing: `ssh frittura.org -p 3788`<p>My server is not very powerful and there is a limit to the number of concurrent players, so if you like it I would appreciate it if you could install it (<a href="https://github.com/ricott1/rebels-in-the-sky?tab=readme-ov-file#installation">https://github.com/ricott1/rebels-in-the-sky?tab=readme-ov-f...</a>) and run it locally :)<p>Here is a trailer (not of the last version, so some little things are different): <a href="https://github.com/user-attachments/assets/aaa02f04-06db-4da5-8fa4-732b60083e66">https://github.com/user-attachments/assets/aaa02f04-06db-4da...</a>
Show HN: A Marble Madness-inspired WebGL game we built for Netlify
Hello HN! We’re a small creative studio specializing in real-time 3D experiences. Netlify approached us to design and build an interactive experience to celebrate reaching 5 million developers.<p>Inspired by the classic game Marble Madness, we created a gamified experience where users control a ball through playful, interactive levels. The goal was to blend marketing content with the look and feel of a game to engage users.<p>The app is built with Three.js [1], using our custom render pipeline and shaders, and uses Rapier for physics simulation [2]. The 2D content is overlaid on the WebGL view using CSS 3D transforms for a seamless integration with the 3D view.<p>We’d love for you to try it out and share your thoughts!<p>[1] <a href="https://threejs.org" rel="nofollow">https://threejs.org</a><p>[2] <a href="https://rapier.rs" rel="nofollow">https://rapier.rs</a><p>EDIT: More info on this project here: <a href="https://www.littleworkshop.fr/projects/5milliondevs/" rel="nofollow">https://www.littleworkshop.fr/projects/5milliondevs/</a>
Show HN: A Marble Madness-inspired WebGL game we built for Netlify
Hello HN! We’re a small creative studio specializing in real-time 3D experiences. Netlify approached us to design and build an interactive experience to celebrate reaching 5 million developers.<p>Inspired by the classic game Marble Madness, we created a gamified experience where users control a ball through playful, interactive levels. The goal was to blend marketing content with the look and feel of a game to engage users.<p>The app is built with Three.js [1], using our custom render pipeline and shaders, and uses Rapier for physics simulation [2]. The 2D content is overlaid on the WebGL view using CSS 3D transforms for a seamless integration with the 3D view.<p>We’d love for you to try it out and share your thoughts!<p>[1] <a href="https://threejs.org" rel="nofollow">https://threejs.org</a><p>[2] <a href="https://rapier.rs" rel="nofollow">https://rapier.rs</a><p>EDIT: More info on this project here: <a href="https://www.littleworkshop.fr/projects/5milliondevs/" rel="nofollow">https://www.littleworkshop.fr/projects/5milliondevs/</a>
Show HN: A Marble Madness-inspired WebGL game we built for Netlify
Hello HN! We’re a small creative studio specializing in real-time 3D experiences. Netlify approached us to design and build an interactive experience to celebrate reaching 5 million developers.<p>Inspired by the classic game Marble Madness, we created a gamified experience where users control a ball through playful, interactive levels. The goal was to blend marketing content with the look and feel of a game to engage users.<p>The app is built with Three.js [1], using our custom render pipeline and shaders, and uses Rapier for physics simulation [2]. The 2D content is overlaid on the WebGL view using CSS 3D transforms for a seamless integration with the 3D view.<p>We’d love for you to try it out and share your thoughts!<p>[1] <a href="https://threejs.org" rel="nofollow">https://threejs.org</a><p>[2] <a href="https://rapier.rs" rel="nofollow">https://rapier.rs</a><p>EDIT: More info on this project here: <a href="https://www.littleworkshop.fr/projects/5milliondevs/" rel="nofollow">https://www.littleworkshop.fr/projects/5milliondevs/</a>
Show HN: Bike route planner that follows almost only official bike trails
Hey guys,
I built a route planner that is mostly focused on bike touring and using existing bike infrastructure.<p>For each request you're shown what bike tracks/trails your route uses and can further explore them by showing them on map or going to the official trail route.<p>The main idea for the app is to have a friendly and easy to use planner that would make heavy use of official bike trails data (mainly from OpenStreetMap) and make it easy to plan a longer trip using the best possible bike routes out there.<p>Currently the app only works for the Euro region but I'm planning to add North America very soon and then rest of the world.<p>Technical overview:
Route finding - Graphhopper sitting in a docker container on a Hetzner server somewhere in Germany. It has 38 GB of graph data(Europe) loaded into RAM for a fast graph traversal.<p>Web App - Next.js 14 with Typescript, backend on the newest version of .NET<p>Map tiles - right now I'm using MapTiler their free tier but planning to switch to my own home server soon and host the maps on it.
Show HN: Llama 3.2 Interpretability with Sparse Autoencoders
I spent a lot of time and money on this rather big side project of mine that attempts to replicate the mechanistic interpretability research on proprietary LLMs that was quite popular this year and produced great research papers by Anthropic [1], OpenAI [2] and Deepmind [3].<p>I am quite proud of this project and since I consider myself the target audience for HackerNews did I think that maybe some of you would appreciate this open research replication as well. Happy to answer any questions or face any feedback.<p>Cheers<p>[1] <a href="https://transformer-circuits.pub/2024/scaling-monosemanticity/index.html" rel="nofollow">https://transformer-circuits.pub/2024/scaling-monosemanticit...</a><p>[2] <a href="https://arxiv.org/abs/2406.04093" rel="nofollow">https://arxiv.org/abs/2406.04093</a><p>[3] <a href="https://arxiv.org/abs/2408.05147" rel="nofollow">https://arxiv.org/abs/2408.05147</a>
Show HN: Llama 3.2 Interpretability with Sparse Autoencoders
I spent a lot of time and money on this rather big side project of mine that attempts to replicate the mechanistic interpretability research on proprietary LLMs that was quite popular this year and produced great research papers by Anthropic [1], OpenAI [2] and Deepmind [3].<p>I am quite proud of this project and since I consider myself the target audience for HackerNews did I think that maybe some of you would appreciate this open research replication as well. Happy to answer any questions or face any feedback.<p>Cheers<p>[1] <a href="https://transformer-circuits.pub/2024/scaling-monosemanticity/index.html" rel="nofollow">https://transformer-circuits.pub/2024/scaling-monosemanticit...</a><p>[2] <a href="https://arxiv.org/abs/2406.04093" rel="nofollow">https://arxiv.org/abs/2406.04093</a><p>[3] <a href="https://arxiv.org/abs/2408.05147" rel="nofollow">https://arxiv.org/abs/2408.05147</a>
Show HN: Llama 3.2 Interpretability with Sparse Autoencoders
I spent a lot of time and money on this rather big side project of mine that attempts to replicate the mechanistic interpretability research on proprietary LLMs that was quite popular this year and produced great research papers by Anthropic [1], OpenAI [2] and Deepmind [3].<p>I am quite proud of this project and since I consider myself the target audience for HackerNews did I think that maybe some of you would appreciate this open research replication as well. Happy to answer any questions or face any feedback.<p>Cheers<p>[1] <a href="https://transformer-circuits.pub/2024/scaling-monosemanticity/index.html" rel="nofollow">https://transformer-circuits.pub/2024/scaling-monosemanticit...</a><p>[2] <a href="https://arxiv.org/abs/2406.04093" rel="nofollow">https://arxiv.org/abs/2406.04093</a><p>[3] <a href="https://arxiv.org/abs/2408.05147" rel="nofollow">https://arxiv.org/abs/2408.05147</a>
Show HN: Embed an SQLite database in your PostgreSQL table
pglite-fusion is a PostgreSQL extension that allows you to embed SQLite databases into your PostgreSQL tables by enabling the creation of columns with the `SQLITE` type. This means every row in the table can have an embedded SQLite database.<p>In addition to the PostgreSQL `SQLITE` type, pglite-fusion provides the `query_sqlite`` function for querying SQLite databases and the `execute_sqlite` function for updating them. Additional functions are listed in the project’s README.<p>The pglite-fusion extension is written in Rust using the pgrx framework [1].<p>----<p>Implementation Details<p>The PostgreSQL `SQLITE` type is stored as a CBOR-encoded `Vec<u8>`. When a query is made, this `Vec<u8>` is written to a random file in the `/tmp` directory. SQLite then loads the file, performs the query, and returns the result as a table containing a single row with an array of JSON-encoded values.<p>The `execute_sqlite` function follows a similar process. However, instead of returning query results, it returns the contents of the SQLite file (stored in `/tmp`) as a new `SQLITE` instance.<p>[1] <a href="https://github.com/pgcentralfoundation/pgrx">https://github.com/pgcentralfoundation/pgrx</a>
Show HN: Physically accurate black hole simulation using your iPhone camera
Show HN: Tips.io – A Tailwind playground with AI, page management, and theming
Hi HN!<p>My name is Nick and this is my fun side project. Please lay it on me. HN can think of Tips.io as a cracked out Tailwind Playground that has page management and amazing AI integration.<p>There are a few core ideas:<p>1) The HTML is the CMS<p>There are no fields or restrictions. Just hover, click, and start tweaking any HTML. Also, certain elements you click will have special easy edit abilities:<p>- <img> auto creates an uploader, stock photo picker (or HTML)<p>- <video> auto creates an uploader, stock video picker (or HTML)<p>- <svg> auto creates a big icon picker (or HTML)<p>- <div class="prose"> auto creates a WYSIWYG Editor (or HTML)<p>2) Slices<p>Think of these as just individual HTML sections of a page or lil baby single-file components. They are self-contained and isolated so you drag them around easily. The real power comes from reuse across your pages and linking them (aka, one HTML footer updates globally). You can also use "slices" from any other tips.io project for quickly expanding your site with more design options.<p>3) AI Elements, Not Pages<p>Another cool concept is you can select any element on an HTML slice an edit that individually vs re-streaming/rebuilding and entire component every time. We support 5 different AI models right now. Some other really intense/cool AI integration is coming soon.<p>4) Tailwind Everything, No Build Step, & Theming<p>We have a custom "themer" to make creating Tailwind config files near instant with real-time font trying, color palettes/preset trying, and more. All our Tailwind is automatic and requires zero config instantly. The same Tailwind that magic runs client-side will run server-side so quick no one knows a build step is happening. Tailwind and AI are also a match made in heaven.<p>Other features:<p>- Animations
- Zoomable page tree
- Basic Forms (yes on your static site!)
- Analytics
- Redirects, site passwords, and much more.<p>Tech:<p>- 100% Cloudflare Workers
- Svelte
- UnoCSS<p>Some resources:<p>- Promo video: <a href="https://www.youtube.com/watch?v=s8U2rJJX-rk" rel="nofollow">https://www.youtube.com/watch?v=s8U2rJJX-rk</a>
- Tutorial & demo video: <a href="https://tips.io/tutorial" rel="nofollow">https://tips.io/tutorial</a>
- Just launch: <a href="https://new.tips.io" rel="nofollow">https://new.tips.io</a>
Show HN: Nova JavaScript Engine
We're building a different kind of JavaScript engine, based on data-oriented design and willingness to try something quite out of left field. This is most concretely visible in our major architectural choices:<p>1. All data allocated on the JavaScript heap is placed into a type-specific vector. Numbers go into the numbers vector, strings into the strings vector, and so on.<p>2. All heap references are type-discriminated indexes: A heap number is identified by its discriminant value and the index to which it points to in the numbers vector.<p>3. Objects are also split up into object kind -specific vectors. Ordinary objects go into one vector, Arrays go into another, DataViews into yet another, and so on.<p>4. Unordinary objects' heap data does not contain ordinary object data but instead they contain an optional index to the ordinary objects vector.<p>5. Objects are aggressively split into parts to avoid common use-cases having to reading parts that are known to be unused.<p>If this sounds interesting, I've written a few blog posts on the internals of Nova over in our blog, you can jump into that here: <a href="https://trynova.dev/blog/what-is-the-nova-javascript-engine" rel="nofollow">https://trynova.dev/blog/what-is-the-nova-javascript-engine</a>
Show HN: FastGraphRAG – Better RAG using good old PageRank
Hey there HN! We’re Antonio, Luca, and Yuhang, and we’re excited to introduce Fast GraphRAG, an open-source RAG approach that leverages knowledge graphs and the 25 years old PageRank for better information retrieval and reasoning.<p>Building a good RAG pipeline these days takes a lot of manual optimizations. Most engineers intuitively start from naive RAG: throw everything in a vector database and hope that semantic search is powerful enough. This can work for use cases where accuracy isn’t too important and hallucinations are tolerable, but it doesn’t work for more difficult queries that involve multi-hop reasoning or more advanced domain understanding. Also, it’s impossible to debug it.<p>To address these limitations, many engineers find themselves adding extra layers like agent-based preprocessing, custom embeddings, reranking mechanisms, and hybrid search strategies. Much like the early days of machine learning when we manually crafted feature vectors to squeeze out marginal gains, building an effective RAG system often becomes an exercise in crafting engineering “hacks.”<p>Earlier this year, Microsoft seeded the idea of using Knowledge Graphs for RAG and published GraphRAG - i.e. RAG with Knowledge Graphs. We believe that there is an incredible potential in this idea, but existing implementations are naive in the way they create and explore the graph. That’s why we developed Fast GraphRAG with a new algorithmic approach using good old PageRank.<p>There are two main challenges when building a reliable RAG system:<p>(1) Data Noise: Real-world data is often messy. Customer support tickets, chat logs, and other conversational data can include a lot of irrelevant information. If you push noisy data into a vector database, you’re likely to get noisy results.<p>(2) Domain Specialization: For complex use cases, a RAG system must understand the domain-specific context. This requires creating representations that capture not just the words but the deeper relationships and structures within the data.<p>Our solution builds on these insights by incorporating knowledge graphs into the RAG pipeline. Knowledge graphs store entities and their relationships, and can help structure data in a way that enables more accurate and context-aware information retrieval. 12 years ago Google announced the knowledge graph we all know about [1]. It was a pioneering move. Now we have LLMs, meaning that people can finally do RAG on their own data with tools that can be as powerful as Google’s original idea.<p>Before we built this, Antonio was at Amazon, while Luca and Yuhang were finishing their PhDs at Oxford. We had been thinking about this problem for years and we always loved the parallel between pagerank and the human memory [2]. We believe that searching for memories is incredibly similar to searching the web.<p>Here’s how it works:<p>- Entity and Relationship Extraction: Fast GraphRAG uses LLMs to extract entities and their relationships from your data and stores them in a graph format [3].<p>- Query Processing: When you make a query, Fast GraphRAG starts by finding the most relevant entities using vector search, then runs a personalized PageRank algorithm to determine the most important “memories” or pieces of information related to the query [4].<p>- Incremental Updates: Unlike other graph-based RAG systems, Fast GraphRAG natively supports incremental data insertions. This means you can continuously add new data without reprocessing the entire graph.<p>- Faster: These design choices make our algorithm faster and more affordable to run than other graph-based RAG systems because we eliminate the need for communities and clustering.<p>Suppose you’re analyzing a book and want to focus on character interactions, locations, and significant events:<p><pre><code> from fast_graphrag import GraphRAG
DOMAIN = "Analyze this story and identify the characters. Focus on how they interact with each other, the locations they explore, and their relationships."
EXAMPLE_QUERIES = [
"What is the significance of Christmas Eve in A Christmas Carol?",
"How does the setting of Victorian London contribute to the story's themes?",
"Describe the chain of events that leads to Scrooge's transformation.",
"How does Dickens use the different spirits (Past, Present, and Future) to guide Scrooge?",
"Why does Dickens choose to divide the story into \"staves\" rather than chapters?"
]
ENTITY_TYPES = ["Character", "Animal", "Place", "Object", "Activity", "Event"]
grag = GraphRAG(
working_dir="./book_example",
domain=DOMAIN,
example_queries="\n".join(EXAMPLE_QUERIES),
entity_types=ENTITY_TYPES
)
with open("./book.txt") as f:
grag.insert(f.read())
print(grag.query("Who is Scrooge?").response)
</code></pre>
This code creates a domain-specific knowledge graph based on your data, example queries, and specified entity types. Then you can query it in plain English while it automatically handles all the data fetching, entity extractions, co-reference resolutions, memory elections, etc. When you add new data, locking and checkpointing is handled for you as well.<p>This is the kind of infrastructure that GenAI apps need to handle large-scale real-world data. Our goal is to give you this infrastructure so that you can focus on what’s important: building great apps for your users without having to care about manually engineering a retrieval pipeline. In the managed service, we also have a suite of UI tools for you to explore and debug your knowledge graph.<p>We have a free hosted solution with up to 100 monthly requests. When you’re ready to grow, we have paid plans that scale with you. And of course you can self host our open-source engine.<p>Give us a spin today at <a href="https://circlemind.co">https://circlemind.co</a> and see our code at <a href="https://github.com/circlemind-ai/fast-graphrag">https://github.com/circlemind-ai/fast-graphrag</a><p>We’d love feedback :)<p>[1] <a href="https://blog.google/products/search/introducing-knowledge-graph-things-not/" rel="nofollow">https://blog.google/products/search/introducing-knowledge-gr...</a><p>[2] Griffiths, T. L., Steyvers, M., & Firl, A. (2007). Google and the Mind: Predicting Fluency with PageRank. Psychological Science, 18(12), 1069–1076. <a href="http://www.jstor.org/stable/40064705" rel="nofollow">http://www.jstor.org/stable/40064705</a><p>[3] Similarly to Microsoft’s GraphRAG: <a href="https://github.com/microsoft/graphrag">https://github.com/microsoft/graphrag</a><p>[4] Similarly to OSU’s HippoRAG: <a href="https://github.com/OSU-NLP-Group/HippoRAG">https://github.com/OSU-NLP-Group/HippoRAG</a><p><a href="https://vhs.charm.sh/vhs-4fCicgsbsc7UX0pemOcsMp.gif" rel="nofollow">https://vhs.charm.sh/vhs-4fCicgsbsc7UX0pemOcsMp.gif</a>
Show HN: I built a(nother) house optimized for LAN parties
I wasn't quite sure if this qualified as "Show HN" given you can't really download it and try it out. However, dang said[0]:<p>> If it's hardware or something that's not so easy to try out over the internet, find a different way to show how it actually works—a video, for example, or a detailed post with photos.<p>Hopefully I did that?<p>Additionally, I've put code and a detailed guide for the netboot computer management setup on GitHub:<p><a href="https://github.com/kentonv/lanparty">https://github.com/kentonv/lanparty</a><p>Anyway, if this shouldn't have been Show HN, I apologize!<p>[0] <a href="https://news.ycombinator.com/item?id=22336638">https://news.ycombinator.com/item?id=22336638</a>