The best Hacker News stories from Show from the past day
Latest posts:
Show HN: Ragas – Open-source library for evaluating RAG pipelines
Ragas is an open-source library for evaluating and testing RAG and other LLM applications. Github: <a href="https://docs.ragas.io/en/stable/">https://docs.ragas.io/en/stable/</a>, docs: <a href="https://docs.ragas.io/">https://docs.ragas.io/</a>.<p>Ragas provides you with different sets of metrics and methods like synthetic test data generation to help you evaluate your RAG applications. Ragas started off by scratching our own itch for evaluating our RAG chatbots last year.<p><i>Problems Ragas can solve</i><p>- How do you choose the best components for your RAG, such as the retriever, reranker, and LLM?<p>- How do you formulate a test dataset without spending tons of money and time?<p>We believe there needs to be an open-source standard for evaluating and testing LLM applications, and our vision is to build it for the community. We are tackling this challenge by evolving the ideas from the traditional ML lifecycle for LLM applications.<p><i>ML Testing Evolved for LLM Applications</i><p>We built Ragas on the principles of metrics-driven development and aim to develop and innovate techniques inspired by state-of-the-art research to solve the problems in evaluating and testing LLM applications.<p>We don't believe that the problem of evaluating and testing applications can be solved by building a fancy tracing tool; rather, we want to solve the problem from a layer under the stack. For this, we are introducing methods like automated synthetic test data curation, metrics, and feedback utilisation, which are inspired by lessons learned from deploying stochastic models in our careers as ML engineers.<p>While currently focused on RAG pipelines, our goal is to extend Ragas for testing a wide array of compound systems, including those based on RAGs, agentic workflows, and various transformations.<p>Try out Ragas here <a href="https://colab.research.google.com/github/shahules786/openai-cookbook/blob/ragas/examples/evaluation/ragas/openai-ragas-eval-cookbook.ipynb" rel="nofollow">https://colab.research.google.com/github/shahules786/openai-...</a> in Google Colab. Read our docs - <a href="https://docs.ragas.io/">https://docs.ragas.io/</a> to know more<p>We would love to hear feedback from the HN community :)
Show HN: An AI-Powered WordPress Site Builder That We Are Open-Sourcing Today
Show HN: An AI-Powered WordPress Site Builder That We Are Open-Sourcing Today
Show HN: An AI-Powered WordPress Site Builder That We Are Open-Sourcing Today
Show HN: Dropflow, a CSS layout engine for node or <canvas>
For the last 5 years I've been working on a layout engine that targets CSS2 and some more modern properties.<p>Live demo: <a href="https://chearon.github.io/dropflow/" rel="nofollow">https://chearon.github.io/dropflow/</a><p>It matches browsers in all cases I can find where they agree, and it's fast. It supports `position`, `inline-block`, `z-index`, and complex properties like `float` and `vertical-align`. It doesn't support high-level layout like flexbox or grid yet, but you can get intrinsics to easily divide space yourself and paint multiple layout trees. It has a great text layout implementation, and supporting non-Latin scripts is a top priority.<p>I've wanted this to exist as far back as 2013, and the desire kept coming up: for a way to get detailed intrinsics, for high quality rich text layout to canvas and SVG, and for server-side rich text. We currently use it in CellEngine for our new canvas-based spreadsheet library to layout text in hundreds of thousands of cells, and will be using it soon to render PDFs with thousands of pages in a few seconds.
Show HN: Dropflow, a CSS layout engine for node or <canvas>
For the last 5 years I've been working on a layout engine that targets CSS2 and some more modern properties.<p>Live demo: <a href="https://chearon.github.io/dropflow/" rel="nofollow">https://chearon.github.io/dropflow/</a><p>It matches browsers in all cases I can find where they agree, and it's fast. It supports `position`, `inline-block`, `z-index`, and complex properties like `float` and `vertical-align`. It doesn't support high-level layout like flexbox or grid yet, but you can get intrinsics to easily divide space yourself and paint multiple layout trees. It has a great text layout implementation, and supporting non-Latin scripts is a top priority.<p>I've wanted this to exist as far back as 2013, and the desire kept coming up: for a way to get detailed intrinsics, for high quality rich text layout to canvas and SVG, and for server-side rich text. We currently use it in CellEngine for our new canvas-based spreadsheet library to layout text in hundreds of thousands of cells, and will be using it soon to render PDFs with thousands of pages in a few seconds.
Show HN: Dropflow, a CSS layout engine for node or <canvas>
For the last 5 years I've been working on a layout engine that targets CSS2 and some more modern properties.<p>Live demo: <a href="https://chearon.github.io/dropflow/" rel="nofollow">https://chearon.github.io/dropflow/</a><p>It matches browsers in all cases I can find where they agree, and it's fast. It supports `position`, `inline-block`, `z-index`, and complex properties like `float` and `vertical-align`. It doesn't support high-level layout like flexbox or grid yet, but you can get intrinsics to easily divide space yourself and paint multiple layout trees. It has a great text layout implementation, and supporting non-Latin scripts is a top priority.<p>I've wanted this to exist as far back as 2013, and the desire kept coming up: for a way to get detailed intrinsics, for high quality rich text layout to canvas and SVG, and for server-side rich text. We currently use it in CellEngine for our new canvas-based spreadsheet library to layout text in hundreds of thousands of cells, and will be using it soon to render PDFs with thousands of pages in a few seconds.
Show HN: Memories – FOSS Google Photos alternative built for high performance
Memories is a FOSS Google Photos alternative that you can self-host (it runs as a Nextcloud plugin).<p>Website: <a href="https://memories.gallery/" rel="nofollow">https://memories.gallery/</a><p>GitHub: <a href="https://github.com/pulsejet/memories">https://github.com/pulsejet/memories</a><p>Demo Server: <a href="https://demo.memories.gallery/apps/memories/" rel="nofollow">https://demo.memories.gallery/apps/memories/</a>
(demo runs in San Francisco on a free-tier cloud vm)<p>Memories has been built ground-up for high performance and is extremely fast when configured correctly. In our testing environment, it can load a timeline view with 100k photos in under 500ms, including query and rendering time!<p>Some features to highlight:<p>* A timeline similar to Google Photos where you can skip to any time in history instantly.<p>* AI-based tagging that runs locally on your server, identifying and tagging people and objects.<p>* Albums and external sharing.<p>* Metadata editing support<p>* A world map of your photos, supported both on mobile and the web<p>* Did I mention it's extremely fast?<p>Would love to hear feedback from the HN community! :)
Show HN: Memories – FOSS Google Photos alternative built for high performance
Memories is a FOSS Google Photos alternative that you can self-host (it runs as a Nextcloud plugin).<p>Website: <a href="https://memories.gallery/" rel="nofollow">https://memories.gallery/</a><p>GitHub: <a href="https://github.com/pulsejet/memories">https://github.com/pulsejet/memories</a><p>Demo Server: <a href="https://demo.memories.gallery/apps/memories/" rel="nofollow">https://demo.memories.gallery/apps/memories/</a>
(demo runs in San Francisco on a free-tier cloud vm)<p>Memories has been built ground-up for high performance and is extremely fast when configured correctly. In our testing environment, it can load a timeline view with 100k photos in under 500ms, including query and rendering time!<p>Some features to highlight:<p>* A timeline similar to Google Photos where you can skip to any time in history instantly.<p>* AI-based tagging that runs locally on your server, identifying and tagging people and objects.<p>* Albums and external sharing.<p>* Metadata editing support<p>* A world map of your photos, supported both on mobile and the web<p>* Did I mention it's extremely fast?<p>Would love to hear feedback from the HN community! :)
Show HN: Memories – FOSS Google Photos alternative built for high performance
Memories is a FOSS Google Photos alternative that you can self-host (it runs as a Nextcloud plugin).<p>Website: <a href="https://memories.gallery/" rel="nofollow">https://memories.gallery/</a><p>GitHub: <a href="https://github.com/pulsejet/memories">https://github.com/pulsejet/memories</a><p>Demo Server: <a href="https://demo.memories.gallery/apps/memories/" rel="nofollow">https://demo.memories.gallery/apps/memories/</a>
(demo runs in San Francisco on a free-tier cloud vm)<p>Memories has been built ground-up for high performance and is extremely fast when configured correctly. In our testing environment, it can load a timeline view with 100k photos in under 500ms, including query and rendering time!<p>Some features to highlight:<p>* A timeline similar to Google Photos where you can skip to any time in history instantly.<p>* AI-based tagging that runs locally on your server, identifying and tagging people and objects.<p>* Albums and external sharing.<p>* Metadata editing support<p>* A world map of your photos, supported both on mobile and the web<p>* Did I mention it's extremely fast?<p>Would love to hear feedback from the HN community! :)
Show HN: Hypersplit – Like Infinite Craft but in reverse
Hypersplit is like Neal's Infinite Craft but turned upside down. Instead of crafting your way up from the four elements, you start big and go small, down to quarks.<p>It's using GPT-4 to split the words, but a big difference from Infinite Craft is that I can precalculate the possible paths since they are limited (sooner or later you hit a quark or a loop). This means that I can ship it with the whole dictionary locally instead of hitting an LLM every split.<p>While it started with just the splitting, I quickly got the urge to split things faster... which turned the app into the incremental clicker it is now. It's pretty short and starts lagging a lot once things get crazy with a lot of chain reactions (turning off Effects helps a bit), but I plan to focus on optimizations next.<p>I also wanted to try and build something without any graphical assets. The whole game is all just emojis and CSS. A big gotcha is that you can't rely on emojis looking the same on different platforms (for example, on Windows, the explosions are misaligned).
Show HN: Personal Knowledge Base Visualization
My personal knowledge base is hosted on GitHub at <a href="https://raphaelsty.github.io/knowledge/" rel="nofollow">https://raphaelsty.github.io/knowledge/</a>. It scans the documents I like every day using GitHub Action, Zotero, HackerNews upvote and Github Likes. It's not yet optimized for smartphones. It cost me $5 to host it for a year.
Show HN: Personal Knowledge Base Visualization
My personal knowledge base is hosted on GitHub at <a href="https://raphaelsty.github.io/knowledge/" rel="nofollow">https://raphaelsty.github.io/knowledge/</a>. It scans the documents I like every day using GitHub Action, Zotero, HackerNews upvote and Github Likes. It's not yet optimized for smartphones. It cost me $5 to host it for a year.
Show HN: Personal Knowledge Base Visualization
My personal knowledge base is hosted on GitHub at <a href="https://raphaelsty.github.io/knowledge/" rel="nofollow">https://raphaelsty.github.io/knowledge/</a>. It scans the documents I like every day using GitHub Action, Zotero, HackerNews upvote and Github Likes. It's not yet optimized for smartphones. It cost me $5 to host it for a year.
Show HN: Personal Knowledge Base Visualization
My personal knowledge base is hosted on GitHub at <a href="https://raphaelsty.github.io/knowledge/" rel="nofollow">https://raphaelsty.github.io/knowledge/</a>. It scans the documents I like every day using GitHub Action, Zotero, HackerNews upvote and Github Likes. It's not yet optimized for smartphones. It cost me $5 to host it for a year.
Show HN: macOS Reminder Sync for Obsidian Tasks
Greetings,<p>I started using Obsidian and the brilliant Obsidian Tasks plugin to manage Tasks in my notes however it didn't quite work for me as I would lose track of Tasks when away from my laptop, and there are no reminders for Tasks so it's not easy to stay on top of things.<p>I wrote my first macOS App to solve the problem; Reminder Sync for Obsidian. It periodically scans your Obsidian Vault for Tasks and creates Reminders for them in Reminders.app! Once your Tasks are created as Reminders they are synced through iCloud so they are also visible on iOS; this solves the main problem I had with Obsidian Tasks, allowing me to keep on top of Tasks with system Reminders and Widgets on macOS and iOS.<p>Other features apart from the core functionality described above are:<p>- Creating a Reminder adds a Task to an Inbox note in your Obsidian Vault, allowing you to create Obsidian Tasks from iOS.<p>- Deleting/Completing a Task in Reminders app completes/deletes the Task in your Vault<p>The core functionality is free, and I believe the free version should be sufficient for most users. Paid features include increased automatic sync frequency, ability to delete tasks from Reminders.app and ability to generate a description for the Reminder.<p>The app is available on the App Store: <a href="https://apple.co/3TH1e5s" rel="nofollow">https://apple.co/3TH1e5s</a><p>You can view a demo video at the homepage: <a href="https://turquoisehexagon.co.uk/remindersync/" rel="nofollow">https://turquoisehexagon.co.uk/remindersync/</a><p>I would appreciate any feedback as it's my first solo App release!
Show HN: macOS Reminder Sync for Obsidian Tasks
Greetings,<p>I started using Obsidian and the brilliant Obsidian Tasks plugin to manage Tasks in my notes however it didn't quite work for me as I would lose track of Tasks when away from my laptop, and there are no reminders for Tasks so it's not easy to stay on top of things.<p>I wrote my first macOS App to solve the problem; Reminder Sync for Obsidian. It periodically scans your Obsidian Vault for Tasks and creates Reminders for them in Reminders.app! Once your Tasks are created as Reminders they are synced through iCloud so they are also visible on iOS; this solves the main problem I had with Obsidian Tasks, allowing me to keep on top of Tasks with system Reminders and Widgets on macOS and iOS.<p>Other features apart from the core functionality described above are:<p>- Creating a Reminder adds a Task to an Inbox note in your Obsidian Vault, allowing you to create Obsidian Tasks from iOS.<p>- Deleting/Completing a Task in Reminders app completes/deletes the Task in your Vault<p>The core functionality is free, and I believe the free version should be sufficient for most users. Paid features include increased automatic sync frequency, ability to delete tasks from Reminders.app and ability to generate a description for the Reminder.<p>The app is available on the App Store: <a href="https://apple.co/3TH1e5s" rel="nofollow">https://apple.co/3TH1e5s</a><p>You can view a demo video at the homepage: <a href="https://turquoisehexagon.co.uk/remindersync/" rel="nofollow">https://turquoisehexagon.co.uk/remindersync/</a><p>I would appreciate any feedback as it's my first solo App release!
Show HN: GritQL, a Rust CLI for rewriting source code
Hi everyone!<p>I’m excited to open source GritQL, a Rust CLI for searching and transforming source code.<p>GritQL comes from my experiences with conducting large scale refactors and migrations.<p>Usually, I would start exploring a codebase with grep. This is easy to start with, but most migrations end up accumulating additional requirements like ensuring the right packages are imported and excluding cases which don’t have a viable migration path.<p>Eventually, to build a complex migration, I usually ended up having to write a full codemod program with a tool like jscodeshift. This comes with its own problems:<p>- Most of the exploratory work has to be abandoned as you figure out how to represent your original regex search as an AST.
- Reading/writing a codemod requires mentally translating from AST names back to what source code actually looks like.
- Performance is often an afterthought, so iterating on a large codemod can be painfully slow.
- Codemod frameworks are language-specific, so if you’re hopping between multiple languages—or trying to migrate a shared API—you have to learn different tools.<p>GritQL is an attempt to develop a powerful middle ground:
- Exploratory analysis is easy: just put a code snippet in backticks and use $metavariables for placeholders.
- Incrementally add complexity by introducing side conditions with where clauses.
- Reuse named patterns to avoid rebuilding queries, and use shared patterns from our standard library for common tasks like ensuring modules are imported.
- Iterate on large codebases quickly: we use Rust for maximum performance<p>GritQL has already been used on thousands of repositories for complex migrations[1] but we're excited to collaborate more with the open source community.<p>[1] Ex. <a href="https://github.com/openai/openai-python/discussions/742">https://github.com/openai/openai-python/discussions/742</a>
Show HN: GritQL, a Rust CLI for rewriting source code
Hi everyone!<p>I’m excited to open source GritQL, a Rust CLI for searching and transforming source code.<p>GritQL comes from my experiences with conducting large scale refactors and migrations.<p>Usually, I would start exploring a codebase with grep. This is easy to start with, but most migrations end up accumulating additional requirements like ensuring the right packages are imported and excluding cases which don’t have a viable migration path.<p>Eventually, to build a complex migration, I usually ended up having to write a full codemod program with a tool like jscodeshift. This comes with its own problems:<p>- Most of the exploratory work has to be abandoned as you figure out how to represent your original regex search as an AST.
- Reading/writing a codemod requires mentally translating from AST names back to what source code actually looks like.
- Performance is often an afterthought, so iterating on a large codemod can be painfully slow.
- Codemod frameworks are language-specific, so if you’re hopping between multiple languages—or trying to migrate a shared API—you have to learn different tools.<p>GritQL is an attempt to develop a powerful middle ground:
- Exploratory analysis is easy: just put a code snippet in backticks and use $metavariables for placeholders.
- Incrementally add complexity by introducing side conditions with where clauses.
- Reuse named patterns to avoid rebuilding queries, and use shared patterns from our standard library for common tasks like ensuring modules are imported.
- Iterate on large codebases quickly: we use Rust for maximum performance<p>GritQL has already been used on thousands of repositories for complex migrations[1] but we're excited to collaborate more with the open source community.<p>[1] Ex. <a href="https://github.com/openai/openai-python/discussions/742">https://github.com/openai/openai-python/discussions/742</a>
Show HN: GritQL, a Rust CLI for rewriting source code
Hi everyone!<p>I’m excited to open source GritQL, a Rust CLI for searching and transforming source code.<p>GritQL comes from my experiences with conducting large scale refactors and migrations.<p>Usually, I would start exploring a codebase with grep. This is easy to start with, but most migrations end up accumulating additional requirements like ensuring the right packages are imported and excluding cases which don’t have a viable migration path.<p>Eventually, to build a complex migration, I usually ended up having to write a full codemod program with a tool like jscodeshift. This comes with its own problems:<p>- Most of the exploratory work has to be abandoned as you figure out how to represent your original regex search as an AST.
- Reading/writing a codemod requires mentally translating from AST names back to what source code actually looks like.
- Performance is often an afterthought, so iterating on a large codemod can be painfully slow.
- Codemod frameworks are language-specific, so if you’re hopping between multiple languages—or trying to migrate a shared API—you have to learn different tools.<p>GritQL is an attempt to develop a powerful middle ground:
- Exploratory analysis is easy: just put a code snippet in backticks and use $metavariables for placeholders.
- Incrementally add complexity by introducing side conditions with where clauses.
- Reuse named patterns to avoid rebuilding queries, and use shared patterns from our standard library for common tasks like ensuring modules are imported.
- Iterate on large codebases quickly: we use Rust for maximum performance<p>GritQL has already been used on thousands of repositories for complex migrations[1] but we're excited to collaborate more with the open source community.<p>[1] Ex. <a href="https://github.com/openai/openai-python/discussions/742">https://github.com/openai/openai-python/discussions/742</a>