The best Hacker News stories from Show from the past week

Go back

Latest posts:

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>

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>

Show HN: OnAir – create link, receive calls

Hello HN community,<p>This is bootstrapped/indie hacker-ish. Would appreciate feedback.<p>What it is: You create a link (e.g. onair/yourname), and anyone can call you from it. Caller uses a web browser to make the call (not dedicated app). You can create as many links as you want, and can direct calls to colleagues in a round-robin or escalation manner.<p>In a way, it's like the "opposite of Calendly"; whereas Calendly is about meetings in the future, OnAir is about immediate meetings.<p>Motivation behind it: One of our SaaS products was struggling to grow. We believed that if we provide more "hand holding" to visitors on the landing page, it will increase conversion. It's like speaking to the guy behind the counter before making a purchase. That idea/experiment, over time, became OnAir.<p>Feedback: Identifying the perfect use case / customer has not been easy. E-Commerce store owners, which I thought would be ideal customer profile, are not responding as expected (e.g. "why use this instead of a WhatsApp button?"). The value of branded links, round-robin, recording/transcription, lead capture, etc does not seem to matter much to them. Ideas are welcome.

Show HN: Free mortgage analysis tool to avoid getting screwed by closing costs

Show HN: Bluetooth USB Peripheral Relay – Bridge Bluetooth Devices to USB

Hi HN! I built Bluetooth USB Peripheral Relay, a tool that lets Bluetooth devices (like keyboards and mice) connect to USB-only hosts using a Raspberry Pi Zero W.<p>Why? My friend needed a way to use his Bluetooth mouse and keyboard on a PC with Bluetooth disabled due to policy restrictions. This tool acts as a bridge, relaying Bluetooth input over USB. It also lets you use Bluetooth peripherals with older devices that only support USB input.<p>Tech: Written in Go, optimized for Raspberry Pi Zero W.<p>I love HN’s community and often lurk here—I’m hoping this project is useful or at least sparks some interesting discussions. Feedback and contributions are welcome!

Show HN: Proxmox VE Helper Scripts

Show HN: Stretch My Time Off – An Algorithm to Optimize Your Vacation Days

Hey HN! I built StretchMyTimeOff as a quick experiment using Cursor (Anysphere's AI code editor) and GPT-4o to see how far AI could go in building a simple, functional site.<p>What it does: The site helps you get the most out of your vacation by suggesting optimal days to take off around national holidays, maximizing long breaks with minimal vacation days, anywhere in the world and for any calendar year.<p>It's an idea I've had for a while, and building the algorithm with GPT was a fun challenge. Any feedback or ideas I'm all ears :)

Show HN: Jelly – A simpler shared inbox for small teams

Hello HN!<p>I wanted to share something we at Good Enough (<a href="https://goodenough.us" rel="nofollow">https://goodenough.us</a>) built over the past year:<p>Jelly! <a href="https://letsjelly.com" rel="nofollow">https://letsjelly.com</a><p>Jelly is a simpler shared inbox for small teams (like us) to answer team email. We had just been sharing a login to Fastmail previously, but as email started getting busier, that really started to stink as a solution — no one knew who was going to answer what, if someone else saw an email or not, etc etc. And a Google Group would prove to be worse, as replies too easily got lost to personal inboxes if someone accidentally didn’t “Reply All”. It wasn’t great!<p>We went looking for a tool to solve these problems, but everything we found was way too much software, and really quite expensive charging per seat. We didn’t need a complex ticketing system. We just needed email, as a team, in a simple and sane way.<p>So we built Jelly! And we’re not charging per seat, so you can bring your whole team for a very affordable price. (As a quick comparison for our team of six: Jelly’s lowest tier costs just $29/month while Zendesk’s costs upwards of $330/month.)<p>We would love to hear thoughts from anyone on a small team that needs to handle shared email. Also, if you know of other teams in that same position, we’d appreciate you letting them know about Jelly. Thank you!

Show HN: I made a tiny device for automatically recording digital pianos

Hey HN!<p>A few years ago, I left my cushy big tech job to make hardware.<p>And made the device I always wanted - an automatic piano recorder!<p>I usually play piano improvisationally, and manually hitting record never meshed well with that. But there are always moments I wish I recorded, and now they are!<p>Hopefully it scratches a similar itch for some of you as well!<p>A few of the tech details: * built on an esp32-s3 * custom injection molded enclosure * BLE comms, sd card storage, DS1302 RTC * android & ios apps with Flutter * Shadertoy vfx support for video sharing<p>- Chip

Show HN: I made a tiny device for automatically recording digital pianos

Hey HN!<p>A few years ago, I left my cushy big tech job to make hardware.<p>And made the device I always wanted - an automatic piano recorder!<p>I usually play piano improvisationally, and manually hitting record never meshed well with that. But there are always moments I wish I recorded, and now they are!<p>Hopefully it scratches a similar itch for some of you as well!<p>A few of the tech details: * built on an esp32-s3 * custom injection molded enclosure * BLE comms, sd card storage, DS1302 RTC * android & ios apps with Flutter * Shadertoy vfx support for video sharing<p>- Chip

Show HN: Jaws – a JavaScript to WASM ahead-of-time compiler

I've open sourced a JavaScript to WASM compiler. It's an experimental tool, but given the semantics I already implemented, I'm fairly certain I am able to eventually cover 100% of JavaScript spec. Any ideas, questions or critique welcomed! If you are interested in WASM, especially with new proposals like WASM GC or exception handling, it might be a good source of seeing these features in action - the project has a few thousand lines of hand written WAT so far.

< 1 2 3 ... 18 19 20 21 22 ... 141 142 143 >